Cheap CTL Compassion in NuSMV

  • Daniel HausmannEmail author
  • Tadeusz LitakEmail author
  • Christoph RauchEmail author
  • Matthias ZinnerEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11990)


We discuss expansions of \(\mathsf {CTL}\) with connectives able to express Streett fairness objectives for single paths. We focus on \(\mathsf {(E)SFCTL}\): (Extended) Streett-Fair \(\mathsf {CTL}\) inspired by a seminal paper of Emerson and Lei. Unlike several other fair extensions of \(\mathsf {CTL}\), our entire formalism (not just a subclass of formulas in some canonical form) allows a succinct embedding into the \(\mu \)-calculus, while being able to express concisely all relevant types of path-based fairness objectives. We implement our syntax in the well-known symbolic model checker NuSMV, consequently also implementing \(\mathsf {CTL}\) model checking with “compassion” objectives. Since the \(\mu \)-calculus embedding requires only alternation depth two, the resulting specifications correspond to parity games with two priorities. This allows a comparison of the performance of our NuSMV\(^{\mathsf {sf}}\) with existing parity game solvers (both explicit and symbolic). The advantages of the symbolic approach seem to extend to fair model checking.


Model checking Fairness and compassion CTL \(\mu \)-calculus NuSMV Parity games 



We would like to acknowledge discussions with Tim A.C. Willemse on symbolic parity game solving and with Marco Roveri on the NuSMV model checker. Furthermore, we would like to thank the referees for feedback.


  1. 1.
    Baier, C., Katoen, J.-P.: Principles of Model Checking (Representation and Mind Series). The MIT Press (2008)Google Scholar
  2. 2.
    Benerecetti, M., Dell’Erba, D., Mogavero, F.: A delayed promotion policy for parity games. Inf. Comput. 262, 221–240 (2018). Special issue GandALF 2016MathSciNetCrossRefGoogle Scholar
  3. 3.
    Bruse, F., Falk, M., Lange, M.: The fixpoint-iteration algorithm for parity games. In: Proceedings of the Fifth International Symposium on Games, Automata, Logics and Formal Verification (GandALF 2014), pp. 116–130 (2014)Google Scholar
  4. 4.
    Bunte, O., et al.: The mCRL2 toolset for analysing concurrent systems. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11428, pp. 21–39. Springer, Cham (2019). Scholar
  5. 5.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond. Inf. Comput. 98(2), 142–170 (1992)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Calude, C.S., Jain, S., Khoussainov, B., Li, W., Stephan, F.: Deciding parity games in quasipolynomial time. In: Proceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing (STOC 2017), pp. 252–263 (2017)Google Scholar
  7. 7.
    Chatterjee, K., Dvorák, W., Henzinger, M., Loitzenbauer, V.: Improved set-based symbolic algorithms for parity games. In: Proceedings of the 26th EACSL Annual Conference on Computer Science Logic (CSL 2017), pp. 18:1–18:21 (2017)Google Scholar
  8. 8.
    Chatterjee, K., Dvorák, W., Henzinger, M., Svozil, A.: Quasipolynomial set-based symbolic algorithms for parity games. In: Proceedings of the 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR-22), pp. 233–253 (2018)Google Scholar
  9. 9.
    Chatterjee, K., Dvorák, W., Henzinger, M., Svozil, A.: Near-linear time algorithms for Streett objectives in graphs and MDPs. In: Proceedings of the 30th International Conference on Concurrency Theory (CONCUR 2019), pp. 7:1–7:16 (2019)Google Scholar
  10. 10.
    Cimatti, A., et al.: NuSMV 2: an opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002). Scholar
  11. 11.
    Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans. Program. Lang. Syst. 8(2), 244–263 (1986)CrossRefGoogle Scholar
  12. 12.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982). Scholar
  13. 13.
    Dawar, A., Grädel, E.: The descriptive complexity of parity games. In: Kaminski, M., Martini, S. (eds.) CSL 2008. LNCS, vol. 5213, pp. 354–368. Springer, Heidelberg (2008). Scholar
  14. 14.
    Emerson, E.A., Clarke, E.M.: Characterizing correctness properties of parallel programs using fixpoints. In: de Bakker, J., van Leeuwen, J. (eds.) ICALP 1980. LNCS, vol. 85, pp. 169–181. Springer, Heidelberg (1980). Scholar
  15. 15.
    Emerson, E.A., Halpern, J.Y.: “Sometimes” and “Not Never” revisited: on branching versus linear time. In: Proceedings of the 10th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL 1983), pp. 127–140 (1983)Google Scholar
  16. 16.
    Emerson, E.A., Halpern, J.Y.: “Sometimes” and “Not Never” revisited: on branching versus linear time temporal logic. J. ACM 33(1), 151–178 (1986)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional mu-calculus (extended abstract). In: Proceedings of the Symposium on Logic in Computer Science (LICS 1986), pp. 267–278 (1986)Google Scholar
  18. 18.
    Emerson, E.A., Lei, C.-L.: Modalities for model checking: branching time logic strikes back. Sci. Comput. Prog. 8(3), 275–306 (1987)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Francez, N.: Fairness. Springer, Heidelberg (1986)CrossRefGoogle Scholar
  20. 20.
    Friedmann, O., Lange, M.: The PGSolver collection of parity game solvers (2010).
  21. 21.
    Gabbay, D., Pnueli, A., Shelah, S., Stavi, J.: On the temporal analysis of fairness. In: Proceedings of the 7th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1980), pp. 163–173 (1980)Google Scholar
  22. 22.
    Ghilardi, S., van Gool, S.: Monadic second order logic as the model companion of temporal logic. In: Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS 2016), pp. 417–426 (2016)Google Scholar
  23. 23.
    Mazala, R.: Infinite games. In: Grädel, E., Thomas, W., Wilke, T. (eds.) Automata Logics, and Infinite Games. LNCS, vol. 2500, pp. 23–38. Springer, Heidelberg (2002). Scholar
  24. 24.
    Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press (2014)Google Scholar
  25. 25.
    Huth, M., Ryan, M.D.: Logic in Computer Science – Modelling and Reasoning about Systems, 2 edn. Cambridge University Press (2004Google Scholar
  26. 26.
    Jurdziński, M.: Small progress measures for solving parity games. In: Reichel, H., Tison, S. (eds.) STACS 2000. LNCS, vol. 1770, pp. 290–301. Springer, Heidelberg (2000). Scholar
  27. 27.
    Keiren, J.J.A.: Benchmarks for parity games. In: Dastani, M., Sirjani, M. (eds.) FSEN 2015. LNCS, vol. 9392, pp. 127–142. Springer, Cham (2015). Scholar
  28. 28.
    Kozen, D.: Results on the propositional \(\mu \)-calculus. Theoret. Comput. Sci. 27, 333–354 (1983)MathSciNetCrossRefGoogle Scholar
  29. 29.
    Laroussinie, F., Markey, N., Schnoebelen, P.: Model checking CTL+ and FCTL is hard. In: Honsell, F., Miculan, M. (eds.) FoSSaCS 2001. LNCS, vol. 2030, pp. 318–331. Springer, Heidelberg (2001). Scholar
  30. 30.
    Niwiński, D.: On fixed-point clones. In: Kott, L. (ed.) ICALP 1986. LNCS, vol. 226, pp. 464–473. Springer, Heidelberg (1986). Scholar
  31. 31.
    Rabinovich, A., Schnoebelen, P.: BTL\({}_{\text{2 }}\) and the expressive power of ECTL\({}^{\text{+ }}\). Inf. Comput. 204(7), 1023–1044 (2006)CrossRefGoogle Scholar
  32. 32.
    Sanchez, L., Wesselink, W., Willemse, T.A.C.: A comparison of BDD-based parity game solvers. In: Proceedings of the 9th International Symposium on Games, Automata, Logics, and Formal Verification (GandALF 2018), pp. 103–117 (2018)Google Scholar
  33. 33.
    Stevens, P., Stirling, C.: Practical model-checking using games. In: Proceedings of the 4th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 1998), pp. 85–101 (1998)Google Scholar
  34. 34.
    Stirling, C.: Games and modal mu-calculus. In: Proceedings of the 2nd International Workshop on Tools and Algorithms for Construction and Analysis of Systems (TACAS 1996), pp. 298–312 (1996)Google Scholar
  35. 35.
    Dijk, T.: Oink: an implementation and evaluation of modern parity game solvers. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10805, pp. 291–308. Springer, Cham (2018). Scholar
  36. 36.
    Vöge, J., Jurdziński, M.: A discrete strategy improvement algorithm for solving parity games. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 202–215. Springer, Heidelberg (2000). Scholar
  37. 37.
    Walukiewicz, I.: Completeness of Kozen’s axiomatisation of the propositional mu-calculus. In: Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science (LICS 1995), pp. 14–24 (1995)Google Scholar
  38. 38.
    Zielonka, W.: Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theoret. Comput. Sci. 200(1–2), 135–183 (1998)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Chair of Theoretical Computer ScienceFriedrich-Alexander-Universität Erlangen-NürnbergErlangenGermany

Personalised recommendations