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
¬