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
f52883f059
update tests
2018-02-08 22:19:28 -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
3e50a3fc5d
some updates to core lib
2018-01-26 21:32:21 -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
9e3484d2b3
update readme
2018-01-22 22:14:01 -06:00
Simon Cruanes
ac396e8cf5
rename to cdcl
2018-01-22 22:09:47 -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
7324647fb1
doc
2018-01-03 22:08:55 +01:00
Simon Cruanes
53cc8b35a0
more controled API for Res
2018-01-03 22:07:40 +01:00
Simon Cruanes
3f4f7ec7e4
a bit of doc
2018-01-03 22:01:12 +01:00
Simon Cruanes
c7015450a1
typo
2017-12-29 22:10:01 +01:00
Simon Cruanes
2caf53c24f
expose {push,pop} in main solver
2017-12-29 21:29:43 +01:00
Simon Cruanes
be929d056a
remove useless functions
2017-12-29 19:12:17 +01:00
Simon Cruanes
d47071c4f0
reinstate better way of picking watch literals
2017-12-29 19:00:54 +01:00
Simon Cruanes
70fcded713
reset some record accesses, for perf
2017-12-29 18:53:26 +01:00
Simon Cruanes
38b670ebc0
detail
2017-12-29 18:35:27 +01: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
c14f0ba020
make Solver.t more lightweight by removing some useless fields
2017-12-29 17:29:24 +01:00
Simon Cruanes
a65309d5e6
add optional size argument to create functions
2017-12-29 17:24:09 +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
148c1da3cc
wip: use submodules of Solver_types to clean up code
2017-12-29 15:29:04 +01:00
Simon Cruanes
06af58e6f3
faster addition of clauses' watch literals
...
instead of sorting the whole clause, just select two highest level lits
2017-12-29 12:32:27 +01:00
Simon Cruanes
1592196c72
dependencies in opam files; put binary in minismt package
2017-12-28 19:48:59 +01:00
Simon Cruanes
1cd70b048c
split some features into minismt lib
2017-12-28 19:43:54 +01:00
Simon Cruanes
d6c84b93bf
restrict what Msat core lib exposes, provide shortcuts
2017-12-28 19:31:55 +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
d4646ffd63
makefile
2017-12-28 19:12:32 +01:00
Simon Cruanes
b3e9b640f0
ocpindent config
2017-12-28 18:55:01 +01:00
Simon Cruanes
4aed7762a7
remove useless dir
2017-12-28 18:48:21 +01:00
Simon Cruanes
875efa33c6
update opam files
2017-12-28 18:33:52 +01:00
Simon Cruanes
db54c8e9b2
cleanup in fields
2017-12-28 18:03:00 +01:00
Simon Cruanes
d884c9fe41
travis
2017-12-28 17:33:03 +01:00
Simon Cruanes
2a3afe7ec1
update travis
2017-12-28 16:08:49 +01:00
Simon Cruanes
5e12b26fc0
fix warnings
2017-12-28 16:02:47 +01:00
Simon Cruanes
7722319b0a
move tseitin transformation into its own lib
2017-12-28 16:01:36 +01:00
Simon Cruanes
64d7314aab
details
2017-12-28 15:55:00 +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
Simon Cruanes
fc5a2d4e9d
capitalization of files; add new Log
2017-12-28 14:13:10 +01:00
Guillaume Bury
bed469c0cf
Clear unused hyps in coq proofs
2017-08-29 15:18:10 +02:00
Guillaume Bury
7749f7aaac
Manual re-indent
2017-08-25 19:15:12 +02:00
Guillaume Bury
679d928b88
Auto re-indent
2017-08-25 19:11:58 +02:00
Guillaume Bury
631280af9a
Remove use of Array.memq (absent from ocaml <4.03)
2017-08-25 19:08:52 +02:00