Equations
- Lean.Meta.Linear.Nat.instReprExpr_lean = { reprPrec := Lean.Meta.Linear.Nat.reprExpr✝ }
Equations
Equations
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
Equations
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.num v) = Lean.mkApp (Lean.mkConst `Nat.Linear.Expr.num) (Lean.mkNatLit v)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.var i) = Lean.mkApp (Lean.mkConst `Nat.Linear.Expr.var) (Lean.mkNatLit i)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (a.add b) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.add) (Lean.Meta.Linear.Nat.LinearExpr.toExpr a) (Lean.Meta.Linear.Nat.LinearExpr.toExpr b)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (Nat.Linear.Expr.mulL k a) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.mulL) (Lean.mkNatLit k) (Lean.Meta.Linear.Nat.LinearExpr.toExpr a)
- Lean.Meta.Linear.Nat.LinearExpr.toExpr (a.mulR k) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.mulR) (Lean.Meta.Linear.Nat.LinearExpr.toExpr a) (Lean.mkNatLit k)
Instances For
Equations
- Lean.Meta.Linear.Nat.instToExprLinearExpr = { toExpr := fun (a : Lean.Meta.Linear.Nat.LinearExpr) => a.toExpr, toTypeExpr := Lean.mkConst `Nat.Linear.Expr }
Equations
- c.toExpr = Lean.mkApp3 (Lean.mkConst `Nat.Linear.ExprCnstr.mk) (Lean.toExpr c.eq) (Lean.Meta.Linear.Nat.LinearExpr.toExpr c.lhs) (Lean.Meta.Linear.Nat.LinearExpr.toExpr c.rhs)
Instances For
Equations
- Lean.Meta.Linear.Nat.instToExprLinearCnstr = { toExpr := fun (a : Lean.Meta.Linear.Nat.LinearCnstr) => a.toExpr, toTypeExpr := Lean.mkConst `Nat.Linear.ExprCnstr }
def
Lean.Meta.Linear.Nat.LinearExpr.toArith
(ctx : Array Lean.Expr)
(e : Lean.Meta.Linear.Nat.LinearExpr)
:
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.num v) = pure (Lean.mkNatLit v)
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.var i) = pure ctx[i]!
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.mulL k a) = do let __do_lift ← Lean.Meta.Linear.Nat.LinearExpr.toArith ctx a pure (Lean.mkNatMul (Lean.mkNatLit k) __do_lift)
- Lean.Meta.Linear.Nat.LinearExpr.toArith ctx (a.mulR k) = do let __do_lift ← Lean.Meta.Linear.Nat.LinearExpr.toArith ctx a pure (Lean.mkNatMul __do_lift (Lean.mkNatLit k))
Instances For
def
Lean.Meta.Linear.Nat.LinearCnstr.toArith
(ctx : Array Lean.Expr)
(c : Lean.Meta.Linear.Nat.LinearCnstr)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
- varMap : Lean.Meta.KExprMap Nat
Instances For
@[reducible, inline]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Meta.Linear.Nat.ToLinear.run
{α : Type}
(x : Lean.Meta.Linear.Nat.ToLinear.M α)
:
Lean.MetaM (α × Array Lean.Expr)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.Linear.Nat.toContextExpr ctx = Lean.Meta.mkListLit (Lean.mkConst `Nat) ctx.toList
Instances For
Equations
- Lean.Meta.Linear.Nat.reflTrue = Lean.mkApp2 (Lean.mkConst `Eq.refl [Lean.levelOne]) (Lean.mkConst `Bool) (Lean.mkConst `Bool.true)