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