Commit graph

13 commits

Author SHA1 Message Date
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