Simon Cruanes
|
f62fa88b0f
|
api: annotate input clauses with theory proofs, too
this replaces the old "tag" system
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
79bd88b999
|
api: remove spurious () for calls to solve
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1736b4a99e
|
api: sat_state takes formulas, not atoms
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a58c940c6d
|
feat: ask less from values in mcsat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
4fbaae7d2d
|
refactor(log): use a S-expr-style format for log messages
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
0a3a3b576a
|
refactor: remove dead code, some basic simplifications
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
fdc042aee3
|
fix: no need to add trivial clauses at all
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
83c0d0e7f1
|
feat: add Value.t to the mcsat interface
it can be useful to separate terms from pure values.
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
95bdc80ed5
|
feat: rename slice to acts, add some functions in it
- add literal
- add term
- eval literal
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
872d4433db
|
feat: add a "backtrackable ref" module
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8f1c24c1a6
|
refactor: change API to {final,partial}_check
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a0ba576b0f
|
test: details in sudoku solver
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a6d74898ff
|
test: add another check to the sudoku solver
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ced266663e
|
refactor: change backtracking API (push/pop_levels)
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
f26f74e119
|
fix: bugfix in construction of slices in SAT/theory interface
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
5e1508ff2b
|
refactor: use a vec for the new clauses
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
14319f959f
|
refactor: a bit of cleanup in analyze
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a5ec88f2a7
|
refactor: use Var.mark and a pre-allocated vec for analyze
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
cf6147c500
|
details
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
9024b0f0a9
|
refactor: change theory API to be simpler and more imperative
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
74956e2e87
|
fix(proof): fix proof production for unsat cores
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8f29aa8005
|
refactor: small cleanup
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ca62db00e1
|
perf: garbage collect clauses (only for clauses with ≥3 lits)
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
3c940ed4f6
|
refactor(core): use bitfield in clauses, use Vec.iter more
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
0d7ae34880
|
fix(analyze-final): mistake in production of unsat cores
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
52ae127a5d
|
refactor: implement analyze_final to compute unsat cores
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
4ca441fa38
|
fix(core): cancel-until 0 before solving
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
aa47a44242
|
feat: expose msat.sat as a proper library, with module Int_lit
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1136416a7c
|
wip: remove push/pop
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
f3488d68db
|
test: add regression tests and icnf parser for assumptions
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
df9538a91e
|
perf: exit early from propagation loop in case of conflict
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1655d09035
|
refactor: simpler, cleaner functors
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c815ccf648
|
refactor: use pp instead of print
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7e9fd1a363
|
perf: remove bitfield, implement it manually
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8b4458b066
|
refactor(api): make theory state also explicit
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
e60aff60b6
|
refactor: simplify vec, remove the need to provide dummy elt
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
b3fc070d09
|
style: remove old headers
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
05e2506362
|
refactor: remove minismt things, make simple msat.sh
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
2fb51d8082
|
chore: move to dune
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
6eeb649cdc
|
doc
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
27cbb981e7
|
more controled API for Res
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
83d3048648
|
a bit of doc
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
f5066a2ff3
|
typo
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
6762985d18
|
expose {push,pop} in main solver
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
241e2fa4d7
|
remove useless functions
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
87fc9aef26
|
reinstate better way of picking watch literals
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
5279456419
|
reset some record accesses, for perf
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
585bf6bd50
|
detail
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
b2e646343a
|
do not expose St in solver, but only expose a restricted API.
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
a612a1cda2
|
make Solver.t more lightweight by removing some useless fields
|
2019-02-11 16:55:43 +01:00 |
|