∀ {α : Type u_1} (motive : List α → Array α → Sort u_2) (a : α) (as : List α) (acc : Array α)
  (h_1 : (x : Array α) → motive [] x) (h_2 : (a : α) → (as : List α) → (acc : Array α) → motive (a :: as) acc),
  (match a :: as, acc with
    | [], x => h_1 x
    | a :: as, acc => h_2 a as acc) =
    h_2 a as acc