Simon Cruanes
|
79386c2cbd
|
feat(smt): provide SAT solver to theories upon initialization
|
2021-09-27 19:27:03 -04:00 |
|
Simon Cruanes
|
c151f2981f
|
feat: clause pools in SMT
|
2021-09-27 19:27:03 -04:00 |
|
Simon Cruanes
|
16bb65ebfa
|
wip: clause pools
|
2021-08-31 09:30:28 -04:00 |
|
Simon Cruanes
|
e7e8873295
|
fix more warnings
|
2021-08-27 09:28:59 -04:00 |
|
Simon Cruanes
|
e93e084eac
|
refactor: eager proofs; stronger preprocessing
proofs are now directly emitted (almost) everywhere, which simplifies
a lot of things. preprocessing is more recursive (a bit too much
really).
|
2021-08-22 01:13:41 -04:00 |
|
Simon Cruanes
|
1ab7d34a7d
|
refactor: make it compile again
|
2021-08-20 18:18:30 -04:00 |
|
Simon Cruanes
|
9f01b98cde
|
wip: imperative proofs
- getting closer to having the SMT solver compile again
- dummy proof implementation
- DRUP proof implementation for pure SAT solver
|
2021-08-18 23:59:39 -04:00 |
|
Simon Cruanes
|
7bead748a6
|
refactor: move SAT_PROOF into sidekick.core
SAT proofs are part of bigger proofs, now. And we expect them to work on
the literals of CDCL(T) directly, bypassing the low level boolean atoms
|
2021-08-17 23:59:02 -04:00 |
|
Simon Cruanes
|
d40ce304ae
|
wip: refactor proofs into traces
|
2021-08-17 09:29:46 -04:00 |
|
Simon Cruanes
|
27e775ee04
|
wip: refactor proofs for SMT
|
2021-08-12 22:05:49 -04:00 |
|
Simon Cruanes
|
d53b3c291e
|
feat: add "drup" case to proofs
|
2021-07-20 23:27:11 -04:00 |
|
Simon Cruanes
|
47bb521158
|
wip: refactor SAT solver
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
162fd37d9d
|
wip: refactor
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
71360ad1f8
|
refactor: change signature of field access in CC
|
2021-07-04 00:25:59 -04:00 |
|
Simon Cruanes
|
9cfaecec99
|
helpers
|
2021-07-03 23:39:20 -04:00 |
|
Simon Cruanes
|
6578ea9136
|
move form to sidekick_base; rename {Term,Ty}.state into store
|
2021-07-03 22:48:44 -04:00 |
|
Simon Cruanes
|
be46f40312
|
more docs
|
2021-07-03 21:46:39 -04:00 |
|
Simon Cruanes
|
590f1ef887
|
more cleanup, add doc
|
2021-07-03 21:14:17 -04:00 |
|
Simon Cruanes
|
a223b6cd5c
|
fix(cc): fix bad proof production for the merge-bool-parent case
|
2021-06-16 19:58:42 -04:00 |
|
Simon Cruanes
|
252f7243a4
|
feat(proof): add binary res/res1
|
2021-06-15 20:54:27 -04:00 |
|
Simon Cruanes
|
899ea67188
|
post-rebase fix
|
2021-06-11 21:55:44 -04:00 |
|
Simon Cruanes
|
2eee760e29
|
refactor(proof): new serialization; faster implem
|
2021-06-11 21:53:13 -04:00 |
|
Simon Cruanes
|
19e083c682
|
produce nn steps
|
2021-06-11 21:53:13 -04:00 |
|
Simon Cruanes
|
ef3fa2b7a7
|
use newer quip format, with bool-c taking terms
|
2021-06-11 21:53:13 -04:00 |
|
Simon Cruanes
|
7507a7f0b1
|
proofs: remove with_defs
|
2021-06-11 21:53:13 -04:00 |
|
Simon Cruanes
|
19e6f80b45
|
refactor(proof): rename defc to stepc
|
2021-06-11 21:53:13 -04:00 |
|
Simon Cruanes
|
c02da6ce8a
|
feat(proof): progress on preprocessing; proper proofs for th-bool
|
2021-06-11 21:53:12 -04:00 |
|
Simon Cruanes
|
502dce503c
|
refactor(proof): merge proof and lemma, add composite proof constructor
|
2021-06-11 21:51:53 -04:00 |
|
Simon Cruanes
|
22d6786c40
|
refactor(proof): more and better constructs; compile again
|
2021-06-11 21:51:15 -04:00 |
|
Simon Cruanes
|
ff7a87f3fb
|
wip: feat(proof): insert proof constructs in most of sidekick
|
2021-06-11 21:50:25 -04:00 |
|
Simon Cruanes
|
57bf44dfb9
|
feat: basic proof production for QF_UF (wip)
|
2021-06-11 21:47:53 -04:00 |
|
Simon Cruanes
|
4fd8afb129
|
more docs; move some code around for a flatter src/ dir structure
|
2021-06-11 18:47:29 -04:00 |
|
Simon Cruanes
|
12ba49ae5f
|
more doc
|
2021-06-10 13:00:00 -04:00 |
|
Simon Cruanes
|
e3a8422ab0
|
udpate CI; bump minimal ocaml to 4.04; add auto-doc
run simplex tests only on OCaml >= 4.08
|
2021-06-10 12:57:23 -04:00 |
|
Simon Cruanes
|
18fbb950bc
|
feat(CC): change cc_view so that App_ho is curried
|
2021-04-01 22:28:46 -04:00 |
|
Simon Cruanes
|
ff77617a5d
|
fix(monoid): call find on sub-nodes
|
2021-03-29 13:30:13 -04:00 |
|
Simon Cruanes
|
6d7edbb601
|
fix(CC/monoid): in monoid, store N.t, not a term.
make sure the sub-elements of the monoid are represented in the
congruence closure before-hand.
|
2021-03-29 13:30:13 -04:00 |
|
Simon Cruanes
|
be97938e12
|
refactor: remove Value, just use terms in the model
|
2021-03-29 13:30:13 -04:00 |
|
Simon Cruanes
|
b6713fb833
|
refactor: rename some hooks; prepare for model generation in th-data
|
2021-03-29 13:30:13 -04:00 |
|
Simon Cruanes
|
3d2edc6b3b
|
feat: model_hook type for cooperative model production
|
2021-03-29 13:30:13 -04:00 |
|
Simon Cruanes
|
3aadb055b6
|
refactor: make proof production lazy
|
2021-03-19 17:26:30 -04:00 |
|
Simon Cruanes
|
17702729d5
|
feat(core): expose a preprocess function
|
2021-03-18 14:14:06 -04:00 |
|
Simon Cruanes
|
07ca5546f5
|
refator(preproc): remove explicit recursion, but rewrite top-down
give a chance to simplifiers to rewrite before we rewrite subterms.
|
2021-03-18 12:19:30 -04:00 |
|
Simon Cruanes
|
5f9675e7d1
|
feat: expose Atom.neg
|
2021-03-17 15:01:39 -04:00 |
|
Simon Cruanes
|
fd8b598650
|
feat: reexport type state
|
2021-03-17 14:43:46 -04:00 |
|
Simon Cruanes
|
0aa13ca808
|
refactor: provide a state for Ty.bool in core signature
|
2021-02-24 15:52:54 -05:00 |
|
Simon Cruanes
|
a8e2764e92
|
lra: refactor theory combination (have CC tell us what terms are subterms)
|
2021-02-22 12:09:44 -05:00 |
|
Simon Cruanes
|
0e5e40f145
|
feat(core/cc): expose more from the congruence closure
|
2021-02-22 12:09:44 -05:00 |
|
Simon Cruanes
|
9839e5a36b
|
feat(core): add push_decision, for model-based th combination
|
2020-11-17 18:23:16 -05:00 |
|
Simon Cruanes
|
60fe3506d5
|
feat(core): add CC.explain_eq to explain why two nodes were merged
|
2020-11-17 18:22:51 -05:00 |
|