∀ {α : Type u_1} (motive : List α → List α → Sort u_2) (x x_1 : List α) (h_1 : Unit → motive [] [])
  (h_2 : (a : α) → (as : List α) → (b : α) → (bs : List α) → motive (a :: as) (b :: bs))
  (h_3 : (x x_2 : List α) → motive x x_2),
  (x = [] → x_1 = [] → False) →
    (∀ (a : α) (as : List α) (b : α) (bs : List α), x = a :: as → x_1 = b :: bs → False) →
      (match x, x_1 with
        | [], [] => h_1 ()
        | a :: as, b :: bs => h_2 a as b bs
        | x, x_4 => h_3 x x_4) =
        h_3 x x_1