(motive : List (Lean.Expr × Lean.Name) → Sort u_1) →
  (xs : List (Lean.Expr × Lean.Name)) →
    (Unit → motive []) →
      ((x : Lean.Expr) → (a : Lean.Name) → motive [(x, a)]) →
        ((x : Lean.Expr) → (a : Lean.Name) → (xs : List (Lean.Expr × Lean.Name)) → motive ((x, a) :: xs)) → motive xs