∀ {α : Type u_1} (motive : ℕ → ℕ → List α → Sort u_2) (x x_1 : ℕ) (h_1 : (x x_2 : ℕ) → motive x x_2 [])
  (h_2 : (m : ℕ) → (xs : List α) → motive 0 m xs)
  (h_3 : (n m : ℕ) → (x : α) → (xs : List α) → motive n.succ m (x :: xs)),
  (match x, x_1, [] with
    | x, x_2, [] => h_1 x x_2
    | 0, m, xs => h_2 m xs
    | n.succ, m, x :: xs => h_3 n m x xs) =
    h_1 x x_1