# Bibliography

Ph. Audebaud. Partial Objects in the Calculus of Constructions. In Proceedings of the sixth Conf. on Logic in Computer Science. IEEE, 1991.
Ph. Audebaud. CC+ : an extension of the Calculus of Constructions with fixpoints. In B. Nordström and K. Petersson and G. Plotkin, editor, Proceedings of the 1992 Workshop on Types for Proofs and Programs, pages pp 21--34, 1992. Also Research Report LIP-ENS-Lyon.
Ph. Audebaud. Extension du Calcul des Constructions par Points fixes. PhD thesis, Université Bordeaux I, 1992.
L. Augustsson. Compiling Pattern Matching. In Conference Functional Programming and Computer Architecture, 1985.
H. Barendregt. Lambda Calculi with Types. Technical Report 91-19, Catholic University Nijmegen, 1991. In Handbook of Logic in Computer Science, Vol II.
H. Barendregt and T. Nipkow, editors. Types for Proofs and Programs, volume 806 of LNCS. Springer-Verlag, 1994.
H.P. Barendregt. The Lambda Calculus its Syntax and Semantics. North-Holland, 1981.
J.L. Bates and R.L. Constable. Proofs as Programs. ACM transactions on Programming Languages and Systems, 7, 1985.
M.J. Beeson. Foundations of Constructive Mathematics, Metamathematical Studies. Springer-Verlag, 1985.
G. Bellin and J. Ketonen. A decision procedure revisited : Notes on direct logic, linear logic and its implementation. Theoretical Computer Science, 95:115--142, 1992.
E. Bishop. Foundations of Constructive Analysis. McGraw-Hill, 1967.
S. Boutin. Certification d'un compilateur ML en Coq. Master's thesis, Université Paris 7, September 1992.
S. Boutin. Réflexions sur les quotients. thèse d'université, Paris 7, April 1997.
S. Boutin. Using reflection to build efficient and certified decision procedure s. In Martin Abadi and Takahashi Ito, editors, TACS'97, volume 1281. LNCS, Springer-Verlag, 1997.
R.S. Boyer and J.S. Moore. A computational logic. ACM Monograph. Academic Press, 1979.
R.L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986.
Th. Coquand. Une Théorie des Constructions. PhD thesis, Université Paris 7, January 1985.
Th. Coquand. An Analysis of Girard's Paradox. In Symposium on Logic in Computer Science, Cambridge, MA, 1986. IEEE Computer Society Press.
Th. Coquand. Metamathematical Investigations of a Calculus of Constructions. In P. Oddifredi, editor, Logic and Computer Science. Academic Press, 1990. INRIA Research Report 1088, also in [CoC89].
Th. Coquand. Pattern Matching with Dependent Types. In Nordström et al. [Bastad92].
Th. Coquand. Infinite Objects in Type Theory. In Barendregt and Nipkow [Nijmegen93].
Th. Coquand and G. Huet. Constructions : A Higher Order Proof System for Mechanizing Mathematics. In EUROCAL'85, volume 203 of LNCS, Linz, 1985. Springer-Verlag.
Th. Coquand and G. Huet. Concepts Mathématiques et Informatiques formalisés dans le Calcul des Constructions. In The Paris Logic Group, editor, Logic Colloquium'85. North-Holland, 1987.
Th. Coquand and G. Huet. The Calculus of Constructions. Information and Computation, 76(2/3), 1988.
Th. Coquand and C. Paulin-Mohring. Inductively defined types. In P. Martin-Löf and G. Mints, editors, Proceedings of Colog'88, volume 417 of LNCS. Springer-Verlag, 1990.
J. Courant. Explicitation de preuves par récurrence implicite. Master's thesis, DEA d'Informatique, ENS Lyon, September 1994.
N.J. de Bruijn. Lambda-Calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation, with Application to the Church-Rosser Theorem. Indag. Math., 34, 1972.
N.J. de Bruijn. A survey of the project Automath. In J.P. Seldin and J.R. Hindley, editors, to H.B. Curry : Essays on Combinatory Logic, Lambda Calculus and Formalism. Academic Press, 1980.
D. de Rauglaudre. Camlp4 version 1.07.2. In Camlp4 distribution, 1998.
D. Delahaye. Information Retrieval in a Coq Proof Library using Type Isomorphisms. In Proceedings of TYPES'99, Lökeberg. Springer-Verlag LNCS, 1999.
ftp://ftp.inria.fr/INRIA/Projects/coq/David.Delahaye/papers/TYPES99-SIsos.ps.gz.
D. Delahaye. A Tactic Language for the System Coq. In Proceedings of Logic for Programming and Automated Reasoning (LPAR), Reunion Island, volume 1955, pages 85--95. Springer-Verlag LNCS/LNAI, November 2000. ftp://ftp.inria.fr/INRIA/Projects/coq/David.Delahaye/papers/LPAR2000-ltac.ps.gz.
D. Delahaye and M. Mayero. `Field`: une procédure de décision pour les nombres réels en Coq. In Journées Francophones des Langages Applicatifs, Pontarlier. INRIA, Janvier 2001.
ftp://ftp.inria.fr/INRIA/Projects/coq/David.Delahaye/papers/JFLA2000-Field.ps.gz.
R. di Cosmo. Isomorphisms of Types: from l-calculus to information retrieval and language design. Progress in Theoretical Computer Science. Birkhauser, 1995. ISBN-0-8176-3763-X.
G. Dowek. Naming and Scoping in a Mathematical Vernacular. Research Report 1283, INRIA, 1990.
G. Dowek. A Second Order Pattern Matching Algorithm in the Cube of Typed l-calculi. In Proceedings of Mathematical Foundation of Computer Science, volume 520 of LNCS, pages 151--160. Springer-Verlag, 1991. Also INRIA Research Report.
G. Dowek. Démonstration automatique dans le Calcul des Constructions. PhD thesis, Université Paris 7, December 1991.
G. Dowek. L'Indécidabilité du Filtrage du Troisième Ordre dans les Calculs avec Types Dépendants ou Constructeurs de Types. Compte Rendu de l'Académie des Sciences, I, 312(12):951--956, 1991. (The undecidability of Third Order Pattern Matching in Calculi with Dependent Types or Type Constructors).
G. Dowek. The Undecidability of Pattern Matching in Calculi where Primitive Recursive Functions are Representable. To appear in Theoretical Computer Science, 1992.
G. Dowek. A Complete Proof Synthesis Method for the Cube of Type Systems. Journal Logic Computation, 3(3):287--315, June 1993.
G. Dowek. Third order matching is decidable. Annals of Pure and Applied Logic, 69:135--155, 1994.
G. Dowek. Lambda-calculus, Combinators and the Comprehension Schema. In Proceedings of the second international conference on typed lambda calculus and applications, 1995.
G. Dowek, A. Felty, H. Herbelin, G. Huet, C. Murthy, C. Parent, C. Paulin-Mohring, and B. Werner. The Coq Proof Assistant User's Guide Version 5.8. Technical Report 154, INRIA, May 1993.
P. Dybjer. Inductive sets and families in Martin-Löf's Type Theory and their set-theoretic semantics : An inversion principle for Martin-Löf's type theory. In G. Huet and G. Plotkin, editors, Logical Frameworks, volume 14, pages 59--79. Cambridge University Press, 1991.
Roy Dyckhoff. Contraction-free sequent calculi for intuitionistic logic. The Journal of Symbolic Logic, 57(3), September 1992.
J.-C. Filliâtre. Une procédure de décision pour le Calcul des Prédicats Direct. Etude et implémentation dans le système Coq. Master's thesis, DEA d'Informatique, ENS Lyon, September 1994.
J.-C. Filliâtre. A decision procedure for Direct Predicate Calculus. Research report 96--25, LIP-ENS-Lyon, 1995.
J.-C. Filliâtre. Preuve de programmes impératifs en théorie des types. Thèse de doctorat, Université Paris-Sud, July 1999. `http://www.lri.fr/~filliatr/ftp/publis/these.ps.gz`.
J.-C. Filliâtre. Formal Proof of a Program: Find. Submitted to Science of Computer Programming, January 2000.
J.-C. Filliâtre. Verification of Non-Functional Programs using Interpretations in Type Theory. To appear in the Journal of Functional Programming. [English translation of [Filliatre99]], February 2000.
J.-C. Filliâtre and N. Magaud. Certification of sorting algorithms in the system Coq. In Theorem Proving in Higher Order Logics: Emerging Trends, 1999. `http://www.lri.fr/~filliatr/ftp/publis/Filliatre-Magaud.ps.gz`.
E. Fleury. Implantation des algorithmes de Floyd et de Dijkstra dans le Calcul des Constructions. Rapport de Stage, July 1990.
Projet Formel. The Calculus of Constructions. Documentation and user's guide, Version 4.10. Technical Report 110, INRIA, 1989.
Jean-Baptiste-Joseph Fourier. Fourier's method to solve linear inequations/equations systems. Gauthier-Villars, 1890.
E. Giménez. Codifying guarded definitions with recursive schemes. In Types'94 : Types for Proofs and Programs, volume 996 of LNCS. Springer-Verlag, 1994. Extended version in LIP research report 95-07, ENS Lyon.
E. Giménez. An application of co-inductive types in coq: verification of the alternating bit protocol. In Workshop on Types for Proofs and Programs, number 1158 in LNCS, pages 135--152. Springer-Verlag, 1995.
E. Giménez. A tutorial on recursive types in coq. Technical report, INRIA, March 1998.
J.-Y. Girard. Une extension de l'interprétation de Gödel à l'analyse, et son application à l'élimination des coupures dans l'analyse et la théorie des types. In Proceedings of the 2nd Scandinavian Logic Symposium. North-Holland, 1970.
J.-Y. Girard. Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur. PhD thesis, Université Paris 7, 1972.
J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types. Cambridge Tracts in Theoretical Computer Science 7. Cambridge University Press, 1989.
John Harrison. Metatheory and reflection in theorem proving: A survey and critique. Technical Report CRC-053, SRI International Cambridge Computer Science Research Centre,, 1995.
D. Hirschkoff. Ecriture d'une tactique arithmétique pour le système Coq. Master's thesis, DEA IARFA, Ecole des Ponts et Chaussées, Paris, September 1994.
W.A. Howard. The formulae-as-types notion of constructions. In J.P. Seldin and J.R. Hindley, editors, to H.B. Curry : Essays on Combinatory Logic, Lambda Calculus and Formalism. Academic Press, 1980. Unpublished 1969 Manuscript.
G. Huet. Induction principles formalized in the Calculus of Constructions. In K. Fuchi and M. Nivat, editors, Programming of Future Generation Computers. Elsevier Science, 1988. Also in Proceedings of TAPSOFT87, LNCS 249, Springer-Verlag, 1987, pp 276--286.
G. Huet, editor. Logical Foundations of Functional Programming. The UT Year of Programming Series. Addison-Wesley, 1989.
G. Huet. The Constructive Engine. In R. Narasimhan, editor, A perspective in Theoretical Computer Science. Commemorative Volume for Gift Siromoney. World Scientific Publishing, 1989. Also in [CoC89].
G. Huet. The Gallina Specification Language : A case study. In Proceedings of 12th FST/TCS Conference, New Delhi, volume 652 of LNCS, pages 229--240. Springer Verlag, 1992.
G. Huet. Residual theory in l-calculus: a formal development. J. Functional Programming, 4,3:371--394, 1994.
G. Huet and J.-J. Lévy. Call by need computations in non-ambigous linear term rewriting systems. In J.-L. Lassez and G. Plotkin, editors, Computational Logic, Essays in Honor of Alan Robinson. The MIT press, 1991. Also research report 359, INRIA, 1979.
G. Huet and G. Plotkin, editors. Logical Frameworks. Cambridge University Press, 1991.
G. Huet and G. Plotkin, editors. Logical Environments. Cambridge University Press, 1992.
J. Ketonen and R. Weyhrauch. A decidable fragment of Predicate Calculus. Theoretical Computer Science, 32:297--307, 1984.
S.C. Kleene. Introduction to Metamathematics. Bibliotheca Mathematica. North-Holland, 1952.
J.-L. Krivine. Lambda-calcul types et modèles. Etudes et recherche en informatique. Masson, 1990.
A. Laville. Comparison of priority rules in pattern matching and term rewriting. Journal of Symbolic Computation, 11:321--347, 1991.
F. Leclerc and C. Paulin-Mohring. Programming with Streams in Coq. A case study : The Sieve of Eratosthenes. In H. Barendregt and T. Nipkow, editors, Types for Proofs and Programs, Types' 93, volume 806 of LNCS. Springer-Verlag, 1994.
X. Leroy. The ZINC experiment: an economical implementation of the ML language. Technical Report 117, INRIA, 1990.
L.Puel and A. Suárez. Compiling Pattern Matching by Term Decomposition. In Conference Lisp and Functional Programming, ACM. Springer-Verlag, 1990.
P. Manoury. A User's Friendly Syntax to Define Recursive Functions as Typed l-Terms. In Types for Proofs and Programs, TYPES'94, volume 996 of LNCS, June 1994.
P. Manoury and M. Simonot. Automatizing termination proof of recursively defined function. TCS, To appear.
L. Maranget. Two Techniques for Compiling Lazy Pattern Matching. Technical Report 2385, INRIA, 1994.
C. Muñoz. Démonstration automatique dans la logique propositionnelle intuitionniste. Master's thesis, DEA d'Informatique Fondamentale, Université Paris 7, September 1994.
C. Muñoz. Un calcul de substitutions pour la représentation de preuves partielles en théorie de types. Thèse de doctorat, Université Paris 7, 1997. Version en anglais disponible comme rapport de recherche INRIA RR-3309.
B. Nordström. Terminating general recursion. BIT, 28, 1988.
B. Nordström, K. Peterson, and J. Smith. Programming in Martin-Löf's Type Theory. International Series of Monographs on Computer Science. Oxford Science Publications, 1990.
B. Nordström, K. Petersson, and G. Plotkin, editors. Proceedings of the 1992 Workshop on Types for Proofs and Programs. Available by ftp at site ftp.inria.fr, 1992.
P. Odifreddi, editor. Logic and Computer Science. Academic Press, 1990.
P. Martin-Löf. Intuitionistic Type Theory. Studies in Proof Theory. Bibliopolis, 1984.
C. Parent. Developing certified programs in the system Coq- The Program tactic. Technical Report 93-29, Ecole Normale Supérieure de Lyon, October 1993. Also in [Nijmegen93].
C. Parent. Synthèse de preuves de programmes dans le Calcul des Constructions Inductives. PhD thesis, Ecole Normale Supérieure de Lyon, 1995.
C. Parent. Synthesizing proofs from programs in the Calculus of Inductive Constructions. In Mathematics of Program Construction'95, volume 947 of LNCS. Springer-Verlag, 1995.
M. Parigot. Recursive Programming with Proofs. Theoretical Computer Science, 94(2):335--356, 1992.
M. Parigot, P. Manoury, and M. Simonot. ProPre : A Programming language with proofs. In A. Voronkov, editor, Logic Programming and automated reasoning, number 624 in LNCS, St. Petersburg, Russia, July 1992. Springer-Verlag.
C. Paulin-Mohring. Extracting Fw's programs from proofs in the Calculus of Constructions. In Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, January 1989. ACM.
C. Paulin-Mohring. Extraction de programmes dans le Calcul des Constructions. PhD thesis, Université Paris 7, January 1989.
C. Paulin-Mohring. Inductive Definitions in the System Coq - Rules and Properties. In M. Bezem and J.-F. Groote, editors, Proceedings of the conference Typed Lambda Calculi and Applications, number 664 in LNCS. Springer-Verlag, 1993. Also LIP research report 92-49, ENS Lyon.
C. Paulin-Mohring. Le système Coq. Thèse d'habilitation. ENS Lyon, January 1997.
C. Paulin-Mohring and B. Werner. Synthesis of ML programs in the system Coq. Journal of Symbolic Computation, 15:607--640, 1993.
K.V. Prasad. Programming with broadcasts. In Proceedings of CONCUR'93, volume 715 of LNCS. Springer-Verlag, 1993.
J. Rouyer. Développement de l'Algorithme d'Unification dans le Calcul des Constructions. Technical Report 1795, INRIA, November 1992.
A. Saïbi. Axiomatization of a lambda-calculus with explicit-substitutions in the Coq System. Technical Report 2345, INRIA, December 1994.
H. Saidi. Résolution d'équations dans le système t de gödel. Master's thesis, DEA d'Informatique Fondamentale, Université Paris 7, September 1994.
D. Terrasse. Traduction de TYPOL en COQ. Application à Mini ML. Master's thesis, IARFA, September 1992.
L. Théry, Y. Bertot, and G. Kahn. Real theorem provers deserve real user-interfaces. Research Report 1684, INRIA Sophia, May 1992.
A.S. Troelstra and D. van Dalen. Constructivism in Mathematics, an introduction. Studies in Logic and the foundations of Mathematics, volumes 121 and 123. North-Holland, 1988.
P. Wadler. Efficient compilation of pattern matching. In S.L. Peyton Jones, editor, The Implementation of Functional Programming Languages. Prentice-Hall, 1987.
P. Weis and X. Leroy. Le langage Caml. InterEditions, 1993.
B. Werner. Une théorie des constructions inductives. Thèse de doctorat, Université Paris 7, 1994.