Commit graph

20 commits

Author SHA1 Message Date
Guillaume Bury
f88a5dd514 [bugfix/minor] Ensure generativity of solver_types
This ensures that the same solver_types module is not reused
for two different solvers, which would be problematic.
Marked minor because of the low use of multiple instances of a solver.
2016-04-15 13:30:46 +02:00
Guillaume Bury
dcde8de10d [bugfix/medium] Fixed printing of the new reasons 2016-04-15 13:30:20 +02:00
Guillaume Bury
815098dde4 Propagation reasons are now far more explicit 2016-04-15 12:09:23 +02:00
Guillaume Bury
9a5c23d9c5 [bugfix] termination check after full slice was wrong
When the solver finds a SAT result, it sends the whole
model to the theory, because maybe it can do something
interesting/costly to expand the proof search. After
that there must be a check to see if the theory has effectively done
something, in which case we should resume proof search, or if nothing
has been done, in which case the solver should return that the problem
is satisfiable. That check was incorrect before (checking number of
assumptions, and if the queue is all caught up), because new learnt
clauses (i.e tautologies, which are *not* assumptions) can be added that
do not immediately causes propagation, so that the number of assumptions
and the element queue is constant, but we should still resume the
search.
2016-03-04 16:30:51 +01:00
Guillaume Bury
0883615b99 Replaced Either.destruct by explicit matching 2016-03-04 15:50:13 +01:00
Guillaume Bury
ea518c6ab3 Update for compatibility with ocaml 4.00.1 2016-02-29 13:43:46 +01:00
Guillaume Bury
ea1a360148 Merge branch 'master' of github.com:Gbury/mSAT 2016-01-21 03:52:53 +01:00
Guillaume Bury
9a481f6450 Better proofs
Proof graphs are now entirely stored in
the cpremise field of clauses
2016-01-21 03:34:18 +01:00
Simon Cruanes
756363ffd6 everwhere, use new Log interface and remove the functor on Log_intf 2016-01-20 21:05:22 +01:00
Guillaume Bury
f9f88e0767 Removed special solver types module for pure SAT
This specialisation was there to have better performances,
but it doesn't seem to have any impact anymore.
2015-11-27 15:23:04 +01:00
Guillaume Bury
ac5e8a9766 First test (probably unsound) 2015-10-19 22:04:15 +02:00
Guillaume Bury
bbbd407631 Res now includes solver type 2015-10-02 13:30:32 +02:00
Guillaume Bury
aed3aeb17c A bit of restructuring to have cleaner dependencies between fonctors 2015-07-21 19:20:40 +02:00
Guillaume Bury
9c1ca06aea Dot output is now available through independent backend 2015-07-09 19:03:44 +02:00
Guillaume Bury
393d521478 Version 1.1 release 2015-06-26 14:51:23 +02:00
Guillaume Bury
e7140d6897 Added some abstraction to allow for more direct types int the pure SAT
solver
2015-06-26 14:12:47 +02:00
Guillaume Bury
ce05d8fe62 Simpler representation of solver types 2015-06-26 12:58:00 +02:00
Guillaume Bury
6f384fb80b Big refactoring of code. Some performances were lost on pure SAT Solving. 2015-06-25 15:37:29 +02:00
Guillaume Bury
3203dadb8d Replaced clause number by tag in solver.assume 2015-02-06 15:46:56 +01:00
Guillaume Bury
8e8a592475 Some reorganization of files/folders 2014-12-11 17:02:27 +01:00
Renamed from sat/solver_types.ml (Browse further)