Skip to main content

Representing and Reasoning with Operational Semantics

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 4130))

Abstract

The operational semantics of programming and specification languages is often presented via inference rules and these can generally be mapped into logic programming-like clauses. Such logical encodings of operational semantics can be surprisingly declarative if one uses logics that directly account for term-level bindings and for resources, such as are found in linear logic. Traditional theorem proving techniques, such as unification and backtracking search, can then be applied to animate operational semantic specifications. Of course, one wishes to go a step further than animation: using logic to encode computation should facilitate formal reasoning directly with semantic specifications. We outline an approach to reasoning about logic specifications that involves viewing logic specifications as theories in an object-logic and then using a meta-logic to reason about properties of those object-logic theories. We motivate the principal design goals of a particular meta-logic that has been built for that purpose.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andreoli, J.-M.: Logic programming with focusing proofs in linear logic. J. of Logic and Computation 2(3), 297–347 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  2. Aydemir, B.E., Bohannon, A., Fairbairn, M., Foster, J.N., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized metatheory for the masses: The PoplMark challenge. In: Theorem Proving in Higher Order Logics: 18th International Conference, pp. 50–65. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  3. Boreale, M., Nicola, R.D.: A symbolic semantics for the π-calculus. Information and Computation 126(1), 34–52 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  4. Borras, P., Clément, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. In: Proceedings of SIGSOFT 1988: Third Annual Symposium on Software Development Environments (SDE3), Boston (1988)

    Google Scholar 

  5. Bruijn, N.: Lambda calculus notation with namefree formulas involving symbols that represent reference transforming mappings. Indag. Math. 40(3), 348–356 (1979)

    Google Scholar 

  6. Church, A.: A formulation of the simple theory of types. J.of Symbolic Logic 5, 56–68 (1940)

    Article  MATH  MathSciNet  Google Scholar 

  7. Clark, K.L.: Negation as failure. In: Gallaire, J., Minker, J. (eds.) Logic and Data Bases, pp. 293–322. Plenum Press, New York (1978)

    Google Scholar 

  8. Constable, R.L., et al.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)

    Google Scholar 

  9. Coquand, T., Huet, G.: The calculus of constructions. Information and Computation 76(2/3), 95–120 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  10. Despeyroux, J., Felty, A., Hirschowitz, A.: Higher-order abstract syntax in Coq. In: Second International Conference on Typed Lambda Calculi and Applications, pp. 124–138 (April 1995)

    Google Scholar 

  11. Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13, 341–363 (2001)

    Article  Google Scholar 

  12. Gentzen, G.: Investigations into logical deductions. In: Szabo, M.E. (ed.) The Collected Papers of Gerhard Gentzen, pp. 68–131. North-Holland, Amsterdam (1969)

    Google Scholar 

  13. Girard, J.-Y.: A fixpoint theorem in linear logic. An email posting to the mailing list linear@cs.stanford.edu (February 1992)

    Google Scholar 

  14. Gordon, M.: HOL: A machine oriented formulation of higher-order logic. Technical Report 68, University of Cambridge (July 1985)

    Google Scholar 

  15. Groote, J.F., Vaandrager, F.: Structured operational semantics and bisimulation as a congruence. Information and Computation 100, 202–260 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  16. Hallnäs, L., Schroeder-Heister, P.: A proof-theoretic approach to logic programming. II. Programs as definitions. J. of Logic and Computation 1(5), 635–660 (1991)

    Article  MATH  Google Scholar 

  17. Hennessy, M., Lin, H.: Symbolic bisimulations. Theoretical Computer Science 138(2), 353–389 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  18. Hofmann, M.: Semantical analysis of higher-order abstract syntax. In: 14th Symp. on Logic in Computer Science, pp. 204–213. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  19. Howe, D.J.: Proving congruence of bisimulation in functional programming languages. Information and Computation 124(2), 103–112 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  20. Huet, G., Lang, B.: Proving and applying program transformations expressed with second-order patterns. Acta Informatica 11, 31–55 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  21. Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: Proceedings of the 14th ACM Symposium on the Principles of Programming Languages (1987)

    Google Scholar 

  22. Kiniry, J.R., Chalin, P., Hurlin, C.: Integrating static checking and interactive verification: Supporting multiple theories and provers in verification. In: VSTTE 2005, Proceedings of Verified Software: Theories, Tools, Experiements, Zurich, Switzerland (October 2005)

    Google Scholar 

  23. Martin-Löf, P.: Constructive mathematics and computer programming. In: Sixth International Congress for Logic, Methodology, and Philosophy of Science, pp. 153–175. North-Holland, Amsterdam (1982)

    Chapter  Google Scholar 

  24. McDowell, R., Miller, D.: A logic for reasoning with higher-order abstract syntax. In: Winskel, G. (ed.) 12th Symp. on Logic in Computer Science, Warsaw, Poland, July 1997, pp. 434–445. IEEE Computer Society Press, Los Alamitos (1997)

    Google Scholar 

  25. McDowell, R., Miller, D.: Cut-elimination for a logic with definitions and induction. Theoretical Computer Science 232, 91–119 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  26. McDowell, R., Miller, D.: Reasoning with higher-order abstract syntax in a logical framework. ACM Trans. on Computational Logic 3(1), 80–136 (2002)

    Article  MathSciNet  Google Scholar 

  27. McDowell, R., Miller, D., Palamidessi, C.: Encoding transition systems in sequent calculus. Theoretical Computer Science 294(3), 411–437 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  28. Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. of Logic and Computation 1(4), 497–536 (1991)

    Article  MATH  Google Scholar 

  29. Miller, D.: Abstract syntax for variable binders: An overview. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 239–253. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  30. Miller, D.: Bindings, mobility of bindings, and the \(\nabla\)-quantifier. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, p. 24. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  31. Miller, D.: Overview of linear logic programming. In: Ehrhard, T., Girard, J.-Y., Ruet, P., Scott, P. (eds.) Linear Logic in Computer Science. London Mathematical Society Lecture Note, vol. 316, pp. 119–150. Cambridge University Press, Cambridge (2004)

    Chapter  Google Scholar 

  32. Miller, D., Nadathur, G.: A logic programming approach to manipulating formulas and programs. In: Haridi, S. (ed.) IEEE Symposium on Logic Programming, San Francisco, pp. 379–388 (September 1987)

    Google Scholar 

  33. Miller, D., Nadathur, G., Pfenning, F., Scedrov, A.: Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic 51, 125–157 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  34. Miller, D., Palamidessi, C.: Foundational aspects of syntax. ACM Computing Surveys, 31 (September 1999)

    Google Scholar 

  35. Miller, D., Tiu, A.: A proof theory for generic judgments: An extended abstract. In: 18th Symp. on Logic in Computer Science, June 2003, pp. 118–127. IEEE, Los Alamitos (2003)

    Google Scholar 

  36. Miller, D., Tiu, A.: A proof theory for generic judgments. ACM Trans. on Computational Logic 6(4), 749–783 (2005)

    Article  MathSciNet  Google Scholar 

  37. Milner, R.: Communication and Concurrency. Prentice-Hall International, Englewood Cliffs (1989)

    MATH  Google Scholar 

  38. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, Part II. In: Information and Computation, pp. 41–77 (1992)

    Google Scholar 

  39. Momigliano, A., Tiu, A.: Induction and co-induction in sequent calculus. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 293–308. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  40. Nadathur, G., Miller, D.: An Overview of λProlog. In: Fifth International Logic Programming Conference, August 1988, pp. 810–827. MIT Press, Cambridge (1988)

    Google Scholar 

  41. Nadathur, G., Miller, D.: Higher-order Horn clauses. Journal of the ACM 37(4), 777–814 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  42. Nadathur, G., Mitchell, D.J.: System description: Teyjus—a compiler and abstract machine based implementation of Lambda Prolog. In: Ganzinger, H. (ed.) Proceedings of the 16th International Conference on Automated Deduction, Trento, Italy, July 1999, pp. 287–291. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  43. Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    Book  MATH  Google Scholar 

  44. Owre, S., Rushby, J.M., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)

    Google Scholar 

  45. Paulson, L.: Compiler Generation from Denotational Semantics. In: Lorho, B. (ed.) Methods and Tools for Compiler Construction, pp. 219–250. Cambridge University Press, Cambridge (1984)

    Google Scholar 

  46. Paulson, L.C., Grąbczewski, K.: Mechanizing set theory: Cardinal arithmetic and the axiom of choice. J. of Automated Deduction 17(3), 291–323 (1996)

    MATH  Google Scholar 

  47. Pfenning, F., Elliott, C.: Higher-order abstract syntax. In: Proceedings of the ACM-SIGPLAN Conference on Programming Language Design and Implementation, June 1988, pp. 199–208. ACM Press, New York (1988)

    Google Scholar 

  48. Pfenning, F., Schürmann, C.: System description: Twelf — A meta-logical framework for deductive systems. In: Ganzinger, H. (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 202–206. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  49. Sangiorgi, D.: A theory of bisimulation for the π-calculus. Acta Informatica 33(1), 69–97 (1996)

    Article  MathSciNet  Google Scholar 

  50. Schroeder-Heister, P.: Rules of definitional reflection. In: Vardi, M. (ed.) Eighth Annual Symposium on Logic in Computer Science, June 1993, pp. 222–232. IEEE Computer Society Press, IEEE (1993)

    Chapter  Google Scholar 

  51. Schürmann, C., Pfenning, F.: A coverage checking algorithm for LF. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 120–135. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  52. Tiu, A.: A Logical Framework for Reasoning about Logical Specifications. PhD thesis, Pennsylvania State University (May 2004)

    Google Scholar 

  53. Tiu, A.: Model checking for π-calculus using proof search. In: Abadi, M., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 36–50. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  54. Tiu, A., Miller, D.: A proof search specification of the π-calculus. In: 3rd Workshop on the Foundations of Global Ubiquitous Computing, September 2004, vol. 138, pp. 79–101 (2004)

    Google Scholar 

  55. Tiu, A., Nadathur, G., Miller, D.: Mixing finite success and finite failure in an automated prover. In: Proceedings of ESHOL 2005: Empirically Successful Automated Reasoning in Higher-Order Logics, December 2005, pp. 79–98 (2005)

    Google Scholar 

  56. Ziegler, A., Miller, D., Palamidessi, C.: A congruence format for name-passing calculi. In: Proceedings of SOS 2005: Structural Operational Semantics, Lisbon, Portugal, July 2005. Electronic Notes in Theoretical Computer Science, Elsevier Science B.V, Amsterdam (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Miller, D. (2006). Representing and Reasoning with Operational Semantics. In: Furbach, U., Shankar, N. (eds) Automated Reasoning. IJCAR 2006. Lecture Notes in Computer Science(), vol 4130. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11814771_3

Download citation

  • DOI: https://doi.org/10.1007/11814771_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-37187-8

  • Online ISBN: 978-3-540-37188-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics