Bisimulation

In theoretical computer science a bisimulation is an equivalence relation between state transition systems, associating systems which behave in the same way in the sense that one system simulates the other and vice-versa. Intuitively two systems are bisimilar if they match each other's moves. In this sense, each of the systems cannot be distinguished from the other by an observer.

Formal definition

Given a labelled state transition system (S, Λ, →), a bisimulation relation is a binary relation R over S (i.e. R ⊆ S × S) such that both R and R-1 are simulation preorders. Equivalently R is a bisimulation if for every pair of elements p, q in S, if (p,q)is in R then for all α in Λ, and for all p' in S,
\begin{matrix}
   & \alpha & \\ 
p & \rightarrow & p' \\ \end{matrix}
    
implies that there is a q' in S such that
\begin{matrix}
   & \alpha & \\ 
q & \rightarrow & q' \\ \end{matrix}
    
and (p',q') in R, and for all q' in S,
\begin{matrix}
   & \alpha & \\ 
q & \rightarrow & q' \\ \end{matrix}
    
implies that there is a p' in S such that
\begin{matrix}
   & \alpha & \\ 
p & \rightarrow & p' \\ \end{matrix}
    
and (p',q') in R. Given two states p and q in S, p is bisimilar to q, written p ∼ q, if there is a bisimulation R such that (p, q) is in R. The bisimilarity relation ∼ is an equivalence relation. Furthermore, it is the largest bisimulation relation over a given transition system. Note that it is not always the case that if p simulates q and q simulates p then they are bisimilar. For p and q to be bisimilar, the simulation between p and q must be the inverse of the simulation between q and p.

Variants of bisimulation

In special contexts the notion of bisimulation is sometimes refined by adding additional requirements or constraints. For example if the state transition system includes a notion of silent actions, i.e. actions which are not visible by external observers, then bisimulation can be relaxed to be weak bisimulation, in which the silent actions are ignored. Typically, if the state transition system gives the operational semantics of a programming language, then the precise definition of bisimulation will be specific to the restrictions of the programming language. Therefore, in general, there may be more than one kind of bisimulation, (bisimilarity resp.) relationship depending on the context.

See also

 

<< PreviousWord BrowserNext >>
will hutton
christen kobke
lysis
eygelshoven
gheorghe muresan
shinobi shaw
when in rome
hfr cell
savage garden
kes
israel zangwill
hannah weiner
lake county captains
hamlet (fish)
ruthenian language
science and technology in israel
wensleydale
ruthenian
knights of the maccabees
mikado (game)
british 11th (northern) division
spellicans
jonchets
free soil
baku tbilisi ceyhan pipeline
rus
the quill
remember the titans
peter artedi
list of british cheeses
ernest belfort bax
culture of bosnia and herzegovina
robert blatchford
brazilian logic
edward carpenter
alfred richard orage
the comedy store
beachampton
formal semantics of programming languages
rotary printing press
bellingdon
horezu
david parkinson
imp