Simon Cruanes
c9127c6cd7
fix(base/form): fix CNF for equiv
2022-09-10 21:48:51 -04:00
Simon Cruanes
80b08e03cb
feat(const): add opaque_to_cc property, to control CC
2022-08-31 00:41:42 -04:00
Simon Cruanes
f0041f9dae
feat: reinstate LRA theory and terms
2022-08-26 22:17:02 -04:00
Simon Cruanes
28173c1852
feat(term): replace E_app_uncurried with E_app_fold
2022-08-25 20:50:56 -04:00
Simon Cruanes
279ceade78
feat(base): in Form, use uncurried forms for and/or
2022-08-22 22:12:27 -04:00
Simon Cruanes
6c14690fba
cleanup code
2022-08-16 21:27:46 -04:00
Simon Cruanes
b73c1bf464
feat(bool): use binary symbols for boolean operators
...
this helps in simplifying only fully applied boolean operators, and
avoiding simplifying the binary function `(or)` to `(false)`
2022-08-10 22:41:53 -04:00
Simon Cruanes
5b6fd14dcf
wip: refactor(base): split into several views, all based on Const
2022-08-07 22:41:26 -04:00
Simon Cruanes
24e79df776
wip: refactor base
2022-08-05 21:56:17 -04:00
Simon Cruanes
00dec7ced8
remove iarray
2022-07-15 21:06:46 -04:00
Simon Cruanes
a1bc186d2e
use ocamlformat
2022-07-14 22:09:13 -04:00
Simon Cruanes
cbc9c5ac6f
refactor(smt): preprocessing is now using a queue of delayed actions
...
- preprocessing doesn't simplify anymore, it assumes terms are already
simplified. It only adds clauses/adds literals, it does not return
new terms.
- adding clauses/literals to SAT is done as delayed actions, to avoid
issues of reentrancy.
These actions are performed after preprocessing, in a loop that has
access to the SAT solver.
2022-02-04 16:08:01 -05: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