Higher-Order and Symbolic Computation

, Volume 16, Issue 3, pp 161–202

Formal Foundations of Operational Semantics

  • Jonathan Ford
  • Ian A. Mason
Article

Abstract

In this paper we report on the results of a sophisticated and substantial use of PVS to establish a recent result in operational semantics. The result we establish is a context lemma for operational equivalence for very wide class of programming languages, known as the CIU theorem. The proof uses the annotated holes technique to represent contexts and compute with them. Thus this paper demonstrates that that it is possible to use PVS as a tool in the development of modern operational techniques, and a productive tool at that. The process of formalizing the CIU theorem revealed several gaps in published proof. The proof of the CIU theorem in PVS took approximately six months to develop. The actual machine checked proof involves the proving of around one thousand facts, and takes PVS slightly less than three hours of CPU time running on a Linux machine configured with 2 GBytes of main memory and four 550 MHz Xeon PIII processors.

λ-calculus contexts operational semantics theorem proving PVS 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Butler, R.W., Dutertre, B., Jamsek, D., Owre, S., and Griffioen, D. PVS finite set library, 1997. Available at http://pvs.csl.sri.com/pvs/libraries/finite sets.dmp.Google Scholar
  2. 2.
    Crow, J., Owre, S., Rushby, J., Shankar, N., and Srivas, M. A tutorial introduction to PVS. Technical report, SRI International, 1995. Presented at WIFT’ 95:Workshop on Industrial-StrengthFormal Specification Techniques, Boca Raton, Florida.Google Scholar
  3. 3.
    Felleisen, M. and Friedman, D.P. Control operators, the SECD-machine, and the λ-calculus. In Formal Description of Programming Concepts III, M. Wirsing (Ed.). North-Holland, 1986, pp. 193–217.Google Scholar
  4. 4.
    Felleisen, M. and Hieb, R. The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 103 (1992) 235–271.Google Scholar
  5. 5.
    Ford, J. The Church-Rosser theorem in PVS, 2000. PVS dump file (2.4 Megabytes) available at http://mcs.une.edu.au/~pvs/.Google Scholar
  6. 6.
    Ford, J. The CIU theorem in PVS, 2000. PVS dump file (approximately 17 Megabytes) available at http://mcs.une.edu.au/~pvs/.Google Scholar
  7. 7.
    Ford, J. and Mason, I.A. Establishing a general context lemma in PVS. In Proceedings of the 2nd Australasian Workshop on Computational Logic, AWCL'01, G. Antoniou and G. Governatori (Eds.). 2001, pp. 75–91. Available as postscript from http://mcs.une.edu.au/~iam/Data/Papers/01awcl.ps.Google Scholar
  8. 8.
    Ford, J. and Mason, I.A. Operational techniques in PVS—A preliminary evaluation. In Proceedings of the Australasian Theory Symposium, CATS'01, C.J. Fidge (Ed.). Vol. 42 of Electronic Notes in Theoretical Computer Science. Elsevier Science, 2001, pp. 124–142. Available as postscript from http://mcs.une.edu.au/~iam/Data/Papers/01cats.ps.Google Scholar
  9. 9.
    Ford, J., Mason, I.A., and Shankar, N. Lessons learned from formal developments in PVS, 2002. Presented at LICS'02 (within FLoC'02), Copenhagen.Google Scholar
  10. 10.
    Ford, J. and Shankar, N. Verifying shostak. In The Proceedings of CADE-18 (within FLoC'02), Copenhagen, 2002.Google Scholar
  11. 11.
    Honsell, F., Mason, I.A., Smith, S.F., and Talcott, C.L. A variable typed logic of effects. Information and Computation, 119(1) (1995) 55–90.Google Scholar
  12. 12.
    Knuth, D.E. The T EXbook. Addison-Wesley, 1984.Google Scholar
  13. 13.
    Landin, P.J. The mechanical evaluation of expressions. Computer Journal, 6 (1964) 308–320.Google Scholar
  14. 14.
    Landin, P.J. The next 700 programming languages. Comm. ACM, 9 (1966) 157–166.Google Scholar
  15. 15.
    Mason, I.A. Computing with contexts. Higher-Order and Symbolic Computation, 12 (1999) 171–201.Google Scholar
  16. 16.
    Mason, I.A., Smith, S.F., and Talcott, C.L. From operational semantics to domain theory. Information and Computation, 128(1) (1996) 26–47.Google Scholar
  17. 17.
    Mason, I.A. and Talcott, C.L. Programming, transforming, and proving with function abstractions and memories. In Proceedings of the 16th EATCS Colloquium on Automata, Languages, and Programming, Stresa, Vol. 372 of Lecture Notes in Computer Science, Springer-Verlag, 1989, pp. 574–588.Google Scholar
  18. 18.
    Mason, I.A. and Talcott, C.L. Equivalence in functional languages with effects. Journal of Functional Programming, 1 (1991) 287–327.Google Scholar
  19. 19.
    Mason, I.A. and Talcott, C.L. Feferman-Landin logic. In Reflections—A Symposium Honoring Solomon Feferman on his 70th Birthday, W. Sieg, R. Sommer, and C. Talcott (Eds.). Lecture Notes in Logic, 2001.Google Scholar
  20. 20.
    McKinna, J. and Pollack, R. Pure type systems formalized. In Typed Lambda Calculi and Applications, M. Bezem and J.F. Groote (Eds.). Vol. 664 of Lecture Notes in Computer Science, Springer Verlag, 1993, pp. 289–305.Google Scholar
  21. 21.
    McKinna, J. and Pollack, R. Some lambda calculus and type theory formalized. Journal of Automated Reasoning, 23 (1999). An abridged version appeared as [20].Google Scholar
  22. 22.
    Milner, R. Fully abstract models of typed λ-calculi. Theoretical Computer Science, 4 (1977) 1–22.Google Scholar
  23. 23.
    Morris, J.H. Lambda Calculus Models of Programming Languages. Ph.D. thesis, Massachusetts Institute of Technology, 1968.Google Scholar
  24. 24.
    Plotkin, G. Call-by-name, call-by-value and the lambda calculus. Theoretical Computer Science, 1 (1975) 125–159.Google Scholar
  25. 25.
    Shankar, N. Personal communication, July 2000.Google Scholar
  26. 26.
    Talcott, C.L. Reasoning about functions with effects. In Higher Order Operational Techniques in Semantics. Cambridge University Press, 1996.Google Scholar

Copyright information

© Kluwer Academic Publishers 2003

Authors and Affiliations

  • Jonathan Ford
    • 1
  • Ian A. Mason
    • 1
  1. 1.School of Mathematics, Statistics, & Computing ScienceUniversity of New EnglandArmidaleAustralia

Personalised recommendations