Blueprint of Groebner Basis Theory in LEAN

2 Lemmas

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

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

Proof
Theorem 72 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 73 isRemainder_finset

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

Proof
Theorem 74 isRemainder_iff_exists_isRemainder_finset
Proof
Theorem 75 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 76 isRemainder_range_fintype
Proof
Theorem 77 isRemainder_insert_zero_iff_isRemainder

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

Proof
Theorem 78 isRemainder_sdiff_singleton_zero_iff_isRemainder

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

Proof
Theorem 79 isRemainder_zero
Proof
Theorem 80 isRemainder_zero_iff
Proof
Theorem 81 isRemainder_iff_degree
Proof
Theorem 82 isRemainder_iff_degree₀
Proof
Lemma 83 mem_ideal_of_mem_ideal
Proof
Lemma 84 term_notMem_span_span_monomial
Proof
Lemma 85 term_notMem_span_leadingTerm
Proof
Lemma 86 monomial_notMem_span_monomial
Proof
Lemma 87 monomial_notMem_span_leadingTerm
Proof
Proof
Proof
Lemma 90 exists_withBotDegree_le_withBotDegree₀
Proof
Proof
Lemma 92 exists_degree_le_degree_of_zero
Proof
Lemma 93 MonomialOrder.IsRemainder.of_subsingleton
Proof
Lemma 94 isRemainder_killCompl_of_isRemainder_rename
Proof
Lemma 95 isRemainder_rename_of_isRemainder
Proof
Lemma 96 isRemainder_iff_isRemainder_rename
Proof
Theorem 97 exists_isRemainder
Proof
Theorem 98 exists_isRemainder₀

A variant of div_set including 0

Proof
Lemma 99 mem_ideal_iff
Proof
Lemma 100 sub_mem_ideal_of_isRemainder_of_subset_ideal
Proof
Lemma 101 sub_monomial_notMem_span_leadingTerm
Proof
Theorem 102 exists_isRemainder’

A variant of div_set in field

Proof
Theorem 103 isRemainder_iff_degree’
Proof
Lemma 104 subset
#
Proof
Lemma 105 span_leadingTerm_image
Proof
Lemma 106 isGroebnerBasis_iff
Proof
Lemma 107 of_subset
Proof
Lemma 108 isGroebnerBasis_self
Proof
Lemma 109 isGroebnerBasis_sdiff_singleton_zero
Proof
Lemma 110 isGroebnerBasis_insert_zero
Proof
Theorem 111 exists_isGroebnerBasis_finite

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

Proof
Lemma 112 singleton_zero_bot
Proof
Lemma 113 empty_bot
Proof
Lemma 114 singleton_zero_iff
Proof
Lemma 115 empty_iff
Proof
Lemma 116 MonomialOrder.IsGroebnerBasis.of_subsingleton
Proof
Theorem 117 isGroebnerBasis_iff_subset_and_degree_le_eq_and_degree_le
Proof
Lemma 118 isGroebnerBasis_iff_subset_and_degree_le_eq_and_degree_le₀
Proof
Lemma 119 span_leadingTerm_eq_span_monomial
Proof
Theorem 120 span_leadingTerm_eq_span_monomial₀
Proof
Lemma 121 isGroebnerBasis_of_forall_finite_isGroebnerBasis₀
Proof
Theorem 122 isGroebnerBasis_union_of_forall_finite_isGroebnerBasis₀
Proof
Lemma 123 isGroebnerBasis_of_forall_finite_isGroebnerBasis
Proof
Theorem 124 isGroebnerBasis_union_of_forall_finite_isGroebnerBasis
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 126 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 127 isRemainder_zero_iff_mem_ideal₀
Proof

Gröbner basis of any ideal spans the ideal.

Proof
Theorem 129 ideal_eq_span₀
Proof
Theorem 130 isGroebnerBasis_iff_ideal_eq_span_and_isGroebnerBasis_span
Proof
Theorem 131 isGroebnerBasis_iff_ideal_eq_span_and_isGroebnerBasis_span₀
Proof
Theorem 132 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 133 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 135 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

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 137 isGroebnerBasis_iff_isRemainder_sPolynomial_zero₀
Proof
Theorem 138 isGroebnerBasis_iff_forall_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
Lemma 139 isGroebnerBasis_iff_isGroebnerBasis_rename
Proof
Lemma 140 isGroebnerBasis_iff_isGroebnerBasis_rename₀
Proof
Theorem 141 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
Lemma 142 isRemainder_zero_iff_mem_ideal’
Proof
Theorem 143 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 144 isGroebnerBasis_iff_ideal_eq_span_and_isGroebnerBasis_span’
Proof
Theorem 145 isGroebnerBasis_iff_subset_and_degree_le_eq_and_degree_le’
Proof
Lemma 146 isGroebnerBasis_iff_isGroebnerBasis_rename’
Proof
Lemma 147 exists_isGroebnerBasis_finite_of_exists_span_finite
Proof
Lemma 148 isGroebnerBasis_of_forall_finite_isGroebnerBasis’
Proof
Theorem 149 isGroebnerBasis_union_of_forall_finite_isGroebnerBasis’
Proof
Lemma 150 isGroebnerBasis_iff_minimal
Proof
Theorem 151 MonomialOrder.IsGroebnerBasis.IsReduced.congr_simp
Proof
Theorem 152 MonomialOrder.IsGroebnerBasis.IsMinimal.congr_simp
Proof
Lemma 153 isGroebnerBasis_minimal
Proof
Lemma 154 isGroebnerBasis_monomial
Proof
Lemma 155 isGroebnerBasis_monomial_minimal
Proof
Lemma 156 smul
#
Proof
Lemma 157 smul_iff
Proof
Lemma 158 inv
Proof
Lemma 159 span_image_leadingTerm
Proof
Lemma 160 self_iff
Proof
Lemma 161 self_tfae
Proof
Lemma 162 self
Proof
Proof
Proof
Lemma 165 MonomialOrder.IsGroebnerBasis.IsReduced.of_subsingleton
Proof
Lemma 166 MonomialOrder.IsGroebnerBasis.IsMinimal.of_subsingleton
Proof
Lemma 167 isReduced_monomial
Proof
Lemma 168 image_leadingTerm_eq_image_monomial_one
Proof
Proof
Lemma 170 isGroebnerBasis_of_isMinimal_leadingTerm
Proof
Lemma 171 injOn_degree
Proof
Lemma 172 minimal_degree
Proof
Lemma 173 isMinimal_iff_monic_and_minimal_degree_and_injOn_leadingTerm
Proof
Lemma 174 degree_image_eq_setOf_minimal
Proof
Proof
Lemma 176 isMinimal_of_isMinimal_leadingTerm
Proof
Lemma 177 leadingCoeff_add_of_lt_right
Proof
Proof
Lemma 179 degree_le_mul_left
Proof
Proof
Proof
Proof
Proof
Proof
Proof
Lemma 186 exists_of_isGroebnerBasis₀
Proof
Lemma 187 exists_of_isGroebnerBasis’
Proof
Theorem 188 uniqueExists_of_isGroebnerBasis
Proof
Theorem 189 uniqueExists_of_isGroebnerBasis₀
Proof
Theorem 190 uniqueExists
Proof
Proof
Lemma 192 isReduced_minimalFor
Proof
Theorem 193 isReduced_iff_minimalFor
Proof
Lemma 194 union_mem_of_mem
#
Proof
Lemma 195 biUnion_mem_of_mem
#
Proof
Lemma 196 sUnion_mem_of_mem
#
Proof
Lemma 197 iUnion_mem_of_mem
#
Proof
Theorem 198 subset_limsup
Proof
Proof
Theorem 200 isReduced_liminf_nat
Proof