gridbugs / ocaml-qbf

OCaml bindings to QBF solver(s)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OCaml-QBF

Library to deal with Quantified Boolean Formulas in OCaml.

Linux, MacOS, Windows
ci

Organization

  • The main library, qbf, contains types and functions to deal with representing boolean literals and quantified formulas, as well as a generic interface for solvers.
  • A sub-library, qbf.quantor, contains a binding to the quantor QBF solver. The solver itself and Picosat (version 535) are packaged with the library for convenience (they are rarely packaged on distributions, and require some compilation options such as -fPIC to work with OCaml).

Tested configurations

It works with any version of OCaml from 4.08.x to 4.10.x onwards.

  1. tested on linux (Ubuntu 16.04, x86_64),
  2. tested on MacOS,
  3. tested on Windows using Cygwin32 and Cygwin64 by cross-compilating to native win32 under using the mingw64-i686 (respectively mingw64-x86_64) cross-compiler.
  4. Should also work under WSL and WSL2 on Windows 10.

License

The library and its dependencies are licensed under the BSD license (and the MIT license for picosat), which is fairly permissive.

Installation

Using opam:

opam install qbf

From source:

opam install . --working-dir --deps-only
dune build

Known issues

  • process killed by signal -5 is due to a dlopen problem: the binary has been linked against the shared library dllqbf-quantor_stubs.so but this shared lib isn't installed yet.
  • process killed by signal -10 is still unknown. It was happening in travis-ci. My workaround was to remove the travis-ci cache (~/.opam was cached between two builds).

About

OCaml bindings to QBF solver(s)

License:BSD 2-Clause "Simplified" License


Languages

Language:C 93.0%Language:OCaml 6.2%Language:Shell 0.3%Language:Makefile 0.3%Language:C++ 0.3%