Documentation

Groebner.Reduced

def MonomialOrder.IsGroebnerBasis.IsMinimal {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) :
Equations
Instances For
    def MonomialOrder.IsGroebnerBasis.IsMinimal.isMinimal_def {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) :
    hG.IsMinimal (∀ pG, m.Monic p) G.Pairwise fun (x1 x2 : MvPolynomial σ R) => ¬m.degree x1 m.degree x2
    Equations
    • =
    Instances For
      def MonomialOrder.IsGroebnerBasis.IsMinimal.monic {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) {p : MvPolynomial σ R} (h : p G) :
      m.Monic p
      Equations
      • =
      Instances For
        def MonomialOrder.IsGroebnerBasis.IsMinimal.pairwise {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) :
        G.Pairwise fun (x1 x2 : MvPolynomial σ R) => ¬m.degree x1 m.degree x2
        Equations
        • =
        Instances For
          def MonomialOrder.IsGroebnerBasis.IsReduced {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) :
          Equations
          Instances For
            theorem MonomialOrder.IsGroebnerBasis.isGroebnerBasis_minimal {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) {G' : Set (MvPolynomial σ R)} (h : G' I) (hG' : gG', IsUnit (m.leadingCoeff g)) (h' : {a : σ →₀ | Minimal (fun (x : σ →₀ ) => x m.degree '' (G \ {0})) a} m.degree '' G') :
            theorem MonomialOrder.IsGroebnerBasis.isGroebnerBasis_monomial_minimal {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommSemiring R] (s : Set (σ →₀ )) :
            IsGroebnerBasis ((fun (x : σ →₀ ) => (MvPolynomial.monomial x) 1) '' {x : σ →₀ | Minimal (fun (x : σ →₀ ) => x s) x}) (Ideal.span ((fun (x : σ →₀ ) => (MvPolynomial.monomial x) 1) '' s))
            theorem MonomialOrder.IsGroebnerBasis.smul {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {I : Ideal (MvPolynomial σ R)} {ι : Type u_3} (f : ιR) (f' : ιMvPolynomial σ R) (hf : ∀ (i : ι), IsUnit (f i)) (hG : IsGroebnerBasis (Set.range f') I) :
            IsGroebnerBasis (Set.range fun (i : ι) => f i f' i) I
            theorem MonomialOrder.IsGroebnerBasis.smul_iff {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {I : Ideal (MvPolynomial σ R)} {ι : Type u_3} (f : ιR) (f' : ιMvPolynomial σ R) (hf : ∀ (i : ι), IsUnit (f i)) :
            IsGroebnerBasis (Set.range fun (i : ι) => f i f' i) I IsGroebnerBasis (Set.range f') I
            theorem MonomialOrder.IsGroebnerBasis.inv {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) (hG' : gG, IsUnit (m.leadingCoeff g)) :
            IsGroebnerBasis (Set.range fun (g : G) => .unit⁻¹ g) I
            theorem MonomialOrder.IsGroebnerBasis.span_image_leadingTerm {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) (hG' : gG, IsUnit (m.leadingCoeff g)) :
            theorem MonomialOrder.IsGroebnerBasis.IsRemainder.self_iff {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} (p : MvPolynomial σ R) (G : Set (MvPolynomial σ R)) :
            m.IsRemainder p G p ap.support, qG, q 0¬m.degree q a
            theorem MonomialOrder.IsGroebnerBasis.IsRemainder.self_tfae {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} (p : MvPolynomial σ R) (G : Set (MvPolynomial σ R)) :
            [m.IsRemainder p G p, B'G, m.IsRemainder p B' p, qG, m.IsRemainder p {q} p, ap.support, qG, q 0¬m.degree q a].TFAE
            theorem MonomialOrder.IsGroebnerBasis.IsRemainder.self {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {p r : MvPolynomial σ R} (h : m.IsRemainder p G r) :
            m.IsRemainder r G r
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.isReduced_def {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} :
            hG.IsReduced (∀ pG, m.Monic p) pG, ap.support, qG, q p¬m.degree q a
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.isReduced_monomial {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {s : Set (σ →₀ )} {I : Ideal (MvPolynomial σ R)} (h : IsGroebnerBasis ((fun (x : σ →₀ ) => (MvPolynomial.monomial x) 1) '' {x : σ →₀ | Minimal (fun (x : σ →₀ ) => x s) x}) I) :
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.minimal_degree {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) {g : MvPolynomial σ R} (h : g G) :
            Minimal (fun (x : σ →₀ ) => x m.degree '' G) (m.degree g)
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.isMinimal_iff_monic_and_minimal_degree_and_injOn_leadingTerm {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) :
            hG.IsMinimal (∀ gG, m.Monic g) (∀ gG, Minimal (fun (x : σ →₀ ) => x m.degree '' G) (m.degree g)) Set.InjOn m.degree G
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.degree_image_eq_setOf_minimal {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) :
            m.degree '' G = {a : σ →₀ | Minimal (fun (x : σ →₀ ) => x m.degree '' G) a}
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.degree_image_eq_of_isMinimal {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} [Nontrivial R] (hG' : hG.IsMinimal) {G₁ : Set (MvPolynomial σ R)} {hG₁ : IsGroebnerBasis G₁ I} (hG₁' : hG₁.IsMinimal) :
            m.degree '' G = m.degree '' G₁
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.isMinimal_of_isMinimal_leadingTerm {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis (m.leadingTerm '' G) (Ideal.span (m.leadingTerm '' I))} (hG' : hG.IsMinimal) (hGsubset : G I) (hLT : Set.InjOn m.degree G) :
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.unique {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommRing R] [Nontrivial R] {G₁ G₂ : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG₁ : IsGroebnerBasis G₁ I} (hG₁' : hG₁.IsReduced) {hG₂ : IsGroebnerBasis G₂ I} (hG₂' : hG₂.IsReduced) :
            G₁ = G₂
            theorem MonomialOrder.IsGroebnerBasis.MonomialOrder.degree_le_mul_left {σ : Type u_3} {R : Type u_4} [CommRing R] [IsDomain R] (m : MonomialOrder σ) (p q : MvPolynomial σ R) (hq : q 0) :
            m.degree p m.degree (p * q)
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.withBotDegree_eq_of_isRemainder {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) {g : MvPolynomial σ R} (hg : g G) {r : MvPolynomial σ R} (hr : m.IsRemainder g (G \ {g}) r) :
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.degree_eq_of_isRemainder {σ : Type u_1} {R : Type u_2} [CommSemiring R] {m : MonomialOrder σ} {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) {g : MvPolynomial σ R} (hg : g G) {r : MvPolynomial σ R} (hr : m.IsRemainder g (G \ {g}) r) :
            m.degree r = m.degree g
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.leadingTerm_eq_of_isRemainder {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) {g : MvPolynomial σ R} (hg : g G) (r : MvPolynomial σ R) (hr : m.IsRemainder g (G \ {g}) r) :
            theorem MonomialOrder.IsGroebnerBasis.IsMinimal.isGroebnerBasis_image_isRemainder {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) (f : GMvPolynomial σ R) (hf : ∀ (g : G), m.IsRemainder (↑g) (G \ {g}) (f g)) :
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.isReduced_image_isRemainder_of_IsMinimal {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} {hG : IsGroebnerBasis G I} (hG' : hG.IsMinimal) (f : GMvPolynomial σ R) (hf : ∀ (g : G), m.IsRemainder (↑g) (G \ {g}) (f g)) :
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.exists_of_isGroebnerBasis {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) (hG' : gG, IsUnit (m.leadingCoeff g)) :
            ∃ (B : Set (MvPolynomial σ R)) (h : IsGroebnerBasis B I), h.IsReduced
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.exists_of_isGroebnerBasis₀ {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) (hG' : gG, IsUnit (m.leadingCoeff g) g = 0) :
            ∃ (B : Set (MvPolynomial σ R)) (h : IsGroebnerBasis B I), h.IsReduced
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.uniqueExists_of_isGroebnerBasis {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [Nontrivial R] [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) (hG' : gG, IsUnit (m.leadingCoeff g)) :
            ∃! B : Set (MvPolynomial σ R), ∃ (h : IsGroebnerBasis B I), h.IsReduced
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.uniqueExists_of_isGroebnerBasis₀ {σ : Type u_1} {m : MonomialOrder σ} {R : Type u_3} [Nontrivial R] [CommRing R] {G : Set (MvPolynomial σ R)} {I : Ideal (MvPolynomial σ R)} (hG : IsGroebnerBasis G I) (hG' : gG, IsUnit (m.leadingCoeff g) g = 0) :
            ∃! B : Set (MvPolynomial σ R), ∃ (h : IsGroebnerBasis B I), h.IsReduced
            theorem MonomialOrder.IsGroebnerBasis.isGroebnerBasis_minimalFor {σ : Type u_1} {m : MonomialOrder σ} {k : Type u_3} [Field k] (I : Ideal (MvPolynomial σ k)) :
            IsGroebnerBasis {g : MvPolynomial σ k | m.Monic g MinimalFor (fun (p : MvPolynomial σ k) => p I \ {0}) (fun (x : MvPolynomial σ k) => m.degree x) g pI, p 0m.degree p m.degree gag.support, ¬m.degree p a} I
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.isReduced_iff_minimalFor {σ : Type u_1} {m : MonomialOrder σ} {k : Type u_3} [Field k] (G : Set (MvPolynomial σ k)) (I : Ideal (MvPolynomial σ k)) :
            (∃ (h : IsGroebnerBasis G I), h.IsReduced) ∀ (g : MvPolynomial σ k), g G m.Monic g MinimalFor (fun (p : MvPolynomial σ k) => p I \ {0}) (fun (x : MvPolynomial σ k) => m.degree x) g pI, p 0m.degree p m.degree gag.support, ¬m.degree p a
            theorem Filter.union_mem_of_mem {α : Type u_3} {a b : Set α} {f : Filter α} (ha : a f) (hb : b f) :
            a b f
            theorem Filter.biUnion_mem_of_mem {α : Type u_3} {ι : Type u_4} {f : Filter α} {s : Set ι} {t : ιSet α} (hs : s.Nonempty) (hs' : s.Finite) (h : is, t i f) :
            is, t i f
            theorem Filter.sUnion_mem_of_mem {α : Type u_3} {f : Filter α} {s : Set (Set α)} (hs : s.Nonempty) (hs' : s.Finite) (h : as, a f) :
            theorem Filter.iUnion_mem_of_mem {α : Type u_3} {ι : Type u_4} {f : Filter α} [Fintype ι] [nomempty : Nonempty ι] {s : ιSet α} (h : ∀ (i : ι), s i f) :
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.subset_limsup {σ : Type u_1} {m : MonomialOrder σ} {k : Type u_4} [Field k] {I : Ideal (MvPolynomial σ k)} {α : Type u_5} {σ' : αType u_3} {m' : (a : α) → MonomialOrder (σ' a)} {f : Filter α} {e : (a : α) → (m' a).Embedding m} (hI : Set.univ = Filter.liminf (fun (x : α) => Set.range (e x)) f) {G' : (a : α) → Set (MvPolynomial (σ' a) k)} (hG' : ∀ (a : α), IsGroebnerBasis (G' a) (Ideal.comap (MvPolynomial.rename (e a)) I)) (hG'' : ∀ (a : α), .IsReduced) {G : Set (MvPolynomial σ k)} {hG₀ : IsGroebnerBasis G I} (hG : hG₀.IsReduced) :
            G Filter.liminf (fun (a : α) => (MvPolynomial.rename (e a)) '' G' a) f
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.isReduced_liminf {σ : Type u_1} {m : MonomialOrder σ} {k : Type u_4} [Field k] {I : Ideal (MvPolynomial σ k)} {α : Type u_5} {σ' : αType u_3} {m' : (a : α) → MonomialOrder (σ' a)} {f : Filter α} [f.NeBot] {e : (a : α) → (m' a).Embedding m} (hI : Set.univ = Filter.liminf (fun (x : α) => Set.range (e x)) f) {G' : (a : α) → Set (MvPolynomial (σ' a) k)} (hG' : ∀ (a : α), IsGroebnerBasis (G' a) (Ideal.comap (MvPolynomial.rename (e a)) I)) (hG'' : ∀ (a : α), .IsReduced) :
            ∃ (h : IsGroebnerBasis (Filter.liminf (fun (a : α) => (MvPolynomial.rename (e a)) '' G' a) f) I), h.IsReduced
            theorem MonomialOrder.IsGroebnerBasis.IsReduced.isReduced_liminf_nat {σ : Type u_1} {m : MonomialOrder σ} {k : Type u_3} [Field k] {I : Ideal (MvPolynomial σ k)} {init : } {e : σ} {G' : (n : ) → Set (MvPolynomial (Fin (n + init)) k)} (hG' : ∀ (n : ), IsGroebnerBasis (G' n) (Ideal.comap (MvPolynomial.rename (e Fin.val)) I)) (hG'' : ∀ (n : ), .IsReduced) :