Homogeneous lexicographic monomial ordering
MonomialOrder.degLex: a variant of the lexicographic ordering that first compares degrees. For this,σneeds to be embedded with an ordering relation which satisfiesWellFoundedGT σ. (This last property is automatic whenσis finite).
The type synonym is DegLex (σ →₀ ℕ) and the two lemmas MonomialOrder.degLex_le_iff
and MonomialOrder.degLex_lt_iff rewrite the ordering as comparisons in the type Lex (σ →₀ ℕ).
References #
- [Cox, Little and O'Shea, Ideals, varieties, and algorithms][coxlittleoshea1997]
- [Becker and Weispfenning, Gröbner bases][Becker-Weispfenning1993]
noncomputable instance
instAddCommMonoidDegLex
{α : Type u_1}
[AddCommMonoid α]
:
AddCommMonoid (DegLex α)
Equations
Finsupp.DegLex r s is the homogeneous lexicographic order on α →₀ M,
where α is ordered by r and M is ordered by s.
The type synonym DegLex (α →₀ M) has an order given by Finsupp.DegLex (· < ·) (· < ·).
Equations
- Finsupp.DegLex r s = Function.onFun (Prod.Lex s (Finsupp.Lex r s)) fun (x : α →₀ ℕ) => (x.degree, x)
Instances For
theorem
Finsupp.DegLex.wellFounded
{α : Type u_1}
{r : α → α → Prop}
[IsTrichotomous α r]
(hr : WellFounded (Function.swap r))
{s : ℕ → ℕ → Prop}
(hs : WellFounded s)
(hs0 : ∀ ⦃n : ℕ⦄, ¬s n 0)
:
WellFounded (Finsupp.DegLex r s)
instance
Finsupp.DegLex.instLinearOrderDegLexNat
{α : Type u_1}
[LinearOrder α]
:
LinearOrder (DegLex (α →₀ ℕ))
The linear order on Finsupps obtained by the homogeneous lexicographic ordering.
instance
Finsupp.DegLex.instIsOrderedCancelAddMonoidDegLexNat
{α : Type u_1}
[LinearOrder α]
:
IsOrderedCancelAddMonoid (DegLex (α →₀ ℕ))
theorem
Finsupp.DegLex.single_strictAnti
{α : Type u_1}
[LinearOrder α]
:
StrictAnti fun (a : α) => toDegLex (single a 1)
Equations
- Finsupp.DegLex.orderBot = { bot := toDegLex 0, bot_le := ⋯ }
instance
Finsupp.DegLex.wellFoundedLT
{α : Type u_1}
[LinearOrder α]
[WellFoundedGT α]
:
WellFoundedLT (DegLex (α →₀ ℕ))
The deg-lexicographic order on σ →₀ ℕ, as a MonomialOrder
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MonomialOrder.degLex_single_le_iff
{σ : Type u_2}
[LinearOrder σ]
[WellFoundedGT σ]
{a b : σ}
:
theorem
MonomialOrder.degLex_single_lt_iff
{σ : Type u_2}
[LinearOrder σ]
[WellFoundedGT σ]
{a b : σ}
: