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
Simon Cruanes
e1a4ce587f
fix sudoku solver
2022-07-20 20:13:16 -04:00
Simon Cruanes
729c72a27d
sidekick.sh: make dune phase silent
2022-07-18 23:28:45 -04:00
Simon Cruanes
6dca63b0ea
renamings
2022-07-18 23:27:12 -04:00
Simon Cruanes
b0cb60ab67
gitignore
2022-07-18 23:27:07 -04:00
Simon Cruanes
f3f0628261
large refactor with signature splitting, events, etc.
2022-07-18 23:20:07 -04:00
Simon Cruanes
b2d0ea2d33
add sidekick.sh launcher script
2022-07-18 23:17:29 -04:00
Simon Cruanes
ea752b5cf5
feat: add some BACKTRACKABLE sigs
2022-07-17 20:21:22 -04:00
Simon Cruanes
833fa8e038
add Event abstraction in Util
2022-07-17 20:20:46 -04:00
Simon Cruanes
633a658e0c
wip: use new sigs
2022-07-15 23:51:53 -04:00
Simon Cruanes
ab6bcf8cbe
add many small sigs libraries
2022-07-15 23:51:41 -04:00
Simon Cruanes
679b35012b
SAT: remove clause pools
2022-07-15 21:12:04 -04:00
Simon Cruanes
00dec7ced8
remove iarray
2022-07-15 21:06:46 -04:00
Simon Cruanes
801d0b3e45
warnings
2022-07-15 20:32:58 -04:00
Simon Cruanes
5a559bec92
remove veci32
2022-07-15 20:32:06 -04:00
Simon Cruanes
ba4b4c0302
rename build
2022-07-14 22:29:48 -04:00
Simon Cruanes
44ca7daf75
remove file
2022-07-14 22:29:12 -04:00
Simon Cruanes
325acc5724
fix tests
2022-07-14 22:17:25 -04:00
Simon Cruanes
85c850d464
update tests after removal of lia
2022-07-14 22:10:14 -04:00
Simon Cruanes
a1bc186d2e
use ocamlformat
2022-07-14 22:09:13 -04:00
Simon Cruanes
e2b9b2874c
fix more warnings; remove never completed LIA stuff
2022-07-14 22:01:23 -04:00
Simon Cruanes
fd500a3d7d
fix some warnings
2022-07-14 21:56:37 -04:00
Simon Cruanes
96bc3e2340
update tests
2022-07-14 21:48:19 -04:00
Simon Cruanes
b16fce6f26
Merge branch 'master' into wip-model-th-comb
2022-07-14 21:46:36 -04:00
Simon Cruanes
1946a5e7cf
feat: construct model from congruence closure after th-combination
...
we already obtain a model from theories, and saturate the congruence
closure with it, it's a shame not to use it.
2022-02-18 14:59:27 -05:00
Simon Cruanes
a388c96fe3
cc: remove new_merges
2022-02-18 14:59:27 -05:00
Simon Cruanes
cdc5d160a7
cc: use backtrackable table
2022-02-18 14:59:27 -05:00
Simon Cruanes
d153c80ca5
details
2022-02-18 14:59:27 -05:00
Simon Cruanes
8530c07c59
lra: better debug
2022-02-18 14:59:27 -05:00
Simon Cruanes
8fb0152754
feat(smt): simplify the final check loop significantly
2022-02-18 14:59:26 -05:00
Simon Cruanes
da18ba3620
perf(cc): only assign model values to term present in CC
2022-02-18 14:59:26 -05:00
Simon Cruanes
6e941683a2
add with_model_mode to congruence closure
...
this mode:
- enables `set_mode_value`
- disables all callbacks
- can only be used locally with a push/pop wrapper
2022-02-18 14:59:26 -05:00
Simon Cruanes
95f84b4854
refactor(th-comb): provide full model to the CC
...
this way it can fail on merges of classes assigned conflicting value.
2022-02-18 14:59:26 -05:00
Simon Cruanes
fd66039c8d
wip: theory combination by exposing model (classes) directly to CC
2022-02-18 14:59:26 -05:00
Simon Cruanes
65d4a90df1
tef: stop compression, too fragile. just emit a .json file
2022-02-18 14:59:26 -05:00
Simon Cruanes
f26d178380
feat(main): catch ctrl-c to cleanup
...
this allows us to cleanup progress bar, print stats, finish tracing,
etc.
2022-02-18 14:59:26 -05:00
Simon Cruanes
52cae96ee2
improve progress bar and printingof stat after timeout
2022-02-18 14:59:25 -05:00
Simon Cruanes
20791a551f
feat: enforce time/memory limits in main runner
2022-02-17 13:09:48 -05:00
Simon Cruanes
e177534a46
chore: ugprade bare encoding
2022-02-16 14:20:27 -05:00
Simon Cruanes
c0288902c0
feat: check on_progress in more places
2022-02-16 13:24:43 -05:00
Simon Cruanes
5b0a2ad4a4
debug
2022-02-15 16:57:25 -05:00
Simon Cruanes
f3947f2237
update model construction function
2022-02-15 12:23:04 -05:00