Fair simulation

  • Thomas A. Henzinger
  • Orna Kupferman
  • Sriram K. Rajamani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1243)


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.


Winning Strategy Label Transition System Tree Automaton Refinement Mapping Fairness Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AL91]
    M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science, 82:253–284, 1991.CrossRefGoogle Scholar
  2. [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
  3. [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
  4. [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
  5. [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
  6. [BRV95]
    E. Brinksma, A. Rensink, and W. Vogler. Fair testing. In Proc. 6th CONCUR, Springer LNCS 962, pp. 313–327, 1995.Google Scholar
  7. [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
  8. [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
  9. [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
  10. [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
  11. [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
  12. [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
  13. [Hen87]
    M.C.B. Hennessy. An algebraic theory of fair asynchronous communicating processes. Theoretical Computer Science, 49:121–143, 1987.Google Scholar
  14. [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
  15. [Hoj96]
    R. Hojati. A BDD-based Environment for Formal Verification of Hardware Systems. PhD thesis, EECS Department, University of California, Berkeley, 1996.Google Scholar
  16. [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
  17. [Lam83]
    L. Lamport. Specifying concurrent program modules. ACM Transactions on Programming Languages and Systems, 5:190–222, 1983.CrossRefGoogle Scholar
  18. [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
  19. [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
  20. [Lyn96]
    N.A. Lynch. Distributed Algorithms. Morgan-Kaufmann, 1996.Google Scholar
  21. [Mil71]
    R. Milner. An algebraic definition of simulation between programs. In Proc. 2nd IJCAI, British Computer Society, pp. 481–489, 1971.Google Scholar
  22. [NC95]
    V. Natarajan and R.J. Cleaveland. Divergence and fair testing. In Proc. 22nd ICALP, Springer LNCS 944, pp. 648–659, 1995.Google Scholar
  23. [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
  24. [PR89]
    A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proc. 16th POPL, ACM, pp. 179–190, 1989.Google Scholar
  25. [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
  26. [Saf88]
    S. Safra. On the complexity of ω-automata. In Proc. 29th FOCS, IEEE Computer Society, pp. 319–327, 1988.Google Scholar
  27. [SM73]
    L.J. Stockmeyer and A.R. Meyer. Word problems requiring exponential time. In Proc. 5th STOC, ACM, pp. 1–9, 1973.Google Scholar
  28. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Thomas A. Henzinger
    • 1
  • Orna Kupferman
    • 1
  • Sriram K. Rajamani
    • 1
  1. 1.EECS DepartmentUniversity of CaliforniaBerkeleyUSA

Personalised recommendations