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
dbe64f5975
feat: decoders for LRA terms
2022-09-26 20:57:48 -04:00
Simon Cruanes
45eebaae0f
some todos
2022-09-26 20:31:57 -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
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
0b951b92d3
fix some warnings
2022-09-14 18:20:10 -04:00
Simon Cruanes
c9127c6cd7
fix(base/form): fix CNF for equiv
2022-09-10 21:48:51 -04:00
Simon Cruanes
e74439cf2a
wip: new attempt at theory combination
2022-09-01 22:34:27 -04:00
Simon Cruanes
d741b4160d
remove is_valid_literal concept
2022-09-01 22:33:40 -04:00
Simon Cruanes
0797ff0409
tiny helper
2022-09-01 22:32:24 -04:00
Simon Cruanes
1ce1bd31b9
theory for uninterpreted types
2022-09-01 22:31:37 -04:00
Simon Cruanes
80b08e03cb
feat(const): add opaque_to_cc property, to control CC
2022-08-31 00:41:42 -04:00
Simon Cruanes
83a4ae46c1
fix: use standard = even for LRA terms
...
the LRA_view is only useful for views, but we build =/neq using builtin
=
2022-08-28 00:22:51 -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
137183f2fe
small fixes, warnings
2022-08-27 20:44:13 -04:00
Simon Cruanes
e3aa43f817
cleanup
2022-08-27 20:39:06 -04:00
Simon Cruanes
90f100d9b1
helpers to build terms and solvers
2022-08-27 20:24:28 -04:00
Simon Cruanes
f0041f9dae
feat: reinstate LRA theory and terms
2022-08-26 22:17:02 -04:00
Simon Cruanes
e03e5e77a9
add LRA_term to base
2022-08-25 23:03:12 -04:00
Simon Cruanes
28173c1852
feat(term): replace E_app_uncurried with E_app_fold
2022-08-25 20:50:56 -04:00
Simon Cruanes
279ceade78
feat(base): in Form, use uncurried forms for and/or
2022-08-22 22:12:27 -04:00
Simon Cruanes
57941a952a
add th-bool-dyn for dynamic boolean clausification
2022-08-16 21:30:17 -04:00
Simon Cruanes
6c14690fba
cleanup code
2022-08-16 21:27:46 -04:00
Simon Cruanes
e233c846ec
refactor: cleanup config a bit
2022-08-16 21:27:32 -04:00
Simon Cruanes
85314379a5
fix type of is_a
2022-08-12 23:21:56 -04:00
Simon Cruanes
85eef2d117
feat(base/data): fix types for cstor/select term builders
2022-08-12 23:17:20 -04:00
Simon Cruanes
b73c1bf464
feat(bool): use binary symbols for boolean operators
...
this helps in simplifying only fully applied boolean operators, and
avoiding simplifying the binary function `(or)` to `(false)`
2022-08-10 22:41:53 -04:00
Simon Cruanes
1f79ee05f2
wip: make Base really usable, add th-data/th-bool
2022-08-10 22:08:43 -04:00
Simon Cruanes
95dcb0ae74
wip: refactor further
2022-08-09 22:41:13 -04:00
Simon Cruanes
7d59846d72
wip: refactor base
2022-08-08 21:52:39 -04:00
Simon Cruanes
5b6fd14dcf
wip: refactor(base): split into several views, all based on Const
2022-08-07 22:41:26 -04:00
Simon Cruanes
24e79df776
wip: refactor base
2022-08-05 21:56:17 -04:00
Simon Cruanes
6dca63b0ea
renamings
2022-07-18 23:27:12 -04:00
Simon Cruanes
f3f0628261
large refactor with signature splitting, events, etc.
2022-07-18 23:20:07 -04:00
Simon Cruanes
00dec7ced8
remove iarray
2022-07-15 21:06:46 -04:00
Simon Cruanes
5a559bec92
remove veci32
2022-07-15 20:32:06 -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
b16fce6f26
Merge branch 'master' into wip-model-th-comb
2022-07-14 21:46:36 -04:00
Simon Cruanes
e177534a46
chore: ugprade bare encoding
2022-02-16 14:20:27 -05:00
Simon Cruanes
c22fc62f3e
base: remove simplex cases in arith terms
2022-02-08 13:14:07 -05:00
Simon Cruanes
cbc9c5ac6f
refactor(smt): preprocessing is now using a queue of delayed actions
...
- preprocessing doesn't simplify anymore, it assumes terms are already
simplified. It only adds clauses/adds literals, it does not return
new terms.
- adding clauses/literals to SAT is done as delayed actions, to avoid
issues of reentrancy.
These actions are performed after preprocessing, in a loop that has
access to the SAT solver.
2022-02-04 16:08:01 -05:00
Simon Cruanes
3fdb07b533
feat: handle get-model/get-value from smtlib inputs
2022-02-02 15:51:44 -05:00
Simon Cruanes
70206101f0
feat: update bare
2022-02-01 22:10:31 -05:00
Simon Cruanes
3c41ab2484
refactor: new term representation for LIA/LRA
2022-01-31 15:13:25 -05:00
Simon Cruanes
4b2afd7a05
wip: LIA theory
2022-01-13 12:55:36 -05:00
Simon Cruanes
8410a57f1a
wip: feat(LIA): LIA solver, will rely on LRA solver
...
we want to reuse the simplex, but do branch and bound + cutting planes
2022-01-11 14:00:04 -05:00