Commit graph

67 commits

Author SHA1 Message Date
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
6ea66dcffe v0.2 release
Updated opam file to disbale log building.
2016-02-29 11:15:05 +01:00
Guillaume Bury
a2809215ae Update the binary for better output when checking proofs 2016-02-04 23:51:53 +01:00
Guillaume Bury
cb8092af3b Cleaned makefile a bit + moved the testing binary 2016-01-30 17:02:24 +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
Simon Cruanes
2fe5be8317 update Log interface, with real/dummy implementation
- `make disable_log` to use the dummy
- `make enable_log` to use the real one (slower)
2016-01-20 21:04:44 +01:00
Simon Cruanes
6e5d737b42 get rid of dependency on unix 2016-01-20 20:13:32 +01:00
Guillaume Bury
3f6de07440 Merge branch 'master' into push_pop 2015-11-27 14:53:41 +01:00
Simon Cruanes
15e5a4224d ocp-indent all the files, for the greater good! 2015-11-25 10:04:01 +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
763d23146f A *lot* of fixes for push/pop 2015-11-17 16:17:14 +01:00
Guillaume Bury
bbbd407631 Res now includes solver type 2015-10-02 13:30:32 +02:00
Guillaume Bury
434697ea47 Better dot backend 2015-07-28 23:23:05 +02:00
Guillaume Bury
8ee66bf88f Merge branch 'master' of github.com:Gbury/mSAT 2015-03-19 12:36:19 +01:00
Guillaume Bury
e0ac6b31fd Fix for vector resizing in 'set' 2015-03-18 15:13:18 +01:00
Guillaume Bury
e059441347 Fixed potential bug in vec.set
Removed some excessive logging messages
2015-03-17 14:20:11 +01:00
Guillaume Bury
6206ad6378 Added some asserts in vectors/sparse vectors 2015-03-16 16:23:30 +01:00
Guillaume Bury
e748333693 Assert for growing vectors 2015-03-16 16:16:44 +01:00
Guillaume Bury
714e0988e3 [bugfix] some late unsat conflicts were not handled correctly 2015-02-09 17:25:58 +01:00
Guillaume Bury
4e34bbdf59 Added some headers, and an interface for Expr 2014-12-18 16:04:17 +01:00
Guillaume Bury
aacae0883b Bundled both smt and mcsat in sat_solve; updated the tests in Makefile 2014-12-16 21:32:18 +01:00
Guillaume Bury
ca70f87973 Mcsat now works 2014-12-16 17:30:14 +01:00
Guillaume Bury
aee73abd47 Progressing. Conflict clause computing is broken 2014-12-15 17:09:01 +01:00
Guillaume Bury
be4ce92d08 Fix in filenames during bench log parsing 2014-11-20 21:41:16 +01:00
Guillaume Bury
1eb8cc62a0 TODO Update 2014-11-18 17:26:02 +01:00
Guillaume Bury
8e0dfc539c Check now also whecks model if sat.
Time/Memory limits now only applies to proof search (and not to model checking of proof building anymore).
2014-11-18 16:16:02 +01:00
Guillaume Bury
4ee3566aa0 Catched exception unkown_status in parselog 2014-11-17 17:20:20 +01:00
Guillaume Bury
5bcb8ae99f Added a few features in bench_stats 2014-11-17 17:07:40 +01:00
Guillaume Bury
b992794a77 Added diff computing in bench_stats 2014-11-17 15:48:41 +01:00
Guillaume Bury
ee86da6329 Added minimal utility for getting bench stats 2014-11-17 13:55:32 +01:00
Guillaume Bury
d0ca516eb0 Fix for iteration on variables 2014-11-16 21:23:54 +01:00
Guillaume Bury
c6dd201014 Fixed bug in smtlib translation 2014-11-15 19:42:09 +01:00
Guillaume Bury
384bcb7270 Better explanations in equivalence closure 2014-11-15 18:39:19 +01:00
Guillaume Bury
e92740e75e Better integration of smt into sat-solve (sic) 2014-11-15 00:59:09 +01:00
Guillaume Bury
566c30bdcc Added Smt module 2014-11-14 17:40:29 +01:00
Guillaume Bury
c963145b8f Replaced True and false as pure formulas in tseitin 2014-11-12 23:38:05 +01:00
Guillaume Bury
2b2631b1c3 Removed a few warnings 2014-11-12 16:27:52 +01:00
Guillaume Bury
b50246d55d Some more doc + indentation 2014-11-11 13:54:24 +01:00
Guillaume Bury
6338f682df Added unsat-core option in sat_solve
Cleaned up a bit soler_types and added some doc
2014-11-11 12:25:16 +01:00
Guillaume Bury
ccfbe72bdf Safer code for input format auto-detection 2014-11-11 10:45:01 +01:00
Guillaume Bury
562fcc1930 Added auto-detection of input format 2014-11-10 19:59:40 +01:00
Guillaume Bury
b109924bc1 New option to print cnf after conversion. 2014-11-10 00:24:41 +01:00
Guillaume Bury
4c040ccbde Added smtlib input option 2014-11-09 23:39:54 +01:00
Guillaume Bury
d6cfd27f32 Fixed a bug in proof dot printer (+ indent) 2014-11-07 17:46:32 +01:00
Guillaume Bury
cac9df4510 Parametric input/output in sat_solve 2014-11-07 16:05:38 +01:00
Guillaume Bury
fd4a618c2a Better dot output for unsat proofs 2014-11-06 21:05:45 +01:00
Guillaume Bury
62835b35d0 Indentation + some debug output in res.ml 2014-11-06 18:56:39 +01:00
Guillaume Bury
a13029f96c Added proof building and output for pure sat. 2014-11-06 18:25:55 +01:00
Simon Cruanes
f9d4b9a00e new Sparse_vec structure, used for vectors with "holes" 2014-11-05 17:41:34 +01:00
Guillaume Bury
3422634923 Replaced List.map with List.rev_map
Added Vec.set_unsafe and fixed a few bugs
2014-11-05 15:57:48 +01:00