Simon Cruanes
d58759aa8c
fix: integrate negation into CC; map boolean subterms to literals
2019-03-22 19:41:05 -05: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
a463dbb4b5
feat(cc): split sub-library sidekick.cc, make it fully functorized
2019-02-09 21:57:20 -06:00
Simon Cruanes
162b6fad98
refactor(term): notion of is_value, which are kept as representatives
2018-08-18 17:19:50 -05:00
Simon Cruanes
ce9bcb234d
refactor(term): printing utils
2018-08-18 14:52:44 -05:00
Simon Cruanes
04f25779fa
refactor(term): much simpler term model, without builtins or typeclass
...
just use a few custom functions in `Cst.t`
2018-05-25 23:45:15 -05:00
Simon Cruanes
eb40cfa5e3
wip
2018-05-09 18:14:06 -05: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
98934ab74f
move boolean builtins to a sublibrary
2018-02-08 23:19:35 -06:00
Simon Cruanes
7b44146102
make it compile! with stubs for conversion parse ast -> ast -> term
2018-02-08 22:19:32 -06:00
Simon Cruanes
221ed7dcdb
continue large refactoring, progress in theory combination
...
- first draft of theory combination
- theory interface
- have the project compile
2018-02-01 22:53:06 -06:00
Simon Cruanes
50fe488dcb
refactor types for terms and congruence closure
...
- terms are extensible
- explanations have a custom case, shaped as a term
- remove distinction repr/node in Equiv_class, for simplicity
- make propositional connectives n-ary
2018-01-30 21:55:37 -06:00
Simon Cruanes
1d5c1c187c
wip: basic SMT infrastructure
...
- basic types, including terms and nodes (internalized terms)
- congruence closure
- utils
2018-01-25 23:32:36 -06:00