| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Circuit.Logics.Heyting
Description
Heyting algebras: bounded lattices with implication.
A Heyting algebra need not be Boolean: excluded middle may fail.
Classical Bool is Heyting (via material implication); H3 and
Goedel are the standard non-Boolean examples in this package.
Synopsis
- class BoundedLattice a => Heyting a where
- (==>) :: a -> a -> a
Documentation
class BoundedLattice a => Heyting a where Source #
Bounded lattice with relative pseudo-complement (==>).
Characteristic properties (see Circuit.Logics.Laws):
a ==> a == top a /\ (a ==> b) == a /\ b b /\ (a ==> b) == b a ==> (b /\ c) == (a ==> b) /\ (a ==> c)