Commit graph

8 commits

Author SHA1 Message Date
Simon Cruanes
da77d3ab3b add todo 2018-04-11 09:02:36 -05:00
Simon Cruanes
4e215e3d01 fix(cc): fix bugs in congruence closure and explanations
also, simplify API for backtracking
2018-04-02 21:10:49 -05:00
Simon Cruanes
dac3378198 improve SAT solver messages, remove semantic reason 2018-02-23 00:43:56 -06:00
Simon Cruanes
77af72e739 fix bugs in SAT solver
- new atoms must always be added to heap if not present
- fix slices dimensions at creation, do not depend on mutable indices
2018-02-19 21:32:13 -06:00
Simon Cruanes
d7fc5cf29d fix problems with slices in the SAT core 2018-02-19 20:47:43 -06:00
Simon Cruanes
d53bd8671a lower overhead for adding clauses to the SAT solver
- directly build clauses from arrays
- use IArrays rather than lists, when possible
- pushing local/persistent clauses is now direct, no more queues
2018-02-19 19:47:03 -06:00
Simon Cruanes
e1717f3afe wip: heavy refactoring of SAT solver, making most things backtrackable
the idea is that most changes should be undone upon backtracking,
using the global `on_backtrack` command and `at_level_0` to
know when something is going to be permanent.

In particular, should be (possibly optionally) undone on backtracking:
- addition of clauses (clauses being attached)
- propagations of atoms
- addition of literals to the heap
- internalization of literals (tbd)

clauses should also be added immediately, not pushed into a queue
2018-02-11 22:58:24 -06:00
Simon Cruanes
d73684902f wip: have a proper smtlib parser 2018-02-05 23:09:29 -06:00
Renamed from src/core/Internal.ml (Browse further)