Module Type BOOLEAN_ALGEBRA.
Parameters (t:Type) (Ord : t -> t -> Prop)
(top bot : t) (lub glb : t -> t -> t) (comp : t -> t).
Declare Scope ba.
Delimit Scope ba with ba. Open Scope ba.
Notation "x <= y" := (Ord x y) (at level 70, no associativity) : ba.

Axiom comp1 : forall x, lub x (comp x) = top.
Axiom comp2 : forall x, glb x (comp x) = bot.