Commit graph

383 commits

Author SHA1 Message Date
Simon Cruanes
09b13be78d reflect test_api result in its errcode 2016-07-27 23:24:01 +02:00
Simon Cruanes
98d5074da6 updates to tests 2016-07-27 19:09:11 +02:00
Simon Cruanes
3e54fac7f9 add some tests for the API 2016-07-27 18:54:56 +02:00
Simon Cruanes
73c2500b05 allow propagation of lits under base_level 2016-07-27 18:16:26 +02:00
Simon Cruanes
3e9c0d3a1e forgot to pop before assume 2016-07-27 17:58:15 +02:00
Simon Cruanes
563e9027e1 first draft of replacing push/pop by assumptions 2016-07-27 17:50:03 +02:00
Guillaume Bury
09166d0370 Removed Stack.fold for compat with ocaml < 4.03 2016-07-26 15:35:22 +02:00
Guillaume Bury
3c6da0ffdc Clause buffer must be fitered when popping
Indeed imagine the following case:
"push; assume [c]; pop; push; solve"
since c has user-level 1, in the current state, it would
have been wrongfully added to the solver state when solve
is run.
2016-07-26 14:34:42 +02:00
Guillaume Bury
defcb67aad Use a buffer for adding clauses (to avoid exceptions) 2016-07-26 14:22:32 +02:00
Simon Cruanes
c45fe97ebd micro optim on Vec 2016-07-25 13:44:22 +02:00
Guillaume Bury
6757910225 [travis] Ubuntu doesn't have 'time' by default... 2016-07-23 14:47:52 +02:00
Guillaume Bury
e266134efc Try a different source for opam package in travis 2016-07-23 14:39:33 +02:00
Guillaume Bury
e2530a25b7 Forgot to remove the sudo:required 2016-07-23 14:36:19 +02:00
Guillaume Bury
b5f8c7ddf9 Use travis apt addon to install opam 2016-07-23 14:35:23 +02:00
Guillaume Bury
202249d75e Remove travis-ci script. 2016-07-23 14:23:34 +02:00
Guillaume Bury
a0b810f520 Add travis build status to README 2016-07-23 14:07:40 +02:00
Guillaume Bury
0a4b812924 Moved more commands in before_install for travis 2016-07-23 13:58:45 +02:00
Guillaume Bury
13effa8969 Cleaner way to install opam in travis CI 2016-07-23 13:50:13 +02:00
Guillaume Bury
fda7b9ef3a Missing env var in travis-ci script 2016-07-23 13:32:06 +02:00
Guillaume Bury
33735b5e50 Missing sudo requirement in travis.yml 2016-07-23 13:29:25 +02:00
Guillaume Bury
f957eb4e0c Added ocaml 4.03.0 to travis CI 2016-07-23 13:26:44 +02:00
Guillaume Bury
ec4fd911a9 Fixed typo in travis.yml 2016-07-23 13:25:50 +02:00
Guillaume Bury
54ba6bc745 Added travis CI 2016-07-23 13:24:17 +02:00
Guillaume Bury
3e30a77569 Some more comments 2016-07-22 17:28:12 +02:00
Simon Cruanes
c4beb7054b spurious assertion 2016-07-22 16:51:45 +02:00
Simon Cruanes
895cb9cbfb some additional comments and cleanup 2016-07-22 16:40:22 +02:00
Simon Cruanes
891f764ee8 some more cleanup 2016-07-22 16:31:00 +02:00
Simon Cruanes
c3cfe67696 cleanup boolean propagation 2016-07-22 16:00:02 +02:00
Simon Cruanes
c1915ba2d3 wip: cleanup and documentation of internal.ml 2016-07-22 15:42:17 +02:00
Simon Cruanes
8b1d657695 remove Either 2016-07-22 13:19:16 +02:00
Simon Cruanes
51f10d7ad5 update some files 2016-07-22 11:31:17 +02:00
Simon Cruanes
e251799f8e add some array utils for pre-4.03 compat 2016-07-22 11:25:00 +02:00
Guillaume Bury
216ca82fe7 Ensure pushed clauses are added after if_sat slice 2016-07-20 11:45:13 +02:00
Guillaume Bury
d1ebc59856 Avoid unnecessary atoms array to list conversions 2016-07-18 18:49:28 +02:00
Guillaume Bury
38b4fde5c1 Clause atoms are now in an array instead of a vec 2016-07-18 18:42:15 +02:00
Guillaume Bury
933943c4e3 Merge branch '0.3.1' 2016-07-18 18:13:48 +02:00
Guillaume Bury
9dadb67fc9 [bugfix] Sort false atoms by levels in new clauses
When a new clauses is added and it is a conflict (i.e all atoms
are false), one must take care of which literals to watch.
In order to work, the watched literals must be those with the higher
decision levels, or else the watched literals might not react when
needed. This is fixed by sorting the literals in decreasing order of
decision level when adding a new clause which happens to be false in the
current trail.
2016-07-16 15:55:26 +02:00
Guillaume Bury
1acecc0815 Small printing upgrades 2016-07-13 18:14:23 +02:00
Guillaume Bury
2ff1279f26 Better perfs for unsat_core 2016-07-13 18:14:18 +02:00
Guillaume Bury
ef49d5eaaa Slightly better formatting for clause printing 2016-07-13 17:07:03 +02:00
Guillaume Bury
c159a60d9b Better premises for clauses 2016-07-13 16:48:14 +02:00
Guillaume Bury
245941efdb Remember more added clauses 2016-07-13 16:23:34 +02:00
Guillaume Bury
9be4c66911 [bugfix] Clause level now computed at creation
Apart from new assumptions, clause level can always
be computed from the histoy of the clause, so it is
better to do it in Solver_types when creating clauses.
Aditionally, it seems there was an error in the manual
computing of clause level somewhere, this fixes the bug.
2016-07-09 03:20:38 +02:00
Guillaume Bury
dcc410c8a0 Added stack to delay adding of pushed clauses 2016-07-09 03:20:38 +02:00
Guillaume Bury
510a8aaa34 [bugfix] Clause level now computed at creation
Apart from new assumptions, clause level can always
be computed from the histoy of the clause, so it is
better to do it in Solver_types when creating clauses.
Aditionally, it seems there was an error in the manual
computing of clause level somewhere, this fixes the bug.
2016-07-09 03:06:21 +02:00
Simon Cruanes
291a9d9a7f tags 2016-07-09 00:36:37 +02:00
Guillaume Bury
eba84fba42 Aliased def of negated in Expr_intf 2016-07-08 17:34:46 +02:00
Guillaume Bury
b56e4e3355 Added if_sat to Theory_intf 2016-07-08 16:15:05 +02:00
Guillaume Bury
eb2850caa6 Moved some type def outside Plugins/Theories 2016-07-08 14:29:45 +02:00
Guillaume Bury
46b621269c Merlin update 2016-07-08 14:29:36 +02:00