- 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