∀ {l : List Char} (it : String.Legacy.Iterator) (n : ℕ)
  (motive : (r : List Char) → String.Legacy.Iterator.ValidFor l r it → n + 1 ≤ r.length → Prop) (r : List Char)
  (h : String.Legacy.Iterator.ValidFor l r it) (hn : n + 1 ≤ r.length),
  (∀ (a : Char) (r : List Char) (h : String.Legacy.Iterator.ValidFor l (a :: r) it) (hn : n + 1 ≤ (a :: r).length),
      motive (a :: r) h hn) →
    motive r h hn