package msat
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=ba623630b0b8e0edc016079dd214c80b
sha512=51c133cefe8550125e7b1db18549e893bac15663fdd7a9fac87235c07de755f39eab9fc3cfdf6571612fd79b3d5b22f49f459581b480c7349bacddf2618c8a99
doc/msat.sat/Msat_sat/Int_lit/index.html
Module Msat_sat.Int_lit
The module defining formulas
SAT Formulas
This modules implements formuals adequate for use in a pure SAT Solver. Atomic formuals are represented using integers, that should allow near optimal efficiency (both in terms of space and time).
This modules implements the requirements for implementing an SAT Solver.
include Msat.Solver_intf.FORMULA
val hash : t -> intHashing 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.printerPrinting function used among other thing for debugging.
val norm : t -> t * Msat.Solver_intf.negatedReturns a 'normalized' form of the formula, possibly negated (in which case return Negated). norm must be so that a and neg a normalise to the same formula, but one returns Negated and the other Same_sign.
val make : int -> tMake a proposition from an integer.
val to_int : t -> intval fresh : unit -> tMake a fresh atom
val sign : t -> boolIs the given atom positive ?
apply_sign b is the identity if b is true, and the negation function if b is false.