HOME

TheInfoList



OR:

In
theoretical computer science Theoretical computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory. It is difficult to circumsc ...
a simulation is a
relation Relation or relations may refer to: General uses *International relations, the study of interconnection of politics, economics, and law on a global level *Interpersonal relationship, association or acquaintance between two or more people *Public ...
between
state 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. It consists of states and transitions between states, which may be labeled with ...
s associating systems that 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 In mathematics, a disjoint union (or discriminated union) of a family of sets (A_i : i\in I) is a set A, often denoted by \bigsqcup_ A_i, with an injection of each A_i into A, such that the images of these injections form a partition of A (th ...
of the corresponding components.


Formal definition

Given a labelled state transition system (S, \Lambda, →), where S is a set of states, \Lambda is a set of labels and → is a set of labelled transitions (i.e., a subset of S \times \Lambda \times S), a relation R \subseteq S \times S is a simulation if and only if for every pair of states (p,q) in R and all labels α in \Lambda: : if p \overset p', then there is q \overset q' such that (p',q') \in R Equivalently, in terms of relational composition: :R^\,;\, \overset\quad \quad \overset\,;\, R^ Given two states p and q in S, p simulates q, written p \, \leq \, q, if and only if there is a simulation R such that (p, q) \in R. The relation \leq is called the simulation preorder, and it is the union of all simulations: (p,q) \in\,\leq\, precisely when (p, q) \in R for some simulation R. The set of simulations is closed under union; Meaning the union of two simulations is a simulation. therefore, the simulation preorder is itself a simulation. Since it is the union of all simulations, it is the unique largest simulation. Simulations are also closed under reflexive and transitive closure; therefore, the largest simulation must be reflexive and transitive. From this follows that the largest simulation — the simulation preorder — is indeed a preorder relation. Note that there can be more than one relation which is both a simulation and a preorder;Consider the relations \ and \ — each is both a simulation and a preorder. the term ''simulation preorder'' refers to the largest one of them (which is a superset of all the others). Two states p and q are said to be similar, written p \leq\geq q, if and only if p simulates q and q simulates p. Similarity is thus the maximal symmetric subset of the simulation preorder, which means it is reflexive, symmetric, and transitive; hence an
equivalence relation In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation. Each equivalence relation ...
. However, it is not necessarily a simulation, and precisely in those cases when it is not a simulation, it is strictly coarser than
bisimilarity In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa. Intuitively two systems are bisimilar if ...
(meaning it is a superset of bisimilarity).For an example, see Fig. 1 in To witness, consider a similarity which ''is'' a simulation. Since it is symmetric, it is a ''bisimulation''. It must then be a ''subset'' of bisimilarity, which is the union of all bisimulations. Yet it is easy to see that similarity is always a ''superset'' of bisimilarity. From this follows that if similarity is a simulation, it equals bisimilarity. And if it equals bisimilarity, it is naturally a simulation (since bisimilarity is a simulation). Therefore, similarity is a simulation if and only if it equals bisimilarity. If it does not, it must be its strict superset; hence a strictly coarser equivalence relation. ------


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 In mathematics, a disjoint union (or discriminated union) of a family of sets (A_i : i\in I) is a set A, often denoted by \bigsqcup_ A_i, with an injection of each A_i into A, such that the images of these injections form a partition of A (th ...
operator between sets.


See also

*
State 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. It consists of states and transitions between states, which may be labeled with ...
*
Bisimulation In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in that one system simulates the other and vice versa. Intuitively two systems are bisimilar if ...
*
Coinduction In computer science, coinduction is a technique for defining and proving properties of systems of concurrent interacting objects. Coinduction is the mathematical dual to structural induction. Coinductively defined types are known as codata and ...
*
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 execu ...


References

# # {{DEFAULTSORT:Simulation Preorder Theoretical computer science Transition systems