Skip to content

aiolos404/Aiolos404boolector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boolector 2.2.0 

Sun Nov 29 18:40:12 CET 2015

Source code release of Boolector. 

Boolector is an efficient SMT solver for the quantifier-free theory of
bit-vectors in combination with the quantifier-free extensional theory of
arrays.

For compilation please obtain the latest source code of Lingeling from
  
  http://fmv.jku.at/lingeling

Then extract from the archive the Lingeling sources in the same directory
in which you extracted the Boolector sources.  Rename or link the
Lingeling source directory to 'lingeling'.  Then compile Lingeling.

  For the current version of Lingeling this works as follows
  (replace <current> in the following by the actual version):

  cd <directory-where-you-extracted-boolector-sources>
  wget http://fmv.jku.at/lingeling/lingeling-<current>.tar.gz
  tar xf lingeling-<current>.tar.gz
  ln -s  lingeling-<current> lingeling
  cd lingeling
  ./configure
  make

In the same way you can optionally include the current PicoSAT:

  cd <directory-where-you-extracted-boolector-sources>
  wget http://fmv.jku.at/picosat/picosat-<current>.tar.gz
  tar xf picosat-<current>.tar.gz
  ln -s picosat-<current> picosat
  cd picosat
  ./configure -O           # this will improve performance
  make

For additionally using MiniSAT as back-end do the following:

  cd <directory-where-you-extracted-boolector-sources>
  git clone https://github.com/niklasso/minisat.git
  cd minisat
  make

Note that using MiniSAT will force 'libboolector.a' to depend not only on
'libz.so' but also on 'libstdc++.so'. Thus, if you want to link
'libboolector.a' with MiniSAT backend against your own programs,
you need to use '-lz -lstdc++' as linking options.


You need Lingeling, while PicoSAT and MiniSAT are optional.

To compile Boolector issue:

  ./configure
  make

This will build the library 'libboolector.a', the stand-alone SMT solver
'boolector', and a small tool 'synthebtor', which can be used to synthesize
AIGs in AIGER format from BV. The python API can be compiled by issuing
'./configure -python && make', for further details on the python API see 
'api/python/README'.

In the 'examples' sub-directory you find two examples for using
the API, which are also described in the API documentation.

For a documentation of Boolector and its public APIs see 'doc/index.html'.


THESE SOURCES ARE FOR ACADEMIC USE ONLY.
USE IN COMPETITIONS IS RESTRICTED TOO.
SEE 'COPYING' FOR MORE DETAILS.


A more recent version of Boolector might be found at

  http://fmv.jku.at/boolector

This site may also contain more information.


Armin Biere,
Robert Daniel Brummayer,
Aina Niemetz,
Mathias Preiner
Institute for Formal Models and Verification
Johannes Kepler University, Linz, Austria
October 2014.

About

Source code from http://fmv.jku.at/boolector/ for the purpose of building Cloud9

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages