In
theoretical computer science
Theoretical computer science is a subfield of computer science and mathematics that focuses on the Abstraction, abstract and mathematical foundations of computation.
It is difficult to circumscribe the theoretical areas precisely. The Associati ...
, a transition system is a concept used in the study of
computation
A computation is any type of arithmetic or non-arithmetic calculation that is well-defined. Common examples of computation are mathematical equation solving and the execution of computer algorithms.
Mechanical or electronic devices (or, hist ...
. It is used to describe the potential behavior of
discrete systems. It consists of
states and transitions between states, which may be labeled with labels chosen from a set; the same label may appear on more than one transition. 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:
* The set of states is not necessarily finite, or even countable.
* The set of transitions is not necessarily finite, or even countable.
* No "start" state or "final" states are given.
Transition systems can be represented as directed graphs.
Formal definition
Formally, a transition system is a pair
where
is a set of states and
, the ''transition relation'', is a subset of
. We say that there is a transition from state
to state
if
, and denote it
.
A labelled transition system is a tuple
where
is a set of states,
is a set of labels, and
, the ''labelled transition relation'', is a subset of
. We say that there is a transition from state
to state
with label
iff
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.
Special cases
* If, for any given
and
, there exists only a single tuple
in
, then one says that
is ''deterministic'' (for
).
* If, for any given
and
, there exists at least one tuple
in
, then one says that
is ''executable'' (for
).
Coalgebra formulation
The formal definition can be rephrased as follows. Labelled state transition systems on
with labels from
correspond
one-to-one with functions
, where
is the (covariant)
powerset functor. Under this bijection
is sent to
, defined by
::
.
In other words, a labelled state transition system is a
coalgebra for the functor
.
Relation between labelled and unlabelled transition system
There are many relations between these concepts. 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. However, not all these relations are equally trivial.
Comparison with abstract rewriting systems
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.
Extensions
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.
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''.
[Micheal Gelfond, Vladimir Lifschitz (1998) "Action Languages", ''Linköping Electronic Articles in Computer and Information Science'', vol. 3, nr. ''16''.]
See also
*
Binary relation
In mathematics, a binary relation associates some elements of one Set (mathematics), set called the ''domain'' with some elements of another set called the ''codomain''. Precisely, a binary relation over sets X and Y is a set of ordered pairs ...
*
Ternary relation
*
Transition monoid
*
Transformation monoid In algebra, a transformation semigroup (or composition semigroup) is a collection of transformations ( functions from a set to itself) that is closed under function composition. If it includes the identity function, it is a monoid, called a transf ...
*
Semigroup action
*
Simulation preorder
*
Bisimulation
*
Operational semantics
Operational semantics is a category of formal programming language semantics in which certain desired properties of a program, such as correctness, safety or security, are verified by constructing proofs from logical statements about its exec ...
*
Kripke structure
*
Finite-state machine
A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
*
Modal μ-calculus
References
{{Authority control
Models of computation