Helper functions for converting reified terms back into their denotations.
def Lean.Grind.Linarith.Poly.denoteExpr {M : Type → Type} [Monad M] [Meta.Grind.Arith.Linear.MonadGetStruct M] (p : Poly) :
Equations
- Lean.Grind.Linarith.Poly.nil.denoteExpr = do let __do_lift ← Lean.Meta.Grind.Arith.Linear.getStruct pure __do_lift.zero
- (Lean.Grind.Linarith.Poly.add k m p_2).denoteExpr = do let __do_lift ← Lean.Grind.Linarith.Poly.denoteExpr.denoteTerm✝ k m Lean.Grind.Linarith.Poly.denoteExpr.go✝ p_2 __do_lift
Instances For
def Lean.Grind.Linarith.Expr.denoteExpr {M : Type → Type} [Monad M] [Meta.Grind.Arith.Linear.MonadGetStruct M] (e : Meta.Grind.Arith.Linear.LinExpr) :
Instances For
def Lean.Meta.Grind.Arith.Linear.DiseqCnstr.denoteExpr {M : Type → Type} [Monad M] [MonadGetStruct M] (c : DiseqCnstr) :
M Expr
Equations
- One or more equations did not get rendered due to their size.
Instances For
def Lean.Meta.Grind.Arith.Linear.IneqCnstr.denoteExpr {M : Type → Type} [Monad M] [MonadGetStruct M] [MonadError M] (c : IneqCnstr) :
M Expr
Equations
Instances For
def Lean.Meta.Grind.Arith.Linear.EqCnstr.denoteExpr {M : Type → Type} [Monad M] [MonadGetStruct M] (c : EqCnstr) :
M Expr
Equations
- c.denoteExpr = do let __do_lift ← c.p.denoteExpr let __do_lift_1 ← Lean.Meta.Grind.Arith.Linear.getStruct Lean.Meta.Grind.Arith.Linear.mkEq✝ __do_lift __do_lift_1.ofNatZero
Instances For
Equations
- One or more equations did not get rendered due to their size.
- (Lean.Grind.CommRing.Poly.num k).denoteAsIntModuleExpr = Lean.Meta.Grind.Arith.Linear.denoteNum✝ k
Instances For
Equations
- One or more equations did not get rendered due to their size.