Blueprint of Groebner Basis Theory in LEAN

2 Lemmas

Lemma 15 monic_leadingTerm
#
Proof
Lemma 16 support_leadingTerm
#
Proof
Lemma 17 support_leadingTerm’
#
Proof
Lemma 18 le_degree_of_mem_support
#
Proof
Lemma 19 leadingTerm_eq_leadingTerm_iff
Proof
Lemma 20 monic_one’
#
Proof
Lemma 21 monic_of_subsingleton
#
Proof
Lemma 22 degree_le_degree_of_support_subset
Proof
Theorem 23 degree_mul_le’
#
Proof
Theorem 24 leadingCoeff_mul’
#
Proof
Lemma 25 degree_rename_killCompl_le_degree
Proof
Lemma 26 toWithBotSyn_apply_bot
#
Proof
Lemma 27 toWithBotSyn_symm_apply_bot
Proof
Lemma 28 toWithBotSyn_apply_eq_bot_iff
Proof
Lemma 29 toWithBotSyn_apply_le_bot_iff
Proof
Lemma 30 toWithBotSyn_apply_coe
#
Proof
Lemma 31 bot_lt_toWithBotSyn_apply_iff
Proof
Lemma 32 toWithBotSyn_symm_apply_eq_bot
Proof
Lemma 33 toWithBotSyn_apply
#
Proof
Lemma 34 withBotDegree_eq
#
Proof
Lemma 35 withBotDegree_eq_coe_degree_iff
Proof
Lemma 36 withBotDegree_eq_bot_iff
Proof
Lemma 37 degree_eq_unbotD_withBotDegree
Proof
Lemma 38 withBotDegree_zero
#
Proof
Lemma 39 withBotDegree_monomial
Proof
Lemma 40 withBotDegree_C
#
Proof
Lemma 41 withBotDegree_leadingTerm
Proof
Lemma 42 withBotDegree_neg
#
Proof
Lemma 43 withBotDegree_one
#
Proof
Lemma 44 mem_nonZeroDivisors_of_leadingCoeff_mem_nonZeroDivisors
Proof
Lemma 45 withBotDegree_mul_of_left_mem_nonZeroDivisors
Proof
Lemma 46 withBotDegree_mul_of_right_mem_nonZeroDivisors
Proof
Lemma 47 withBotDegree_mul
#
Proof
Lemma 48 withBotDegree_mul_le
Proof
Lemma 49 withBotDegree_mul_le’
Proof
Lemma 50 withBotDegree_le_withBotDegree_iff
Proof
Lemma 51 withBotDegree_le_withBotDegree_iff_of_ne_zero
Proof
Lemma 52 withBotDegree_lt_withBotDegree_iff
Proof
Lemma 53 withBotDegree_lt_withBotDegree_iff_of_ne_zero
Proof
Lemma 54 withBotDegree_eq_withBotDegree_iff
Proof
Lemma 55 withBotDegree_add_le
Proof
Lemma 56 withBotDegree_add_of_lt
Proof
Lemma 57 withBotDegree_add_of_right_lt
Proof
Lemma 58 withBotDegree_sum_le
Proof
Lemma 59 le_withBotDegree
Proof
Lemma 60 withBotDegree_le_withBotDegree_of_support_subset
Proof
Lemma 61 withBotDegree_rename_killCompl_le_withBotDegree
Proof
Theorem 62 isRemainder_def’

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

Proof
Theorem 63 isRemainder_def’’

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.

Proof
Theorem 64 isRemainder_finset

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

Proof
Theorem 65 isRemainder_range

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.

Proof
Theorem 66 isRemainder_range_fintype
Proof
Theorem 67 isRemainder_insert_zero_iff_isRemainder

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

Proof
Theorem 68 isRemainder_sdiff_singleton_zero_iff_isRemainder

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

Proof
Theorem 69 isRemainder_zero
Proof
Theorem 70 isRemainder_zero_iff
Proof
Theorem 71 isRemainder_iff_degree
Proof
Lemma 72 mem_ideal_of_mem_ideal
Proof
Lemma 73 term_notMem_span_leadingTerm
Proof
Lemma 74 term_notMem_span_leadingTerm₀
Proof
Lemma 75 monomial_notMem_span_leadingTerm
#
Proof
Lemma 76 MonomialOrder.IsRemainder.monomial_notMem_span_leadingTerm
Proof
Lemma 77 monomial_notMem_span_leadingTerm₀
Proof
Proof
Proof
Lemma 80 exists_degree_le_degree_of_zero
Proof
Lemma 81 MonomialOrder.IsRemainder.of_subsingleton
Proof
Lemma 82 isRemainder_killCompl_of_isRemainder_rename
Proof
Lemma 83 isRemainder_rename_of_isRemainder
Proof
Lemma 84 isRemainder_iff_isRemainder_rename
Proof
Theorem 85 exists_isRemainder
Proof
Theorem 86 exists_isRemainder₀

A variant of div_set including 0

Proof
Lemma 87 mem_ideal_iff
Proof
Lemma 88 sub_mem_ideal_of_isRemainder_of_subset_ideal
Proof
Lemma 89 sub_monomial_notMem_span_leadingTerm
Proof
Theorem 90 exists_isRemainder’

A variant of div_set in field

Proof
Lemma 91 term_notMem_span_leadingTerm’
Proof
Theorem 92 WellFoundedLT.toWellFoundedRelation.congr_simp
Proof
Lemma 93 isGroebnerBasis_self
Proof
Lemma 94 isGroebnerBasis_sdiff_singleton_zero
Proof
Lemma 95 isGroebnerBasis_insert_zero
Proof
Theorem 96 exists_isGroebnerBasis_finite

Finite Gröbner basis exists for any ideal of a noetherian multivariate polynomial ring.

Proof
Lemma 97 singleton_zero_bot
Proof
Lemma 98 empty_bot
Proof
Lemma 99 singleton_zero_iff
Proof
Lemma 100 empty_iff
Proof
Lemma 101 MonomialOrder.IsGroebnerBasis.of_subsingleton
Proof
Theorem 102 isGroebnerBasis_iff_subset_and_degree_le_eq_and_degree_le
Proof
Theorem 103 span_leadingTerm_eq_span_monomial
Proof
Theorem 104 span_leadingTerm_eq_span_monomial₀
Proof

Given a remainder r of a polynomial p on division by a Gröbner basis G of an ideal I, the remainder r is 0 if and only if p is in the ideal I.

Any leading coefficient of polynomial in the Gröbner basis G is required to be a unit.

Proof
Theorem 106 remainder_eq_zero_iff_mem_ideal₀

Given a remainder r of a polynomial p on division by a Gröbner basis G of an ideal I, the remainder r is 0 if and only if p is in the ideal I.

It is a variant of MonomialOrder.IsGroebnerBasis.remainder_eq_zero_iff_mem_ideal, allowing the Gröbner basis to contain also 0, besides polynomials with invertible leading coefficients.

Proof
Theorem 107 isRemainder_zero_iff_mem_ideal

Given a Gröbner basis G of an ideal I, 0 is a remainder on division by G if and only if p is in the ideal I.

Proof
Lemma 108 isRemainder_zero_iff_mem_ideal₀
Proof

Gröbner basis of any ideal spans the ideal.

Proof
Theorem 110 isGroebnerBasis_iff_ideal_eq_span_and_isGroebnerBasis_span
Proof
Theorem 111 isGroebnerBasis_iff_ideal_eq_span_and_isGroebnerBasis_span₀
Proof
Theorem 112 isGroebnerBasis_iff_subset_ideal_and_isRemainder_zero

A set of polynomials is a Gröbner basis of an ideal if and only if it is a subset of this ideal and 0 is a remainder of each member of this ideal on division by this set.

Any leading coefficient of polynomial in the set is required to be a unit.

Proof
Theorem 113 isGroebnerBasis_iff_subset_ideal_and_isRemainder_zero₀

A set of polynomials is a Gröbner basis of an ideal if and only if it is a subset of this ideal and 0 is a remainder of each member of this ideal on division by this set.

It is a variant of MonomialOrder.IsGroebnerBasis.isGroebnerBasis_iff_subset_ideal_and_isRemainder_zero, allowing the set to contain also 0, besides polynomials with invertible leading coefficients.

Proof

Remainder of any polynomial on division by a Gröbner basis exists and is unique.

Any leading coefficient of polynomial in the Gröbner basis is required to be a unit.

Proof
Theorem 115 existsUnique_isRemainder₀

Remainder of any polynomial on division by a Gröbner basis exists and is unique.

It is a variant of MonomialOrder.IsGroebnerBasis.existsUnique_isRemainder, allowing the Gröbner basis to contain also 0, besides polynomials with invertible leading coefficients.

Proof
Theorem 116 remainder_eq_zero_iff_mem_ideal’

Given a remainder r of a polynomial p on division by a Gröbner basis G of an ideal I, the remainder r is 0 if and only if p is in the ideal I.

It is a variant of MonomialOrder.IsGroebnerBasis.remainder_eq_zero_iff_mem_ideal, over a field and without hypothesis on leading coefficients in the Gröbner basis.

Proof
Lemma 117 isRemainder_zero_iff_mem_ideal’
Proof
Theorem 118 isGroebnerBasis_iff_subset_ideal_and_isRemainder_zero’

A set of polynomials is a Gröbner basis of an ideal if and only if it is a subset of this ideal and 0 is a remainder of each member of this ideal on division by this set.

It is a variant of MonomialOrder.IsGroebnerBasis.isGroebnerBasis_iff_subset_ideal_and_isRemainder_zero, over a field and without hypothesis on leading coefficients in the set.

Proof

Buchberger Criterion: a basis of an ideal is a Gröbner basis of it if and only if 0 is a remainder of echo sPolynomial between two polynomials on the basis.

Proof
Theorem 120 isGroebnerBasis_iff_isRemainder_sPolynomial_zero’

Buchberger Criterion: a basis of an ideal is a Gröbner basis of it if and only if any remainder of echo sPolynomial between two polynomials on the basis is 0.

It is a variant of MonomialOrder.IsGroebnerBasis.isGroebnerBasis_iff_isRemainder_sPolynomial_zero.

Proof
Theorem 121 isGroebnerBasis_iff_ideal_eq_span_and_isGroebnerBasis_span’
Proof
Lemma 122 isGroebnerBasis_iff_isGroebnerBasis_rename
Proof
Lemma 123 exists_isGroebnerBasis_finite_of_exists_span_finite
Proof
Lemma 124 isGroebnerBasis_of_forall_finite_isGroebnerBasis
Proof
Theorem 125 MonomialOrder.IsGroebnerBasis.IsReduced.congr_simp
Proof
Theorem 126 MonomialOrder.IsGroebnerBasis.IsMinimal.congr_simp
Proof
Lemma 127 isGroebnerBasis_minimal
Proof
Lemma 128 isGroebnerBasis_monomial
Proof
Lemma 129 isGroebnerBasis_monomial_minimal
Proof
Lemma 130 smul
#
Proof
Lemma 131 smul_iff
Proof
Lemma 132 inv
Proof
Lemma 133 span_image_leadingTerm
Proof
Lemma 134 self_iff
Proof
Lemma 135 self_tfae
Proof
Lemma 136 self
Proof
Proof
Proof
Lemma 139 MonomialOrder.IsGroebnerBasis.IsReduced.of_subsingleton
Proof
Lemma 140 MonomialOrder.IsGroebnerBasis.IsMinimal.of_subsingleton
Proof
Lemma 141 isReduced_monomial
Proof
Lemma 142 image_leadingTerm_eq_image_monomial_one
Proof
Proof
Lemma 144 isGroebnerBasis_of_isMinimal_leadingTerm
Proof
Lemma 145 injOn_degree
Proof
Lemma 146 minimal_degree
Proof
Lemma 147 isMinimal_iff_monic_and_minimal_degree_and_injOn_leadingTerm
Proof
Lemma 148 degree_image_eq_setOf_minimal
Proof
Proof
Lemma 150 isMinimal_of_isMinimal_leadingTerm
Proof
Lemma 151 leadingCoeff_add_of_lt_right
Proof
Proof
Lemma 153 degree_le_mul_left
Proof
Proof
Proof
Proof
Lemma 157 exists_of_isGroebnerBasis₀
Proof
Lemma 158 exists_of_isGroebnerBasis’
Proof
Theorem 159 uniqueExists_of_isGroebnerBasis
Proof
Theorem 160 uniqueExists_of_isGroebnerBasis₀
Proof
Theorem 161 uniqueExists_of_isGroebnerBasis’
Proof