(motive : Lean.Expr → Sort u_1) →
  (e : Lean.Expr) →
    ((data : Lean.MData) → (e : Lean.Expr) → motive (Lean.Expr.mdata data e)) →
      ((fvarId : Lean.FVarId) → motive (Lean.Expr.fvar fvarId)) → ((x : Lean.Expr) → motive x) → motive e