Follow the instructions below to install SymbiYosys and its dependencies. Yosys, SymbiYosys, and Z3 are non-optional. The other packages are only required for some engine configurations.


Installing prerequisites (this command is for Ubuntu 16.04):

sudo apt-get install build-essential clang bison flex libreadline-dev \
                     gawk tcl-dev libffi-dev git mercurial graphviz   \
                     xdot pkg-config python python3 libftdi-dev gperf \
                     libboost-program-options-dev autoconf libgmp-dev \
                     cmake curl

Yosys, Yosys-SMTBMC and ABC

Next install Yosys, Yosys-SMTBMC and ABC (yosys-abc):

git clone yosys
cd yosys
make -j$(nproc)
sudo make install


git clone SymbiYosys
cd SymbiYosys
sudo make install

Yices 2

git clone yices2
cd yices2
make -j$(nproc)
sudo make install


git clone z3
cd z3
python scripts/
cd build
make -j$(nproc)
sudo make install


sudo apt-get install cmake ninja-build g++ python-dev python-setuptools \
                     python-pip git
git clone --recursive
cd super-prove-build
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -G Ninja ..
ninja package

This creates a .tar.gz archive for the target system. Extract it to /usr/local/super_prove

sudo tar -C /usr/local -x super_prove-X-Y-Release.tar.gz

Then create a wrapper script /usr/local/bin/suprove with the following contents:

tool=super_prove; if [ "$1" != "${1#+}" ]; then tool="${1#+}"; shift; fi
exec /usr/local/super_prove/bin/${tool}.sh "$@"

And make this wrapper script executable:

sudo chmod +x /usr/local/bin/suprove


git clone
cd extavy
git submodule update --init
mkdir build; cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)
sudo cp avy/src/{avy,avybmc} /usr/local/bin/


git clone
cd boolector
make -C build -j$(nproc)
sudo cp build/bin/{boolector,btor*} /usr/local/bin/
sudo cp deps/btor2tools/bin/btorsim /usr/local/bin/

To use the btor engine you additionally need a newer version of btorsim than the boolector setup script builds:

git clone
cd btor2tools
make -j$(nproc)
sudo make install