Skip to main content

Reasoning about Computations Using Two-Levels of Logic

  • Conference paper
Programming Languages and Systems (APLAS 2010)

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

Included in the following conference series:

Abstract

We describe an approach to using one logic to reason about specifications written in a second logic. One level of logic, called the “reasoning logic”, is used to state theorems about computational specifications. This logic is classical or intuitionistic and should contain strong proof principles such as induction and co-induction. The second level of logic, called the “specification logic”, is used to specify computation. While computation can be specified using a number of formal techniques—e.g., Petri nets, process calculus, and state machines—we shall illustrate the merits and challenges of using logic programming-like specifications of computation.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Aydemir, B., Charguéraud, A., Pierce, B.C., Pollack, R., Weirich, S.: Engineering formal metatheory. In: 35th ACM Symp. on Principles of Programming Languages, pp. 3–15. ACM, New York (January 2008)

    Google Scholar 

  2. Baelde, D.: A linear approach to the proof-theory of least and greatest fixed points. PhD thesis, Ecole Polytechnique (December 2008)

    Google Scholar 

  3. Baelde, D.: On the expressivity of minimal generic quantification. In: Abel, A., Urban, C. (eds.) International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2008). ENTCS, vol. 228, pp. 3–19 (2008)

    Google Scholar 

  4. Baelde, D., Gacek, A., Miller, D., Nadathur, G., Tiu, A.: The bedwyr system for model checking over syntactic expressions. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 391–397. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Baelde, D., Miller, D.: Least and greatest fixed points in linear logic. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS (LNAI), vol. 4790, pp. 92–106. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Baelde, D., Miller, D., Snow, Z.: Focused inductive theorem proving. In: Giesl, J., Hähnle, R. (eds.) Automated Reasoning. LNCS, vol. 6173, pp. 278–292. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  7. Baelde, D., Miller, D., Snow, Z., Viel, A.: Tac: A generic and adaptable interactive theorem prover (2009), http://slimmer.gforge.inria.fr/tac/

  8. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science. Springer, Heidelberg (2004)

    Book  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  10. Coquand, T., Paulin, C.: Inductively defined types. In: Martin-Löf, P., Mints, G. (eds.) COLOG 1988. LNCS, vol. 417, pp. 50–66. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  11. Felty, A., Momigliano, A.: Hybrid: A definitional two-level approach to reasoning with higher-order abstract syntax. To appear in the J. of Automated Reasoning

    Google Scholar 

  12. Gacek, A.: The Abella interactive theorem prover (system description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 154–161. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  13. Gacek, A.: A Framework for Specifying, Prototyping, and Reasoning about Computational Systems. PhD thesis, University of Minnesota (2009)

    Google Scholar 

  14. Gacek, A., Miller, D., Nadathur, G.: Combining generic judgments with recursive definitions. In: Pfenning, F. (ed.) 23th Symp. on Logic in Computer Science, pp. 33–44. IEEE Computer Society Press, Los Alamitos (2008)

    Google Scholar 

  15. Gacek, A., Miller, D., Nadathur, G.: Reasoning in Abella about structural operational semantics specifications. In: Abel, A., Urban, C. (eds.) International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2008). ENTCS, vol. 228, pp. 85–100 (2008)

    Google Scholar 

  16. Gacek, A., Miller, D., Nadathur, G.: A two-level logic approach to reasoning about computations (November 16, 2009) (submitted )

    Google Scholar 

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

    Google Scholar 

  18. Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. J. of the ACM 40(1), 143–184 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  19. Huet, G.: A unification algorithm for typed λ-calculus. Theoretical Computer Science 1, 27–57 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  20. Liang, C., Miller, D.: Focusing and polarization in linear, intuitionistic, and classical logics. Theoretical Computer Science 410(46), 4747–4768 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  21. McDowell, R.: Reasoning in a Logic with Definitions and Induction. PhD thesis, University of Pennsylvania (December 1997)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  23. 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  MATH  Google Scholar 

  24. 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  MathSciNet  MATH  Google Scholar 

  25. Miller, D.: Abstract syntax for variable binders: An overview. In: Lloyd, J., et al. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 239–253. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  26. 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 

  27. Miller, D.: Formalizing operational semantic specifications in logic. Concurrency Column of the Bulletin of the EATCS (October 2008)

    Google Scholar 

  28. 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  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

  33. Nadathur, G., Mitchell, D.J.: System description: Teyjus — A compiler and abstract machine based implementation of λProlog. In: Ganzinger, H. (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 287–291. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  34. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)

    Google Scholar 

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

    Google Scholar 

  36. 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 

  37. Pientka, B.: A type-theoretic foundation for programming with higher-order abstract syntax and first-class substitutions. In: 35th Annual ACM Symposium on Principles of Programming Languages (POPL 2008), pp. 371–382. ACM, New York (2008)

    Chapter  Google Scholar 

  38. Poswolsky, A., Schürmann, C.: System description: Delphin - A functional programming language for deductive systems. In: Abel, A., Urban, C. (eds.) International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice (LFMTP 2008), vol. 228, pp. 113–120 (2008)

    Google Scholar 

  39. Schroeder-Heister, P.: Cut-elimination in logics with definitional reflection. In: Pearce, D., Wansing, H. (eds.) All-Berlin 1990. LNCS, vol. 619, Springer, Heidelberg (1992)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  41. Schürmann, C.: Automating the Meta Theory of Deductive Systems. PhD thesis, Carnegie Mellon University (October 2000) CMU-CS-00-146

    Google Scholar 

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

    Google Scholar 

  43. 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 

  44. Tiu, A., Miller, D.: Proof search specifications of bisimulation and modal logics for the π-calculus. ACM Trans. on Computational Logic 11(2) (2010)

    Google Scholar 

  45. Urban, C.: Nominal reasoning techniques in Isabelle/HOL. J. of Automated Reasoning 40(4), 327–356 (2008)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Miller, D. (2010). Reasoning about Computations Using Two-Levels of Logic. In: Ueda, K. (eds) Programming Languages and Systems. APLAS 2010. Lecture Notes in Computer Science, vol 6461. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17164-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-17164-2_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-17163-5

  • Online ISBN: 978-3-642-17164-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics