Module Msat_sat.Int_lit
The module defining formulas
This modules implements the requirements for implementing an SAT Solver.
include Msat.Solver_intf.FORMULA
val hash : t -> int
Hashing function for formulas. Should be such that two formulas equal according to
Expr_intf
.S.equal have the same hash.
val pp : t Msat.Solver_intf.printer
Printing function used among other thing for debugging.
val norm : t -> t * Msat.Solver_intf.negated
Returns a 'normalized' form of the formula, possibly negated (in which case return
Negated
).norm
must be so thata
andneg a
normalise to the same formula, but one returnsNegated
and the otherSame_sign
.
val make : int -> t
Make a proposition from an integer.
val sign : t -> bool
Is the given atom positive ?