# -*- coding: utf-8 -*- #+TITLE: Spot #+SETUPFILE: setup.org #+HTML_HEAD_EXTRA: Spot is a C++11 library for ω-automata manipulation and model checking. It has the following notable features: - Support for [[file:concepts.org::#ltl][LTL]] (several syntaxes supported) and [[file:concepts.org::#psl][the linear fragment of PSL]]. - Support for ω-automata with [[file:concepts.org::#acceptance-condition][arbitrary acceptance condition]]. - Support for [[file:concepts.org::#trans-acc][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 ([[file:hoa.org][HOA]], [[http://spinroot.com/spin/Man/never.html][never claims]], [[http://www.tcs.hut.fi/Software/lbtt/doc/html/Format-for-automata.html][LBTT]], [[http://www.ltl2dstar.de/docs/ltl2dstar.html][DSTAR]]). - Several algorithms for formula manipulation including: simplifying formulas, testing implication or equivalence, testing stutter-invariance, removing some operators by rewriting, translation to automata... - Several algorithms for automata manipulation including: product, emptiness checks, simulation-based reductions, minimization of weak-DBA, removal of useless SCCs, acceptance-condition transformations, determinization, etc. - In addition to the C++ interface, most of its algorithms are usable via [[file:tools.org][command-line tools]], and via Python bindings. - One command-line tool, called [[file:ltlcross.org][=ltlcross=]], is a rewrite of [[http://www.tcs.hut.fi/Software/lbtt/][LBTT]], but with support for PSL and arbitrary acceptance conditions. It could for instance be used to test tools that translate LTL into Rabin automata. * Latest version The latest version is *{{{LASTRELEASE}}}* and was released on *{{{LASTDATE}}}*. Please see the [[file:install.org][download and installation instructions]]. * Documentation - [[file:tools.org][Command-line tools]]. - [[file:tut.org][Code examples]]. - [[http://spot.lrde.epita.fr/doxygen/][Doxygen documentation]], generated automatically from the source code. - [[https://spot.lrde.epita.fr/tl.pdf][Definition of the temporal operators supported by Spot]]. * On-line LTL/PSL translator - [[http://spot.lrde.epita.fr/trans.html][Our on-line translator]] provides a convenient way to translate LTL or PSL formulas into automata, without installing Spot. * License Spot is distributed under a [[http://www.gnu.org/licenses/gpl-3.0.html][GNU GPL v3 license]]. A consequence is that if you distribute a tool built using Spot, you *must* make the source code of that tool available as well. * Staying in touch =spot-announce@lrde.epita.fr= is an extremely low-traffic and read-only mailing list for release announcements. If you want to stay informed about future releases of Spot, we invite you to [[https://lists.lrde.epita.fr/listinfo/spot-announce][subscribe]]. [[mailto:spot@lrde.epita.fr][=spot@lrde.epita.fr=]] is a list for general discussions and questions about Spot. [[https://lists.lrde.epita.fr/listinfo/spot][Subscribe here]] if you want to join, but feel free to send in any question (in English) or bug report without subscribing.