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
2f96f36e75
chore: generate opam files from dune-package
2022-10-10 13:41:07 -04:00
Simon Cruanes
4cb3299804
chore: ocamlformat
2022-10-05 09:16:32 -04:00
Simon Cruanes
656d93d5fb
smt tracer is now a clause tracer
2022-10-02 23:23:34 -04:00
Simon Cruanes
06a0089a8c
feat: add Clause_tracer, works both for SMT and SAT
2022-10-02 23:07:53 -04:00
Simon Cruanes
d9b76814dd
ignore
2022-10-02 23:07:45 -04:00
Simon Cruanes
96dddb5383
feat: show_trace, and trace_reader, can now display a QF_UF trace
...
the trace can contain assertions.
2022-09-30 23:05:00 -04:00
Simon Cruanes
3aadc640c4
improve tracing, add show_trace
2022-09-30 22:11:41 -04:00
Simon Cruanes
8f563c838f
wip: Tracer for SMT
2022-09-26 22:44:43 -04:00
Simon Cruanes
342bf87759
refactor(core/term): tracer is now a class
...
this way we can inherit it in tracers that can trace many things,
including terms.
2022-09-26 22:43:49 -04:00
Simon Cruanes
40e124931c
doc: update readme
2022-09-26 21:00:09 -04:00
Simon Cruanes
1c11a82a7d
test: update doc guide
2022-09-26 20:57:55 -04:00
Simon Cruanes
dbe64f5975
feat: decoders for LRA terms
2022-09-26 20:57:48 -04:00
Simon Cruanes
17ac25d314
update tracing test
2022-09-26 20:47:48 -04:00
Simon Cruanes
45eebaae0f
some todos
2022-09-26 20:31:57 -04:00
Simon Cruanes
59306d2e01
fix sudoku solve
2022-09-26 20:14:26 -04:00
Simon Cruanes
a99fbed159
test: repair test
2022-09-25 23:13:45 -04:00
Simon Cruanes
8cbb200f18
basic test for tracer/trace reader using bencode
2022-09-25 23:05:16 -04:00
Simon Cruanes
c2e5f31645
change signature of Const.decoders; add bencode decoder
2022-09-25 23:05:15 -04:00
Simon Cruanes
9ea8ba9bd1
feat: implement some const decoders
2022-09-25 23:05:15 -04:00
Simon Cruanes
798993fee2
feat(trace): start basic trace reader for terms, using Source
2022-09-25 23:05:15 -04:00
Simon Cruanes
f2471fd78c
feat(trace): add Source, to read traces
2022-09-25 23:05:14 -04:00
Simon Cruanes
ca3262eac3
minor change in term tracer
2022-09-25 23:05:14 -04:00
Simon Cruanes
27b0374c62
feat(util): more functions in Ser_decode
2022-09-25 23:05:13 -04:00
Simon Cruanes
15bc5c4b60
feat(core): add LRU to support entry decoding in term reader
2022-09-25 23:05:13 -04:00
Simon Cruanes
7b4404fb78
feat(tracing): introduce term/const serialization
...
- use a record instead of 1st class module for `Const.ops`, so it
can be mutually recursive with the definition of `term`
- remove unused `Const.ops.opaque_to_cc`
- constants are serializable using `Ser_value`
2022-09-23 22:13:21 -04:00
Simon Cruanes
dcad86963d
wip: sidekick_trace
2022-09-19 22:27:46 -04:00
Simon Cruanes
72990de373
wip: feat(core): tracing terms, make constants (de)serializable
2022-09-19 22:27:45 -04:00
Simon Cruanes
7232d43d99
feat(util): basic Ser_decode for deserialization
2022-09-19 22:27:45 -04:00
Simon Cruanes
adcb6233a3
feat(ser_value): print
2022-09-19 22:27:44 -04:00
Simon Cruanes
9a2249292f
feat: add sidekick.bencode for serialization
2022-09-19 22:27:44 -04:00
Simon Cruanes
d518511c64
feat(util): add Ser_value
2022-09-19 22:27:43 -04:00
Simon Cruanes
a313918e74
doc
2022-09-19 22:27:43 -04:00
Simon Cruanes
88a10dcf3a
feat(Error): add Error.result/try_
2022-09-19 22:27:43 -04:00
Simon Cruanes
e73bf4d3e5
util: add Str_map
2022-09-19 22:27:42 -04:00
Simon Cruanes
1c07b027ef
refactor(const): remove opaque_to_cc
2022-09-19 22:27:42 -04:00
Simon Cruanes
d58c81e83f
wip: tracing system
2022-09-18 15:54:34 -04:00
Simon Cruanes
86106f182b
chore: makefile targets for some incremental benchs
2022-09-16 21:08:58 -04:00
Simon Cruanes
c50a373d2e
refactor: extract Model into its own library
2022-09-16 20:27:01 -04:00
Simon Cruanes
24251399bf
comments
2022-09-16 19:51:10 -04:00
Simon Cruanes
c49edd8d70
fix debug msg
2022-09-16 19:49:58 -04:00
Simon Cruanes
0b951b92d3
fix some warnings
2022-09-14 18:20:10 -04:00
Simon Cruanes
e9eab74b1e
fix(lra): preprocess in the right order
...
- relate `a=b` to `[[ a >= b ]]` and `[[ a <= b ]]`
- keep `a=b` as is, for CC
2022-09-12 22:45:07 -04:00
Simon Cruanes
2764882f50
fix(preprocess): type check was invalid
2022-09-11 14:50:18 -04:00
Simon Cruanes
c18b824037
fix(lra): preprocess was returning wrong term
...
(with wrong type).
2022-09-11 14:36:38 -04:00
Simon Cruanes
469b97934a
fix: more type checks in preprocess
2022-09-11 14:26:34 -04:00
Simon Cruanes
3d0461936f
fix: remove spurious check?
2022-09-11 14:10:01 -04:00
Simon Cruanes
abff92d972
fix warning
2022-09-11 14:09:56 -04:00