∀ {α : Type u_1} (motive : List α → ℕ → Sort u_2) (head : α) (as : List α) (n : ℕ) (h_1 : (n : ℕ) → motive [] n)
  (h_2 : (head : α) → (as : List α) → (n : ℕ) → motive (head :: as) n),
  (match head :: as, n with
    | [], n => h_1 n
    | head :: as, n => h_2 head as n) =
    h_2 head as n