Returns a context of type RArray α
containing the variables of the given ring.
α
is the type of the ring.
Equations
Instances For
Equations
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
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
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
Instances For
Returns the multiplier k
for the input polynomial. See comment at PolyDerivation.step
.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
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
Instances For
Equations
Instances For
Equations
Instances For
Equations
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
- sexprMap : Std.HashMap SemiringExpr Expr
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Given a
and b
, such that a ≠ b
in the core and sa
and sb
their reified semiring
terms s.t. sa.toPoly == sb.toPoly
, close the goal.