Commit graph

19 commits

Author SHA1 Message Date
Simon Cruanes
7b4404fb78
feat(tracing): introduce term/const serialization
- use a record instead of 1st class module for `Const.ops`, so it
  can be mutually recursive with the definition of `term`
- remove unused `Const.ops.opaque_to_cc`
- constants are serializable using `Ser_value`
2022-09-23 22:13:21 -04:00
Simon Cruanes
8811699410
feat(term): add open_eq 2022-09-10 14:09:55 -04:00
Simon Cruanes
efc01f507b
feat(term): add is_pi and weak containers 2022-09-01 22:33:15 -04:00
Simon Cruanes
ccb3753668
wip(smt): theory combination 2022-08-27 21:38:20 -04:00
Simon Cruanes
137183f2fe
small fixes, warnings 2022-08-27 20:44:13 -04:00
Simon Cruanes
90f100d9b1
helpers to build terms and solvers 2022-08-27 20:24:28 -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
dd66efb772
feat(term): add App_uncurried constructor
sometimes currying is really costly. For example, in boolean formulas,
the formula `/\_i=1^100 a_i` has 100 atoms as subterms, but if
represented curried with binary `/\` it also has 98 intermediate
conjunctions as subterms. With how the rest of sidekick works, this
means each of these gets its own atom and CNF; instead we're going to
use App_uncurried.
2022-08-22 22:12:27 -04:00
Simon Cruanes
0c658e3ee4
feat(term): add replace 2022-08-18 22:01:41 -04:00
Simon Cruanes
6a4947a25c
feat(term): printer 2022-08-16 23:21:07 -04:00
Simon Cruanes
632d5e3f40
fix(core-logic): ensure store IDs fit in 5 bits 2022-08-13 13:29:49 -04:00
Simon Cruanes
e99192869d
remove debug 2022-08-12 23:17:15 -04:00
Simon Cruanes
67d5f244c1
feat(Term): offer is_type and is_a_type 2022-08-10 22:41:26 -04:00
Simon Cruanes
8777682e07
detail in core_logic 2022-08-10 22:08:33 -04:00
Simon Cruanes
68c03a39b3
feat(core-logic): add a few builtins (=, bool, ite, not, true, false) 2022-07-28 20:50:12 -04:00
Simon Cruanes
a4db8b6e94
small improvement 2022-07-28 15:27:14 -04:00
Simon Cruanes
c6407bfec1
refactor a bit 2022-07-28 14:54:23 -04:00
Simon Cruanes
bfa434562e
fix(core-logic/term): make ty unfailing; fix DB bugs 2022-07-28 14:51:24 -04:00
Simon Cruanes
6f376cfaf2
refactor: rename core-ast to core-logic; split into modules 2022-07-28 13:54:38 -04:00