Reasoning about Computations Using Two-Levels of Logic

  • Dale Miller
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6461)


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.


Model Check Logic Programming Reasoning Logic Proof System Deductive System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 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)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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)CrossRefGoogle Scholar
  7. 7.
    Baelde, D., Miller, D., Snow, Z., Viel, A.: Tac: A generic and adaptable interactive theorem prover (2009),
  8. 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)CrossRefzbMATHGoogle Scholar
  9. 9.
    Church, A.: A formulation of the simple theory of types. J. of Symbolic Logic 5, 56–68 (1940)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 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)CrossRefGoogle Scholar
  11. 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 ReasoningGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 13.
    Gacek, A.: A Framework for Specifying, Prototyping, and Reasoning about Computational Systems. PhD thesis, University of Minnesota (2009)Google Scholar
  14. 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. 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. 16.
    Gacek, A., Miller, D., Nadathur, G.: A two-level logic approach to reasoning about computations (November 16, 2009) (submitted )Google Scholar
  17. 17.
    Girard, J.-Y.: A fixpoint theorem in linear logic. An email posting to the mailing list (February 1992)Google Scholar
  18. 18.
    Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. J. of the ACM 40(1), 143–184 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Huet, G.: A unification algorithm for typed λ-calculus. Theoretical Computer Science 1, 27–57 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Liang, C., Miller, D.: Focusing and polarization in linear, intuitionistic, and classical logics. Theoretical Computer Science 410(46), 4747–4768 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    McDowell, R.: Reasoning in a Logic with Definitions and Induction. PhD thesis, University of Pennsylvania (December 1997)Google Scholar
  22. 22.
    McDowell, R., Miller, D.: Cut-elimination for a logic with definitions and induction. Theoretical Computer Science 232, 91–119 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 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)CrossRefGoogle Scholar
  27. 27.
    Miller, D.: Formalizing operational semantic specifications in logic. Concurrency Column of the Bulletin of the EATCS (October 2008)Google Scholar
  28. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 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. 30.
    Miller, D., Tiu, A.: A proof theory for generic judgments. ACM Trans. on Computational Logic 6(4), 749–783 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 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)CrossRefGoogle Scholar
  32. 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. 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)CrossRefGoogle Scholar
  34. 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. 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. 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)CrossRefGoogle Scholar
  37. 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)CrossRefGoogle Scholar
  38. 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. 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)CrossRefGoogle Scholar
  40. 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)CrossRefGoogle Scholar
  41. 41.
    Schürmann, C.: Automating the Meta Theory of Deductive Systems. PhD thesis, Carnegie Mellon University (October 2000) CMU-CS-00-146Google Scholar
  42. 42.
    Tiu, A.: A Logical Framework for Reasoning about Logical Specifications. PhD thesis, Pennsylvania State University (May 2004)Google Scholar
  43. 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)CrossRefGoogle Scholar
  44. 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. 45.
    Urban, C.: Nominal reasoning techniques in Isabelle/HOL. J. of Automated Reasoning 40(4), 327–356 (2008)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Dale Miller
    • 1
  1. 1.INRIA Saclay & LIX, École PolytechniquePalaiseauFrance

Personalised recommendations