∀ (motive : List Char → (x x_1 : String.Pos.Raw) → x > x_1 → Prop) (x : List Char) (x_1 x_2 : String.Pos.Raw)
  (x_3 : x_1 > x_2),
  (∀ (x x_4 : String.Pos.Raw) (x_5 : x > x_4), motive [] x x_4 x_5) →
    (∀ (c : Char) (cs : List Char) (i p : String.Pos.Raw) (h : i > p), motive (c :: cs) i p h) → motive x x_1 x_2 x_3