∀ {α : Type u_1} (motive : List α → ℕ → Prop) (x : List α) (x_1 : ℕ),
  (∀ (i : ℕ), motive [] i) →
    (∀ (x : List α), motive x 0) → (∀ (head : α) (tl : List α) (n : ℕ), motive (head :: tl) n.succ) → motive x x_1