Documentation

Projects.Kolakoski.Basic

Equations
Instances For
    @[irreducible]
    Equations
    Instances For
      Instances
        class KolakoskiSequence.Diverse {α : Type u_1} (a : ℕ → α) :
        Instances
          theorem KolakoskiSequence.kolIter_iff {xs : List ℕ} :
          KolIter xs ↔ ∃ (n : ℕ), f₁^[n] [1, 2] = xs
          @[simp]
          @[simp]
          instance KolakoskiSequence.kolIter_iterate {xs : List ℕ} {n : ℕ} [h : KolIter xs] :
          @[simp]
          theorem KolakoskiSequence.f₂_0 {xs : List ℕ} {n : ℕ} :
          f₂ xs n 0 = xs
          @[simp]
          theorem KolakoskiSequence.prefix_f₁ {xs : List ℕ} [h : KolIter xs] :
          xs <+: f₁ xs
          @[simp]
          theorem KolakoskiSequence.prefix_iterate_f₁ {xs : List ℕ} {n : ℕ} [h : KolIter xs] :
          xs <+: f₁^[n] xs
          @[simp]
          @[simp]
          @[simp]
          @[simp]
          @[simp]
          @[simp]
          theorem KolakoskiSequence.mem_iff_of_kolIter {xs : List ℕ} {x : ℕ} [h : KolIter xs] :
          x ∈ xs ↔ x = 1 ∨ x = 2
          @[simp]
          instance KolakoskiSequence.kolIter_f₂ {xs : List ℕ} {n k : ℕ} [h : KolIter xs] :
          KolIter (f₂ xs n k)
          @[simp]
          theorem KolakoskiSequence.prefix_f₂ {xs : List ℕ} {n k : ℕ} [h : KolIter xs] :
          xs <+: f₂ xs n k
          @[simp]
          @[simp]
          @[simp]
          @[simp]
          theorem KolakoskiSequence.iterate_f₁_eq_iff {xs : List ℕ} {n m : ℕ} [h : KolIter xs] :
          f₁^[n] xs = f₁^[m] xs ↔ n = m
          theorem KolakoskiSequence.le_length_f₂ {xs : List ℕ} {n k : ℕ} [h : KolIter xs] (h₁ : n ≤ k) :
          n ≤ (f₂ xs n k).length
          @[simp]
          theorem KolakoskiSequence.le_length_f₂_same {xs : List ℕ} {n : ℕ} [h : KolIter xs] :
          n ≤ (f₂ xs n n).length
          @[simp]
          @[simp]
          theorem KolakoskiSequence.f₃_succ_getElem! {n : ℕ} :
          (f₃ (n + 1))[n]! = (f₃ (n + 1))[n]
          @[simp]
          theorem KolakoskiSequence.f₃_eq_iff {n m : ℕ} :
          f₃ n = f₃ m ↔ n = m
          theorem KolakoskiSequence.kolIter_prefix_or_prefix (xs ys : List ℕ) [hx : KolIter xs] [hy : KolIter ys] :
          xs <+: ys ∨ ys <+: xs
          @[simp]
          theorem KolakoskiSequence.mem_f₃_iff {n x : ℕ} :
          x ∈ f₃ n ↔ x = 1 ∧ 1 ≤ n ∨ x = 2 ∧ 2 ≤ n
          theorem KolakoskiSequence.diverse_iff {α : Type u_1} {a : ℕ → α} :
          Diverse a ↔ ∀ (N : ℕ), ∃ (n : ℕ), N ≤ n ∧ a N ≠ a n