Formulas & Automata generators

The spot.gen package contains the functions used to generate the patterns produced by genltl and genaut.

LTL patterns

Generation of LTL formulas is done via the ltl_pattern() function. This takes two arguments: a pattern id, and a pattern size (or index if the id refers to a list).

To see the list of supported patterns, the easiest way is to look at the --help output of genltl. The above pattern for instance is attached to option --ccj-beta-prime. The name of the pattern identifier is the same using capital letters, underscores, and an LTL_ prefix. If a pattern has multiple aliased options in genltl, the first one used for the identifier (e.g., genltl accept both --dac-patterns and --spec-patterns as synonyms to denote the patterns of spot.gen.LTL_DAC_PATTERNS).

Multiple patterns can be generated using the ltl_patterns() function. It's arguments should be either can be:

Here is an example showing these three types of arguments:

Some LTL patterns take two arguments. In this case, the arguments passed to ltl_pattern() should be one of:

Automata patterns

We currently have only a couple of generators of automata:

Multiple automata can be generated using the aut_patterns() function, which works similarly to ltl_patterns().