Polynomial reductions #
This file defines one-step polynomial reduction with respect to a monomial order and a set of multivariate polynomials. It proves termination of reduction using the colexicographic order on supports, basic translation lemmas, and local confluence results for singleton reductions.
References #
- [Becker and Weispfenning, Gröbner bases][Becker-Weispfenning1993]
The colexicographic order on finite subsets of a well-ordered type is well-founded.
Reduction of f by a polynomial p at the term t.
This means that t occurs in f and is divisible by the leading monomial of
p. More precisely, there is a monomial s such that
s + m.degree p = t, and a coefficient c such that the leading term of
monomial s c * p has the same coefficient as the term t of f.
The resulting polynomial g is obtained from f by subtracting this multiple
of p, so that the term t is eliminated.
Equations
- One or more equations did not get rendered due to their size.
Instances For
One-step reduction modulo a single polynomial p.
Equations
- m.ReducesToPoly p f g = ∃ (t : σ →₀ ℕ), m.ReducesToBy p f g t
Instances For
One-step reduction modulo a set P.
Equations
- m.ReducesToSet P f g = ∃ p ∈ P, m.ReducesToPoly p f g
Instances For
Reducibility modulo a single polynomial.
Equations
- m.Reducible p f = ∃ (g : MvPolynomial σ R), m.ReducesToPoly p f g
Instances For
Reducibility modulo a set.
Equations
- m.ReducibleSet P f = ∃ (g : MvPolynomial σ R), m.ReducesToSet P f g
Instances For
One-step reduction of the leading term of f modulo a single polynomial p.
Equations
- m.LTermReducesToPoly p f g = m.ReducesToBy p f g (m.degree f)
Instances For
One-step reduction modulo a set P.
The notation f ⟶[m, P] g means that f reduces to g in one step
modulo the set of polynomials P, with respect to the monomial order m.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Finite reduction modulo a set P.
This is the reflexive-transitive closure of one-step reduction modulo P.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Symmetric one-step reduction modulo a set P.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equivalence closure generated by reduction modulo a set P.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Joinability modulo a set P.
The notation f ↓[m, P] g means that f and g reduce to a common
polynomial by finite reductions modulo P.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Normal form modulo a single polynomial.
Equations
Instances For
A polynomial is reducible modulo p exactly when p is nonzero and some
support exponent t satisfies m.degree p ≤ t, while m.leadingCoeff p
divides the corresponding coefficient f.coeff t.
Lemma 5.20(i), unit-leading-coefficient version.
If the leading coefficient of p is a unit, then reducibility modulo p
is equivalent to divisibility of some term of f by the leading monomial
of p.
Reflexive-transitive closure of one-step reduction modulo P.
Equations
- MonomialOrder.ReducesToSet.ReflTransGen m P f g = Relation.ReflTransGen (m.ReducesToSet P) f g
Instances For
Equivalence closure generated by one-step reduction modulo P.
Equations
- MonomialOrder.ReducesToSet.EqvGen m P f g = Relation.EqvGen (m.ReducesToSet P) f g
Instances For
Joinability modulo P.
Equations
- MonomialOrder.ReducesToSet.Join m P f g = Relation.Join (Relation.ReflTransGen (m.ReducesToSet P)) f g
Instances For
Normal form modulo a set P.
Equations
Instances For
Without assumptions on leading coefficients, a polynomial is in normal form
exactly when there is no support exponent t and nonzero reducer p such that
m.degree p ≤ t and m.leadingCoeff p ∣ f.coeff t.
If every nonzero reducer has unit leading coefficient, normal forms are exactly the polynomials whose support terms are not divisible by the leading monomial of any nonzero reducer.
This is the unit-leading-coefficient specialization of
normalForm_iff_forall_not_degree_le_and_dvd.
The strict order on polynomials induced from the colex order on finite supports.
The support of a polynomial is transported to the synonym type m.syn using
the monomial order equivalence m.toSyn, and then compared by the colex
order on finite subsets.
Equations
- m.supportColexLt f g = (toColex (Finset.image (⇑m.toSyn) f.support) < toColex (Finset.image (⇑m.toSyn) g.support))
Instances For
The support-colex order on polynomials is well-founded.
In a one-step reduction eliminating the term t, the coefficient of t
in the reduced polynomial is zero.
If d is strictly larger than the term t being reduced, then its
coefficient is unchanged by the one-step reduction.
Lemma 5.20(iv), single-polynomial form.
Every one-step reduction modulo a single polynomial strictly decreases the support-colex order.
Lemma 5.24(ii), single-polynomial version.
If f reduces to g modulo a single polynomial p, then multiplying both
sides by a monomial preserves the one-step reduction.
If a polynomial has degree zero, then deleting its leading term gives zero.
A product h * f reduces in one step to (m.subLTerm h) * f
modulo P, provided f ∈ P, h ≠ 0, and the leading coefficient
of f is a non-zero-divisor.
Lemma 5.24(i), regular-leading-coefficient version.
If f ∈ P and the leading coefficient of f is a non-zero-divisor whenever
f is nonzero, then every polynomial multiple of f reduces to zero modulo P.
Translation Lemma, part (i).
Translation Lemma, part (ii): joinability.
Translation Lemma, part (ii): equivalence closure.
One-step reduction does not increase degree.
Finite reduction does not increase degree.
One-step reduction gives an explicit one-term quotient representation.
This is the first bridge from the relation-theoretic reduction API to the
remainder-style statement used by the division theorem: if f reduces to g
modulo B, then f is a finite linear combination of elements of B, plus
g.
One-step reduction gives a quotient representation satisfying the product
degree bound used by MonomialOrder.div_set.
Finite reduction gives an explicit quotient representation.
If f ⟶*[m, B] r, then f is a finite linear combination of elements of
B, plus the final reduct r.
Finite reduction gives a quotient representation satisfying the product
degree bound used by MonomialOrder.div_set.
If f reduces to g in one step modulo P, then f - g belongs to
the ideal generated by P.
A polynomial multiple of an element of P can be removed up to the
equivalence closure generated by reduction modulo P.
Lemma 5.26.
Two polynomials are equivalent modulo the ideal generated by P iff they
are equivalent under the equivalence closure of reduction modulo P.
Finite reduction modulo the singleton set {p} gives finite reduction
modulo the single polynomial p.
Finite reduction modulo the single polynomial p gives finite reduction
modulo the singleton set {p}.
If Q ⊆ P, then finite reductions modulo Q are finite reductions modulo P.
Proposition 5.33, singleton-set version.
If p has unit leading coefficient, then reduction modulo {p} is locally
confluent.
Proposition 5.33.
If p has unit leading coefficient, then reduction modulo the single
polynomial p is locally confluent.
Corollary 5.34.
If Ideal.span P = Ideal.span {p} for some nonzero p ∈ P, and all
nonzero elements of P have unit leading coefficient, then reduction
modulo P is locally confluent.