∀ {α : Type u_1} {β : Type u_2} {γ : Type u_3} (motive : List α → List β → Array γ → Sort u_4) (a : α) (as : List α)
  (b : β) (bs : List β) (acc : Array γ)
  (h_1 : (a : α) → (as : List α) → (b : β) → (bs : List β) → (acc : Array γ) → motive (a :: as) (b :: bs) acc)
  (h_2 : (x : List α) → (x_1 : List β) → (acc : Array γ) → motive x x_1 acc),
  (match a :: as, b :: bs, acc with
    | a :: as, b :: bs, acc => h_1 a as b bs acc
    | x, x_1, acc => h_2 x x_1 acc) =
    h_1 a as b bs acc