Commit graph

1273 commits

Author SHA1 Message Date
Simon Cruanes
a34c191ddc add optional size argument to create functions 2019-02-11 16:55:43 +01:00
Simon Cruanes
ef7333af6d make state explicit and add type t state-wrapper in most modules 2019-02-11 16:55:43 +01:00
Simon Cruanes
eff3f8024f wip: use submodules of Solver_types to clean up code 2019-02-11 16:55:43 +01:00
Simon Cruanes
8eef2deebd faster addition of clauses' watch literals
instead of sorting the whole clause, just select two highest level lits
2019-02-11 16:55:43 +01:00
Simon Cruanes
8550102ea6 dependencies in opam files; put binary in minismt package 2019-02-11 16:55:43 +01:00
Simon Cruanes
eff8ed1c4f split some features into minismt lib 2019-02-11 16:55:43 +01:00
Simon Cruanes
9bc85160b8 restrict what Msat core lib exposes, provide shortcuts 2019-02-11 16:55:43 +01:00
Simon Cruanes
cbe3750b0d use generative functors, remove a layer of nesting for SMT libs 2019-02-11 16:55:43 +01:00
Simon Cruanes
b92d8b39e7 remove useless dir 2019-02-11 16:55:43 +01:00
Simon Cruanes
d9ceba72d4 cleanup in fields 2019-02-11 16:55:43 +01:00
Simon Cruanes
ec7fa9e01a fix warnings 2019-02-11 16:55:43 +01:00
Simon Cruanes
2707215aa2 move tseitin transformation into its own lib 2019-02-11 16:55:43 +01:00
Simon Cruanes
768f59f88b big refactoring
- move to jbuilder
- use a functorial heap (with indices embedded in lit/var)
- update Vec with optims from mc2
- change semantics of Vec.shrink
- use new Log module
2019-02-11 16:55:43 +01:00
Simon Cruanes
48ec2d732c capitalization of files; add new Log 2019-02-11 16:55:43 +01:00
Simon Cruanes
9e5c9056d0 test: add a logitest target 2019-02-10 18:07:06 -06:00
Simon Cruanes
8614d9bb0c feat: use gc alarm to check resources 2019-02-10 17:11:29 -06:00
Simon Cruanes
5865151247 refactor: return optional proof, do not store if if -no-check was given 2019-02-10 16:59:27 -06:00
Simon Cruanes
62ea8fd0cb fix(thbool): fix non-termination issue by creating clauses at most once 2019-02-10 16:24:04 -06:00
Simon Cruanes
b5208da56c fix(tseitin): use final check to push axioms 2019-02-09 23:35:49 -06:00
Simon Cruanes
bf0171fec1 fix(cc): merge parents properly 2019-02-09 22:11:50 -06:00
Simon Cruanes
1328d043e3 fix(cc): restore distinct 2019-02-09 21:59:25 -06:00
Simon Cruanes
a463dbb4b5 feat(cc): split sub-library sidekick.cc, make it fully functorized 2019-02-09 21:57:20 -06:00
Simon Cruanes
431d8fe4ac small style change 2019-02-09 16:17:15 -06:00
Simon Cruanes
9d90b7ef66 refactor(cc): add some todos, fix a bug 2019-02-09 16:17:01 -06:00
Simon Cruanes
7b00a9d9e5 feat: expose mini-cc compatible API in Term 2019-02-09 16:16:44 -06:00
Simon Cruanes
40186a6c76 refactor: renaming `Eq{uiv,}_class 2019-02-08 19:45:20 -06:00
Simon Cruanes
0326c07c16 refactor: add Sidekick_util with some re-exports 2019-02-08 19:44:59 -06:00
Simon Cruanes
a7a5e1d7e1 wip: mini congruence closure to check the main one 2019-02-08 19:44:39 -06:00
Simon Cruanes
f2eecaa758 feat(th-bool): flattening of and/or also removes neutral elts 2019-02-01 21:42:44 -06:00
Simon Cruanes
f76f6bb0d9 feat(solver): assert true and ¬false 2019-02-01 21:42:28 -06:00
Simon Cruanes
e08bb7b5ac fix(cc): polarity error in distinct-conflict 2019-02-01 21:42:11 -06:00
Simon Cruanes
3eabeb4e2e fix(bstack): another stupid error 2019-02-01 21:41:54 -06:00
Simon Cruanes
d95047b65a refactor: a debug msg 2019-02-01 21:26:32 -06:00
Simon Cruanes
91389d2b5e fix(bstack): fix bug in n-levels 2019-02-01 21:25:50 -06:00
Simon Cruanes
a2e177abe8 fix(cc): polarity error in conflicts 2019-02-01 21:12:26 -06:00
Simon Cruanes
e6de1de949 main: print backtraces properly 2019-02-01 21:12:26 -06:00
Simon Cruanes
a57fdcdeda refactor: use msat 0.8 2019-02-01 20:57:44 -06:00
Simon Cruanes
27d1841f6b wip: migrate to msat 0.8 2019-01-28 21:09:57 -06:00
Simon Cruanes
4fadbeb04d chore: migrate to dune 2019-01-18 18:37:26 -06:00
Guillaume Bury
4bb1f5b793 Update for latest version of dolmen 2018-09-11 14:19:37 +02:00
Guillaume Bury
5e57bfc827 Bugfix for user lvl push when already unsat 2018-09-11 14:19:22 +02:00
Simon Cruanes
73c7db2b4e feat(cc): boolean propagation of literals in CC 2018-08-18 19:56:22 -05:00
Simon Cruanes
0e467e058c fix: disable checking of invariants 2018-08-18 19:56:12 -05:00
Simon Cruanes
c1a662e2c8 refactor(sat): improve style of theory propagation handler 2018-08-18 19:55:30 -05:00
Simon Cruanes
324c9d2e36 fix(sat): allow proofs with unary resolution history
can happen if the conflict clause is a theory lemma
2018-08-18 19:54:46 -05:00
Simon Cruanes
400f2e02f1 refactor(th-combine): simplify handling of theory conflicts 2018-08-18 18:55:17 -05:00
Simon Cruanes
dd58fa21ef fix(sat): fix bug in restarts, we need to solve again after one 2018-08-18 18:08:42 -05:00
Simon Cruanes
ca531d73a6 refactor(cc): fix bugs, use list of nodes in equiv class 2018-08-18 18:06:16 -05:00
Simon Cruanes
c2d79b2e6a fix(main): properly handle option no-restarts 2018-08-18 18:05:22 -05:00
Simon Cruanes
e6a96df0d9 chore: remove dead code in sat 2018-08-18 17:47:20 -05:00