module Literal:Literals are unique identifiers.Id.T
The compare operation on literals has the property that no literal
is considered between a literal and the negation of that literal.
That is, if you sort a list of literals then literals and their
negations (if present) will be adjacent.
type
t
val invalid : t
val is_valid : t -> bool
val equal : t -> t -> bool
equal x y = (x = y)
val hash : t -> int
val compare : t -> t -> int
compare x y
is an arbitrary order for x
and y
Id.T.is_valid
x
Id.T.is_valid
y
(compare x y = 0) = (x = y)