- add
on_conflit
callback - fix termination issue when using
push_decision_lit
from plugin
- feat: allow the theory to ask for some literals to be decided on
- feat: allow to set the default polarity of variables at creation time
- support containers 3.0
- fix opam file
- fix: allow conflicts below decision level in
Make_cdcl_t
- fixes in
Heap
- package for
msat-bin
- use
iter
instead ofsequence
in dune and opam files - more docs
big refactoring, change of API with fewer functions, etc.
see git log
for more details.
- add simple functor for DOT backend
- various bugfixes
- An already instantiated sat solver in the Sat module
- A
full_slice
function for running possibly expensive satisfiability tests (in SMT) when a propositional model has been found - Forgetful propagations: propagations whose reason (i.e clause) is not watched
- Removed some needless allocations
- Better interface for mcsat propagations
- Allow level 0 semantic propagations
- Grow heap when adding local hyps
- Avoid forgetting some one atom clauses
- Fixed a bug for propagations at level 0
- Late propagations need to be re-propagated
- Fixed conflict at level 0
- Avoid forgetting some theory conflict clauses
- Changed
if_sat
interface
- fix bug in
add_clause
- performance improvements
- many bugfixes
- more tests
- remove push/pop (source of many bugs)
- replaced by solve : assumptions:lit list -> unit -> result
- Accept late conflict clauses
- cleaner API, moving some types outside the client-required interface
- Proofs for atoms at level 0
- Compatibility with ocaml >= 4.00
- Released some restrictions on dummy sat theories
- Log argument has been removed from functors
- All the functors now take a dummy last argument to ensure the solver modules are unique
- push/pop operations
- access to decision level when evaluating literals