∀ {α : Type u_1} (motive : (x : List α) → x ≠ [] → Sort u_2) (h : [] ≠ []) (h_1 : (h : [] ≠ []) → motive [] h)
  (h_2 : (a : α) → (x : [a] ≠ []) → motive [a] x)
  (h_3 : (head b : α) → (as : List α) → (x : head :: b :: as ≠ []) → motive (head :: b :: as) x),
  (match [], h with
    | [], h => h_1 h
    | [a], x => h_2 a x
    | head :: b :: as, x => h_3 head b as x) =
    h_1 h