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