Zulip Chat Archive
Stream: mathlib4
Topic: inf_eq_mul_of_coprime
Kevin Buzzard (May 28 2024 at 12:11):
Let I and J be ideals of a commutative (semi)ring R.
docs#Ideal.mul_eq_inf_of_coprime says I * J = I ⊓ J
if I ⊔ J = ⊤
. On the other hand, docs#Ideal.inf_eq_mul_of_coprime says I ⊓ J = I * J
if IsCoprime I J
and furthermore if R is a Dedekind domain :-)
docs#IsCoprime.sup_eq says that I ⊔ J = ⊤
if IsCoprime I J
so we have all the ingredients to remove the Dedekind domain assumption from inf_eq_mul_of_coprime
:
import Mathlib.RingTheory.DedekindDomain.Ideal
#check Ideal.inf_eq_mul_of_coprime -- a theorem about Dedekind domains
lemma Ideal.inf_eq_mul_of_coprime' (R : Type*) [CommSemiring R] {I J : Ideal R}
(coprime : IsCoprime I J) : I ⊓ J = I * J := by
symm
apply Ideal.mul_eq_inf_of_coprime
exact IsCoprime.sup_eq coprime
Here are some questions about the fix. Should mul_eq_inf_of_coprime
be renamed mul_eq_inf_of_sup_eq_top
? It's never used in mathlib anyway, so should I just change its statement to use IsCoprime
, or maybe add mul_eq_inf_of_isCoprime
? And which do we want -- mul_eq_inf
or inf_eq_mul
? Or both?
Neither lemma is used much at all BTW. The only place inf_eq_mul_of_coprime
is used (ironically with .symm
!) is in docs#Ideal.quotientMulEquivQuotientProd , an explicit form of CRT for Dedekind domains, which is the same as docs#quotientInfEquivQuotientProd modulo the replacement of I ⊓ J
by I * J
and the superfluous Dedekind domain assumption, so probably this should also be dealt with somehow.
Riccardo Brasca (May 28 2024 at 12:24):
The name of Ideal.mul_eq_inf_of_coprime should be changed in my opinion (maybe it is like that because of some historical reason?).
Antoine Chambert-Loir (May 28 2024 at 13:04):
I don't like coprime (and find its name misleading here), but inf_eq_top is heavy. Some French people say comaximal, which is better. Maybe coTop, or cocoatom.
Ruben Van de Velde (May 28 2024 at 13:21):
theorem Ideal.isCoprime_iff_sup_eq {R : Type u} [CommSemiring R] {I : Ideal R} {J : Ideal R} :
IsCoprime I J ↔ I ⊔ J = ⊤
Didn't we decide at some point that IsCoprime
is the preferred spelling?
Last updated: May 02 2025 at 03:31 UTC