Simon Cruanes
|
c2a6c2d47b
|
refactor(propagate): make propagation clause lazy
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
596034d16a
|
fix(dot): proper labelling of hyper-res nodes
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
cdb52ee757
|
fix(proof): unsat conflicts now call Proof.prove_unsat
this does the last bit of proof recording when a conflict is reached
during propagation
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
2e2bbfd4d0
|
fix(proof.check): ensure that the proof is an empty clause
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
92ca9c328f
|
refactor(main): catch resolution errors properly; style
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
e30c54e11b
|
refactor: use hyper-res steps in proofs
- accelerates proof checking significantly
- provide a way to expand hyper-res steps into individual resolutions
(eg for the Coq backend)
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
b2cec9eaa2
|
perf: use mutable flags on atoms to perform proof checking
|
2019-03-10 12:12:39 +01:00 |
|
Simon Cruanes
|
7a2f59e9dd
|
feat: add basic theory of constructors
|
2019-03-09 16:51:57 -06:00 |
|
Simon Cruanes
|
cb0b5cbcbd
|
refactor: change signature of CC.Theory.on_new_term
|
2019-03-09 16:51:39 -06:00 |
|
Simon Cruanes
|
314bd7f8b2
|
feat: add ite theory
|
2019-03-09 16:16:21 -06:00 |
|
Simon Cruanes
|
431988d5e4
|
feat: more expressive theories, also plug distinct in
|
2019-03-09 16:15:24 -06:00 |
|
Simon Cruanes
|
d4758a2fcf
|
cleanup
|
2019-03-03 16:22:14 -06:00 |
|
Simon Cruanes
|
f58bdb5f30
|
feat: first working version of th-distinct as a separate theory
|
2019-03-03 15:17:06 -06:00 |
|
Simon Cruanes
|
23c0e3c087
|
wip: new "distinct" theory
|
2019-02-26 22:46:43 -06:00 |
|
Simon Cruanes
|
342dba4533
|
wip: new micro-theories in CC
|
2019-02-26 22:46:40 -06:00 |
|
Simon Cruanes
|
57147cea85
|
chore: add common dune file
|
2019-02-26 22:46:13 -06:00 |
|
Simon Cruanes
|
c79a5a4798
|
wip: micro theories
|
2019-02-22 20:57:17 -06:00 |
|
Simon Cruanes
|
77a5475862
|
wip: cleanup cc
|
2019-02-22 18:54:56 -06:00 |
|
Simon Cruanes
|
de1cc952a5
|
refactor: use new msat lazy propagation
|
2019-02-16 19:09:43 -06:00 |
|
Simon Cruanes
|
3873718174
|
refactor: require state in Lit.atom, and in Term.abs
allows abs(false)=true
|
2019-02-16 17:43:49 -06:00 |
|
Simon Cruanes
|
4d2bddc660
|
refactor(cc): smaller explanations for congruence-based merges
|
2019-02-16 17:43:04 -06:00 |
|
Simon Cruanes
|
14255f94a7
|
refactor(cc): remove dead code
|
2019-02-16 15:32:35 -06:00 |
|
Simon Cruanes
|
365aedb138
|
perf(cc): path compression
|
2019-02-16 15:28:16 -06:00 |
|
Simon Cruanes
|
ac030641db
|
refactor(ty): use Hashcons with weak table for types
|
2019-02-16 15:23:57 -06:00 |
|
Simon Cruanes
|
3b671aa7a4
|
refactor(term): use hashconsing with a weak table
|
2019-02-16 15:08:49 -06:00 |
|
Simon Cruanes
|
1ef0cf4183
|
refactor: small cleanup in terms
|
2019-02-16 14:58:13 -06:00 |
|
Simon Cruanes
|
a14fe25ba0
|
chore: add tools, update gitignore
|
2019-02-16 14:50:34 -06:00 |
|
Simon Cruanes
|
e878907f4b
|
refactor(bool): bool-view of terms, functorized theory
|
2019-02-16 14:49:00 -06:00 |
|
Simon Cruanes
|
1f68753121
|
refactor: remove proof printing code
|
2019-02-16 13:38:54 -06:00 |
|
Simon Cruanes
|
c06e4025fa
|
perf(bag): remove constant-time size
|
2019-02-16 13:38:43 -06:00 |
|
Simon Cruanes
|
eea95346eb
|
fix: remove dead aliases
|
2019-02-13 08:52:54 -06:00 |
|
Simon Cruanes
|
7f05da56cc
|
fix: cache E_unsat in direct add_clause functions
|
2019-02-11 18:11:33 -06:00 |
|
Simon Cruanes
|
4127db2153
|
Revert "fix: catch E_unsat in assume, if one adds an empty clause"
This reverts commit 5d7e34584bdbfd8326fbbf7f3314d93ac79597ce.
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7673bddf82
|
fix: catch E_unsat in assume, if one adds an empty clause
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ea98f6f027
|
refactor: return an array from conflict analysis
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
110eda2f05
|
feat: re-export exn
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
96c4d83781
|
detail: add debug message
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8ad78b2acd
|
refactor: a bit of cleanup for mcsat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7583e78bd2
|
fix(propagate): insert propagated literal itself
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1ccc292d79
|
refactor: move Backtrackable_ref into its own sub-library
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8d012d2f49
|
refactor: fix problems from review
- use `cid` instead of `name` for clauses
- has the name of the clause, not its content
- simplified some things
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c376f1d763
|
fix: msat.tseitin depends on msat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7891f2b69e
|
refactor: cleaner choice of which vector to add a clause to
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ba4c360cbd
|
fix: when simplifying, copy flags properly
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
d089db3e4d
|
feat: expose printers
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
6dbaa2d335
|
feat: expose eval_atom
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c89a99e82b
|
rename log-proof to store-proof
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ebd8ad7110
|
refactor: rename flag clause.{learnt,removable}
more accurate representation of the semantics, esp. for theory lemmas
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
da24541fa0
|
feat: allow optional disabling of proof logging
- goal: do not keep clauses alive after they're gc'd
- default is to indeed log proofs
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
65a8a65095
|
chore: be robust to deprecations
|
2019-02-11 16:55:43 +01:00 |
|