Commit graph

1928 commits

Author SHA1 Message Date
Simon Cruanes
3412b272fb
fix(tvar): remove redundant has_value bitvec 2023-05-07 21:03:35 -04:00
Simon Cruanes
1153c21a52
feat(cdsat): add variables (to plugins, to-decide set) 2023-05-07 21:03:34 -04:00
Simon Cruanes
c5f00b5204
feat(cdsat): revamp watches 2023-05-07 21:03:34 -04:00
Simon Cruanes
c34e648148
feat(cdsat): use Vars_to_decide to decide in main outer loop 2023-05-07 21:03:34 -04:00
Simon Cruanes
299acc184c
feat(cdsat): add basic VMTF Vars_to_decide to track undecided vars 2023-05-07 21:03:34 -04:00
Simon Cruanes
6374fd7d5f
wip(cdsat): start implementing propagation 2023-05-07 21:03:34 -04:00
Simon Cruanes
6f1abedb44
feat(cdsat): embryo of plugins for bool and UF 2023-05-07 21:03:33 -04:00
Simon Cruanes
91d5c0fa85
detail in sidekick_base 2023-05-07 21:03:33 -04:00
Simon Cruanes
5a7ca4ca2e
feat(util): improve debug printer wrt newlines 2023-05-07 21:03:33 -04:00
Simon Cruanes
b68ce33b86
feat(cdsat): term_to_var conversion, with hooks; solver wrapper 2023-05-07 21:03:33 -04:00
Simon Cruanes
2b4cbd9c05
wip: feat(cdsat): core solver 2023-05-07 21:03:32 -04:00
Simon Cruanes
903d12c39b
feat(main): with --cdsat, use cdsat solver 2023-05-07 21:03:32 -04:00
Simon Cruanes
8f2e2ac6de
feat(asolver): add pp_stats 2023-05-07 21:03:32 -04:00
Simon Cruanes
811c06b566
wip: feat(cdsat): plugins, main solver->Asolver.t 2023-05-07 21:03:32 -04:00
Simon Cruanes
b6a6e96f51
feat(cdsat): basic watch system 2023-05-07 21:03:32 -04:00
Simon Cruanes
adfe52bf1f
utils 2023-05-07 21:03:31 -04:00
Simon Cruanes
01a15ef0ed
fix(CC): give proper explanations to on-merge hook conflicts
the conflict is a clause purely made of negative equalities, but it
comes from a lemma with an additional literal [t=u]. we resolve this
literal away using a theory lemma before triggering the conflict proper.

checking CC lemma must occur on the original clause, not the conflict
itself.
2023-05-07 21:03:31 -04:00
Simon Cruanes
cd9aa883b2
wip: feat: start cdsat solver 2023-05-07 21:03:31 -04:00
Simon Cruanes
4a5ccffc7a
small change in sigs 2023-05-07 21:03:31 -04:00
Simon Cruanes
7fbfb8439b
Merge branch 'master' into wip-produce-smtlib-models 2023-04-20 22:10:03 -04:00
Simon Cruanes
659f69f989
opam 2023-04-20 10:40:44 -04:00
Simon Cruanes
40a743badb
update to handle mtime 2.0 2023-02-23 21:02:21 -05:00
Simon Cruanes
4c330e4ed6
ocamlformat 2023-02-23 21:01:34 -05:00
Simon Cruanes
f5ccbb476b
add todo 2022-10-23 20:58:25 -04:00
Simon Cruanes
651f2c1150
warnings 2022-10-23 20:56:10 -04:00
Simon Cruanes
7f5c6d4131
wip: check models 2022-10-23 20:56:05 -04:00
Simon Cruanes
f905b754aa
wip: check models 2022-10-23 20:55:25 -04:00
Simon Cruanes
173908cadc
warnings 2022-10-20 16:12:52 -04:00
Simon Cruanes
61f1854b80
feat(smtlib.model): improve printing of deeply nested ite 2022-10-19 22:29:19 -04:00
Simon Cruanes
082bfdd43a
better error 2022-10-19 22:29:13 -04:00
Simon Cruanes
cc090a4574
fix(main): consistent printing of models
whether it's --model or (get-model)
2022-10-19 22:28:52 -04:00
Simon Cruanes
9c9a6e0da5
refactor(model build): remove redundant class stuff 2022-10-19 22:28:38 -04:00
Simon Cruanes
bfab613d58
refactor(th-bool): no need for gensym 2022-10-19 22:26:37 -04:00
Simon Cruanes
5eab4bbb0d
feat(gensym): nicer names for gensym symbols 2022-10-19 22:25:29 -04:00
Simon Cruanes
f591b6e28a
fix(main): do not produce traces if it's not asked 2022-10-19 22:25:07 -04:00
Simon Cruanes
d9b9f79b75
fix(smtlib/model): fix construction of models
assign whole classes at once; make sure `compute_fixpoint` does not stop
too early
2022-10-18 22:47:50 -04:00
Simon Cruanes
297615b61b
feat(model): improve printing of smtlib models 2022-10-18 22:47:33 -04:00
Simon Cruanes
09d569ee68
fix test: restore printing for basic smt solver model 2022-10-15 23:17:49 -04:00
Simon Cruanes
24bbcb3fbb
improve model printing so it's more smtlib2.6 compatible 2022-10-15 23:15:42 -04:00
Simon Cruanes
4546b7cff2
feat(smt): produce better model, with eval function 2022-10-15 23:11:27 -04:00
Simon Cruanes
08541613af
refactor: model building in smtlib, for smtlib
- sidekick.model removed, now just smtlib.Model (specific to it)
- use function entries for models, not just term->term
- re-building models in smtlib driver
- asolver.solve, in Check_res.t, does not return a concrete model, but a
  bundle of functions to query the solver
- store constants in smtlib typechecker AST (so we can directly map them
  to values in model construction)
2022-10-15 22:42:10 -04:00
Simon Cruanes
5ca966a827
depth-restricted printing for terms and pterms 2022-10-13 21:43:16 -04:00
Simon Cruanes
fb8614f304
feat: decode proofs from traces; print them in show_trace 2022-10-13 00:03:08 -04:00
Simon Cruanes
4e1272d64a
test: update doc guide 2022-10-12 22:45:47 -04:00
Simon Cruanes
032be221a3
refactor: fix sudoku example 2022-10-12 22:20:43 -04:00
Simon Cruanes
a6d3ed259f
refactor: make it compile again (driver, main) 2022-10-12 22:19:41 -04:00
Simon Cruanes
48ebeb37fb
refactor(proof): serialize pterms; tracer inherits term tracer 2022-10-12 22:19:13 -04:00
Simon Cruanes
ad0165242f
refactor: update remaining theories for new proof style 2022-10-12 22:19:00 -04:00
Simon Cruanes
f275129967
refactor(smt): use sidekick.proof for proof tracing 2022-10-12 16:30:39 -04:00
Simon Cruanes
6f576e7d8b
adapt bin 2022-10-12 15:51:37 -04:00