# Fair simulation

## Abstract

The simulation preorder for labeled transition systems is defined locally as a game that relates states with their immediate successor states. Liveness assumptions about transition systems are typically modeled using fairness constraints. Existing notions of simulation for fair transition systems, however, are not local, and as a result, many appealing properties of the simulation preorder are lost. We extend the local definition of simulation to account for fairness: system *S fairly simulates* system *I* iff in the simulation game, there is a strategy that matches with each fair computation of *I* a fair computation of *S*. Our definition enjoys a fully abstract semantics and has a logical characterization: *S* fairly simulates *I* iff every fair computation tree embedded in the unrolling of *I* can be embedded also in the unrolling of *S* or, equivalently, iff every Fair-∀AFMC formula satisfied by *I* is satisfied also by *S* (∀AFMC is the universal fragment of the alternation-free *μ*-calculus). The locality of the definition leads us to a polynomial-time algorithm for checking fair simulation for finite-state systems with weak and strong fairness constraints. Finally, fair simulation implies fair trace-containment, and is therefore useful as an efficientlycomputable local criterion for proving linear-time abstraction hierarchies.

## Keywords

Winning Strategy Label Transition System Tree Automaton Refinement Mapping Fairness Constraint## Preview

Unable to display preview. Download preview PDF.

## References

- [AL91]M. Abadi and L. Lamport. The existence of refinement mappings.
*Theoretical Computer Science*, 82:253–284, 1991.CrossRefGoogle Scholar - [ASB+94]A. Aziz, V. Singhal, F. Balarin, R.K. Brayton, and A.L. Sangiovanni-Vincentelli. Equivalences for fair Kripke structures. In
*Proc. 21st ICALP*, Springer LNCS 820, pp. 364–375, 1994.Google Scholar - [BBLS92]S. Bensalem, A. Bouajjani, C. Loiseaux, and J. Sifakis. Property-preserving simulations. In
*Proc. 4th CAV*, Springer LNCS 663, pp. 260–273, 1992.Google Scholar - [BKO87]J.A. Bergstra, J.W. Klop, and E.R. Olderog. Failures without chaos: a new process semantics for fair abstraction. In
*Proc. 3rd IFIP FDPC*, Elsevier, pp. 77–103, 1987.Google Scholar - [BP96]B. Bloom and R. Paige. Transformational design and implementation of a new efficient solution to the ready simulation problem.
*Science of Computer Programming*, 24:189–220, 1996.Google Scholar - [BRV95]E. Brinksma, A. Rensink, and W. Vogler. Fair testing. In
*Proc. 6th CONCUR*, Springer LNCS 962, pp. 313–327, 1995.Google Scholar - [BVW94]O. Bernholtz, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. In
*Proc. 6th CAV*, Springer LNCS 818, pp. 142–155, 1994.Google Scholar - [CES86]E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal-logic specifications. ACM Transactions on Programming Languages and Systems, 8:244–263, 1986.CrossRefGoogle Scholar
- [CPS93]R.J. Cleaveland, J. Parrow, and B. Steffen. The Concurrency Workbench: a semantics-based tool for the verification of finite-state systems.
*ACM Transactions on Programming Languages and Systems*, 15:36–72, 1993.Google Scholar - [DHWT91]D. Dill, A.J. Hu, and H. Wong-Toi. Checking for language inclusion using simulation relations. In
*Proc. 3rd CAV*, Springer LNCS 575, pp. 255–265, 1991.Google Scholar - [EJ88]E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In
*Proc. 29th FOCS*, IEEE Computer Society, pp. 368–377, 1988.Google Scholar - [GL94]O. Grumberg and D.E. Long. Model checking and modular verification.
*ACM Transactions on Programming Languages and Systems*, 16:843–871, 1994.Google Scholar - [Hen87]M.C.B. Hennessy. An algebraic theory of fair asynchronous communicating processes.
*Theoretical Computer Science*, 49:121–143, 1987.Google Scholar - [HHK95]M.R. Henzinger, T.A. Henzinger, and P.W. Kopke. Computing simulations on finite and infinite graphs. In
*Proc. S6th FOCS*, IEEE Computer Society, pp. 453–462, 1995.Google Scholar - [Hoj96]R. Hojati.
*A BDD-based Environment for Formal Verification of Hardware Systems*. PhD thesis, EECS Department, University of California, Berkeley, 1996.Google Scholar - [KV96]O. Kupferman and M.Y. Vardi. Verification of fair transition systems. In
*Proc. 8th CAV*, Springer LNCS 1102, pp. 372–382, 1996.Google Scholar - [Lam83]L. Lamport. Specifying concurrent program modules.
*ACM Transactions on Programming Languages and Systems*, 5:190–222, 1983.CrossRefGoogle Scholar - [LS93]N.A. Lynch and R. Segala. A comparison of simulation techniques and algebraic techniques for verifying concurrent systems. Technical Report MIT/LCS/TM-499, Laboratory for Computer Science, MIT, 1993.Google Scholar
- [LT87]N.A. Lynch and M.R. Tuttle. Hierarchical correctness proofs for distributed algorithms. In
*Proc. 6th PODC*, ACM, pp. 137–151, 1987.Google Scholar - [Lyn96]N.A. Lynch.
*Distributed Algorithms*. Morgan-Kaufmann, 1996.Google Scholar - [Mil71]R. Milner. An algebraic definition of simulation between programs. In
*Proc. 2nd IJCAI*, British Computer Society, pp. 481–489, 1971.Google Scholar - [NC95]V. Natarajan and R.J. Cleaveland. Divergence and fair testing. In
*Proc. 22nd ICALP*, Springer LNCS 944, pp. 648–659, 1995.Google Scholar - [Pnu85]A. Pnueli. Linear and branching structures in the semantics and logics of reactive systems. In
*Proc. 12th ICALP*, Springer LNCS 194, pp. 15–32, 1985.Google Scholar - [PR89]A. Pnueli and R. Rosner. On the synthesis of a reactive module. In
*Proc. 16th POPL*, ACM, pp. 179–190, 1989.Google Scholar - [Rab70]M.O. Rabin. Weakly definable relations and special automata. In
*Proc. Mathematical Logic and Foundations of Set Theory*, Elsevier, pp. 1–23, 1970.Google Scholar - [Saf88]S. Safra. On the complexity of
*ω*-automata. In*Proc. 29th FOCS*, IEEE Computer Society, pp. 319–327, 1988.Google Scholar - [SM73]L.J. Stockmeyer and A.R. Meyer. Word problems requiring exponential time. In
*Proc. 5th STOC*, ACM, pp. 1–9, 1973.Google Scholar - [SVW87]A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Buchi automata with applications to temporal logic.
*Theoretical Computer Science*, 49:217–237, 1987.CrossRefGoogle Scholar