## A Module Calculus for Pure Type Systems (1997)

### Cached

### Download Links

- [lara.inist.fr]
- [www.lri.fr]
- [www.lri.fr]
- [ftp.ens-lyon.fr]
- [www-verimag.imag.fr]
- DBLP

### Other Repositories/Bibliography

Citations: | 23 - 3 self |

### BibTeX

@MISC{Courant97amodule,

author = {Judicaël Courant},

title = {A Module Calculus for Pure Type Systems},

year = {1997}

}

### OpenURL

### Abstract

Several proof-assistants rely on the very formal basis of Pure Type Systems (PTS) as their foundations. We are concerned with the issues involved in the development of large proofs in these provers such as namespace management, development of reusable proof libraries and separate verification. Although actual implementations offer many features to address them, few theoretical foundations have been laid for them up to now.

### Citations

696 | A framework for defining logics - Harper, Honsell, et al. - 1989 |

604 | The Definition of Standard ML (Revised - Milner, Tofte, et al. - 1997 |

518 | Lambda calculi with types
- Barendregt
- 1992
(Show Context)
Citation Context ...t our module extension is conservative, and that type inference in the module extension of a given PTS is decidable under some hypotheses over this PTS. 1 Introduction The notion of Pure Type Systems =-=[Bar91]-=- has been first introduced by Terlouw and Berardi. These systems are well-suited for expressing specifications and proofs and they are the basis of several proof assistants [CCF + 95,Pol94,MN94,HHP93]... |

474 |
The Calculus of Constructions
- Coquand, Huet
- 1988
(Show Context)
Citation Context ...pears in the conversion rule of PTS. In this paper, we give an adaptation of the system of [Cou96] to Pure Type Systems. This system applies to the LF logical framework, the Calculus of Constructions =-=[CH88]-=-, the Calculus of Constructions extended with universes [Luo89]. We do not deal with the problem of adding inductive types to these systems, but the addition of inductive types as first-class objects ... |

266 | M.: A type-theoretic approach to higher-order modules with sharing
- Harper, Lillibridge
- 1994
(Show Context)
Citation Context ...or instance, it may be useful to make a theory over groups and monoids that share the same base set. 1 Recent works on module systems however brought hope: Leroy [Ler94,Ler95], Harper and Lillibridge =-=[HL94] presented-=- "cleaner" variants of the SML module system, allowing true separate compilation since only the knowledge of the type of a module is needed in order to typecheck modules using it. Unfortunat... |

222 | Manifest types, modules, and separate compilation
- Leroy
- 1994
(Show Context)
Citation Context ...wo structures share some components. For instance, it may be useful to make a theory over groups and monoids that share the same base set. 1 Recent works on module systems however brought hope: Leroy =-=[Ler94,Ler95], Harper a-=-nd Lillibridge [HL94] presented "cleaner" variants of the SML module system, allowing true separate compilation since only the knowledge of the type of a module is needed in order to typeche... |

216 | Cayenne - a language with dependent types - Augustsson - 1998 |

197 | Modules for standard ml
- MacQueen
- 1984
(Show Context)
Citation Context ...antiations of theorems. Unfortunately, this notion is well-suited in a set-theoretic framework but less in a type-theoretic one. The Standard ML programming language has a very powerful module system =-=[Mac85]-=- that allows for the definition of parametric modules and their composition, although it does not support true separate compilation. This module system was adapted to the Elf implementation of LF [HP9... |

163 | Inductive definitions in the system Coq; rules and properties
- Paulin-Mohring
(Show Context)
Citation Context ...ependent record types to PTS. In systems with dependent sum types such as the Extended Calculus of Constructions [Luo89], or inductive types such as the Calculus of Constructions with Inductive Types =-=[PM93]-=-, this is quite easy, and is more or less a syntactic sugar [Sai96]. This approach have some advantages over ours. Firstly, functors are represented by functions from a record type to another. Therefo... |

133 | Higher-order modules and the phase distinction - HARPER, MITCHELL, et al. - 1990 |

105 | Applicative functors and fully transparent higher-order modules
- LEROY
- 1995
(Show Context)
Citation Context ...wo structures share some components. For instance, it may be useful to make a theory over groups and monoids that share the same base set. 1 Recent works on module systems however brought hope: Leroy =-=[Ler94,Ler95], Harper a-=-nd Lillibridge [HL94] presented "cleaner" variants of the SML module system, allowing true separate compilation since only the knowledge of the type of a module is needed in order to typeche... |

94 | The Coq Proof Assistant Reference Manual Version 6.2. INRIARocquencourt-CNRS-Université Paris Sud- ENS - Barras, Boutin, et al. - 1998 |

93 | The ALF proof editor and its proof engine - Magnusson, Nordström |

84 | An Extended Calculus of Constructions
- Luo
- 1990
(Show Context)
Citation Context ... adaptation of the system of [Cou96] to Pure Type Systems. This system applies to the LF logical framework, the Calculus of Constructions [CH88], the Calculus of Constructions extended with universes =-=[Luo89]. We -=-do not deal with the problem of adding inductive types to these systems, but the addition of inductive types as first-class objects should not raise any problem as our proposal is quite "orthogon... |

84 | Logics and Type systems - Geuvers - 1993 |

82 | A type system for higher-order modules
- DREYER, CRARY, et al.
- 2003
(Show Context)
Citation Context ...cts are intrinsically subtle. For instance, although Moscow ML’s modules are based on a sound system (Russo, 1998), the minor extensions present in the implementation render it unsound (Dreyer, 2002; =-=Dreyer et al., 2002-=-). 1.1 Scope and contribution of this paper The aim of this article is to bring some insight to these modularity issues. As we are rather concerned with the logical issues modularity involves, we rest... |

68 | The theory of LEGO: A proof checker for the extended calculus of constructions
- Pollack
- 1994
(Show Context)
Citation Context ...ype inference algorithm for our module extension. Provided some decidability properties on A and R hold, type inference is decidable for functional semi-full PTS where the fi-reduction is normalizing =-=[Pol94]-=-. In what follows, we shall consider only PTS that enjoy these properties. In order to obtain a type inference algorithm, we provide in figures 4 and 5 an inference system which runs in a deterministi... |

66 | Using parameterized signatures to express modular structure
- JONES
- 1996
(Show Context)
Citation Context ...it would be interesting to add tactics components to modules helping the user by constructing proof-terms in a semi-automatic way. Similar work has been done for the 2 It should be noticed that Jones =-=[Jon96]-=- proposed a way to solve this problem in a programming language with records and the ability to define abstract types, but this approach applies only in system where polymorphism is implicit and where... |

60 | Metamathematical investigations of a calculus of constructions. Rapport de recherche de l’INRIA - Coquand - 1989 |

58 | Translucent sums: A foundation for higher-order module systems - Lillibridge - 1997 |

52 | A Typed Operational Semantics for Type Theory - Goguen - 1994 |

49 | Little theories, in - Farmer, Guttman, et al. - 1992 |

39 | Structured type theory, in
- Coquand, Coquand
- 1999
(Show Context)
Citation Context ...s is not a problem in practice. Although presented as a functional language, Cayenne is at the border between functional programming and proof systems: actually, the proof system Agda (Coquand, 2000; =-=Coquand & Coquand, 1999-=-) is an adaptation of Cayenne for type theory. A significant difference of Cayenne and MC2 is Cayenne has first-class modules whereas MC2 separates the module level with the base level syntactically. ... |

39 | Deciding type equivalence in a language with singleton kinds - Stone, Harper - 2000 |

36 | The definition of Extended ML: A gentle introduction - Kahrs, Sannella, et al. - 1997 |

35 | Locales: A sectioning concept for Isabelle - Kammüller, Wenzel, et al. - 1999 |

34 | Isomorphisms of types: from *-calculus to in-formation retrieval and language design. Birkhauser - Cosmo - 1995 |

34 | Formal program development in Extended ML for the working programmer
- Sannella
- 1990
(Show Context)
Citation Context ...t declarations. Moreover, we can give a proof of its consistency through the study of reductions. Finally, we are not aware of separate compilation mechanism for the module system of Elf. Extended ML =-=[San90]-=- is a very interesting framework for developing SML modular (functional) programs together with their specification and the proof of their specification. However, it is not as general as provers based... |

32 | Parallel Reductions in -calculus - Takahashi - 1989 |

29 | Checking Algorithms for Pure Type Systems - Jutting, S, et al. - 1993 |

26 | A framework for de ning logics - Harper, Honsell, et al. - 1992 |

23 | Certified memory usage analysis
- Cachera, Jensen, et al.
- 2005
(Show Context)
Citation Context ... in the subset of MC2 implemented in Coq (Filliâtre & Letouzey, 2004) and David Pichardie developped a modular theory of lattices which has been used to develop certified static analysis of programs (=-=Cachera et al., 2005-=-). Also Coq’s module system has been used for certifying compiler optimization (Bertot et al., 2005); according to the authors, it helped them “factor out a significant part of specifications and corr... |

22 | An algebraic approach to mixins and modularity
- Ancona, Zucca
- 1996
(Show Context)
Citation Context ...itance Object-oriented languages propose also a way to deal with enrichment called code inheritance. Although some theoretical work try to address code inheritance for modules through mixins modules (=-=Ancona & Zucca, 1996-=-), it is not clear how to make them fit into SML-like module systems yet. However, a weaker form of code inheritance is already available in SML through the open construct (and in Objective Caml throu... |

22 | The Coq proof assistant reference manual. Version 5.10 - Cornes, Courant, et al. - 1995 |

21 | Solvability in lambda-calculi - Barendregt - 1975 |

20 |
A module system for a programming language based on the LF logical framework
- Harper, Pfenning
- 1992
(Show Context)
Citation Context ...c85] that allows for the definition of parametric modules and their composition, although it does not support true separate compilation. This module system was adapted to the Elf implementation of LF =-=[HP92]-=-. However, only the part of the SML module system that was well-understood from the semantic and pragmatic point of view was adapted, hence leaving out significant power of SML. For instance, the shar... |

20 | Pure type systems with definitions
- Severi, Poll
- 1994
(Show Context)
Citation Context ... if one could not bind some terms to a name. The meta-theoretical study of definitions and their unfolding, although not very difficult is far from being obvious; it has been achieved for instance in =-=[SP94]-=-. Another highly expectable feature when developing large proofs is for a practical namespace management. Indeed, it is often difficult to find a new significant name for each theorem. In proof-assist... |

20 | A proof of strong normalization for the theory of constructions using a Kripke-like interpretation
- Coquand, Gallier
- 1990
(Show Context)
Citation Context ... 5.13. Several Pure Type Systems are known as rigorous formal basis for developing proofs as they have been proved logically consistent. This is the case for instance of the Calculus of Construction (=-=Coquand & Gallier, 1990-=-). One may wonder whether the module layer we add to a given PTS might endanger this consistency or even if it changes its logical expressive power. Fortunately, the answer is no for MC2(CC): Proposit... |

17 |
Dependent Record Types and Algebraic Structures in Type Theory
- Betarte
- 1998
(Show Context)
Citation Context ...ly typed records Gustavo Betarte and Alvaro Tasistro have proposed to add dependently typed records to type theory in order to formalize some body of abstract algebra (Betarte, 2000b; Betarte, 2000a; =-=Betarte, 1998-=-). One advantage of their system over ours is that records are first-class expressions and functors are ordinary functions working over record types. However, we believe the lack of manifest fields fo... |

15 | An applicative module calculus - Courant - 1997 |

15 | Normalisation in lambda calculus and its relation to type inference - Severi - 1996 |

14 | Dependently typed records for representing mathematical structure - Pollack - 2000 |

13 | Modular reasoning in Isabelle - Kammüller - 2000 |

13 | Owre and Natarajan Shankar. The formal semantics of PVS - Sam - 1997 |

13 | Noweb: A Simple, Extensible Tool for Literate Programming. http: //www.cs.tufts.edu/~nr/noweb Michael Le Barbier Grünewald - Ramsey |

12 |
Éléments de mathématique. Théorie des ensembles
- Bourbaki
- 1970
(Show Context)
Citation Context ... is no clear notion of the specification exported by a given file. Some theorem provers already address some of these issues. Thus IMPS [FGT95] implements Bourbaki's notion of structures and theories =-=[Bou70]-=-, allowing to instantiate a general theory on a given structure at once, getting every instantiations of theorems. Unfortunately, this notion is well-suited in a set-theoretic framework but less in a ... |

12 | Inductive de nitions in the system Coq - rules and properties - Paulin-Mohring - 1993 |

11 | Literate programming using noweb - Johnson, Johnson - 1997 |

11 | Using Axiomatic Type Classes - Wenzel |

10 | Record Types and Subtyping in Type Theory, with Applications to the Theory of Programming - Substitution - 1997 |