- ringId : Nat
- checkCoeffDvd : Bool
If
checkCoeffDvdistrue, then when using a polynomialk*m - pto simplify.. + k'*m*m_2 + ..., the substitution is performed IFkdividesk', OR- Ring implements
NoNatZeroDivisors.
We need this check when simplifying disequalities. In this case, if we perform the simplification anyway, we may end up with a proof that
k * q = 0, but we cannot deduceq = 0since the ring does not implementNoNatZeroDivisorsSee comment atPolyDerivation.
Instances For
@[reducible, inline]
We don't want to keep carrying the RingId around.
Instances For
@[implicit_reducible]
@[implicit_reducible]
@[reducible, inline]
Instances For
Returns true if the current ring satisfies the property
∀ (k : Nat) (a : α), k ≠ 0 → OfNat.ofNat (α := α) k * a = 0 → a = 0
Instances For
Returns true if the current ring has a IsCharP instance.
Instances For
def
Lean.Meta.Grind.Arith.CommRing.mkVarCore
{m : Type → Type}
[MonadLiftT GoalM m]
[Monad m]
[MonadRing m]
[MonadSetTermId m]
(e : Expr)
:
m Var
Instances For
@[implicit_reducible]