/dolmen

Dolmen provides a library and a binary to parse, typecheck, and evaluate languages used in automated deduction

Primary LanguageOCamlBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Dolmen build install

A library providing flexible parsers and typecheckers for languages used in automated deduction.

LICENSE

BSD2, see file LICENSE.

Documentation

Online documentation for the libraries can be found at http://gbury.github.io/dolmen. There is also a tutorial.

Installation

The main method of installation is to use opam. See this page for information about how to install opam on your system. Once you have installed and configured opam, you can use the following command to install the dolmen cli and lsp binaries:

opam install dolmen_bin dolmen_lsp

Additionally, pre-built binaries can be found on the release pages (starting from the v0.6 release for Linux and MacOS, and starting from the v0.8.1 release for Windows). You can get them on the latest release page.

The libraries can be installed using:

opam install dolmen dolmen_type dolmen_loop dolmen_model

Goals

The Dolmen project aims at providing an assortiment of tools to help handle languages that are used in automated deduction and formal logic.

More precisely, the Dolmen project provides:

  • A few OCaml libraries for:
  • A binary (which is using the above libraries), to parse and typecheck input files. This could be used to check a file against its language specification, and/or obtain detailed errors. See the bin doc
  • A LSP server so that the features of the above binary can also be used inside your favorite editor. See the dolmen lsp doc

Supported languages

Language Parsing Typing Model verification
ae (alt-ergo) ✔️ ✔️
dimacs ✔️ ✔️
iCNF ✔️ ✔️
smtlib ✔️ ✔️ ✔️
tptp ✔️ ✔️
zf (zipperposition) ✔️ ✔️

Acknowledgements

This work is currently in part funded by OCamlPro