mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-07 03:35:38 -05:00
update index
This commit is contained in:
parent
dccc4b83eb
commit
fad57a7ee0
1 changed files with 26 additions and 2 deletions
28
index.md
28
index.md
|
|
@ -1,5 +1,29 @@
|
|||
# Sidekick
|
||||
|
||||
## Documentation
|
||||
Sidekick is an OCaml framework to implement and use
|
||||
[SMT solvers](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories)
|
||||
based on [CDCL](https://en.wikipedia.org/wiki/Conflict-driven_clause_learning).
|
||||
|
||||
- [dev](dev/index.html)
|
||||
It is heavily functorized (parametrized) so it can use user-provided data structures,
|
||||
term representation, etc. and each part is _potentially_ swappable, even the SAT solver.
|
||||
|
||||
Sidekick is composed of a few libraries:
|
||||
|
||||
- `sidekick` contains the core type definitions, a congruence closure,
|
||||
some theories (boolean formuals, algebraic datatypes),
|
||||
and a solver implementation based on [mSAT](https://github.com/Gbury/mSAT).
|
||||
|
||||
`Sidekick_core` is the most important module to read there.
|
||||
- `sidekick-arith` depends on [Zarith](https://github.com/ocaml/Zarith)
|
||||
for arbitrary-precision computations, and provides a LRA theory based
|
||||
on an implementation of the Simplex algorithm.
|
||||
- `sidekick-bin` is an executable that uses the previous building blocks
|
||||
to implement a concrete SMT solver. It is useful for testing, but
|
||||
can also be used as a normal SMT solver on the command line.
|
||||
|
||||
It contains examples of how to instantiate the functors of `sidekick`
|
||||
and `sidekick-arith`.
|
||||
|
||||
## API Documentation
|
||||
|
||||
- [development docs](dev/index.html) (docs following the master branch)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue