Commit graph

1605 commits

Author SHA1 Message Date
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
Simon Cruanes
5e0652687a
wip: proof production using BARE for storage 2021-09-28 21:06:01 -04:00
Simon Cruanes
bbe366989c
perf(sat): use Atom.Vec for temporary atom array 2021-09-27 19:28:45 -04:00
Simon Cruanes
74326b39c0
feat(vec): factor a bit of code for auxiliary functions in vectors 2021-09-27 19:26:04 -04:00
Simon Cruanes
acc682c5af
refactor(cc): simple renaming 2021-09-27 19:26:04 -04:00
Simon Cruanes
86512dbed0
utils 2021-09-27 19:22:48 -04:00
Simon Cruanes
c9e257d40b
cleanup 2021-09-27 12:14:04 -04:00
Simon Cruanes
5bed2d1c5f
detail 2021-09-26 23:56:40 -04:00
Simon Cruanes
a22bfe06c1
remove debug msgs 2021-08-31 23:19:06 -04:00
Simon Cruanes
debd8bcaf8
fix warning 2021-08-31 23:06:48 -04:00
Simon Cruanes
350a23d99e
feat: minimize conflicts
similar to minisat's level 2 of minimization.
2021-08-31 23:04:32 -04:00
Simon Cruanes
5080195c5b
feat: conflict minimization à la minisat 2021-08-31 22:59:38 -04:00
Simon Cruanes
521340a23f
feat: first full implem of clause pools 2021-08-31 22:56:42 -04:00
Simon Cruanes
10dca21f59
refactor: remove history in conflict resolution; remove simpls
no need to simplify reasons anymore, we rely on DRUP for that.
2021-08-31 22:56:11 -04:00
Simon Cruanes
f86498b386
feat: make it compile 2021-08-31 18:59:44 -04:00
Simon Cruanes
16bb65ebfa
wip: clause pools 2021-08-31 09:30:28 -04:00
Simon Cruanes
4a2367b1bd
refactor: use Atom.Vec (a VecI32) for atom vectors 2021-08-31 09:30:05 -04:00
Simon Cruanes
1877c00c02
wip: clauses pools 2021-08-30 09:32:32 -04:00
Simon Cruanes
81caf4824e
wip: feat: additional clause allocators in SAT 2021-08-30 09:03:37 -04:00
Simon Cruanes
73b39fe075
fix more warnings 2021-08-27 21:34:26 -04:00
Simon Cruanes
e7e8873295
fix more warnings 2021-08-27 09:28:59 -04:00
Simon Cruanes
b33f5fa5b1
fix tests 2021-08-26 09:19:21 -04:00
Simon Cruanes
782afa4415
feat: move Int_id into its own module 2021-08-25 23:52:08 -04:00
Simon Cruanes
68250603c4
fix compat 2021-08-24 19:41:36 -04:00
Simon Cruanes
5017d9f8bf
Merge branch 'wip-drup-check' 2021-08-24 18:09:31 -04:00
Simon Cruanes
5505ece5fb
chore: fix warning 2021-08-23 10:49:12 -04:00
Simon Cruanes
07d512badc
fix: remove dep on mtime in checker 2021-08-23 10:17:51 -04:00
Simon Cruanes
28fad1e408
chore: ci on all branches 2021-08-23 10:03:16 -04:00
Simon Cruanes
d841090e1c
feat(checker): ability to read .drup.gz files 2021-08-23 00:10:37 -04:00
Simon Cruanes
2f41a54719
feat(main): for pure SAT, emit proofs into file or locally 2021-08-23 00:10:34 -04:00
Simon Cruanes
bb682b8080
fix(sat): emit proofs where needed 2021-08-23 00:08:09 -04:00
Simon Cruanes
fa04cb7997
refactor(th-bool): remove cache and most recursion
the preprocessing framework already takes care of both.
2021-08-22 15:50:42 -04:00
Simon Cruanes
baecce0946
feat: use Stat in SAT solver 2021-08-22 01:56:54 -04:00
Simon Cruanes
672f828c82
perf: return to default-pol=true
previous commit fixed sign error (move from `negated` to `same_sign`
so restore good behavior
2021-08-22 01:44:37 -04:00
Simon Cruanes
9aee35c6ce
fix other issue in th-bool preprocessing 2021-08-22 01:31: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
0668f28ac7
try to fix boolean terms not decided by SAT solver 2021-08-21 14:00:31 -04:00
Simon Cruanes
075e251aed
fix: bad sign in SAT solver 2021-08-21 13:41:30 -04:00
Simon Cruanes
0e77c9ef33
perf(solver): default-pol=false 2021-08-20 18:49:15 -04:00
Simon Cruanes
22638a0c0b
tmp: use dummy proof in pure sat solver 2021-08-20 18:49:15 -04:00
Simon Cruanes
4cada7e7b6
perf 2021-08-20 18:18:30 -04:00
Simon Cruanes
1ab7d34a7d
refactor: make it compile again 2021-08-20 18:18:30 -04:00
Simon Cruanes
1d3867acb5
perf: use VecI32 for clause vector 2021-08-20 18:18:26 -04:00
Simon Cruanes
5372170733
fix: make it compile again 2021-08-20 18:18:14 -04:00
Simon Cruanes
c8eb1ec29e
feat(util): add Vec_sig to express common vector interface 2021-08-20 18:04:54 -04:00