Module type Interface.HEYTING_ALGEBRA

include ORD
include EQ
type t
val eq : t -> t -> bool
val compare : t -> t -> ordering
include BOUNDED_DISTRIBUTIVE_LATTICE with type t := t
include BOUNDED_LATTICE
include BOUNDED_JOIN_SEMILATTICE
include JOIN_SEMILATTICE
type t
val join : t -> t -> t
val bottom : t
include BOUNDED_MEET_SEMILATTICE with type t := t
include MEET_SEMILATTICE
type t
val meet : t -> t -> t
val top : t
val not : t -> t
val implies : t -> t -> t