Commit graph

24 commits

Author SHA1 Message Date
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
Guillaume Bury
2613926ab1 First changes for better persistent proofs
This commit ensures that clauses now contain
all necessary information to construct the proof
graph (without relying on propagation reasons).
2016-01-21 00:06:41 +01:00
Guillaume Bury
a21807c624 Fix for semantic conflict and decision levels
When faced with a semantic conflict, a new decision
must be made to solve the conflict, however, because
we just backtracked, it is not ensured that the solver
is in a correct state to add a new level, so the decision
is now delayed until propagation has been done.
2015-12-11 16:26:51 +01:00
Guillaume Bury
df1f28ccb1 Fix for when the solver becomes unsat during if_sat 2015-12-11 09:08:10 +01:00
Guillaume Bury
1d1ba51329 Fixed some bugs related to push/pop and propagation 2015-12-08 15:58:49 +01:00
Guillaume Bury
3168d4ae2b Fixed bug in if_sat
The trick using a bool ref to see if a new clause has been pushed
did not detect cases where new clauses were added using assume.
2015-12-08 13:11:05 +01:00
Simon Cruanes
19e7179334 wip: remove Log in critical path (improves perf) 2015-11-27 14:59:33 +01:00
Guillaume Bury
3f6de07440 Merge branch 'master' into push_pop 2015-11-27 14:53:41 +01:00
Simon Cruanes
99b1f25e4f style 2015-11-25 10:28:21 +01:00
Simon Cruanes
15e5a4224d ocp-indent all the files, for the greater good! 2015-11-25 10:04:01 +01:00
Guillaume Bury
a32d443b96 Cleaned unused vec 2015-11-24 16:09:59 +01:00
Guillaume Bury
3fd91d9751 Fixed push in case of unsat env
Renamed some field names of env in solver/internal
2015-11-24 14:33:02 +01:00
Guillaume Bury
5911f18cb4 Res module adapted to accomodate puush/pop 2015-11-19 14:59:54 +01:00
Guillaume Bury
28f32de24c Removed assertion
Long explanation: when backtracking to level 0,
while already being at level 0, very strange
things might happen, most notably there might still
be facts left to propagate...
2015-11-18 17:43:26 +01:00
Guillaume Bury
6567d32900 Fixed bad decision level updating during pop 2015-11-18 17:37:36 +01:00
Guillaume Bury
763d23146f A *lot* of fixes for push/pop 2015-11-17 16:17:14 +01:00
Guillaume Bury
e2cac78d39 Fixed typos in clause simplification 2015-10-20 16:48:43 +02:00
Guillaume Bury
ac5e8a9766 First test (probably unsound) 2015-10-19 22:04:15 +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
4b51f22464 Changed internal representation of proofs 2015-07-09 16:29:57 +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