Simon Cruanes
d3702d1e1f
refactor: fix issues found by @gbury
2019-03-10 12:12:39 +01:00
Simon Cruanes
2aa9b3d4bc
refactor: modifications asked by @gbury in review
2019-03-10 12:12:39 +01:00
Simon Cruanes
efe93c3647
feat: Proof.check_empty_conclusion as a separate function
...
this allows the validity checking of proofs of 0-level lits
2019-03-10 12:12:39 +01:00
Simon Cruanes
c2a6c2d47b
refactor(propagate): make propagation clause lazy
2019-03-10 12:12:39 +01:00
Simon Cruanes
e30c54e11b
refactor: use hyper-res steps in proofs
...
- accelerates proof checking significantly
- provide a way to expand hyper-res steps into individual resolutions
(eg for the Coq backend)
2019-03-10 12:12:39 +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
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
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
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
8f1c24c1a6
refactor: change API to {final,partial}_check
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
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
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
1655d09035
refactor: simpler, cleaner functors
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
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
b2e646343a
do not expose St in solver, but only expose a restricted API.
2019-02-11 16:55:43 +01:00
Simon Cruanes
a34c191ddc
add optional size argument to create functions
2019-02-11 16:55:43 +01:00
Simon Cruanes
ef7333af6d
make state explicit and add type t state-wrapper in most modules
2019-02-11 16:55:43 +01:00
Simon Cruanes
768f59f88b
big refactoring
...
- move to jbuilder
- use a functorial heap (with indices embedded in lit/var)
- update Vec with optims from mc2
- change semantics of Vec.shrink
- use new Log module
2019-02-11 16:55:43 +01:00
Simon Cruanes
48ec2d732c
capitalization of files; add new Log
2019-02-11 16:55:43 +01:00