Simon Cruanes
|
3aa25cb2a2
|
sat: use an atom array for clauses again
allocator is not worth the complexity, and has a lot of double
indirections anyway.
|
2021-07-21 10:02:56 -04:00 |
|
Simon Cruanes
|
8b94e8404f
|
wip: data-oriented clauses
|
2021-07-20 23:34:58 -04:00 |
|
Simon Cruanes
|
97d87cc58f
|
perf: tiny detail in int indices in solver
|
2021-07-20 23:34:38 -04:00 |
|
Simon Cruanes
|
29892d07de
|
feat(util): Vec_float based on bigarrays
|
2021-07-20 23:33:57 -04:00 |
|
Simon Cruanes
|
a03d7f6bef
|
fix
|
2021-07-20 23:31:21 -04:00 |
|
Simon Cruanes
|
11b1ea4eda
|
feat(vec): more
|
2021-07-20 23:28:54 -04:00 |
|
Simon Cruanes
|
d53b3c291e
|
feat: add "drup" case to proofs
|
2021-07-20 23:27:11 -04:00 |
|
Simon Cruanes
|
89051fd3ad
|
perf(solver): use VecI32 in the heap
this reduces the size of the heap (4 bits per element, not 8), and
reduces GC work by not scanning the bigarray
|
2021-07-20 10:07:43 -04:00 |
|
Simon Cruanes
|
d08d5fe9c4
|
feat(util): add VecI32 based on bigarray
|
2021-07-20 10:07:29 -04:00 |
|
Simon Cruanes
|
347e098fc2
|
misc
|
2021-07-20 09:20:14 -04:00 |
|
Simon Cruanes
|
f2b2bbb973
|
some stats for the SAT solver
|
2021-07-19 21:44:58 -04:00 |
|
Simon Cruanes
|
b624a1ca5d
|
cleanup: remove commented code
|
2021-07-19 21:15:16 -04:00 |
|
Simon Cruanes
|
e30cf9fdbf
|
perf: allocate less in conflict analysis
use preallocated vectors
|
2021-07-19 21:13:00 -04:00 |
|
Simon Cruanes
|
7463bd66aa
|
fix(sat): sign error
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
227662f789
|
detail
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
7f18e5f29a
|
fix
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
47bb521158
|
wip: refactor SAT solver
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
b85c47ece1
|
wip: refactor(sat): use struct-of-array for atom/var
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
162fd37d9d
|
wip: refactor
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
2107b3de7e
|
feat(util): a Bitvec module, refactor testing
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
97aab34e46
|
statistics for pure sat solver
|
2021-07-19 09:57:02 -04:00 |
|
Simon Cruanes
|
923033f9bf
|
feat: mli for the SAT solver
|
2021-07-19 09:17:20 -04:00 |
|
Simon Cruanes
|
15d86d7c62
|
refactor(sat): use first-class modules instead of records
|
2021-07-18 19:18:42 -04:00 |
|
Simon Cruanes
|
041e83139d
|
feat: make mtime optional with dummy "tef" backend
|
2021-07-18 10:31:03 -04:00 |
|
Simon Cruanes
|
c7bf4b01e7
|
feat: optional memtrace support
|
2021-07-18 10:29:14 -04:00 |
|
Simon Cruanes
|
5faa1d6ef7
|
chore: try to build again
|
2021-07-18 08:04:56 -04:00 |
|
Simon Cruanes
|
1aa160fe56
|
use a pure sat solver for cnf files
|
2021-07-18 02:46:04 -04:00 |
|
Simon Cruanes
|
4cb8887639
|
wip: remove all traces of mcsat from src/sat
|
2021-07-18 02:14:56 -04:00 |
|
Simon Cruanes
|
564dcec252
|
cleanup msat, rename it sidekick.sat
|
2021-07-18 01:40:55 -04:00 |
|
Simon Cruanes
|
4a337a85d3
|
cleanup msat
|
2021-07-18 01:29:28 -04:00 |
|
Simon Cruanes
|
1a58ab0bfc
|
vendor current msat in src/sat for further modifications
|
2021-07-18 01:26:11 -04:00 |
|
Simon Cruanes
|
d024a6a3f0
|
prepare for vendoring
|
2021-07-18 01:24:04 -04:00 |
|
Simon Cruanes
|
2f353cfd94
|
add stat to count number of acyclicity conflicts in datatypes
|
2021-07-04 18:02:48 -04:00 |
|
Simon Cruanes
|
653783744c
|
fix tets
|
2021-07-04 01:36:28 -04:00 |
|
Simon Cruanes
|
0368a29ada
|
add helper in base
|
2021-07-04 01:29:23 -04:00 |
|
Simon Cruanes
|
71360ad1f8
|
refactor: change signature of field access in CC
|
2021-07-04 00:25:59 -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 |
|
Simon Cruanes
|
655ea76a6a
|
fix(proof): sharing of terms must define them in order
sometimes we use an already existing shortcut, but before it's
introduced, so we can just introduce the shortcut early.
|
2021-06-17 22:00:27 -04:00 |
|
Simon Cruanes
|
952740f66f
|
add test case to mini-cc
|
2021-06-16 20:10:26 -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
|
941fe92125
|
callbacks for conflict/decisions/new-atoms
breaking change for `solve`, remove the `on_conflict` callback. it's
provided at creation time instead.
|
2021-06-15 21:17:25 -04:00 |
|
Simon Cruanes
|
e979b88148
|
add IArray.iteri2
|
2021-06-15 20:54:43 -04:00 |
|