Notation classes for lattice operations #
In this file we introduce typeclasses and definitions for lattice operations.
Main definitions #
Sup: type class for the⊔notationInf: type class for the⊓notationHasCompl: type class for theᶜnotationTop: type class for the⊤notationBot: type class for the⊥notation
Notations #
x ⊔ y: lattice join operation;x ⊓ y: lattice meet operation;xᶜ: complement in a lattice;
Syntax typeclass for Heyting negation ¬.
The difference between HasCompl and HNot is that the former belongs to Heyting algebras,
while the latter belongs to co-Heyting algebras. They are both pseudo-complements, but compl
underestimates while HNot overestimates. In boolean algebras, they are equal.
See hnot_eq_compl.
- hnot : α → α
Heyting negation
¬