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.
Similar content being viewed by others
References
Altenkirch, T.: Constructions, inductive types and strong normalisation, Ph.D. thesis, Laboratory for the Foundations of Computer Science, University of Edinburgh, 1994.
Barras, B.: Auto-validation d'un système de preuves avec families inductives, Ph.D. thesis, l'Université Paris, 1997.
Barras, B. et al.: The Coq Proof Assistant Reference Manual, version 6.3.1, 1999.
Barras, B. and Werner, B.: Coq in Coq, 1997.
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.
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).
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.
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.
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.
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.
Hendriks, D.: Clausification of first-order formulae, representation & correctness in type theory, Master's thesis, Utrecht University, 1998.
Huet, G.: Residual theory in lambda calculus, a complete Gallina development, Rapport de recherche INRIA 2002, 1993.
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.
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.
McKinna, J. and Pollack, R.: Some lambda calculus and type theory formalized, J. Automated Reasoning 23(3–4) (1999), 373–409.
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.
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.
van de Pol, J.: Termination of higher-order rewrite systems, Ph.D. thesis, Utrecht University, Department of Philosophy, Utrecht, 1996.
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.
Werner, B.: Une theorie des constructions inductives, Ph.D. thesis, l'Université Paris, 1994.
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1021923116629