Documentation

Groebner.WeakRemainder

Weak Division #

Reference #

instance Pi.irrefl_lex {ι : Type u_3} {β : ιType u_4} (r : ιιProp) (s : {i : ι} → β iβ iProp) [∀ (i : ι), Std.Irrefl s] :
theorem Finset.apply_piecewise_congr {α : Type u_4} {π : αType u_3} {f g : (i : α) → π i} (s t : Finset α) (a : α) [(a : α) → Decidable (a s)] [(a : α) → Decidable (a t)] (ha : a s a t) :
s.piecewise f g a = t.piecewise f g a
theorem Finset.Colex.lt_iff {α : Type u_3} [LinearOrder α] (l₁ l₂ : Colex (Finset α)) :
l₁ < l₂ ∃ (a : α), (∀ b > a, b ofColex l₁ b ofColex l₂) a ofColex l₂ aofColex l₁
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 α)) :
l₁ < l₂ Pi.Lex (fun (x1 x2 : α) => x1 > x2) (fun {i : α} (x1 x2 : π i) => x1 < x2) ((ofColex l₁).piecewise f g) ((ofColex l₂).piecewise f g)
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) :
StrictMono fun (l : Colex (Finset α)) => toColex ((ofColex l).piecewise f g)
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) :
af.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)) er.support, ∀ (c : ι →₀ R), (∀ ic.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)) er.support, ∀ (c : B →₀ R), (∀ bc.support, m.degree b e)r.coeff e (Finsupp.linearCombination R (m.leadingCoeff Subtype.val)) c