Commit graph

14 commits

Author SHA1 Message Date
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
Renamed from src/base-solver/Form.ml (Browse further)