Applies the given variable permutation to e
Equations
- Nat.Linear.Expr.applyPerm perm e = Nat.Linear.Expr.applyPerm.go perm e
Instances For
Equations
- Nat.Linear.Expr.applyPerm.go perm (Nat.Linear.Expr.num v) = Nat.Linear.Expr.num v
- Nat.Linear.Expr.applyPerm.go perm (Nat.Linear.Expr.var i) = Nat.Linear.Expr.var (perm[i]?.getD i)
- Nat.Linear.Expr.applyPerm.go perm (a.add b) = (Nat.Linear.Expr.applyPerm.go perm a).add (Nat.Linear.Expr.applyPerm.go perm b)
- Nat.Linear.Expr.applyPerm.go perm (Nat.Linear.Expr.mulL k a) = Nat.Linear.Expr.mulL k (Nat.Linear.Expr.applyPerm.go perm a)
- Nat.Linear.Expr.applyPerm.go perm (a.mulR k) = (Nat.Linear.Expr.applyPerm.go perm a).mulR k
Instances For
Applies the given variable permutation to the given expression constraint.
Equations
- Nat.Linear.ExprCnstr.applyPerm perm { eq := eq, lhs := lhs, rhs := rhs } = { eq := eq, lhs := Nat.Linear.Expr.applyPerm perm lhs, rhs := Nat.Linear.Expr.applyPerm perm rhs }
Instances For
Equations
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr (Nat.Linear.Expr.num v) = Lean.mkApp (Lean.mkConst `Nat.Linear.Expr.num) (Lean.mkNatLit v)
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr (Nat.Linear.Expr.var i) = Lean.mkApp (Lean.mkConst `Nat.Linear.Expr.var) (Lean.mkNatLit i)
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr (Nat.Linear.Expr.mulL k a) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.mulL) (Lean.mkNatLit k) (Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr a)
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr (a.mulR k) = Lean.mkApp2 (Lean.mkConst `Nat.Linear.Expr.mulR) (Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr a) (Lean.mkNatLit k)
Instances For
Equations
- Lean.Meta.Simp.Arith.Nat.instToExprLinearExpr = { toExpr := fun (a : Lean.Meta.Simp.Arith.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.Simp.Arith.Nat.LinearExpr.toExpr c.lhs) (Lean.Meta.Simp.Arith.Nat.LinearExpr.toExpr c.rhs)
Instances For
Equations
- Lean.Meta.Simp.Arith.Nat.instToExprLinearCnstr = { toExpr := fun (a : Lean.Meta.Simp.Arith.Nat.LinearCnstr) => a.toExpr, toTypeExpr := Lean.mkConst `Nat.Linear.ExprCnstr }
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.num v) = pure (Lean.mkNatLit v)
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.var i) = pure ctx[i]!
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toArith ctx (Nat.Linear.Expr.mulL k a) = do let __do_lift ← Lean.Meta.Simp.Arith.Nat.LinearExpr.toArith ctx a pure (Lean.mkNatMul (Lean.mkNatLit k) __do_lift)
- Lean.Meta.Simp.Arith.Nat.LinearExpr.toArith ctx (a.mulR k) = do let __do_lift ← Lean.Meta.Simp.Arith.Nat.LinearExpr.toArith ctx a pure (Lean.mkNatMul __do_lift (Lean.mkNatLit k))
Instances For
Equations
- One or more equations did not get rendered due to their size.
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
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
Equations
- One or more equations did not get rendered due to their size.