Simon Cruanes
43c8e60790
use trace instead of our own custom tracing setup
2023-10-06 22:04:15 -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
9c9a6e0da5
refactor(model build): remove redundant class stuff
2022-10-19 22:28:38 -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
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
f275129967
refactor(smt): use sidekick.proof for proof tracing
2022-10-12 16:30:39 -04:00
Simon Cruanes
85ba423e8c
wip: refactor(smt): use sidekick.proof for proof tracing
2022-10-12 12:22:19 -04:00
Simon Cruanes
3aadc640c4
improve tracing, add show_trace
2022-09-30 22:11:41 -04:00
Simon Cruanes
fd39a414c3
fix(smt): sign error in literal
2022-09-10 21:48:08 -04:00
Simon Cruanes
721ed2eac0
refactor(preprocess): introduce Find_foreign, runs after preprocess
2022-09-10 14:10:36 -04:00
Simon Cruanes
e94a7bd31c
refactor(preprocess): directly forward preprocess actions to solver
2022-09-08 22:05:40 -04:00
Simon Cruanes
c9138144f3
refactor(preprocess): break infinite recursion
2022-09-08 21:55:09 -04:00
Simon Cruanes
317f406620
wip: refactor(preprocess): recursive preprocess guided by theories
2022-09-07 19:35:09 -04:00
Simon Cruanes
e74439cf2a
wip: new attempt at theory combination
2022-09-01 22:34:27 -04:00
Simon Cruanes
4c90405391
refactor a bit
2022-08-27 23:09:29 -04:00
Simon Cruanes
5feb5d8e73
refactor: new API for combination, with theories claiming terms
...
interface variables are terms claimed by >= 2 theories. Theories now
have a unique ID attributed at their creation.
2022-08-27 22:51:16 -04:00
Simon Cruanes
ccb3753668
wip(smt): theory combination
2022-08-27 21:38:20 -04:00
Simon Cruanes
4d78be0c52
wip: model builder
2022-08-25 20:13:49 -04:00
Simon Cruanes
6ad07921c4
details
2022-08-22 22:12:27 -04:00
Simon Cruanes
dde63a9ef2
refactor: stats, small changes
2022-08-22 22:12:27 -04:00
Simon Cruanes
dff65c5d26
refactor: Term.abs takes store again, so abs false can be false,true
2022-08-22 22:12:26 -04:00
Simon Cruanes
e34f5a5c3c
cleanup
2022-08-21 13:53:48 -04:00
Simon Cruanes
ca1abd8134
fix(smt): perform CC check after theory actions
2022-08-20 22:07:21 -04:00
Simon Cruanes
663f291bd5
port fix for bug introduced in 1946a5e7
2022-08-16 23:25:44 -04:00
Simon Cruanes
517a5d2e5f
better tracing
2022-08-13 13:55:01 -04:00
Simon Cruanes
4dcc3ea4ad
small changes in smt
2022-08-07 22:41:13 -04:00
Simon Cruanes
1edf054104
refactor(proof): use a suspension but keep uniform Proof_term.data type
...
this makes proof terms uniformly printable or (de)serializable.
2022-07-31 15:01:11 -04:00
Simon Cruanes
05faac97e7
refactor(smt): remove functor, split into modules
2022-07-30 21:18:46 -04:00
Simon Cruanes
b97582daa2
wip: refactor(smt): remove layers of functors, split into modules
2022-07-30 00:19:29 -04:00