A tool for processing Linear Temporal Logic Modulo Theories (LTLMT). This repository builds upon the work of Marco Faella and Gennaro Parlato, whose original implementation can be found at this repository.
Formula parsing in this project is powered by BLACK, an advanced satisfiability checker for temporal logics.
To clone this repository with all its submodules:
git clone --recurse-submodules https://github.com/mancanelli/ltlf_modulo_theories
cd ltlf_modulo_theories
git submodule update --init --recursive
LTLMT requires the Z3 solver. To install Z3:
sudo apt update
sudo apt install z3
The project also relies on the SPOT library for automata-based operations. To install SPOT, follow the detailed instructions provided on their installation page.
Before running the project, you must build and configure its submodules.
-
Install Required Python Packages
Ensurepybind11
andhoa-utils
are installed as part of the setup process. -
Build the
black
Submodule
Theblack
logic engine submodule is built automatically through the setup script.
To initialize and build the submodules, run:
chmod +x setup.sh
./setup.sh
To run an example, execute:
./run.sh LIA1.ltlmt 10
Here:
LIA1.ltlmt
is the input formula file.10
is the parameterN
passed to the script.