Rank and Orderings on polynomials and triangular sets #
This file defines rank structures on multivariate polynomials and triangular sets, which are essential for the Characteristic Set Method (Wu's Method).
Main definitions #
MvPolynomial.rank: The rank of a polynomialpis the pair(max_vars p, mainDegree.card p), ordered lexicographically. This defines a well-ordering on polynomials when the variable type is well-founded.TriangularSet.rank: The rank of a triangular set is a lexicographic sequence of ranks of its polynomials. For two triangular setsSandT,S < Tif either:- There exists
k < S.lengthsuch thatS₀ ≈ T₀,S₁ ≈ T₁, ...,Sₖ₋₁ ≈ Tₖ₋₁andSₖ < Tₖ; S.length > T.lengthand∀ i < T.length, Sᵢ ≈ Tᵢ.
- There exists
Main results #
MvPolynomial.instWellFoundedLT: Whenσis well-founded, polynomials are well-founded under the rank ordering.TriangularSet.instWellFoundedLT: Whenσis finite, triangular sets are well-founded under the rank ordering. This guarantees termination of characteristic set algorithms.
References #
- [Wen-Tsun Wu, Basic principles of mechanical theorem proving in elementary geometries] [WT86]
The rank of a polynomial p is the pair (max_vars p, degree p),
which is ordered lexicographically.
Instances For
Equations
- x✝¹.instDecidableLE x✝ = decidable_of_iff (x✝¹.rank ≤ x✝.rank) ⋯
Equations
- MvPolynomial.instSetoid = AntisymmRel.setoid (MvPolynomial σ R) fun (x1 x2 : MvPolynomial σ R) => x1 ≤ x2
Equations
The minimal element of a nonempty set of multivariate polynomials.
Equations
- MvPolynomial.Set.min PS h = ⋯.choose
Instances For
The rank of a Triangular Set is a lexicographic sequence of ranks of its polynomials.
A more intuitive definition is rank_lt_iff, S < T if one of the following two occurs:
- There exists some
k < S.lengthsuch thatS₀ ≈ T₀,S₁ ≈ T₁, ...,Sₖ₋₁ ≈ Tₖ₋₁andSₖ < Tₖ. S.length > T.lengthand∀ i < T.length, Sᵢ ≈ Tᵢ
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- x✝¹.instDecidableLE x✝ = decidable_of_iff (x✝¹.rank ≤ x✝.rank) ⋯
Equations
- TriangularSet.instSetoid = AntisymmRel.setoid (TriangularSet σ R) fun (x1 x2 : TriangularSet σ R) => x1 ≤ x2
Equations
Well-Foundedness #
The set of Triangular Sets is well-founded under the lexicographic rank ordering. This is a crucial result that guarantees the termination of the Characteristic Set Algorithm.
Equations
- TriangularSet.instWellFoundedRelation = { rel := fun (x1 x2 : TriangularSet σ R) => x1 < x2, wf := ⋯ }
The minimal element of a nonempty set of triangular sets.
Equations
- TriangularSet.Set.min S' h = ⋯.choose
Instances For
Key Lemma for the Basic Set Algorithm:
If p is non-zero and reduced with respect to S, then modifying S
by appending p (using takeConcat) strictly decreases the order of the triangular set.
This order decrease is what guarantees the termination of the characteristic set computation.