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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Andreoli, J.-M.: Logic programming with focusing proofs in linear logic. J. of Logic and Computation 2(3), 297–347 (1992)
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)
Boreale, M., Nicola, R.D.: A symbolic semantics for the π-calculus. Information and Computation 126(1), 34–52 (1996)
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)
Bruijn, N.: Lambda calculus notation with namefree formulas involving symbols that represent reference transforming mappings. Indag. Math. 40(3), 348–356 (1979)
Church, A.: A formulation of the simple theory of types. J.of Symbolic Logic 5, 56–68 (1940)
Clark, K.L.: Negation as failure. In: Gallaire, J., Minker, J. (eds.) Logic and Data Bases, pp. 293–322. Plenum Press, New York (1978)
Constable, R.L., et al.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)
Coquand, T., Huet, G.: The calculus of constructions. Information and Computation 76(2/3), 95–120 (1988)
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)
Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13, 341–363 (2001)
Gentzen, G.: Investigations into logical deductions. In: Szabo, M.E. (ed.) The Collected Papers of Gerhard Gentzen, pp. 68–131. North-Holland, Amsterdam (1969)
Girard, J.-Y.: A fixpoint theorem in linear logic. An email posting to the mailing list linear@cs.stanford.edu (February 1992)
Gordon, M.: HOL: A machine oriented formulation of higher-order logic. Technical Report 68, University of Cambridge (July 1985)
Groote, J.F., Vaandrager, F.: Structured operational semantics and bisimulation as a congruence. Information and Computation 100, 202–260 (1992)
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)
Hennessy, M., Lin, H.: Symbolic bisimulations. Theoretical Computer Science 138(2), 353–389 (1995)
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)
Howe, D.J.: Proving congruence of bisimulation in functional programming languages. Information and Computation 124(2), 103–112 (1996)
Huet, G., Lang, B.: Proving and applying program transformations expressed with second-order patterns. Acta Informatica 11, 31–55 (1978)
Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: Proceedings of the 14th ACM Symposium on the Principles of Programming Languages (1987)
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)
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)
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)
McDowell, R., Miller, D.: Cut-elimination for a logic with definitions and induction. Theoretical Computer Science 232, 91–119 (2000)
McDowell, R., Miller, D.: Reasoning with higher-order abstract syntax in a logical framework. ACM Trans. on Computational Logic 3(1), 80–136 (2002)
McDowell, R., Miller, D., Palamidessi, C.: Encoding transition systems in sequent calculus. Theoretical Computer Science 294(3), 411–437 (2003)
Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. of Logic and Computation 1(4), 497–536 (1991)
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)
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)
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)
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)
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)
Miller, D., Palamidessi, C.: Foundational aspects of syntax. ACM Computing Surveys, 31 (September 1999)
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)
Miller, D., Tiu, A.: A proof theory for generic judgments. ACM Trans. on Computational Logic 6(4), 749–783 (2005)
Milner, R.: Communication and Concurrency. Prentice-Hall International, Englewood Cliffs (1989)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, Part II. In: Information and Computation, pp. 41–77 (1992)
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)
Nadathur, G., Miller, D.: An Overview of λProlog. In: Fifth International Logic Programming Conference, August 1988, pp. 810–827. MIT Press, Cambridge (1988)
Nadathur, G., Miller, D.: Higher-order Horn clauses. Journal of the ACM 37(4), 777–814 (1990)
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)
Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
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)
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)
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)
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)
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)
Sangiorgi, D.: A theory of bisimulation for the π-calculus. Acta Informatica 33(1), 69–97 (1996)
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)
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)
Tiu, A.: A Logical Framework for Reasoning about Logical Specifications. PhD thesis, Pennsylvania State University (May 2004)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)