∀ {α : Type u_1} (motive : ℕ → List α → Array α → Sort u_2) (x : List α) (acc : Array α)
  (h_1 : (n : ℕ) → (x : α) → (xs : List α) → (acc : Array α) → motive n.succ (x :: xs) acc)
  (h_2 : (x : List α) → (acc : Array α) → motive 0 x acc) (h_3 : (n : ℕ) → (acc : Array α) → motive n [] acc),
  (match 0, x, acc with
    | n.succ, x :: xs, acc => h_1 n x xs acc
    | 0, x, acc => h_2 x acc
    | n, [], acc => h_3 n acc) =
    h_2 x acc