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 distrib1 : forall x y z, glb x (lub y z) = lub (glb x y) (glb x z).