Commit graph

1294 commits

Author SHA1 Message Date
Simon Cruanes
eff6016151
support trace-fuchsia if present 2023-12-27 17:24:35 -05:00
Simon Cruanes
54077446ca
require ocaml 4.08, compat with containers 3.13 2023-12-07 00:14:16 -05:00
Simon Cruanes
43c8e60790
use trace instead of our own custom tracing setup 2023-10-06 22:04:15 -04:00
Simon Cruanes
4bb15f8b5e
comments 2023-10-06 21:35:23 -04:00
Simon Cruanes
c35d721c6d fix: compute model even if (potentially) new interface eqns are produced
close #19
2023-06-28 11:42:26 -04:00
Simon Cruanes
923cbec6e5 remove debug msg 2023-06-26 15:40:38 -04:00
Simon Cruanes
8d8ef4211b fix sign error 2023-06-26 15:40:38 -04:00
Simon Cruanes
3ba2583966 fix lra: define expressions occurring in subterms properly
these sub-expressions need to be registered in the Simplex, possibly
using an intermediate variable in case there's an offset.
2023-06-26 15:40:38 -04:00
Simon Cruanes
c4d3c44c49 warnings and comments 2023-06-26 15:40:38 -04:00
Simon Cruanes
c64bebaf6f fix warning 2023-06-26 15:40:38 -04:00
Simon Cruanes
619da6fbcb
fix warnings 2023-06-23 20:44:01 -04:00
Simon Cruanes
40a743badb
update to handle mtime 2.0 2023-02-23 21:02:21 -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
f905b754aa
wip: check models 2022-10-23 20:55:25 -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
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
Simon Cruanes
85ba423e8c
wip: refactor(smt): use sidekick.proof for proof tracing 2022-10-12 12:22:19 -04:00
Simon Cruanes
46c44648e1
feat(core-logic): add builtin Proof type
not used yet
2022-10-12 12:22:04 -04:00
Simon Cruanes
7db5e1a902
refactor(sat): use new proof tracer from sidekick,proof 2022-10-12 12:21:45 -04:00
Simon Cruanes
5135d9920a
refactor(asolver): use new proof tracer from sidekick.proof 2022-10-12 12:21:20 -04:00
Simon Cruanes
ef3f2713dc
refactor(cc): use new proof trace from sidekick.proof 2022-10-12 12:21:06 -04:00
Simon Cruanes
8a3e7528c3
refactor(simplify): use new proof trace from sidekick.proof 2022-10-12 12:20:50 -04:00
Simon Cruanes
4b359a40f2
improve Int_id for tracing 2022-10-12 12:20:20 -04:00
Simon Cruanes
2726a3afe2
refactor: remove proof-trace infra from base to use sidekick.trace instead 2022-10-12 12:20:04 -04:00
Simon Cruanes
842a7de435
wip: refactor(core): remove proof representation from core 2022-10-12 12:18:52 -04:00
Simon Cruanes
82727cd7ad
wip: feat(core): term references 2022-10-12 12:18:40 -04:00
Simon Cruanes
51c48453ab
wip: feat(proof): lib sidekick.proof with tracing 2022-10-12 12:17:35 -04:00
Simon Cruanes
a47bbf45e8
refactor: use abstract-solver in smtlib driver; CDCL(T) implements asolver
this way we can add new SMT techniques without changing (much) the
driver.
2022-10-10 15:44:13 -04:00
Simon Cruanes
d08c8fe165
feat: add sidekick.abstract solver
this library provides an abstract interface for what a SMT solver provides,
independently of the underlying implementation technology.
2022-10-10 15:43:37 -04:00
Simon Cruanes
e3e71f3d76
refactor: smtlib driver now part of base; make it stateful 2022-10-10 14:28:43 -04:00
Simon Cruanes
656d93d5fb
smt tracer is now a clause tracer 2022-10-02 23:23:34 -04:00