∀ {α : Type u_1} (motive : List α → ℕ → ℕ → Prop) (x : List α) (x_1 x_2 : ℕ),
  (∀ (x x_3 : ℕ), motive [] x x_3) →
    (∀ (head : α) (tail : List α) (x : ℕ), motive (head :: tail) x 0) →
      (∀ (head : α) (l : List α) (n m : ℕ), motive (head :: l) n m.succ) → motive x x_1 x_2