In theoretical computer science, a stutter bisimulation is a relationship between two transition systems, abstract machines that model computation. It is defined coinductively and generalizes the idea of bisimulations. A bisimulation matches up the states of a machine such that transitions correspond; a stutter bisimulation allows transitions to be matched to finite path fragments.[1]
In Principles of Model Checking, Baier and Katoen define a stutter bisimulation for a single transition system and later adapt it to a relation on two transition systems. A stutter bisimulation for
TS=(S,Act,\to,I,AP,L)
s1,s2
s1\tos1'
(s1',s2)\not\inR
s2u1 … uns2'
n\ge0
(s1,ui)
(s1',s2')
s2\tos2'
(s1,s2')\not\inR
s1v1 … vns1'
n\ge0
(vi,s2)
(s1',s2')
A generalization, the divergent stutter bisimulation, can be used to simplify the state space of a system with the tradeoff that statements using the linear temporal logic operator "next" may change truth value.[2] A robust stutter bisimulation allows uncertainty over transitions in the system.[3]