Information Retrieval in a Coq Proof Library Using Type Isomorphisms

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.

[1]  Roberto Di Cosmo Review of Isomorphisms of Types:: from λ-calculus to information retrieval and language design , 1997 .

[2]  Zhaohui Luo An extended calculus of constructions , 1990 .

[3]  Roberto Di Cosmo,et al.  Isomorphisms of Types , 1995, Progress in Theoretical Computer Science.

[4]  Xavier Leroy The objective caml system release 3 , 2001 .

[5]  Robin Milner,et al.  A Metalanguage for interactive proof in LCF , 1978, POPL.

[6]  Roland Mittermeir,et al.  A survey of software reuse libraries , 1998, Ann. Softw. Eng..

[7]  Thomas,et al.  Adaptation of Proofs for Reuse , 2001 .

[8]  Mikael Rittri,et al.  Using types as search keys in function libraries , 1989, Journal of Functional Programming.

[9]  Christopher League Review of Isomorphisms of Types:: from λ-calculus to information retrieval and language design by Roberto Di Cosmo (Birkhauser, 1995) , 1997, SIGA.

[10]  S. Solov′ev The category of finite sets and Cartesian closed categories , 1983 .

[11]  Thomas Kolbe,et al.  Proof management and retrieval , 1995 .

[12]  Roberto Di Cosmo,et al.  Type Isomorphisms for Module Signatures , 1996, PLILP.

[13]  Zhaohui Luo,et al.  ECC, an extended calculus of constructions , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[14]  Andrew W. Appel,et al.  Standard ML of New Jersey , 1991, PLILP.

[15]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[16]  Roberto Di Cosmo,et al.  Provable isomorphisms of types , 1992, Mathematical Structures in Computer Science.