Documentation

Groebner.Remainder

Remainder #

The following definition is abstracted from the "remainder" as in MonomialOrder.div_set. And more properties of it is covered in this file. namespace

And there're also some variant equivalent statements.

Naming convention #

Some theorems with an argument in type Set (MvPolynomial σ R) have 2 variants, named as following respectively:

Reference : [Cox2015] #

def MonomialOrder.IsRemainder {σ : Type u_1} (m : MonomialOrder σ) {R : Type u_2} [CommSemiring R] (f : MvPolynomial σ R) (B : Set (MvPolynomial σ R)) (r : MvPolynomial σ R) :

Given a multivariate polynomial f and a set B of multivariate polynomials over R. A polynomial r is called a remainder of f on division by B with respect to a monomial order m, if there exists g : B →₀ R[X] and a polynomial r s.t. (1) Finite linear combination: f = ∑ (g(b) * b) + r; (2) Degree condition: For eacho b ∈ B, the degree (with bot) of g(b) * b ≤ the degree (with bot) of f w.r.t. m; (3) Remainder irreducibility: No term of r is divisible by the leading monomial of any non-zero b ∈ B.

This definition makes sense only when R is a communitive ring and any polynomial in B has an invertible or zero leading coefficient.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem MonomialOrder.IsRemainder.isRemainder_def' {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] (p : MvPolynomial σ R) (B : Set (MvPolynomial σ R)) (r : MvPolynomial σ R) :
    m.IsRemainder p B r (∃ (g : MvPolynomial σ R →₀ MvPolynomial σ R), g.support B p = (Finsupp.linearCombination (MvPolynomial σ R) id) g + r bB, m.toWithBotSyn (m.withBotDegree (b * g b)) m.toWithBotSyn (m.withBotDegree p)) cr.support, g'B, g' 0¬m.degree g' c

    A variant of MonomialOrder.IsRemainder without coercion of a Set (MvPolynomial σ R).

    theorem MonomialOrder.IsRemainder.isRemainder_def'' {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] (p : MvPolynomial σ R) (B : Set (MvPolynomial σ R)) (r : MvPolynomial σ R) :
    m.IsRemainder p B r (∃ (g : MvPolynomial σ RMvPolynomial σ R) (B' : Finset (MvPolynomial σ R)), B' B p = xB', g x * x + r b'B', m.toWithBotSyn (m.withBotDegree (b' * g b')) m.toWithBotSyn (m.withBotDegree p)) cr.support, bB, b 0¬m.degree b c

    A variant of MonomialOrder.IsRemainder where g : MvPolynomial σ R →₀ MvPolynomial σ R is replaced with a function g : MvPolynomial σ R → MvPolynomial σ R without limitation on its support.

    theorem MonomialOrder.IsRemainder.isRemainder_finset {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] (p : MvPolynomial σ R) (B' : Finset (MvPolynomial σ R)) (r : MvPolynomial σ R) :
    m.IsRemainder p (↑B') r (∃ (g : MvPolynomial σ RMvPolynomial σ R), p = xB', g x * x + r b'B', m.toWithBotSyn (m.withBotDegree (b' * g b')) m.toWithBotSyn (m.withBotDegree p)) cr.support, bB', b 0¬m.degree b c

    A variant of MonomialOrder.IsRemainder_def' where B is Finset (MvPolynomial σ R).

    theorem MonomialOrder.IsRemainder.isRemainder_range {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {ι : Type u_3} (f : MvPolynomial σ R) (b : ιMvPolynomial σ R) (r : MvPolynomial σ R) :
    m.IsRemainder f (Set.range b) r (∃ (g : ι →₀ MvPolynomial σ R), f = (Finsupp.linearCombination (MvPolynomial σ R) b) g + r ∀ (i : ι), m.toWithBotSyn (m.withBotDegree (b i * g i)) m.toWithBotSyn (m.withBotDegree f)) cr.support, ∀ (i : ι), b i 0¬m.degree (b i) c

    r is a remainder of a family of polynomials, if and only if it is a remainder with properities defined in MonomialOrder.div with this family of polynomials given as a map from indexes to them.

    It is a variant of MonomialOrder.IsRemainder where divisors are given as a map from indexes to polynomials.

    @[simp]

    Remainders are preserved on insertion of the zero polynomial into the set of divisors.

    @[simp]

    Remainders are preserved with the zero polynomial removed from the set of divisors.

    theorem MonomialOrder.IsRemainder.isRemainder_zero {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {B : Set (MvPolynomial σ R)} {r : MvPolynomial σ R} (h : m.IsRemainder 0 B r) :
    r = 0
    @[simp]
    theorem MonomialOrder.IsRemainder.isRemainder_zero_iff {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] (B : Set (MvPolynomial σ R)) (r : MvPolynomial σ R) :
    m.IsRemainder 0 B r r = 0
    theorem MonomialOrder.IsRemainder.isRemainder_iff_degree {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] (f : MvPolynomial σ R) (B : Set (MvPolynomial σ R)) (r : MvPolynomial σ R) (hB : bB, m.leadingCoeff b nonZeroDivisors R) :
    m.IsRemainder f B r (∃ (g : B →₀ MvPolynomial σ R), f = (Finsupp.linearCombination (MvPolynomial σ R) fun (b : B) => b) g + r ∀ (b : B), m.toSyn (m.degree (b * g b)) m.toSyn (m.degree f)) cr.support, bB, b 0¬m.degree b c
    theorem MonomialOrder.IsRemainder.mem_ideal_of_mem_ideal {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {B : Set (MvPolynomial σ R)} {r : MvPolynomial σ R} {I : Ideal (MvPolynomial σ R)} {p : MvPolynomial σ R} (hBI : B I) (hpBr : m.IsRemainder p B r) (hr : r I) :
    p I
    theorem MonomialOrder.IsRemainder.term_notMem_span_leadingTerm {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p r : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hB : pB, IsUnit (m.leadingCoeff p)) (h : m.IsRemainder p B r) (s : σ →₀ ) :
    theorem MonomialOrder.IsRemainder.term_notMem_span_leadingTerm₀ {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p r : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hB : pB, IsUnit (m.leadingCoeff p) p = 0) (h : m.IsRemainder p B r) (s : σ →₀ ) :
    theorem monomial_notMem_span_leadingTerm {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {r : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hB : pB, IsUnit (m.leadingCoeff p)) (h : cr.support, bB, ¬m.degree b c) (s : σ →₀ ) :
    theorem MonomialOrder.IsRemainder.monomial_notMem_span_leadingTerm {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p r : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hB : pB, IsUnit (m.leadingCoeff p)) (h : m.IsRemainder p B r) (s : σ →₀ ) :
    theorem MonomialOrder.IsRemainder.monomial_notMem_span_leadingTerm₀ {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p r : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hB : pB, IsUnit (m.leadingCoeff p) p = 0) (h : m.IsRemainder p B r) (s : σ →₀ ) :
    theorem MonomialOrder.IsRemainder.withBotDegree_remainder_le {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {f : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} {r : MvPolynomial σ R} (hB : bB, m.leadingCoeff b nonZeroDivisors R) (h : m.IsRemainder f B r) :
    theorem MonomialOrder.IsRemainder.exists_withBotDegree_le_degree {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} {r : MvPolynomial σ R} (hB : bB, m.leadingCoeff b nonZeroDivisors R) (h : m.IsRemainder p B r) (hfr : m.withBotDegree p m.withBotDegree r) :
    bB, m.withBotDegree b m.withBotDegree p
    theorem MonomialOrder.IsRemainder.exists_degree_le_degree_of_zero {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hp : p 0) (hB : bB, m.leadingCoeff b nonZeroDivisors R) (h : m.IsRemainder p B 0) :
    bB, m.degree b m.degree p
    theorem MonomialOrder.IsRemainder.exists_degree_le_degree_of_zero₀ {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] {p : MvPolynomial σ R} {B : Set (MvPolynomial σ R)} (hp : p 0) (hB : bB, m.leadingCoeff b nonZeroDivisors R b = 0) (h : m.IsRemainder p B 0) :
    bB, b 0 m.degree b m.degree p
    @[simp]
    theorem MonomialOrder.IsRemainder.of_subsingleton {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommSemiring R] [Subsingleton (MvPolynomial σ R)] {p r : MvPolynomial σ R} {s : Set (MvPolynomial σ R)} :
    m.IsRemainder p s r
    theorem MonomialOrder.IsRemainder.exists_isRemainder {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommRing R] {B : Set (MvPolynomial σ R)} (hB : bB, IsUnit (m.leadingCoeff b)) (p : MvPolynomial σ R) :
    ∃ (r : MvPolynomial σ R), m.IsRemainder p B r

    A variant of MonomialOrder.div_set using MonomialOrder.IsRemainder.

    theorem MonomialOrder.IsRemainder.exists_isRemainder₀ {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommRing R] {B : Set (MvPolynomial σ R)} (hB : bB, IsUnit (m.leadingCoeff b) b = 0) (p : MvPolynomial σ R) :
    ∃ (r : MvPolynomial σ R), m.IsRemainder p B r

    A variant of div_set' including 0

    theorem MonomialOrder.IsRemainder.mem_ideal_iff {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommRing R] {B : Set (MvPolynomial σ R)} {r : MvPolynomial σ R} {I : Ideal (MvPolynomial σ R)} {p : MvPolynomial σ R} (hBI : B I) (hpBr : m.IsRemainder p B r) :
    r I p I
    theorem MonomialOrder.IsRemainder.sub_mem_ideal_of_isRemainder_of_subset_ideal {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommRing R] {B : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {p r₁ r₂ : MvPolynomial σ R} (hBI : B I) (hr₁ : m.IsRemainder p B r₁) (hr₂ : m.IsRemainder p B r₂) :
    r₁ - r₂ I
    theorem MonomialOrder.IsRemainder.sub_monomial_notMem_span_leadingTerm {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_2} [CommRing R] {B : Set (MvPolynomial σ R)} {p r₁ r₂ : MvPolynomial σ R} (hB : pB, IsUnit (m.leadingCoeff p)) (hr₁ : m.IsRemainder p B r₁) (hr₂ : m.IsRemainder p B r₂) (s : σ →₀ ) :
    s (r₁ - r₂).support(MvPolynomial.monomial s) 1Ideal.span (m.leadingTerm '' B)
    theorem MonomialOrder.IsRemainder.exists_isRemainder' {k : Type u_1} [Field k] {σ : Type u_2} {m : MonomialOrder σ} (B : Set (MvPolynomial σ k)) (p : MvPolynomial σ k) :
    ∃ (r : MvPolynomial σ k), m.IsRemainder p B r

    A variant of div_set' in field

    theorem MonomialOrder.IsRemainder.exists_degree_le_degree_of_zero' {k : Type u_1} [Field k] {σ : Type u_2} {m : MonomialOrder σ} (p : MvPolynomial σ k) (hp : p 0) (B : Set (MvPolynomial σ k)) (h : m.IsRemainder p B 0) :
    bB, b 0 m.degree b m.degree p