∀ {α : Type u_1} (motive : ℕ → (L : List (α × Bool)) → FreeGroup.IsCyclicallyReduced L → Prop) (n : ℕ)
  (L : List (α × Bool)) (h : FreeGroup.IsCyclicallyReduced L),
  (∀ (x : List (α × Bool)) (h : FreeGroup.IsCyclicallyReduced x), motive 0 x h) →
    (∀ (n : ℕ) (h : FreeGroup.IsCyclicallyReduced []), motive n.succ [] h) →
      (∀ (n : ℕ) (head : α × Bool) (tail : List (α × Bool)) (h : FreeGroup.IsCyclicallyReduced (head :: tail)),
          motive n.succ (head :: tail) h) →
        motive n L h