Results 1 -
6 of
6
ECC, an Extended Calculus of Constructions
, 1989
"... We present a higher-order calculus ECC which can be seen as an extension of the calculus of constructions [CH88] by adding strong sum types and a fully cumulative type hierarchy. ECC turns out to be rather expressive so that mathematical theories can be abstractly described and abstract mathematics ..."
Abstract
-
Cited by 74 (4 self)
- Add to MetaCart
We present a higher-order calculus ECC which can be seen as an extension of the calculus of constructions [CH88] by adding strong sum types and a fully cumulative type hierarchy. ECC turns out to be rather expressive so that mathematical theories can be abstractly described and abstract mathematics may be adequately formalized. It is shown that ECC is strongly normalizing and has other nice proof-theoretic properties. An !\GammaSet (realizability) model is described to show how the essential properties of the calculus can be captured set-theoretically.
Type Checking with Universes
, 1991
"... Various formulations of constructive type theories have been proposed to serve as the basis for machine-assisted proof and as a theoretical basis for studying programming languages. Many of these calculi include a cumulative hierarchy of "universes," each a type of types closed under a collectio ..."
Abstract
-
Cited by 23 (6 self)
- Add to MetaCart
Various formulations of constructive type theories have been proposed to serve as the basis for machine-assisted proof and as a theoretical basis for studying programming languages. Many of these calculi include a cumulative hierarchy of "universes," each a type of types closed under a collection of type-forming operations. Universes are of interest for a variety of reasons, some philosophical (predicative vs. impredicative type theories), some theoretical (limitations on the closure properties of type theories), and some practical (to achieve some of the advantages of a type of all types without sacrificing consistency.) The Generalized Calculus of Constructions (CC ! ) is a formal theory of types that includes such a hierarchy of universes. Although essential to the formalization of constructive mathematics, universes are tedious to use in practice, for one is required to make specific choices of universe levels and to ensure that all choices are consistent. In this pa...
A Comparative Study of Some Type Systems for Functional Languages
, 1995
"... 4.66> constructor ! (in CC-s and in SDDP as a special case of \Pi-dependent type), and the corresponding -abstraction mechanism for terms. In both versions of CC and in SDDP this constructor may be used at all levels of the hierarchy and also across the levels. This is more restricted in SML and in ..."
Abstract
- Add to MetaCart
4.66> constructor ! (in CC-s and in SDDP as a special case of \Pi-dependent type), and the corresponding -abstraction mechanism for terms. In both versions of CC and in SDDP this constructor may be used at all levels of the hierarchy and also across the levels. This is more restricted in SML and in PVS. They have no abstraction over types, although SML's polymorphic types may be considered a restricted form of such abstraction. Also, functors may be viewed as a restricted form of abstraction over (packaged) types. PVS has neither polymorphism nor functors. Theories may be parameterized by terms and types, but this is syntactic sugar rather then true functionality --- cf. the example on page 16 of [2], where the definition of newstacks[t:TYPE]:THEORY is not conservative wrt t, in that it declares a new element e in t. Research supported b
Verifying (parametric) Algebras Against Specifications
, 1993
"... this paper. For the approaches 2 or 3 to be followed the syntax of axioms should first be fully elaborated which is beyond the scope of the paper. 3 Further properties ..."
Abstract
- Add to MetaCart
this paper. For the approaches 2 or 3 to be followed the syntax of axioms should first be fully elaborated which is beyond the scope of the paper. 3 Further properties
Hindley-Milner for dependent and subset types
, 1995
"... syntax x , y : Var ::= : : : ff : TpVar ::= : : : c : Const ::= : : : tc : TpConst ::= : : : tp : Type ::= TpVar fi fi fi TpConst fi fi fi ((Var:Type ---FormSeq) -?Type) t : Term ::= Var fi fi fi Const fi fi fi (Var.Term) fi fi fi (Var:Type ---FormSeq.Term) fi fi fi (Term Term) f : Form :: ..."
Abstract
- Add to MetaCart
syntax x , y : Var ::= : : : ff : TpVar ::= : : : c : Const ::= : : : tc : TpConst ::= : : : tp : Type ::= TpVar fi fi fi TpConst fi fi fi ((Var:Type ---FormSeq) -?Type) t : Term ::= Var fi fi fi Const fi fi fi (Var.Term) fi fi fi (Var:Type ---FormSeq.Term) fi fi fi (Term Term) f : Form ::= (Term = Term) fi fi fi (8Var:Type ---FormSeq =? FormSeq) F : FormSeq ::= " fi fi fi FormSeq , Form \Gamma : Context ::= FormSeq fi fi fi Context ; (Var:Type) ; FormSeq sh : Shape ::= TpVar fi fi fi TpConst fi fi fi (Type -? Type) Parentheses may be skipped subject to usual conventions. Wherever the grammar presented requires a FormSeq or a Context and it happens to be empty ("), spurious separators (comma, semicolon, vertical bar) are skipped; e.g, (f : (k:nat)-?real)-? real and (k:nat);(x:real) denote respectively ((f : ((k:nat---")-?real)---") -? real) and ;(k:nat);;(x:real); The notions of free and bound variable occurrences are the standard ones assuming the binding constructs...

