Returns a context of type RArray α
containing the variables of the given ring.
α
is the type of the ring.
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.
- Lean.Meta.Grind.Arith.CommRing.getPolyConst (Lean.Grind.CommRing.Poly.num k) = pure k
Instances For
Proof term for a Nullstellensatz certificate.
A "pre" Nullstellensatz certificate.
Recall that, given the hypotheses h₁ : lhs₁ = rhs₁
... hₙ : lhsₙ = rhsₙ
,
a Nullstellensatz certificate is of the form
q₁*(lhs₁ - rhs₁) + ... + qₙ*(lhsₙ - rhsₙ)
Each hypothesis is an EqCnstr
justified by a .core ..
EqnCnstrProof
.
We dynamically associate them with unique indices based on the order we find them
during traversal.
For the other EqCnstr
s we compute a "pre" certificate as a dense array
containing q₁
... qₙ
needed to create the EqCnstr
.
We are assuming the number of hypotheses used to derive a conclusion is small and a dense array is a reasonable representation.
- d : Int
We don't use rational coefficients in the polynomials. Thus, we need to track a denominator to justify the proof step
div
.
Instances For
Instances For
Equations
Instances For
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
- cache : Std.HashMap UInt64 PreNullCert
Mapping from
EqCnstr
toPreNullCert
- hyps : Array NullCertHypothesis
Instances For
Equations
Instances For
- d : Int
- qhs : Array (Poly × NullCertHypothesis)
Instances For
Equations
- One or more equations did not get rendered due to their size.
- (Lean.Meta.Grind.Arith.CommRing.PolyDerivation.input p).toPreNullCert = pure Lean.Meta.Grind.Arith.CommRing.Null.PreNullCert.zero
Instances For
Returns the multiplier k
for the input polynomial. See comment at PolyDerivation.step
.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Lean.Meta.Grind.Arith.CommRing.PolyDerivation.getMultiplier.go (Lean.Meta.Grind.Arith.CommRing.PolyDerivation.input p) acc = acc
Instances For
Equations
Instances For
Equations
Instances For
Equations
- c.mkNullCertExt = c.d.mkNullCertExt
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
Given a pr
, returns pr h₁ ... hₙ
, where n
is size nc.qhs.size
, and hᵢ
s
are the equalities in the certificate.
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
Alternative proof term construction where we generate a sub-term for each step in the derivation.
- cache : Std.HashMap UInt64 Expr
- polyMap : Std.HashMap Poly Expr
- monMap : Std.HashMap Mon Expr
- exprMap : Std.HashMap RingExpr Expr
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.
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.