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