Simon Cruanes
|
de1cc952a5
|
refactor: use new msat lazy propagation
|
2019-02-16 19:09:43 -06:00 |
|
Simon Cruanes
|
3873718174
|
refactor: require state in Lit.atom, and in Term.abs
allows abs(false)=true
|
2019-02-16 17:43:49 -06:00 |
|
Simon Cruanes
|
4d2bddc660
|
refactor(cc): smaller explanations for congruence-based merges
|
2019-02-16 17:43:04 -06:00 |
|
Simon Cruanes
|
14255f94a7
|
refactor(cc): remove dead code
|
2019-02-16 15:32:35 -06:00 |
|
Simon Cruanes
|
365aedb138
|
perf(cc): path compression
|
2019-02-16 15:28:16 -06:00 |
|
Simon Cruanes
|
ac030641db
|
refactor(ty): use Hashcons with weak table for types
|
2019-02-16 15:23:57 -06:00 |
|
Simon Cruanes
|
3b671aa7a4
|
refactor(term): use hashconsing with a weak table
|
2019-02-16 15:08:49 -06:00 |
|
Simon Cruanes
|
1ef0cf4183
|
refactor: small cleanup in terms
|
2019-02-16 14:58:13 -06:00 |
|
Simon Cruanes
|
a14fe25ba0
|
chore: add tools, update gitignore
|
2019-02-16 14:50:34 -06:00 |
|
Simon Cruanes
|
e878907f4b
|
refactor(bool): bool-view of terms, functorized theory
|
2019-02-16 14:49:00 -06:00 |
|
Simon Cruanes
|
1f68753121
|
refactor: remove proof printing code
|
2019-02-16 13:38:54 -06:00 |
|
Simon Cruanes
|
c06e4025fa
|
perf(bag): remove constant-time size
|
2019-02-16 13:38:43 -06:00 |
|
Simon Cruanes
|
eea95346eb
|
fix: remove dead aliases
|
2019-02-13 08:52:54 -06:00 |
|
Simon Cruanes
|
7f05da56cc
|
fix: cache E_unsat in direct add_clause functions
|
2019-02-11 18:11:33 -06:00 |
|
Simon Cruanes
|
4127db2153
|
Revert "fix: catch E_unsat in assume, if one adds an empty clause"
This reverts commit 5d7e34584bdbfd8326fbbf7f3314d93ac79597ce.
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7673bddf82
|
fix: catch E_unsat in assume, if one adds an empty clause
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ea98f6f027
|
refactor: return an array from conflict analysis
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
110eda2f05
|
feat: re-export exn
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
96c4d83781
|
detail: add debug message
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8ad78b2acd
|
refactor: a bit of cleanup for mcsat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7583e78bd2
|
fix(propagate): insert propagated literal itself
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
1ccc292d79
|
refactor: move Backtrackable_ref into its own sub-library
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
8d012d2f49
|
refactor: fix problems from review
- use `cid` instead of `name` for clauses
- has the name of the clause, not its content
- simplified some things
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c376f1d763
|
fix: msat.tseitin depends on msat
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
7891f2b69e
|
refactor: cleaner choice of which vector to add a clause to
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ba4c360cbd
|
fix: when simplifying, copy flags properly
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
d089db3e4d
|
feat: expose printers
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
6dbaa2d335
|
feat: expose eval_atom
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
c89a99e82b
|
rename log-proof to store-proof
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
ebd8ad7110
|
refactor: rename flag clause.{learnt,removable}
more accurate representation of the semantics, esp. for theory lemmas
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
da24541fa0
|
feat: allow optional disabling of proof logging
- goal: do not keep clauses alive after they're gc'd
- default is to indeed log proofs
|
2019-02-11 16:55:43 +01:00 |
|
Simon Cruanes
|
65a8a65095
|
chore: be robust to deprecations
|
2019-02-11 16:55:43 +01:00 |
|
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 |
|