Commit graph

1750 commits

Author SHA1 Message Date
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
a8a851a7de
feat: ability to produce .gz proof files 2021-11-10 18:23:26 -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
f500704905
fix(sat): level-0 resolution needs to be recursive 2021-11-10 13:20:00 -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
7d5b76a87a
fix tests and warning 2021-10-27 21:54:30 -04:00
Simon Cruanes
0abe4b7020
wip: decode more proof steps to quip 2021-10-27 21:50:28 -04:00
Simon Cruanes
992b93abcf
fix(sat): clause in a unsat result must not contain 0-level literals 2021-10-27 20:19:01 -04:00
Simon Cruanes
5a6019f834
missing module 2021-10-26 22:04:33 -04:00
Simon Cruanes
4a30a06f87
wip: reconstruct quip proof from binary proof-trace 2021-10-26 21:57:17 -04:00
Simon Cruanes
d8518ae942
wip: standalone module for Quip proofs
the idea here is that Quip proofs will be built from proof traces,
and do not need to depend on any concrete term representation.
Their terms, types, etc. match exactly what we know how to print
to Quip, and bare no relation to concrete representations used during
proof search.
2021-10-25 19:52:00 -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
8ac2267595
add a simple binary to dump proof traces 2021-10-21 20:33:10 -04:00
Simon Cruanes
7e40851e1b
use sidekick-base.proof-trace in base 2021-10-21 20:32:47 -04:00
Simon Cruanes
254d6a1906
feat: library for the proof step serialization 2021-10-21 20:32:34 -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
29d1fd5cf3
fix bug in veci32 2021-10-16 21:41:10 -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
ca4a42f28a
improve API of chunk_stack 2021-10-14 23:40:58 -04:00
Simon Cruanes
7df124f94c
test: add a test using a file backend 2021-10-14 23:40:51 -04:00
Simon Cruanes
73cca4ca18
move chunk_stack to util, fix some bugs 2021-10-14 23:18:21 -04:00
Simon Cruanes
3a56fb0763
test file for chunk stack 2021-10-14 23:18:08 -04:00
Simon Cruanes
beda972def
wip: feat(base): proof chunk storage 2021-10-14 21:41:47 -04:00
Simon Cruanes
feb7a354e9
fix test 2021-10-13 00:30:43 -04:00
Simon Cruanes
12037c6ba2
test only >= 4.08 on CI 2021-10-12 23:05:47 -04:00
Simon Cruanes
b22e4b96ce
bump min requirement to 4.08 2021-10-12 23:05:25 -04:00
Simon Cruanes
a6b303bb90
remove dep on bare-encoding 2021-10-12 22:52:52 -04:00
Simon Cruanes
e90df644c4
chore: make CI ignore promotion rules 2021-10-12 22:46:41 -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
6fae75f94d
add Vec_unit to util 2021-10-12 22:13:05 -04:00
Simon Cruanes
4308eba04d
fix 2021-10-11 23:19:40 -04:00
Simon Cruanes
af901f54b1
proof production for th-data 2021-10-11 19:57:25 -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
0550f6fcfa
wip: proof production 2021-10-09 00:51:15 -04:00
Simon Cruanes
d3537f2c3f
wip: refactor proof 2021-10-07 20:49:39 -04:00
Simon Cruanes
bbb995b0d5
refactor some names related to proofs; wip add unit paramod 2021-10-03 20:32:37 -04:00
Simon Cruanes
04f1ba063d
wip: adapt CC to new proofs 2021-09-29 22:19:16 -04:00
Simon Cruanes
df40b5a5c1
wip: refactor(sat): generate detailed proofs again
because proofs now require hypotheses but not in a resolution order, we
can still do conflict minimization.
2021-09-29 22:18:36 -04:00
Simon Cruanes
4621cc948f
feat(core): change the way proofs work
Now a proof returns a `step_id` which identifies its resulting clause.
This might be a dummy value when proofs are disabled.

We attach a step_id to each new clause to make sure it's properly
tracked, but step_ids might outlive their clause (and the actual proof
data might be on disk, only keeping in ram a small unique identifier).
2021-09-29 22:16:22 -04:00
Simon Cruanes
313e9db026
feat(vec): add copy 2021-09-29 22:16:10 -04:00