Zulip Chat Archive

Stream: mathlib4

Topic: LowerAdjoint


Wrenna Robson (Jul 11 2025 at 15:21):

Why does docs#LowerAdjoint exist in its current form? I'm not saying it shouldn't - it's just I can imagine a world where we have docs#GaloisConnection as a bundled structure, and obviously we have it unbundled, but LowerAdjoint is a semibundled version and this feels to me like a weird design pattern.

Yaël Dillies (Jul 11 2025 at 15:23):

I personally think we could get rid of it. It was an experiment of mine that went nowhere

Wrenna Robson (Jul 11 2025 at 15:25):

I don't know if we use ClosureOperator much but that does clearly have some purpose.

Wrenna Robson (Jul 11 2025 at 15:25):

Why is GaloisConnection unbundled, ooi?

Wrenna Robson (Jul 11 2025 at 15:27):

Also, I'd be happy to help prepare a PR to get rid of LowerAdjoint - in such a case where a definition is being removed wholesale, how do we add a deprecation notice?

Yaël Dillies (Jul 11 2025 at 15:27):

See #general > Closure operators @ 💬

Aaron Liu (Jul 11 2025 at 15:32):

Wrenna Robson said:

Why is GaloisConnection unbundled, ooi?

So you can do stuff like docs#Set.image_preimage without having to bundle them

Wrenna Robson (Jul 11 2025 at 15:36):

Oh, makes sense.

Wrenna Robson (Jul 11 2025 at 15:36):

I might expect it to be called IsGaloisConnection but that does make sense.

Aaron Liu (Jul 11 2025 at 15:37):

We have both docs#Set.image_preimage and docs#Set.preimage_kernImage so it's difficut to have both if it's bundled

Wrenna Robson (Jul 11 2025 at 15:39):

Yaël Dillies said:

See #general > Closure operators @ 💬

Interesting discussion. Do we define closure operators for, say, topological closure and the like, in the end?


Last updated: Dec 20 2025 at 21:32 UTC