Skip to main content
Log in

External Rewriting for Skeptical Proof Assistants

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

Abstract

This paper presents the design, the implementation, and experiments of the integration of syntactic, conditional possibly associative-commutative term rewriting into proof assistants based on constructive type theory. Our approach is called external because it consists in performing term rewriting in a specific and efficient environment and checking the computations later in a proof assistant. Two typical systems are considered in this work: ELAN, based on the rewriting calculus, as the term rewriting-based environment, and Coq, based on the calculus of inductive constructions as the proof assistant. We first formalize the proof terms for deduction by rewriting and strategies in ELAN using the rewriting calculus with explicit substitutions. We then show how these proof terms can soundly be translated into Coq syntax where they can be directly type checked. For the method to be applicable for rewriting modulo associativity and commutativity, we provide an effective method to prove equalities modulo these axioms in Coq using ELAN. These results have been integrated into an ELAN-based rewriting tactic in Coq.

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

  • Abadi M., Cardelli, L., Curien, P.-L. and Lévy, J.-J.: Explicit substitutions, in ACM (ed.), Conf. Rec. 17th Symp. POPL, 1990, pp. 31–46.

  • Alvarado, C. and Nguyen, Q.-H.: ELAN for equational reasoning in Coq, in J. Despeyroux (ed.), Proc. of LFM'00, INRIA, 2000. ISBN 2-7261-1166-1.

  • Barendregt H. and Barendsen, E.: Autarkik computations in formal proofs, J. Symbolic Comput. (2002). To appear.

  • Barendregt, H. and Geuvers, H.: Proof-assistants using dependent type systems, in A. Robinson and A. Voronkov (eds), Handbook of Automated Reasoning, Vol. II, Elsevier Science Publishers B. V., North-Holland, 2001, Chapt. 18, pp. 1149–1238.

    Google Scholar 

  • Bezem M., Hendriks, D. and de Nivelle, H.: Automated proof construction in type theory using resolution, in D. McAllester (ed.), Proc. of CADE 17, LNAI 1831, 2000, pp. 148–163.

  • Blanqui, F.: Definitions by rewriting in the calculus of constructions, in Proc. of LICS'01, 2001, pp. 9–18.

  • Boulton, R., Slind, K., Bundy, A. and Gordon, M.: An interface between CLAM and HOL, in J. Grundy and M. Newey (eds), Proc. of the 11th Int. Conf. TPHOL, LNCS 1479, 1998, pp. 87–104.

  • Boutin, S.: Using reflection to build efficient and certified decision procedures, in M. Abadi and T. Ito (eds), Proc. of TAGS'97, LNCS 1281, 1997, pp. 515–529.

  • Cirstea H.: Calcul de réécriture: fondements et applications, Thèse de Doctorat d'Université, Université Henri Poincaré – Nancy 1, 2000.

  • Cirstea, H. and Kirchner, C.: Combining higher-order and first-order computation using ρ-calculus: Towards a semantics of ELAN, in D. Gabbay and M. de Rijke (eds), Frontiers of Combining Systems 2, Research Studies, Wiley, 1999, pp. 95–120.

    Google Scholar 

  • Cirstea, H. and Kirchner, C.: The rewriting calculus – Part I and II, J. Interest Group in Pure Appl. Logics 9(3) (2001), 427–498.

    Google Scholar 

  • Cirstea, H., Kirchner, C. and Liquori, L.: The rho cube, in F. Honsell (ed.), Proc. of FOSSACS, LNCS 2030, 2001, pp. 166–180.

  • Coquand, T. and Huet, G.: The calculus of constructions, Inform. Comput. 76 (1988).

  • Curien, P.-L., Hardin, T. and Levy, J.-J.: Confluence properties of weak and strong calculi of explicit substitutions, J. ACM 43(2) (1996), 362–397.

    Google Scholar 

  • Dowek, G., Hardin, T. and Kirchner, C.: Theorem proving modulo, Rapport de Recherche 3400, INRIA, 1998. Available at ftp://ftp.inria.fr/INRIA/publication/RR/RR-3400.ps.gz.

  • Gadducci, F.: On the algebraic approach to concurrent term rewriting, Ph.D. thesis, Università di Pisa, 1996.

  • Harper, R., Honsell, F. and Plotkin, G.: A framework for defining logics, in Proc. of LICS'87, 1987, pp. 194–204.

  • Harrison, J.: Metatheory and reflection in theorem proving: A survey and critique, Technical Report CRC-053, SRI Cambridge, UK, 1995. Available at http://www.cl.cam.ac.uk/users/ jrh/papers/reflect.dvi.gz+.

    Google Scholar 

  • Hurd, J.: Integrating Gandalf and HOL, in Y. Bertot, G. Dowek, A. Hirschowitz, C. Paulin and L. Thery (eds), Proc. of TPHOLs'99, LNCS 1690, 1999, pp. 311–21.

  • Jouannaud, J.-P. and Kirchner, H.: Completion of a set of rules modulo a set of equations, SIAM J. Comput. 15(4) (1986), 1155–1194.

    Google Scholar 

  • Kirchner, C.: Computing unification algorithms, in Proc. of the 1st IEEE Symposium on Logic in Computer Science (USA), 1986, pp. 206–216.

  • Kirchner, C. and Klay, F.: Syntactic theories and unification, in Proc. of the 5th IEEE Symposium on Logic in Computer Science (USA), 1990, pp. 270–277.

  • Martin, A., Gardiner, P. H. B. and Woodcock, J. C. P.: A tactic calculus – abridged version, Formal Aspects of Computing 8(4) (1996), 490–497.

    Google Scholar 

  • Martin, U. and Nipkow, T.: Ordered rewriting and confluence, in M. Stickel (ed.), Proc. of CADE 10, LNCS 449, 1990, pp. 366–380.

  • Meseguer, J.: Conditional rewriting logic as a unified model of concurrency, Theoret. Comput. Sci. 96(1) (1992), 73–155.

    Google Scholar 

  • Necula, G. and Lee, P.: Efficient representation and validation of logical proofs, in Proc. of LICS'98, 1998, pp. 93–104.

  • Nguyen, Q.-H., Calcul de réécriture et automatisation du raisonnement dans les assistants de preuve, Thèse de Doctorat d'Université, Université Henri Poincaré–Nancy 1, 2002.

  • Nguyen, Q.-H., Kirchner, C. and Kirchner, H.: External rewriting for skeptical proof assistants (extended version), Technical Report A02-R-099, LORIA, 2002. Available at http://www.loria.fr/∼nguyenqh/publication/eatr.ps.gz.

  • Nipkow, T.: Proof transformations for equational theories, in Proc. of the 5th IEEE Symposium on Logic in Computer Science (USA), 1990, pp. 278–288.

  • Paulin-Mohring, C.: Inductive definitions in the system Coq: Rules and properties, in M. Bezem and J. F. Groote (eds), Proc. of the 1st Int. Conf. TLCA, LNCS 664, Berlin, 1993, pp. 328–345.

  • Paulson, L.: A generic tableau prover and its integration with Isabelle, J. Universal Computer Sci. 5(3) (1999), 73–87.

    Google Scholar 

  • Peterson, G. and Stickel, M. E.: Complete sets of reductions for some equational theories, J. ACM 28 (1981), 233–264.

    Google Scholar 

  • Ringeissen, C.: Combinaison de résolutions de contraintes, Thèse de Doctorat d'Université, Université Henri Poincaré – Nancy 1, 1993.

  • Schmidt-Schauß, M.: Unification in a combination of arbitrary disjoint equational theories, J. Symbolic Comput. 8(1 & 2) (1989), 51–99.

    Google Scholar 

  • Stump, A. and Dill, D. L.: Faster proof checking in the Edinburgh logical framework, in Proc. of CADE 18, LNCS 2392, 2002, pp. 391–406.

    Google Scholar 

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nguyen, Q.H., Kirchner, C. & Kirchner, H. External Rewriting for Skeptical Proof Assistants. Journal of Automated Reasoning 29, 309–336 (2002). https://doi.org/10.1023/A:1021975117537

Download citation

  • Issue Date:

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

Navigation