Skip to main content
Log in

Proof Reflection in Coq

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

We formalize natural deduction for first-order logic in the proof assistant Coq, using de Bruijn indices for variable binding. The main judgment we model is of the form Γ⊢d [:] φ, stating that d is a proof term of formula φ under hypotheses Γ it can be viewed as a typing relation by the Curry–Howard isomorphism. This relation is proved sound with respect to Coq's native logic and is amenable to the manipulation of formulas and of derivations. As an illustration, we define a reduction relation on proof terms with permutative conversions and prove the property of subject reduction.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Altenkirch, T.: Constructions, inductive types and strong normalisation, Ph.D. thesis, Laboratory for the Foundations of Computer Science, University of Edinburgh, 1994.

  2. Barras, B.: Auto-validation d'un système de preuves avec families inductives, Ph.D. thesis, l'Université Paris, 1997.

  3. Barras, B. et al.: The Coq Proof Assistant Reference Manual, version 6.3.1, 1999.

  4. Barras, B. and Werner, B.: Coq in Coq, 1997.

  5. Barthe, G., Ruys, M. and Barendregt, H.: A two-level approach towards lean proof-checking, in S. Berardi and M. Coppo (eds), Proceedings of Types '95, Lecture Notes in Comput. Sci. 1128, pp. 16–35.

  6. Benaissa, Z., Briaud, D., Lescanne, P. and Rouyer-Degli, J.: λv, a calculus of explicit substitutions which preserves strong normalisation, Functional Programming 6(5) (1996).

  7. van Benthem Jutting, L. S., McKinna, J. and Pollack, R.: Checking algorithms for pure type systems, in H. Barendregt and T. Nipkow (eds), Proceedings of the International Workshop on Types for Proofs and Programs, Lecture Notes in Comput. Sci. 806, Springer-Verlag, 1994, pp. 19–61.

  8. Bezem, M., Hendriks, D. and de Nivelle, H.: Automated proof construction in type theory using resolution, in D. McAllester (ed.), Proceedings CADE-17, Lecture Notes in Comput. Sci. 1831, Springer-Verlag, Berlin, 2000, pp. 148–163.

    Google Scholar 

  9. Boutin, S.: Using reflection to build efficient and certified decision procedures, in M. Abadi and T. Ito (eds), Theoretical Aspects of Computer Software, Lecture Notes in Comput. Sci. 1281, Springer-Verlag, 1997, pp. 515–529.

  10. de Bruijn, N. G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church–Rosser theorem, Indag. Math. 34(5) (1972), 381–392.

    Google Scholar 

  11. Hendriks, D.: Clausification of first-order formulae, representation & correctness in type theory, Master's thesis, Utrecht University, 1998.

  12. Huet, G.: Residual theory in lambda calculus, a complete Gallina development, Rapport de recherche INRIA 2002, 1993.

  13. Matthes, R. and Joachimski, F.: Short proofs of normalization for the simply-typed lamdacalculus, permutative conversions and Gödel's T, accepted for publication in the Arch. Math. Logic.

  14. McKinna, J. and Pollack, R.: Pure type systems formalized, in M. Bezem and J. F. Groote (eds.), Proceedings 1st Int. Conf. on Typed Lambda Calculi and Applications, TLCA'93, Utrecht, The Netherlands, 16–18 March 1993, Vol. 664, Springer-Verlag, Berlin, 1993, pp. 289–305.

    Google Scholar 

  15. McKinna, J. and Pollack, R.: Some lambda calculus and type theory formalized, J. Automated Reasoning 23(3–4) (1999), 373–409.

    Google Scholar 

  16. Persson, H.: Constructive completeness of intuitionistic predicate logic: A formalisation in type theory, Licentiate thesis, Chalmers University of Technology and University of Götenborg, 1996.

  17. Pfenning, F.: The practice of logical frameworks, in H. Kirchner (ed.), Proceedings of the Colloquium on Trees in Algebra and Programming, Lecture Notes in Comput. Sci. 1059, Springer-Verlag, 1996, pp. 119–134.

  18. van de Pol, J.: Termination of higher-order rewrite systems, Ph.D. thesis, Utrecht University, Department of Philosophy, Utrecht, 1996.

    Google Scholar 

  19. Prawitz, D.: Ideas and results in proof theory, in J. E. Fenstad (ed.), Proceedings of the Scandinavian Logic Symposium, North-Holland, Amsterdam, 1971, pp. 235–307.

  20. Werner, B.: Une theorie des constructions inductives, Ph.D. thesis, l'Université Paris, 1994.

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hendriks, D. Proof Reflection in Coq. Journal of Automated Reasoning 29, 277–307 (2002). https://doi.org/10.1023/A:1021923116629

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1021923116629

Navigation