Commit graph

39 commits

Author SHA1 Message Date
Simon Cruanes
e2b9b2874c
fix more warnings; remove never completed LIA stuff 2022-07-14 22:01:23 -04:00
Simon Cruanes
fd500a3d7d
fix some warnings 2022-07-14 21:56:37 -04:00
Simon Cruanes
8530c07c59
lra: better debug 2022-02-18 14:59:27 -05:00
Simon Cruanes
95f84b4854
refactor(th-comb): provide full model to the CC
this way it can fail on merges of classes assigned conflicting value.
2022-02-18 14:59:26 -05:00
Simon Cruanes
fd66039c8d
wip: theory combination by exposing model (classes) directly to CC 2022-02-18 14:59:26 -05:00
Simon Cruanes
98c30bf0cc
updates and cleanup 2022-02-14 10:46:08 -05:00
Simon Cruanes
e481c74398
refactor(LRA): new preprocessing, new shape of terms 2022-02-08 13:14:24 -05:00
Simon Cruanes
d9a701140c
debug 2022-02-07 10:57:39 -05:00
Simon Cruanes
d11b9d585c
fix(smt): improve theory combination a bit 2022-02-04 16:40:55 -05:00
Simon Cruanes
ab74b1a792
fix(lra): preprocessing of linexps with non-zero constants 2022-02-04 16:16:00 -05:00
Simon Cruanes
cbc9c5ac6f
refactor(smt): preprocessing is now using a queue of delayed actions
- preprocessing doesn't simplify anymore, it assumes terms are already
  simplified. It only adds clauses/adds literals, it does not return
  new terms.
- adding clauses/literals to SAT is done as delayed actions, to avoid
  issues of reentrancy.
  These actions are performed after preprocessing, in a loop that has
  access to the SAT solver.
2022-02-04 16:08:01 -05:00
Simon Cruanes
2885563929
fix(lra): better handling of model production for preprocessed-away terms 2022-02-03 14:24:07 -05:00
Simon Cruanes
9cf9b025ab
debug 2022-02-03 14:20:32 -05:00
Simon Cruanes
a98132ed0c
feat(model): add theory hooks to "complete" models
these hooks are allowed to add terms to the model, that are not in the
congruence closure (for example in LRA, terms that were preprocessed
away).
2022-02-03 14:00:43 -05:00
Simon Cruanes
a0a67549de
feat(lra): proper model production from the simplex 2022-02-02 16:02:23 -05:00
Simon Cruanes
3fdb07b533
feat: handle get-model/get-value from smtlib inputs 2022-02-02 15:51:44 -05:00
Simon Cruanes
4b2afd7a05
wip: LIA theory 2022-01-13 12:55:36 -05:00
Simon Cruanes
f1f1967059
refactor: move simplex to its own library sidekick.simplex
also start branch and bound
2022-01-13 12:55:35 -05:00
Simon Cruanes
fb0668e7ba
wip: feat(lra): expose state via a registry key 2022-01-11 14:00:04 -05:00
Simon Cruanes
849d4319f2
fix theory combination for LRA 2022-01-11 14:00:04 -05:00
Simon Cruanes
eb97161992
better debug 2022-01-11 14:00:04 -05:00
Simon Cruanes
691ff12a01
wip: support LIA in input AST and base terms 2022-01-11 14:00:03 -05:00
Simon Cruanes
2bce3e6dd9
refactor(LRA): custom iterators in simplex, makes code more readable 2022-01-11 14:00:03 -05:00
Simon Cruanes
2e4fd5e1c1
update conflict resolution for better proofs, improve code 2021-11-27 15:30:45 -05:00
Simon Cruanes
0abe4b7020
wip: decode more proof steps to quip 2021-10-27 21:50:28 -04:00
Simon Cruanes
1779b7115a
wip: proof production (incl. better tracking of proofs in CC) 2021-10-11 14:27:14 -04:00
Simon Cruanes
e7e8873295
fix more warnings 2021-08-27 09:28:59 -04:00
Simon Cruanes
27796da5a8
fix preprocessing in th-bool 2021-08-22 01:29:01 -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
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
6578ea9136 move form to sidekick_base; rename {Term,Ty}.state into store 2021-07-03 22:48:44 -04:00
Simon Cruanes
590f1ef887 more cleanup, add doc 2021-07-03 21:14:17 -04:00
Simon Cruanes
79bc3def3f refactor to get sidekick-base library 2021-07-03 20:20:19 -04:00
Simon Cruanes
ef3fa2b7a7 use newer quip format, with bool-c taking terms 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
4fd8afb129 more docs; move some code around for a flatter src/ dir structure 2021-06-11 18:47:29 -04:00
Renamed from src/arith/lra/sidekick_arith_lra.ml (Browse further)