module Three: sig end
Three-valued datatype.
Author(s): Harald Ruess
type t =
There is an implicit partial ordering with Yes < X
and No < X
.
val is_sub : t -> t -> bool
is_sub u v
holds if either u = v
or u < v
.
val inter : t -> t -> t option
inter u v
evaluates to Some(w)
if both is_sub w u
and is_sub w v
; otherwise None
is returned.
val union : t -> t -> t
union u v
evaluates to w
if both is_sub u w
and is_sub v w
holds.
val is_disjoint : t -> t -> bool
is_disjoint u v
holds iff the inter u v
is None
.
val pp : Format.formatter -> t -> unit
Pretty-printing
Parameters: |
fmt |
: |
Format.formatter
|
three |
: |
t
|
|