{α : Type u_1} →
  (motive : List α → ℕ → Array α → Sort u_2) →
    (x : List α) →
      (x_1 : ℕ) →
        (x_2 : Array α) →
          ((x : ℕ) → (x_3 : Array α) → motive [] x x_3) →
            ((head : α) → (xs : List α) → (acc : Array α) → motive (head :: xs) 0 acc) →
              ((x : α) → (xs : List α) → (n : ℕ) → (acc : Array α) → motive (x :: xs) n.succ acc) → motive x x_1 x_2