Skip to content
Snippets Groups Projects
Commit 644f9457 authored by Michele Alberti's avatar Michele Alberti
Browse files

[doc] Update README.md.

parent e61d9385
No related branches found
No related tags found
No related merge requests found
...@@ -9,28 +9,26 @@ TBD ...@@ -9,28 +9,26 @@ TBD
### How to add a solver ### How to add a solver
Make sure the solver is installed in your system. Typically, the path to its Make sure the solver is installed in your system. Typically, the path to its
binary should appear in the environment variable `$PATH`. Then, binary should appear in the environment variable `PATH`. Then,
1. **Create a `solver.drv` in `config/drivers/`.** 1. **Create a `solver.drv` in `config/drivers/`.** A driver is a series of
A driver is a series of `whyml` modules describing the theories `whyml` modules describing the theories the solver is able to understand as
the solver is able to understand as provided by `Why3`. provided by `Why3`. Directives for letting `Why3` interpret the solver outputs
Directives for letting `Why3` interpret the solver outputs should should also be provided here.
also be provided here.
2. **Add a new record in `config/caisar-detection-data.conf`.** The name of the
2. **Add a new record in `config/caisar-detection-data.conf`.** solver executable should be provided , as well as a command-line template that
The name of the solver executable should be provided , as well as a `Why3` will use for executing the solver. Such a template may specify several
command-line template that `Why3` will use for executing the solver. `Why3` built-in identifiers:
Such a template may specify several `Why3` built-in identifiers:
* %e stands for the executable * %e stands for the executable
* %f stands for a file to pass to the executable * %f stands for a file to pass to the executable
Other ustom identifiers have been added: %{nnet-onnx} and %{svm}. Other custom identifiers have been added: %{nnet-onnx} and %{svm}. These
These identifiers are used for providing the solver with potential identifiers are used for providing the solver with potential `{nnet, onnx}` and
`{nnet, onnx}` and `svm` model filenames, respectively. `svm` model filenames, respectively.
3. **Write a `Why3` printer.** 3. **Write a `Why3` printer.** The solver should be recognized by `CAISAR` by
The solver should be recognized by `CAISAR` by now. However, a printer now. However, a printer for the solver may be needed for transforming `Why3`
for the solver may be needed for transforming `Why3` specifications into specifications into something the solver can understand. Printers should be
something the solver can understand. Printers should be placed in placed in `src/printers/`.
`src/printers/`.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment