Simon Cruanes
dd50ab079e
remove most proof-trace code
2022-07-30 23:59:15 -04:00
Simon Cruanes
06107c212f
remove most sigs
2022-07-30 23:58:34 -04:00
Simon Cruanes
65e876bebc
chore: makefile
2022-07-30 23:58:18 -04:00
Simon Cruanes
ee2ea784ad
remove Vec_unit
2022-07-30 23:22:25 -04:00
Simon Cruanes
36204c5e5e
refactor some more
2022-07-30 23:04:49 -04:00
Simon Cruanes
0ff5ac9a3f
refactor(th-lra): rename to th-lra
2022-07-30 23:03:57 -04:00
Simon Cruanes
0d0751b7d2
refactor(theories): remove functors
2022-07-30 23:02:13 -04:00
Simon Cruanes
df9fa11507
refactor(th-lra): adapt to new code
2022-07-30 21:51:46 -04:00
Simon Cruanes
05faac97e7
refactor(smt): remove functor, split into modules
2022-07-30 21:18:46 -04:00
Simon Cruanes
6e1da96e7e
include solver directly in Sidekick_sat
2022-07-30 21:18:18 -04:00
Simon Cruanes
1e1b0f352d
feat(simplify): add sidekick_simplify library
2022-07-30 21:17:55 -04:00
Simon Cruanes
83e456ef8a
remove sidekick_lit functor
2022-07-30 21:17:37 -04:00
Simon Cruanes
1ecb189fd5
refactor: core and CC
2022-07-30 21:17:20 -04:00
Simon Cruanes
085e37e063
refactor(sat): remove functor, split into modules
2022-07-30 20:27:47 -04:00
Simon Cruanes
b97582daa2
wip: refactor(smt): remove layers of functors, split into modules
2022-07-30 00:19:29 -04:00
Simon Cruanes
7595f66e59
refactor(core): add Proof_step
2022-07-29 23:27:04 -04:00
Simon Cruanes
a9ae790d7f
refactor(cc): split into modules, fully defunctorize
2022-07-29 23:25:48 -04:00
Simon Cruanes
e30590955e
refactor(sat): remove unused values, split code off main functor
2022-07-29 22:37:31 -04:00
Simon Cruanes
d4ba4602a4
refactor(sat): simplify interface a lot
...
- pure_sat is not a functor anymore
- make_cdcl_t is only functorized over theory
- both use standard `Lit.t` and proofs
2022-07-29 22:28:21 -04:00
Simon Cruanes
c09650db51
refactor(cc): continue de-functorizing
2022-07-29 00:15:05 -04:00
Simon Cruanes
464bc66474
wip: refactor(cc): remove layers of functorization
2022-07-29 00:02:27 -04:00
Simon Cruanes
1905d2d628
feat(core): improve Lit
2022-07-29 00:02:06 -04:00
Simon Cruanes
9df981d650
feat(core): concrete lit, proof traces, proof terms
2022-07-28 23:30:56 -04:00
Simon Cruanes
65c6872853
details: synopsis in dune files
2022-07-28 23:30:42 -04:00
Simon Cruanes
c1af4374bd
core-logic: make Types_ private
2022-07-28 23:12:18 -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
e70daf4531
remove dead code
2022-07-28 14:52:11 -04:00
Simon Cruanes
e235a65567
test: add more to unittest/core-logic
2022-07-28 14:52:02 -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
dbd20c999b
refactor test
2022-07-28 13:55:09 -04:00
Simon Cruanes
6f376cfaf2
refactor: rename core-ast to core-logic; split into modules
2022-07-28 13:54:38 -04:00
Simon Cruanes
435845d1d4
update tests
2022-07-27 22:45:10 -04:00
Simon Cruanes
88eb2575c3
feat(sigs): add some basic sigs
2022-07-27 22:40:46 -04:00
Simon Cruanes
2db3343bcd
improve unittest for core-ast
2022-07-27 22:40:36 -04:00
Simon Cruanes
8950601fb2
fix(core-ast): fix some issues in type computations; print arrows
2022-07-27 22:40:16 -04:00
Simon Cruanes
e52a7ac0ea
test: add basic unit-test for core-ast
2022-07-27 21:41:59 -04:00
Simon Cruanes
410c5b1ee2
feat: start core-ast library
...
this will be the foundation of types and terms in sidekick.
It shall implement barebone calculus-of-constructions.
2022-07-27 21:41:00 -04:00
Simon Cruanes
0e5bde0f40
detail
2022-07-23 00:24:56 -04:00
Simon Cruanes
4a6237191e
wip: try to restore old model construction
2022-07-22 22:16:04 -04:00
Simon Cruanes
2922cca78f
fix: proper negation when raising an acyclicity conflict
2022-07-22 21:54:22 -04:00
Simon Cruanes
c8800fe3e2
promote test results
2022-07-22 21:45:56 -04:00
Simon Cruanes
851dda696a
feat(cc): have 2 phases of pre-merge events
...
the first phase observes plugin data unchanged; the second one
is used to update plugin data themselves. This fix a bug that manifests
itself depending on implementation details of Event, where some theory's
event handler fires too late and observes a state that has already
changed.
2022-07-22 21:31:42 -04:00
Simon Cruanes
6da6284711
refactor(cc): use explicit actions in CC, not effectful functions
2022-07-22 21:26:21 -04:00
Simon Cruanes
e37f66c394
feat(cc): remove same-val explanations and model mode
2022-07-21 23:29:07 -04:00
Simon Cruanes
dc68a60151
feat(cc): remove callbacks, return list of actions
2022-07-21 23:21:07 -04:00
Simon Cruanes
6694ce856b
fix sat for new event
2022-07-21 23:21:01 -04:00
Simon Cruanes
7a6d94e622
event: add a return type
2022-07-21 23:20:44 -04:00
Simon Cruanes
b10aaf05f2
wip: expose bug caused by order of event handlers
...
if plugin data is updated before `Th_data.on_pre_merge` is called, it
never has a chance to observe the un-merged data and react accordingly.
we need to ensure that all handlers see the same data before any change
is made.
2022-07-20 21:40:04 -04:00