Module LBoolean <: SEMILATTICE_WITH_TOP.
Definition t := bool.
Definition eq (x y: t) := (x = y).
Definition eq_refl: forall x, eq x x := (@eq_refl t).
Definition eq_sym: forall x y, eq x y -> eq y x := (@eq_sym t).
Definition eq_trans: forall x y z, eq x y -> eq y z -> eq x z := (@eq_trans t).
Definition beq : t -> t -> bool := eqb.
Proof eqb_prop.
Definition ge (x y: t) : Prop := x = y \/ x = true.

Lemma eq_trans: forall x y z, eq x y -> eq y z -> eq x z.