Information Retrieval in a Coq Proof Library Using Type Isomorphisms

  • David Delahaye
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1956)


We propose a method to search for a lemma in a Coq proof library by using the lemma type as a key. The method is based on the concept of type isomorphism developed within the functional programming framework. We introduce a theory which is a generalization of the axiomatization for the simply typed γ-calculus (associated with Closed Cartesian Categories) to an Extended Calculus of Constructions with a more Extensional conversion rule. We show a soundness theorem for this theory but we notice that it is not contextual and requires “ad hoc” contextual rules. Thus, we see how we must adapt this theory for Coq and we define an approximation of the contextual part of this theory, which is implemented in a decision procedure.


Information Retrieval Decision Procedure Finished Transaction Type Isomorphism Inductive Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Maria-Virginia Aponte and Roberto Di Cosmo. Type isomorphisms for module signatures. In Programming Languages Implementation and Logic Programming (PLILP), volume 1140 of Lecture Notes in Computer Science, pages 334–346. Springer-Verlag, 1996.CrossRefGoogle Scholar
  2. 2.
    Maria-Virginia Aponte, Roberto Di Cosmo, and Catherine Dubois. Signature subtyping modulo type isomorphisms, 1998.
  3. 3.
    Andrew W. Appel et al. Standard ML of New Jersey User’s Guide. New Jersey, 1998.
  4. 4.
    Bruno Barras et al. The Coq Proof Assistant Reference Manual Version 6.3.1. INRIA-Rocquencourt, May 2000.
  5. 5.
    Dave Berry et al. Edinburgh SML. Laboratory for Foundations of Computer Science, University of Edinburgh, 1991.
  6. 6.
    Kim Bruce, Roberto Di Cosmo, and Giuseppe Longo. Provable isomorphisms of type. In Mathematical Structures in Computer Science, volume 2(2), pages 231–247, 1992.MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Roberto Di Cosmo. Isomorphisms of Types: from γ-calculus to information retrieval and language design. Progress in Theoretical Computer Science. Birkhauser, 1995. ISBN-0-8176-3763-X.Google Scholar
  8. 8.
    M. J. C. Gordon et al. A metalanguage for interactive proof in LCF. In 5th POPL, ACM, 1978.Google Scholar
  9. 9.
    Simon Peyton Jones et al. Haskell 98, February 1999.
  10. 10.
    Thomas Kolbe and Christoph Walther. Adaptation of proofs for reuse. In Adaptation of Knowledge for Reuse, AAAI Fall Symposium, 1995.
  11. 11.
    Thomas Kolbe and Christoph Walther. Proof management and retrieval. In Working Notes of the IJCAI Workshop, Formal Approaches to the Reuse of Plans, Proofs, and Programs, 1995.
  12. 12.
    Xavier Leroy. The Caml Light system, documentation and user’s guide Release 0.74. INRIA-Rocquencourt, December 1997.
  13. 13.
    Xavier Leroy et al. The Objective Caml system release 3.00. INRIA-Rocquencourt, April 2000.
  14. 14.
    Zhaohui Luo. An Extended Calculus of Constructions. PhD thesis, University of Edinburgh, July 1990.Google Scholar
  15. 15.
    A. Mili, R. Mili, and R. T. Mittermeir. A survey of software reuse libraries. In Annals of Software Engineering, volume 5, pages 349–414, 1998.CrossRefGoogle Scholar
  16. 16.
    Mikael Rittri. Using types as search keys in function libraries. In Journal of Functional Programming, volume 1(1), pages 171–89, 1991.MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Sergei Soloviev. The category of finite sets and cartesian closed categories. In Journal of Soviet Mathematics, volume 22(3), pages 154–172, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • David Delahaye
    • 1
  1. 1.INRIA-RocquencourtLe Chesnay CedexFrance

Personalised recommendations