Spot

Jul 20, 2023

Library for omega automata manipulation and model checking

Spot is a library for LTL, omega-automata manipulation and model checking.

It has the following notable features

  • Support for LTL several syntaxes supported and a subset of the linear fragment of PSL.
  • Support for omega-automata with arbitrary acceptance condition.
  • Support for transition-based acceptance state-based acceptance is supported by a reduction to transition-based acceptance.
  • The automaton parser can read a stream of automata written in any of four syntaxes HOA, never claims, LBTT, DSTAR.
  • Several algorithms for formula manipulation including simplifying formulas, testing implication or equivalence, testing stutter-invariance, removing some operators by rewriting, translation to automata, testing membership to the temporal hierarchy of Manna & Pnueli…
  • Several algorithms for automata manipulation including product, emptiness checks, simulation-based reductions, minimization of weak-DBA, removal of useless SCCs, acceptance-condition transformations, determinization, SAT-based minimization of deterministic automata, etc.
  • In addition to the C++ interface, most of its algorithms are usable via command-line tools, and via Python bindings.
  • One command-line tool, called ltlcross, is a rewrite of LBTT, but with support for PSL and automata with arbitrary acceptance conditions.


Checkout these related ports:
  • Zn_poly - C library for polynomial arithmetic
  • Zimpl - Language to translate the LP models into .lp or .mps
  • Zegrapher - Software for plotting mathematical objects
  • Zarray - Dynamically typed N-D expression system based on xtensor
  • Z3 - Z3 Theorem Prover
  • Yices - SMT solver
  • Yacas - Yet Another Computer Algebra System
  • Xtensor - Multi-dimensional arrays with broadcasting and lazy computing
  • Xtensor-python - Python bindings for xtensor
  • Xtensor-io - Xtensor plugin to read/write images, audio files, numpy npz and HDF5
  • Xtensor-blas - BLAS extension to xtensor
  • Xspread - Spreadsheet program for X and terminals
  • Xppaut - Graphical tool for solving differential equations, etc
  • Xplot - X11 plotting package
  • Xlife++ - XLiFE++ eXtended Library of Finite Elements in C++