(motive : Lean.Expr → Sort u_1) →
  (e : Lean.Expr) →
    ((idx : ℕ) → (e' : Lean.Expr) → motive (Lean.Expr.proj `PProd idx e')) →
      ((idx : ℕ) → (e' : Lean.Expr) → motive (Lean.Expr.proj `And idx e')) → ((e : Lean.Expr) → motive e) → motive e