Zulip Chat Archive

Stream: mathlib4

Topic: complement in CompleteLattice


Pieter Cuijpers (Feb 15 2024 at 20:56):

Bit of a beginner question, perhaps.

For a complete lattice, it makes sense to me to define a complement as

instance [CompleteLattice α] : HasCompl α := {compl := λ x => supₛ { z | x  z   }}

I thought this would actually already have been formalized in Mathlib, but can't find it.

  • Am I overlooking an existing definition somewhere here?
  • Should I consider Heyting algebra's instead? I know they do have a complement.
  • The "HasCompl" class does not require me to prove that the operator actually is a complement. Why is that?

Kevin Buzzard (Feb 15 2024 at 20:59):

The last one I can answer: HasCompl is simply a "notation typeclass", that is, it's just a way of registering the notation on a type. It doesn't have any mathematical content.

Yaël Dillies (Feb 15 2024 at 21:15):

The answer is that this is currently a gap in mathlib which will be closed up by #10560

Pieter Cuijpers (Feb 16 2024 at 13:45):

Thanks, that clears it up quite a bit for me :-)


Last updated: May 02 2025 at 03:31 UTC