This module is one of the standard `predicate' modules. It provides a consistent set of predicate_declarations.
In this predicate module, it is assumed that labels in a finite automaton are associated with sets of symbols (represented with in(List) and with negated sets of symbols, represented with not_in(List). Singleton sets in([El]) are represented with El.
The negated sets are useful to provide a treatment of the any symbol ?/0 operator, in a way which is functionally equivalent to the treatment of ?/0 in FSA5. For instance, the expression ? - a will result in an automaton with a transition over not_in([a]).
The module has a full set of predicate_declarations and can be used as a model for new, user-defined task-specific predicate modules.