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