∀ (motive : ℕ → List ℕ → Sort u_1) (curr next : ℕ) (rest : List ℕ)
  (h_1 : (curr next : ℕ) → (rest : List ℕ) → motive curr (next :: rest)) (h_2 : (curr : ℕ) → motive curr []),
  (match curr, next :: rest with
    | curr, next :: rest => h_1 curr next rest
    | curr, [] => h_2 curr) =
    h_1 curr next rest