Documentation

Acmoi.Exercise1_11

def power' (u : List (Fin 2)) (k : ) :
List (Fin 2)
Equations
theorem power_length' (u : List (Fin 2)) (k : ) :
(power' u k).length = k * u.length
Equations
def c' :
List (Fin 2)
Equations
theorem short_primitive' (x : List (Fin 2)) (h : x.length 1) :
theorem repeat_is_power' {k : } :
List.replicate k.succ.succ 0 = power' [0] k.succ.succ
theorem List_nil_length :
[].length = 0
theorem List_ne_nil (x : List (Fin 2)) (h : x.length 0) :
x []
theorem middle_of_List_repeat {b : Fin 2} {v : List (Fin 2)} {u : List (Fin 2)} :
List.replicate (u.length + v.length).succ 1 = u ++ b :: vb = 1
theorem why_01n_is_primitive (u : List (Fin 2)) (v : List (Fin 2)) (a : Fin 2) (b : Fin 2) (h : 0 :: List.replicate (u.length + v.length).succ 1 = a :: u ++ b :: v) :
a = 0 b = 1
theorem power_manipulations (l : ) {u : List (Fin 2)} {v : List (Fin 2)} {a : Fin 2} (hv : u = a :: v) :
power' u l.succ.succ = a :: v ++ a :: (v ++ power' u l)
theorem power_succ (l : ) (u : List (Fin 2)) :
(power' u l.succ.succ).length = (power' u l).length + u.length + u.length
theorem length_manipulations {k : } {l : } {u : List (Fin 2)} {v : List (Fin 2)} {a : Fin 2} (hv : u = a :: v) (hu2 : 0 :: List.replicate k.succ 1 = power' u l.succ.succ) :
0 :: List.replicate (v.length + (v ++ power' u l).length).succ 1 = a :: v ++ a :: (v ++ power' u l)
theorem primitive_words_of_length_two_or_more (k : ) :
∃ (x : List (Fin 2)), x.length = k.succ.succ primitive' x
theorem succ_succ {n : } (h : n 0) (hn : n 1) :
∃ (k : ), n = k.succ.succ
theorem primitive_words_of_every_length (n : ) :
∃ (x : List (Fin 2)), x.length = n primitive' x