Commit graph

50 commits

Author SHA1 Message Date
Simon Cruanes
4b2afd7a05
wip: LIA theory 2022-01-13 12:55:36 -05:00
Simon Cruanes
8410a57f1a
wip: feat(LIA): LIA solver, will rely on LRA solver
we want to reuse the simplex, but do branch and bound + cutting planes
2022-01-11 14:00:04 -05:00
Simon Cruanes
2378fc37ac
fix LIA->LRA cast operation 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
b6df2cd974
clause-less steps in proofs
these steps are checked only once, to accelerate checking, but the
result isn't known.
2022-01-03 22:59:43 -05:00
Simon Cruanes
63f50d03fa
feat: proper proof production for theory merges in CC
this involves resolution steps between the lemma (typically a kind of
horn clause with the merge as conclusion) and a bunch of literals
responsible for some equational hypotheses of this horn clause, being true
2021-12-29 15:56:54 -05:00
Simon Cruanes
be1c1573b1
feat(proof): emit is-a terms properly
these occur in datatypes proofs.
2021-12-28 16:46:59 -05:00
Simon Cruanes
3b409c8944
feat(proof): add proof_r1 as a pendant to proof_p1 for non-equations 2021-12-17 11:38:07 -05:00
Simon Cruanes
e9b395b643
feat(proof): do not emit trivial clause_rw steps
if there is no rewriting going on, we can skip the step.
2021-11-28 16:33:57 -05:00
Simon Cruanes
aad1daa4e4
feat(quip): remove lit and not-normalization from quip 2021-11-28 13:36:19 -05:00
Simon Cruanes
c5c5426ead
quip: include all term definitions in proof
dependency analysis will not catch these, so we include them
unconditionally
2021-11-19 23:25:21 -05:00
Simon Cruanes
7d70994758
fix(proof): add neg-normalization 2021-11-14 22:50:05 -05:00
Simon Cruanes
ffa450ba08
proof: normalize clauses in rw 2021-11-10 18:30:12 -05:00
Simon Cruanes
8c780e3ed5
quip: add clause in expr_def 2021-11-10 18:04:52 -05:00
Simon Cruanes
0d00629923
more compressed output of equations 2021-11-10 13:23:29 -05:00
Simon Cruanes
72d79d7c0a
fix emission of reference terms 2021-10-29 22:35:19 -04:00
Simon Cruanes
6b1b1eb587
feat(proof): process more steps in proof reconstruction
also, use names for function application terms, so as to preserve
sharing.
2021-10-28 20:48:39 -04:00
Simon Cruanes
0abe4b7020
wip: decode more proof steps to quip 2021-10-27 21:50:28 -04:00
Simon Cruanes
4a30a06f87
wip: reconstruct quip proof from binary proof-trace 2021-10-26 21:57:17 -04:00
Simon Cruanes
b5749a1b72
emit many more proof steps 2021-10-22 21:31:44 -04:00
Simon Cruanes
c2b8d93cf4
refactor proof storage 2021-10-21 23:28:53 -04:00
Simon Cruanes
a871192c5e
fix bug in proof emission 2021-10-21 20:53:06 -04:00
Simon Cruanes
84f7a39423
fix doc test 2021-10-21 20:42:12 -04:00
Simon Cruanes
7e40851e1b
use sidekick-base.proof-trace in base 2021-10-21 20:32:47 -04:00
Simon Cruanes
63e7d6659e
wip: dump more steps to the trace file 2021-10-20 20:41:51 -04:00
Simon Cruanes
f5172a7927
wip: emit proof steps 2021-10-19 22:52:34 -04:00
Simon Cruanes
3589592296
wip: use real proofs 2021-10-16 22:00:29 -04:00
Simon Cruanes
597a6c378e
wip: split VecI32 and VecSmallInt
- use VecSmallInt for small integers of type `int`
- use VecI32 to store actual int32 (in particular for proof steps)
2021-10-16 20:31:56 -04:00
Simon Cruanes
af1ef089af
wip: proper proof production using Proof_ser-based traces 2021-10-15 23:00:09 -04:00
Simon Cruanes
73cca4ca18
move chunk_stack to util, fix some bugs 2021-10-14 23:18:21 -04:00
Simon Cruanes
beda972def
wip: feat(base): proof chunk storage 2021-10-14 21:41:47 -04:00
Simon Cruanes
3d17feab12
use standalone mode and promote for the BARE encoding of proofs 2021-10-12 22:45:45 -04:00
Simon Cruanes
fd1d068997
proof stubs and sat proof 2021-10-12 22:13:28 -04:00
Simon Cruanes
5e0652687a
wip: proof production using BARE for storage 2021-09-28 21:06:01 -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
d53b3c291e feat: add "drup" case to proofs 2021-07-20 23:27:11 -04:00
Simon Cruanes
564dcec252 cleanup msat, rename it sidekick.sat 2021-07-18 01:40:55 -04:00
Simon Cruanes
0368a29ada add helper in base 2021-07-04 01:29:23 -04:00
Simon Cruanes
51ac678ccd trivial helper 2021-07-04 00:06:42 -04:00
Simon Cruanes
4e07e6039a add helpers for LRA in base 2021-07-03 23:49:14 -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
80b50e8744 refactor: add solver instance in sidekick base
move some functor instantiations from `sidekick-bin.smtlib` to
`sidekick-base.solver` so they're usable from a library.
2021-07-03 22:28:57 -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
79bc3def3f refactor to get sidekick-base library 2021-07-03 20:20:19 -04:00
Simon Cruanes
813f645a9c refactor: rename sidekick-base-term to sidekick-base 2021-07-03 17:42:19 -04:00