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