Weak Division #
Reference #
- "On the construction of Gröbner bases using syzygies" https://www.sciencedirect.com/science/article/pii/S074771718880052X
instance
Pi.irrefl_lex
{ι : Type u_3}
{β : ι → Type u_4}
(r : ι → ι → Prop)
(s : {i : ι} → β i → β i → Prop)
[∀ (i : ι), Std.Irrefl s]
:
Std.Irrefl (Pi.Lex r s)
theorem
Finset.Colex.lt_iff_pi_lex_lt_pi_lex
{α : Type u_4}
{π : α → Type u_3}
[LinearOrder α]
[(a : α) → PartialOrder (π a)]
(f g : (a : α) → π a)
(h : ∀ (a : α), f a > g a)
(l₁ l₂ : Colex (Finset α))
:
theorem
Finset.Colex.strictMono_toColex_piecewise_ofColex
{α : Type u_4}
{π : α → Type u_3}
[LinearOrder α]
[(a : α) → PartialOrder (π a)]
(f g : (a : α) → π a)
(h : ∀ (a : α), f a > g a)
:
instance
Finset.Colex.wellFoundedLT
{α : Type u_3}
[LinearOrder α]
[WellFoundedLT α]
:
WellFoundedLT (Colex (Finset α))
theorem
MonomialOrder.withBotDegree_le_coe_degree
{σ : Type u_1}
{m : MonomialOrder σ}
{R : Type u_3}
[CommSemiring R]
(f : MvPolynomial σ R)
:
theorem
MonomialOrder.notMem_support_of_degree_lt'
{σ : Type u_1}
{m : MonomialOrder σ}
{R : Type u_2}
[CommRing R]
{a : σ →₀ ℕ}
{f : MvPolynomial σ R}
(h : m.toSyn (m.degree f) < m.toSyn a)
:
a ∉ f.support
theorem
MonomialOrder.weakDiv
{σ : Type u_1}
{m : MonomialOrder σ}
{R : Type u_2}
[CommRing R]
{ι : Type u_3}
{b : ι → MvPolynomial σ R}
(f : MvPolynomial σ R)
:
∃ (g : ι →₀ MvPolynomial σ R) (r : MvPolynomial σ R),
f = (Finsupp.linearCombination (MvPolynomial σ R) b) g + r ∧ (∀ (i : ι), m.toWithBotSyn (m.withBotDegree (b i) + m.withBotDegree (g i)) ≤ m.toWithBotSyn (m.withBotDegree f)) ∧ ∀ e ∈ r.support,
∀ (c : ι →₀ R),
(∀ i ∈ c.support, m.degree (b i) ≤ e) → r.coeff e ≠ (Finsupp.linearCombination R (m.leadingCoeff ∘ b)) c
theorem
MonomialOrder.weakDiv_set
{σ : Type u_1}
{m : MonomialOrder σ}
{R : Type u_2}
[CommRing R]
{B : Set (MvPolynomial σ R)}
(f : MvPolynomial σ R)
:
∃ (g : ↑B →₀ MvPolynomial σ R) (r : MvPolynomial σ R),
f = (Finsupp.linearCombination (MvPolynomial σ R) fun (b : ↑B) => ↑b) g + r ∧ (∀ (b : ↑B), m.toWithBotSyn (m.withBotDegree ↑b + m.withBotDegree (g b)) ≤ m.toWithBotSyn (m.withBotDegree f)) ∧ ∀ e ∈ r.support,
∀ (c : ↑B →₀ R),
(∀ b ∈ c.support, m.degree ↑b ≤ e) →
r.coeff e ≠ (Finsupp.linearCombination R (m.leadingCoeff ∘ Subtype.val)) c