Module Lattices.Quadrivalent
The quadrivalent lattice for booleans, with four elements: Bottom, True, False, and Top.
Standard abstraction for booleans; powerset of {true;false}
In a fixpoint iteration of a function \mathcal{F}, previous is the previous element of the fixpoint iteration sequence. The other element is the newly computed (tentative) element, i.e. \mathcal{F}(previous). If the new element is included in previous, true is returned, together with new (the smaller element): the post-fixpoint of \mathcal{F} has been found (further calls to \mathcal{F} can decrease the sequence). Else, the returned element should be used as the next element of the fixpoint iteration sequence; the operator guarantees its convergence. For lattices of finite height, the widening part can just perform an over-approximation of the join; however note that it is not required that the sequence is monotonic.
includes a b holds if b \sqsubseteq a, i.e., b is at least as precise as a.
Widening operator used in fixpoint iteration to enforce convergence.
val top : unit -> tval singleton : bool -> tval to_quadrivalent : t -> Lattices__.Boolean_standard.Quadrivalent.tval boolean_bottom : booleanval of_bools : may_be_false:bool -> may_be_true:bool -> boolean