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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge (2008)
Bandera Home Page, http://bandera.projects.cis.ksu.edu/
Bentley, J.: Programming Pearls. Addison-Wesley, Reading (2000) [10th printing, 2005]
Boute, R.: A calculus for reasoning about temporal phenomena. In: Proc. NGI-SION Symposium, April 1986, vol. 4, pp. 405–411 (1986)
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)
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)
Boute, R.: Concrete Generic Functionals: Principles, Design and Applications. In: Gibbons, J., Jeuring, J. (eds.) Generic Programming, pp. 89–119. Kluwer, Dordrecht (2003)
Boute, R.: Functional declarative language design and predicate calculus: a practical approach. ACM TOPLAS 27(5), 988–1047 (2005)
Boute, R.: Calculational semantics: deriving programming theories from equations by functional predicate calculus. ACM TOPLAS 28(4), 747–793 (2006)
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)
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2000)
Dijkstra, E.W.: How Computing Science created a new mathematical style. EWD 1073 (1990), http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1073.PDF
Dijkstra, E.W., Scholten, C.S.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)
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)
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)
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
Gries, D.: Improving the curriculum through the teaching of calculation and discrimination. Communications of the ACM 34(3), 45–55 (1991)
Gries, D., Schneider, F.B. (eds.): A Logical Approach to Discrete Math. Springer, Heidelberg (1993)
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)
Henderson, P.B.: Mathematical Reasoning in Software Engineering Education. Comm. ACM 46(9), 45–50 (2003)
Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. Prentice-Hall, Englewood Cliffs (1998)
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
Holzmann, G.J.: The SPIN model checker: Primer and Reference Manual. Addison Wesley, Reading (2004)
Lamport, L.: Specifying Systems: The TLA  +  Language and Tools for Hardware and Software Engineers. Pearson Education Inc., London (2002)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1992)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Safety. Springer, Heidelberg (1995)
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)
Parnas, D.L.: Education for computing professionals. IEEE Computer 23(1), 17–22 (1990)
Parnas, D.L.: Predicate Logic for Software Engineering. IEEE Trans. SWE 19(9), 856–862 (1993)
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)
Thomas, G.B., Weir, M.D., Hass, J., Giordano, F.R.: Thomas’s Calculus, 11th edn. Addison Wesley, Reading (2004)
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
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)
von Karger, B.: Temporal Algebra. Mathematical Structures in Computer Science 8(3), 277–320 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)