Skip to main content
Log in

A Full Formalization of SLD-Resolution in the Calculus of Inductive Constructions

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

Abstract

This paper presents a full formalization of the semantics of definite programs, in the calculus of inductive constructions. First, we describe a formalization of the proof of first-order terms unification: this proof is obtained from a similar proof dealing with quasi-terms, thus showing how to relate an inductive set with a subset defined by a predicate. Then, SLD-resolution is explicitely defined: the renaming process used in SLD-derivations is made explicit, thus introducing complications, usually overlooked, during the proofs of classical results. Last, switching and lifting lemmas and soundness and completeness theorems are formalized. For this, we present two lemmas, usually omitted, which are needed. This development also contains a formalization of basic results on operators and their fixpoints in a general setting. All the proofs of the results, presented here, have been checked with the proof assistant 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

  1. Abadi, M., Cardelli, L., Curien, P. L. and Lévy, J. J.: Explicit substitutions, J. Funct. Programming 1(4) (1991), 375-416.

    Google Scholar 

  2. Apt, K. R.: Logic programming, in J. van Leewen (ed.), Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, Chapter 10, The MIT Press, New York, 1990, pp. 493-574.

    Google Scholar 

  3. Apt, K. R. and van Emden, M. H.: Contributions to the theory of logic programming, J. ACM 29(3) (1982), 841-862.

    Google Scholar 

  4. Project Coq, The Coq Proof Assistant Reference Manual Version 6.2, INRIA-Rocquencourt, 1998.

  5. Coquand, T. and Huet, G.: The calculus of constructions, Inform. and Comput. 76(2-3) (1988), 95-120.

    Google Scholar 

  6. Dubois, C. and Viguié Donzeau-Gouge, V.: A step towards the mechanization of partial functions: Domains as inductive predicates, in Workshop on Mechanization of Partial Functions, CADE 15, July 1998.

  7. Falaschi, M., Levi, G., Palamidessi, C. and Martelli, M.: Declarative modeling of the operational behavior of logic languages, Theoret. Comput. Sci. 69(3) (1989), 289-318.

    Google Scholar 

  8. Gallier, J. H.: Logic for Computer Science, Foundations of Automatic Theorem Proving, Harper and Row Publishers, 1986.

  9. Girard, J. Y., Lafont, Y. and Taylor, P.: Proofs and Types, Cambridge Tracts in Theoret. Comput. Sci. 7, Cambridge University Press, 1989.

  10. Gordon, M. J. C., Milner, R. and Wadsworth, C.: Edinburgh LCF: A Mechanised Logic of Computation, Springer-Verlag, 1979.

  11. Harrison, J.: Formalizing basic first order model theory, in J. Grundy and M. Newey (eds.), 11th International Conference on Theorem Proving in Higher Order Logics TPHOLs'98, LNCS 1479, Springer-Verlag, 1998, pp. 153-170.

  12. Jaume, M.: Formalization of SLD-resolution in the calculus of inductives constructions. Research Report 96-67, ENPC-CERMICS, 1996.

  13. Jaume, M.: Unification: A case study in transposition of formal properties, in E. L. Gunter and A. Felty (eds.), Supplementary Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics: Poster session TPHOLs'97, Murray Hill, NJ, 1997, pp. 79-93.

  14. Kemp, R. S. and Ringwood, G. A.: Reynolds and Heyting models of logic programs, in ICLP94 Workshop on Proof Theoretical Extensions of Logic Programming, 1994.

  15. Ko, H. P. and Nadel, M. E.: Substitution and refutation revisited, in Koichi Furukawa (ed.), Proceedings of the Eighth International Conference on Logic Programming, The MIT Press, 1991, pp. 679-692.

  16. Krivine, J.-L.: Une preuve formelle et intuitionniste du théorème de complétude de la logique classique, Bull. Symbolic Logic 2(4) (1996), 405-421.

    Google Scholar 

  17. Lalement, R.: Computation as Logic, Prentice-Hall International Series in Computer Science, 1993.

  18. Lassez, J.-L., Maher, M. and Mariott, K.: Unification revisited, in J. Minker (ed.), Foundations of Deductive Databases and Logic Programming, M. Kaufman, Los Altos, California, 1987, pp. 587-625.

    Google Scholar 

  19. Lloyd, J. W.: Foundations of Logic Programming, Springer-Verlag, 1987.

  20. Lloyd, J. W. and Sheperdson, J. C.: Partial evaluation in logic programming, J. Logic Programming 11(3-4) (1991), 217-242.

    Google Scholar 

  21. Manna, Z. and Waldinger, R. J.: Deductive synthesis of the unification algorithm, Sci. Comput. Programming 1(1-2) (1981), 5-48.

    Google Scholar 

  22. Nilsson, U. and Maluszynski, J.: Logic Programming and Prolog, Wiley, 1990.

  23. Paulson, L. C.: Verifying the unification algorithm in LCF, Sci. Comput. Programming 5 (1985), 143-169.

    Google Scholar 

  24. Persson, H.: Constructive completeness of intuitionistic predicate logic: A formalization in type theory, Licenciate thesis, Department of Computing Science, Chalmers University of Technology and University of Goteborg, Sweden, 1996.

    Google Scholar 

  25. Pusch, C.: Verification of compiler correctness for the WAM, in J. Von Wright, J. Grundy, and J. Harrison (eds.), Ninth International Conference on Theorem Proving in Higher Order Logics TPHOLs'96, LNCS 1125, Springer-Verlag, 1996, pp. 347-362.

  26. Rouyer, J.: Développement de l'algorithme d'unification dans le calcul des constructions avec types inductifs, Research Report, INRIA, Lorraine, 1992.

  27. Shepherdson, J. C.: The role of standardising apart in logic programming, Theoret. Comput. Sci. 129(1) (1994), 143-166.

    Google Scholar 

  28. van Emden, M. H. and Kowalski, R. A.: The semantics of predicate logic as a programming language, J. ACM 23(4) (1976), 733-742.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jaume, M. A Full Formalization of SLD-Resolution in the Calculus of Inductive Constructions. Journal of Automated Reasoning 23, 347–371 (1999). https://doi.org/10.1023/A:1006242018697

Download citation

  • Issue Date:

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

Navigation