Skip to main content

Making Temporal Logic Calculational: A Tool for Unification and Discovery

  • Conference paper
FM 2009: Formal Methods (FM 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5850))

Included in the following conference series:

Abstract

In temporal logic, calculational proofs beyond simple cases are often seen as challenging. The situation is reversed by making temporal logic calculational, yielding shorter and clearer proofs than traditional ones, and serving as a (mental) tool for unification and discovery. A side-effect of unifying theories is easier access by practicians. The starting point is a simple generic (software tool independent) Functional Temporal Calculus (FTC). Specific temporal logics are then captured via endosemantic functions. This concept reflects tacit conventions throughout mathematics and, once identified, is general and useful. FTC also yields a reasoning style that helps discovering theorems by calculation rather than just proving given facts. This is illustrated by deriving various theorems, most related to liveness issues in TLA+, and finding strengthenings of known results. Educational issues are addressed in passing.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aarts, C., Backhouse, R., Hoogendijk, P., Voermans, E., van der Woude, J.: A Relational Theory of Data Types. Lecture notes, Eindhoven University of Technology (1992)

    Google Scholar 

  2. Arvind, Dave, N., Katelman, M.: Getting Formal Verification into Design Flow. In: Cuellar, J., Maibaum, T., Sere, K. (eds.) FM 2008. LNCS, vol. 5014, pp. 12–32. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  4. Bandera Home Page, http://bandera.projects.cis.ksu.edu/

  5. Bentley, J.: Programming Pearls. Addison-Wesley, Reading (2000) [10th printing, 2005]

    Google Scholar 

  6. Boute, R.: A calculus for reasoning about temporal phenomena. In: Proc. NGI-SION Symposium, April 1986, vol. 4, pp. 405–411 (1986)

    Google Scholar 

  7. Boute, R.: On the shortcomings of the axiomatic approach as presently used in Computer Science. In: CompEuro 1988. Design: Concepts, Methods and Tools, April 1988, pp. 184–193 (1988)

    Google Scholar 

  8. Boute, R., Verlinde, H.: Functionals for the Semantic Specification of Temporal Formulas for Model Checking. In: König, H., Heiner, M., Wolisz, A. (eds.) FORTE 2003, BTU Cottbus CS Reports, Brandenburg University of Technology, pp. 23–28 (2003)

    Google Scholar 

  9. Boute, R.: Concrete Generic Functionals: Principles, Design and Applications. In: Gibbons, J., Jeuring, J. (eds.) Generic Programming, pp. 89–119. Kluwer, Dordrecht (2003)

    Google Scholar 

  10. Boute, R.: Functional declarative language design and predicate calculus: a practical approach. ACM TOPLAS 27(5), 988–1047 (2005)

    Article  Google Scholar 

  11. Boute, R.: Calculational semantics: deriving programming theories from equations by functional predicate calculus. ACM TOPLAS 28(4), 747–793 (2006)

    Article  Google Scholar 

  12. Boute, R.: Using Domain-Independent Problems for Introducing Formal Methods. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 316–331. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Chen, Y., Liu, Z.: Integrating Temporal Logics. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 402–420. Springer, Heidelberg (2004)

    Google Scholar 

  14. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2000)

    Google Scholar 

  15. Dijkstra, E.W.: How Computing Science created a new mathematical style. EWD 1073 (1990), http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1073.PDF

  16. Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)

    MATH  Google Scholar 

  17. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property Specification Patterns for Finite-State Specification. In: Ardis, M. (ed.) Proc. FMSP 1998, Second Workshop on Formal Methods in Software Practice, Clearwater Beach, FL, March 1998, pp. 7–15 (1998)

    Google Scholar 

  18. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in Property Specification for Finite-State Specification. In: Proc. Twenty-First Intl. Conf. on Software Engineering, Los Angeles, May 1999, pp. 411–420 (1999)

    Google Scholar 

  19. Dwyer, M.B., Hatcliff, J.: Bandera Temporal Specification Patterns. In: ETAPS 2002 (Grenoble) and SMF 2002, Bertinoro (2002) (tutorial presentation), http://www.cis.ksu.edu/~santos/bandera/Talks/SFM02/02-SFM-Patterns.ppt

  20. Gries, D.: Improving the curriculum through the teaching of calculation and discrimination. Communications of the ACM 34(3), 45–55 (1991)

    Article  Google Scholar 

  21. Gries, D., Schneider, F.B. (eds.): A Logical Approach to Discrete Math. Springer, Heidelberg (1993)

    Google Scholar 

  22. Habrias, H., Faucou, S.: Linking Paradigms, Semi-formal and Formal Notations. In: Dean, C.N., Boute, R.T. (eds.) TFM 2004. LNCS, vol. 3294, pp. 166–184. Springer, Heidelberg (2004)

    Google Scholar 

  23. Henderson, P.B.: Mathematical Reasoning in Software Engineering Education. Comm. ACM 46(9), 45–50 (2003)

    Article  Google Scholar 

  24. Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  25. Holloway, M.: Why engineers should consider formal methods. In: Proc. 16th. Digital Avionics Systems Conference (October 1997), http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.5654

  26. Holzmann, G.J.: The SPIN model checker: Primer and Reference Manual. Addison Wesley, Reading (2004)

    Google Scholar 

  27. Lamport, L.: Specifying Systems: The TLA  +  Language and Tools for Hardware and Software Engineers. Pearson Education Inc., London (2002)

    Google Scholar 

  28. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1992)

    Google Scholar 

  29. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Safety. Springer, Heidelberg (1995)

    Google Scholar 

  30. Oliveira, J.N.: Extended Static Checking by Calculation using the Pointfree Transform. In: Bove, A., Barbosa, L.S., Pardo, A., Pinto, J.S. (eds.) Language Engineering and Rigorous Software Development: LerNet ALFA Summer School 2008. LNCS, vol. 5520, pp. 195–251. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  31. Parnas, D.L.: Education for computing professionals. IEEE Computer 23(1), 17–22 (1990)

    Google Scholar 

  32. Parnas, D.L.: Predicate Logic for Software Engineering. IEEE Trans. SWE 19(9), 856–862 (1993)

    Google Scholar 

  33. Pnueli, A.: Linear and branching structures in the semantics and logics of reactive systems. In: Brauer, W. (ed.) ICALP 1985. LNCS, vol. 194, pp. 15–32. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  34. Thomas, G.B., Weir, M.D., Hass, J., Giordano, F.R.: Thomas’s Calculus, 11th edn. Addison Wesley, Reading (2004)

    Google Scholar 

  35. Tucker, A.B., Kelemen, C.F., Bruce, K.B.: Our Curriculum Has Become Math-Phobic! ACM SIGCSEB, SIGCSE Bulletin 33 (2001), http://citeseer.ist.psu.edu/tucker01our.html

  36. van Benthem, J.: Correspondence Theory. In: Gabbay, D., Guenthner, F. (eds.) Handbook of Philosophical Logic, 2nd edn., vol. 3, pp. 325–408. Kluwer, Dordrecht (2001)

    Google Scholar 

  37. von Karger, B.: Temporal Algebra. Mathematical Structures in Computer Science 8(3), 277–320 (1998)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boute, R. (2009). Making Temporal Logic Calculational: A Tool for Unification and Discovery. In: Cavalcanti, A., Dams, D.R. (eds) FM 2009: Formal Methods. FM 2009. Lecture Notes in Computer Science, vol 5850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05089-3_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-05089-3_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-05088-6

  • Online ISBN: 978-3-642-05089-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics