Simon Cruanes
57591ba042
better normalization of terms in Th_bool
2018-02-17 15:33:32 -06:00
Simon Cruanes
9e52183b45
reexport more types in Term
2018-02-17 15:33:24 -06:00
Simon Cruanes
e1717f3afe
wip: heavy refactoring of SAT solver, making most things backtrackable
...
the idea is that most changes should be undone upon backtracking,
using the global `on_backtrack` command and `at_level_0` to
know when something is going to be permanent.
In particular, should be (possibly optionally) undone on backtracking:
- addition of clauses (clauses being attached)
- propagations of atoms
- addition of literals to the heap
- internalization of literals (tbd)
clauses should also be added immediately, not pushed into a queue
2018-02-11 22:58:24 -06:00
Simon Cruanes
2fcef323b3
move back process to dagon_smtlib
2018-02-11 10:47:47 -06:00
Simon Cruanes
98934ab74f
move boolean builtins to a sublibrary
2018-02-08 23:19:35 -06:00
Simon Cruanes
7b44146102
make it compile! with stubs for conversion parse ast -> ast -> term
2018-02-08 22:19:32 -06:00
Simon Cruanes
d73684902f
wip: have a proper smtlib parser
2018-02-05 23:09:29 -06:00
Simon Cruanes
221ed7dcdb
continue large refactoring, progress in theory combination
...
- first draft of theory combination
- theory interface
- have the project compile
2018-02-01 22:53:06 -06:00
Simon Cruanes
3377d05383
add Shostak solving in CC
2018-01-30 22:19:05 -06:00
Simon Cruanes
50fe488dcb
refactor types for terms and congruence closure
...
- terms are extensible
- explanations have a custom case, shaped as a term
- remove distinction repr/node in Equiv_class, for simplicity
- make propositional connectives n-ary
2018-01-30 21:55:37 -06:00
Simon Cruanes
2aab43f95d
comments and doc
2018-01-29 23:38:24 -06:00
Simon Cruanes
1d5c1c187c
wip: basic SMT infrastructure
...
- basic types, including terms and nodes (internalized terms)
- congruence closure
- utils
2018-01-25 23:32:36 -06:00
Simon Cruanes
e5e147eaed
draft of design doc for the CC
2018-01-23 23:19:10 -06:00
Simon Cruanes
8c8209c08c
large refactoring to keep only a simpler, easier CDCL(T) interface
...
- only one functor to instantiate
- explicit state that is carried around
- remove minismt stuff
2018-01-22 21:52:06 -06:00
Simon Cruanes
d415f8ed20
do not expose St in solver, but only expose a restricted API.
2017-12-29 18:29:56 +01:00
Simon Cruanes
99078b2335
make state explicit and add type t state-wrapper in most modules
2017-12-29 16:48:26 +01:00
Simon Cruanes
1cd70b048c
split some features into minismt lib
2017-12-28 19:43:54 +01:00
Simon Cruanes
1037c06636
use generative functors, remove a layer of nesting for SMT libs
2017-12-28 19:12:41 +01:00
Simon Cruanes
7722319b0a
move tseitin transformation into its own lib
2017-12-28 16:01:36 +01:00
Simon Cruanes
ac50e10788
big refactoring
...
- move to jbuilder
- use a functorial heap (with indices embedded in lit/var)
- update Vec with optims from mc2
- change semantics of Vec.shrink
- use new Log module
2017-12-28 15:51:04 +01:00
Guillaume Bury
679d928b88
Auto re-indent
2017-08-25 19:11:58 +02:00
Guillaume Bury
2f3a044271
Add local assumptions support to msat binary
2017-03-30 18:41:35 +02:00
Guillaume Bury
a13906184c
Fix warnings
2017-02-15 13:34:21 +01:00
Simon Cruanes
21206cb166
remove useless modules and update doc
2016-11-21 14:58:21 +01:00
Guillaume Bury
4fae86c81d
Fixed typo in smt typechecker
2016-09-23 14:02:12 +02:00
Guillaume Bury
9cf13bd7a2
Mcsat now works (for pure equality problems)
2016-09-22 18:31:22 +02:00
Guillaume Bury
4f5bb640ca
[WIP] All is setup, remains to have real theories
...
Architecture is now all setup, but theories for the smt and mcsat
solvers are currently dummy ones that are not doing anything.
2016-09-16 15:49:33 +02:00
Guillaume Bury
2a33534312
Added (dummy) mcsat module for test binary
2016-09-14 19:55:57 +02:00
Guillaume Bury
0631135bd5
Smt solver with dummy theory now builds
2016-09-12 15:43:57 +02:00
Guillaume Bury
dfff903f8c
Removed additional libs.
2016-09-12 15:32:22 +02:00
Guillaume Bury
9d509241ad
[WIP] Some drastic cleanup of code
...
Some of these changes are to be reverted, among other the structure of
terms used for the instantiation of the pure SAT solver
2016-09-09 18:09:04 +02:00
Guillaume Bury
742f8c469d
Added Expr and typing module from ArchSat
2016-09-07 17:58:07 +02:00
Simon Cruanes
bb2c931d68
wip
2016-08-24 18:23:01 +02:00
Simon Cruanes
41557a1509
wip: make SMT great again
2016-08-16 17:20:48 +02:00