Stuttering equivalence explained

In theoretical computer science, stuttering equivalence,[1] a relation written as

\pi\simst\pi'

,

can be seen as a partitioning of paths

\pi

and

\pi'

into blocks, so that states in the

kth

block of one path are labeled (

L(\sdot)

) the same as states in the

kth

block of the other path. Corresponding blocks may have different lengths.

Formally, this can be expressed as two infinite paths

\pi=s0,s1,\ldots

and

\pi'=r0,r1,\ldots

being stuttering equivalent (

\pi\simst\pi'

) if there are two infinite sequences of integers

0=i0<i1<i2<\ldots

and

0=j0<j1<j2<\ldots

such that for every block

k\geq0

holds
L(s
ik

)=

L(s
ik+1

)=\ldots=

L(s
ik+1-1

)=

L(r
jk

)=

L(r
jk+1

)=\ldots=

L(r
jk+1-1

)

.

Stuttering equivalence is not the same as bisimulation, since bisimulation cannot capture the semantics of the 'eventually' (or 'finally') operator found in linear temporal/computation tree logic (branching time logic)(modal logic). So-called branching bisimulation has to be used.

Notes and References

  1. Book: Jan Friso . Groote . Frits W. . Vaandrager . https://archive.org/details/automatalanguage0000ical/page/626 . An efficient algorithm for branching bisimulation and stuttering equivalence . Proceedings of the 17th International Colloquium on Automata, Languages and Programming . Michael S. . Paterson . . . 443 . 626–638 . 1990 . 0-387-52826-1 . 10.1007/BFb0032063 . registration .