{α : Type u_1} →
  (motive : List α → List α → Sort u_2) →
    (xs ys : List α) →
      ((ys : List α) → motive [] ys) →
        ((xs : List α) → (xs = [] → False) → motive xs []) →
          ((x : α) → (xs : List α) → (y : α) → (ys : List α) → motive (x :: xs) (y :: ys)) → motive xs ys