Transition system

In theoretical computer science, a transition system is a concept used in the study of computation.

It is used to describe the potential behavior of discrete systems.

If the label set is a singleton, the system is essentially unlabeled, and a simpler definition that omits the labels is possible.

Transition systems coincide mathematically with abstract rewriting systems (as explained further in this article) and directed graphs.

They differ from finite-state automata in several ways: Transition systems can be represented as directed graphs.

Formally, a transition system is a pair

, the transition relation, is a subset of

A labelled transition system is a tuple

, the labelled transition relation, is a subset of

and denote it Labels can represent different things depending on the language of interest.

Typical uses of labels include representing input expected, conditions that must be true to trigger the transition, or actions performed during the transition.

Labelled transitions systems were originally introduced as named transition systems.

Labelled state transition systems on

, defined by In other words, a labelled state transition system is a coalgebra for the functor

Some are simple, such as observing that a labelled transition system where the set of labels consists of only one element is equivalent to an unlabelled transition system.

As a mathematical object, an unlabeled transition system is identical with an (unindexed) abstract rewriting system.

If we consider the rewriting relation as an indexed set of relations, as some authors do, then a labeled transition system is equivalent to an abstract rewriting system with the indices being the labels.

The focus of the study and the terminology are different, however.

In a transition system one is interested in interpreting the labels as actions, whereas in an abstract rewriting system the focus is on how objects may be transformed (rewritten) into others.

[2] In model checking, a transition system is sometimes defined to include an additional labeling function for the states as well, resulting in a notion that encompasses that of Kripke structure.

[3] Action languages are extensions of transition systems, adding a set of fluents F, a set of values V, and a function that maps F × S to V.[4]