{α : Type u_1} →
  (motive : List (Option ℕ × α) → Array α → Sort u_2) →
    (x : List (Option ℕ × α)) →
      (x_1 : Array α) →
        ((ys : Array α) → motive [] ys) →
          ((fixedParamIdx : ℕ) →
              (x : α) → (xs : List (Option ℕ × α)) → (ys : Array α) → motive ((some fixedParamIdx, x) :: xs) ys) →
            ((snd : α) → (perm : List (Option ℕ × α)) → (ys : Array α) → motive ((none, snd) :: perm) ys) → motive x x_1