Simulation preorder
|
In theoretical computer science a simulation preorder is a relation between state transition systems associating systems which behave in the same way in the sense that one system simulates the other.
Intuitively, a system simulates another system if it can match all of its moves.
The basic definition relates states within one transition system, but this is easily adapted to relate two separate transition systems by building a system consisting of the disjoint union of the corresponding components.
Formal definition
Given a labelled state transition system (S, Λ, →), a simulation relation is a binary relation R over S (i.e. R ⊆ S × S) such that for every pair of elements p, q ∈ S, if (p,q)∈ R then for all α ∈ Λ, and for all p' ∈ S,
<math>
\begin{matrix}
& \alpha & \\
p & \rightarrow & p' \\ \end{matrix}
<math>
implies that there is a q' ∈ S such that
<math>
\begin{matrix}
& \alpha & \\
q & \rightarrow & q' \\ \end{matrix}
<math>
and (p',q') ∈ R.
Given two states p and q in S, p simulates q, written q ≤ p if there is a simulation R such that (q, p) ∈ R. In such case p and q are said to be similar and ≤ is called the similarity relation.
The similarity relation ≤ is a preorder. Furthermore, it is the largest simulation relation over a given transition system.
Similarity of separate transition systems
When comparing two different transition systems (S', Λ', →') and (S' ', Λ' ', →' '), the basic notions of simulation and similarity can be used by forming the disjoint composition of the two machines, (S, Λ, →) with S = S' ∪ S' ', Λ = Λ' ∪ Λ' ' and → = →' ∪ →' ', where ∪ is the disjoint union operator between sets.