Zulip Chat Archive

Stream: mathlib4

Topic: unions / sups of lattice ideals


Sam van G (May 11 2024 at 19:04):

The following came up in @Antoine Chambert-Loir's review of my PR #12705 and I wonder what other more experienced Mathlib users think. Currently, the operation sSup on the type Ideal P, where P is a sup-semilattice with bottom, is defined via the CompleteLattice instance, inferred from the fact that any intersection of ideals is an ideal. However, in practice (e.g. around here), one often wants to know that the sSup of a set of ideals is actually equal to a union. The mathematical reason for this is that the union of a directed set of ideals is again an ideal (in Mathlib here).
Is the correct solution to this to add a (simp?) rewrite lemma somewhere that lets one rewrite sSup into sUnion, provided that the collection of ideals is directed?

Ruben Van de Velde (May 11 2024 at 20:15):

Yeah, I guess it makes sense to add the lemma. Not sure about simp

Yaël Dillies (May 11 2024 at 20:23):

Agreed, shouldn't be simp

Eric Wieser (May 11 2024 at 20:40):

I think docs#Submodule.coe_iSup_of_directed is the lemma?

Yaël Dillies (May 11 2024 at 20:45):

It is simp :fear:

Antoine Chambert-Loir (May 12 2024 at 05:53):

In fact, that's for ideals of rings, while Sam wants the analogous result for ideals of lattices. The proof is essentially the same, though, relying on the fact that being an ideal is a property of finite character. It would be the same if one had a refined coercion class. (By the way, couldn't the coercion class provide automatic lemmas of the form IsIdeal, etc.?)

Sam van G (May 13 2024 at 11:55):

Thanks. I'll have a look if I can reproduce docs#Submodule.coe_iSup_of_directed in the lattice context.

Eric Wieser (May 13 2024 at 12:57):

Oh, you mean docs#Order.Ideal not docs#Ideal !

Sam van G (May 13 2024 at 13:09):

Yes, sorry, it's in the topic title but not explicit in the text


Last updated: May 02 2025 at 03:31 UTC