Stuttering equivalence

{{technical|date=July 2012}}

In theoretical computer science, stuttering equivalence,{{cite book | first1 = Jan Friso | last1 = Groote | first2 = Frits W. | last2 = Vaandrager | chapter-url = https://archive.org/details/automatalanguage0000ical/page/626 | chapter = An efficient algorithm for branching bisimulation and stuttering equivalence | title = Proceedings of the 17th International Colloquium on Automata, Languages and Programming | editor1-first = Michael S. | editor1-last = Paterson | publisher = Springer-Verlag | series = Lecture Notes in Computer Science | volume = 443 | pages = [https://archive.org/details/automatalanguage0000ical/page/626 626–638] | year = 1990 | isbn = 0-387-52826-1 | doi = 10.1007/BFb0032063 | url = https://ir.cwi.nl/pub/5766 | chapter-url-access = registration }} a relation written as

Image:Stuttering Equivalence.pdf

:\pi\sim_{st}\pi',

can be seen as a partitioning of paths \pi and \pi' into blocks, so that states in the k^{\mathrm{th}} block of one path are labeled (L(\sdot)) the same as states in the k^{\mathrm{th}} block of the other path. Corresponding blocks may have different lengths.

Formally, this can be expressed as two infinite paths \pi=s_0, s_1, \ldots and \pi'=r_0, r_1, \ldots being stuttering equivalent (\pi \sim_{st} \pi') if there are two infinite sequences of integers 0 = i_0 < i_1 < i_2 < \ldots and 0 = j_0 < j_1 < j_2 < \ldots such that for every block k \geq 0 holds L(s_{i_k}) = L(s_{i_k+1}) = \ldots = L(s_{i_{k+1}-1}) = L(r_{j_k}) = L(r_{j_k+1}) = \ldots = L(r_{j_{k+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.{{Citation needed|date=April 2012}}

References

{{reflist}}

Category:Formal methods

Category:Logic in computer science

{{Comp-sci-theory-stub}}