Documentation

TauCeti.Data.Finsupp.MonomialOrder.Refinement

Weight refinements of monomial orders #

A nonnegative integral weight compares exponents only partially: distinct monomials can have the same weight. MonomialOrder.weightRefinement breaks these ties with a given monomial order. The resulting order is again a native MonomialOrder, even with zero weights and infinitely many variables. It can therefore be used with polynomial division and Gröbner bases, while retaining the maximal-weight convention for initial forms.

The construction embeds exponents into the lexicographic product of their weight and their original ordered exponent. Both factors are well ordered.

References #

noncomputable def MonomialOrder.weightRefinement {σ : Type u_1} (m : MonomialOrder σ) (w : σ → ℕ) :

Compare nonnegative integral weights first, breaking ties using m.

Instances For

    The weak comparison in a weight refinement.

    The strict comparison in a weight refinement.

    A comparison in the refined order never decreases weight.

    theorem MonomialOrder.weightRefinement_lt_of_weight_lt {σ : Type u_1} (m : MonomialOrder σ) (w : σ → ℕ) {a b : σ →₀ ℕ} (h : (Finsupp.weight w) a < (Finsupp.weight w) b) :

    A strict weight comparison is a strict comparison in the refined order.

    Equal-weight monomials are compared by the original order.

    theorem MonomialOrder.weightRefinement_lt_iff_of_weight_eq {σ : Type u_1} (m : MonomialOrder σ) (w : σ → ℕ) {a b : σ →₀ ℕ} (h : (Finsupp.weight w) a = (Finsupp.weight w) b) :

    Equal-weight monomials are strictly compared by the original order.

    @[simp]

    Zero weight leaves all weak comparisons unchanged.

    @[simp]

    Zero weight leaves all strict comparisons unchanged.

    theorem MonomialOrder.weightRefinement_single_le_iff {σ : Type u_1} (m : MonomialOrder σ) (w : σ → ℕ) {i j : σ} :

    The refined order compares variables by weight, retaining m to break ties.