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.