Skip to main content

Computational reflection in the calculus of constructions and its application to theorem proving

  • Conference paper
  • First Online:
Typed Lambda Calculi and Applications (TLCA 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1210))

Included in the following conference series:

Abstract

This paper describes a computational reflection mechanism for the calculus of constructions. In this framework it is possible to encode functions that operate on syntactic representations on the meta-level and to verify semantic relations between the object-level denotations of the source and the target of meta-functions. Moreover, it is shown how computational reflection can easily be integrated with existing proof development systems based on refinement methods in order to extend theorem proving capabilities in a sound way.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S.F. Allen, R.L. Constable, D.J. Howe, and W.E. Aitken. The Semantics of Reflected Proof. In Proc. 5th Annual IEEE Symposium on Logic in Computer Science, pages 95–105. IEEE CS Press, 1990.

    Google Scholar 

  2. R.S. Boyer and J.S. Moore. Metafunctions: Proving them Correct and Using them Efficiently as New Proof Procedures. In R.S. Boyer and J.S. Moore, editors, The Correctness Problem in Computer Science, chapter 3. Academic Press, 1981.

    Google Scholar 

  3. T. Coquand and G. Huet. Constructions: a Higher-Order Proof System for Mechanizing Mathematics. In B. Buchberger, editor, EUROCAL'85: European Conference on Computer Algebra, volume 203 of Lecture Notes in Computer Science, pages 151–184. Springer-Verlag, 1985.

    Google Scholar 

  4. T. Coquand and G. Huet. The Calculus of Constructions. Information and Computation, 76(2/3):95–120, 1988.

    Google Scholar 

  5. J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types, volume 7 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1989.

    Google Scholar 

  6. M. J. Gordon, A. J. R. Milner, and C. P. Wadsworth. Edinburgh LCF: a Mechanized Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1979.

    Google Scholar 

  7. R. Harper and R. Pollack. Type Checking, Universal Polymorphism, and Type Ambiguity in the Calculus of Constructions. In TAPSOFT'89, volume II, Lecture Notes in Computer Science, pages 240–256. Springer-Verlag, 1989.

    Google Scholar 

  8. J. Harrison. Metatheory and Reflection in Theorem Proving: A Survey and Critique. Technical Report CRC-053, SRI Cambridge, UK, 1995. See http://www.cl.cam.ac.uk/ftp/hvg/papers.

    Google Scholar 

  9. D.J. Howe. Computational Metatheory in Nuprl. In Proc. 9th International Conference on Automated Deduction, volume 310, pages 238–257. Springer-Verlag Lecture Notes in Computer Science, 1988.

    Google Scholar 

  10. D.J. Howe. Reflecting the Semantics of Reflected Proof. In P. Aczel, H. Simmons, and S. Wainer, editors, Proof Theory, pages 227–250. Cambridge University Press, 1992.

    Google Scholar 

  11. T.B. Knoblock and R.L. Constable. Formalized Metareasoning in Type Theory. In Proceedings of LICS, pages 237–248. IEEE, 1986. Also available as technical report TR 86-742, Department of Computer Science, Cornell University.

    Google Scholar 

  12. G. Kreisel and A. Lévy. Reflection Principles and their Use for Establishing the Complexity of Axiomatic Systems. Zeitschrift für math. Logik und Grundlagen der Mathematik, Bd. 14:97–142, 1968.

    Google Scholar 

  13. Z. Luo. CC ω and its Metatheory. Technical Report ECS-LFCS-88-57, Laboratory for the Foundations of Computer Science, Edinburgh University, July 1988.

    Google Scholar 

  14. Z. Luo and R. Pollack. The Lego Proof Development System: A User's Manual. Technical Report ECS-LFCS-92-211, University of Edinburgh, 1992.

    Google Scholar 

  15. T. Mogensen. Efficient Self-Interpretation in Lambda Calculus. J. Functional Programming, 2(3):345–364, 1992.

    Google Scholar 

  16. B. Nordström, K. Petersson, and J.M. Smith. Programming in Martin-Löf's Type Theory. Number 7 in International Series of Monographs on Computer Science. Oxford Science Publications, 1990.

    Google Scholar 

  17. S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, February 1995.

    Google Scholar 

  18. F. Pfenning and P. Lee. Metacircularity in the Polymorphic λ-Calculus. Theoretical Computer Science, 89:137–159, 1991.

    Google Scholar 

  19. H. Rueß. Formal M eta-Programming in the Calculus of Constructions. PhD thesis, Universität Ulm, 1995.

    Google Scholar 

  20. H. Rueß. Reflection of Formal Tactics in a Deductive Reflection Framework. In M.A. McRobbie and J.K.Slaney, editors, Automated Deduction — CADE-13, volume 1104 of Lecture Notes in Computer Science. Springer-Verlag, 1996.

    Google Scholar 

  21. F. W. von Henke. An Algebraic Approach to Data Types, Program Verification, and Program Synthesis. In Mathematical Foundations of Computer Science, Proceedings, volume 45 of Lecture Notes in Computer Science. Springer-Verlag, 1976.

    Google Scholar 

  22. R. W. Weyhrauch. Prolegomena to a Theory of Mechanized Formal Reasoning. Artificial Intelligence, 13(1):133–170, 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Philippe de Groote J. Roger Hindley

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rueß, H. (1997). Computational reflection in the calculus of constructions and its application to theorem proving. In: de Groote, P., Roger Hindley, J. (eds) Typed Lambda Calculi and Applications. TLCA 1997. Lecture Notes in Computer Science, vol 1210. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62688-3_44

Download citation

  • DOI: https://doi.org/10.1007/3-540-62688-3_44

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62688-6

  • Online ISBN: 978-3-540-68438-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics