Results 1  10
of
13
Syntax and Semantics of Dependent Types
 Semantics and Logics of Computation
, 1997
"... ion is written as [x: oe]M instead of x: oe:M and application is written M(N) instead of App [x:oe] (M; N ). 1 Iterated abstractions and applications are written [x 1 : oe 1 ; : : : ; x n : oe n ]M and M(N 1 ; : : : ; N n ), respectively. The lacking type information can be inferred. The universe ..."
Abstract

Cited by 49 (4 self)
 Add to MetaCart
(Show Context)
ion is written as [x: oe]M instead of x: oe:M and application is written M(N) instead of App [x:oe] (M; N ). 1 Iterated abstractions and applications are written [x 1 : oe 1 ; : : : ; x n : oe n ]M and M(N 1 ; : : : ; N n ), respectively. The lacking type information can be inferred. The universe is written Set instead of U . The Eloperator is omitted. For example the \Pitype is described by the following constant and equality declarations (understood in every valid context): ` \Pi : (oe: Set; : (oe)Set)Set ` App : (oe: Set; : (oe)Set; m: \Pi(oe; ); n: oe) (m) ` : (oe: Set; : (oe)Set; m: (x: oe) (x))\Pi(oe; ) oe: Set; : (oe)Set; m: (x: oe) (x); n: oe ` App(oe; ; (oe; ; m); n) = m(n) Notice, how terms with free variables are represented as framework abstractions (in the type of ) and how substitution is represented as framework application (in the type of App and in the equation). In this way the burden of dealing correctly with variables, substitution, and binding is s...
TypeTheoretic Methodology For Practical Programming Languages
 DEPARTMENT OF COMPUTER SCIENCE, CORNELL UNIVERSITY
, 1998
"... The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory. However, these applications of type theory to practical programming languages have been indirect; the ..."
Abstract

Cited by 28 (3 self)
 Add to MetaCart
The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory. However, these applications of type theory to practical programming languages have been indirect; the differences between practical languages and type theory have prevented direct connections between the two. This dissertation presents systematic techniques directly relating practical programming languages to type theory. These techniques allow programming languages to be interpreted in the rich mathematical domain of type theory. Such interpretations lead to semantics that are at once denotational and operational, combining the advantages of each, and they also lay the foundation for formal verification of computer programs in type theory. Previous type theories either have not provided adequate expressiveness to interpret practical languages, or have provided such expressiveness at the expense of essential features of the type theory. In particular, no previous type theory has supported a notion of partial functions (needed to interpret recursion in practical languages), and a notion of total functions and objects (needed to reason about data values), and an intrinsic notion of equality (needed for most interesting results). This dissertation presents the first type theory incorporating all three, and discusses issues arising in the design of that type theory. This type theory is used as the target of a typetheoretic semantics for a expressive programming calculus. This calculus may serve as an internal language for a variety of functional programming languages. The semantics is stated as a syntaxdirected embedding of the programming calculus into type theory. A critical point arising in both the type theory and the typetheoretic semantics is the issue of admissibility. Admissibility governs what types it is legal to form recursive functions over. To build a useful type theory for partial functions it is necessary to have a wide class of admissible types. In particular, it is necessary for all the types arising in the typetheoretic semantics to be admissible. In this dissertation I present a class of admissible types that is considerably wider than any previously known class.
Wellordering proofs for MartinLöf Type Theory
 Annals of Pure and Applied Logic
, 1998
"... We present wellordering proofs for MartinLof's type theory with Wtype and one universe. These proofs, together with an embedding of the type theory in a set theoretical system as carried out in [Set93] show that the proof theoretical strength of the type theory is precisely ## 1# I+# , whi ..."
Abstract

Cited by 23 (11 self)
 Add to MetaCart
(Show Context)
We present wellordering proofs for MartinLof's type theory with Wtype and one universe. These proofs, together with an embedding of the type theory in a set theoretical system as carried out in [Set93] show that the proof theoretical strength of the type theory is precisely ## 1# I+# , which is slightly more than the strength of Feferman's theory T 0 , classical set theory KPI and the subsystem of analysis (# 1 2 CA)+(BI). The strength of intensional and extensional version, of the version a la Tarski and a la Russell are shown to be the same. 0 Introduction 0.1 Proof theory and Type Theory Proof theory and type theory have been two answers of mathematical logic to the crisis of the foundations of mathematics at the beginning of the century. Proof theory was originally established by Hilbert in order to prove the consistency of theories by using finitary methods. When Godel showed that Hilbert's program cannot be carried out as originally intended, the focus of proof theory ch...
Extending MartinLöf type theory by one Mahlouniverse
 Arch. Math. Log., 39:155
"... ..."
(Show Context)
Continuous Functionals of Dependent and Transfinite Types
, 1995
"... this paper we study some extensions of the KleeneKreisel continuous functionals [7, 8] and show that most of the constructions and results, in particular the crucial density theorem, carry over from nite to dependent and transnite types. Following an approach of Ershov we dene the continuous functi ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
this paper we study some extensions of the KleeneKreisel continuous functionals [7, 8] and show that most of the constructions and results, in particular the crucial density theorem, carry over from nite to dependent and transnite types. Following an approach of Ershov we dene the continuous functionals as the total elements in a hierarchy of ErshovScottdomains of partial continuous functionals. In this setting the density theorem says that the total functionals are topologically dense in the partial ones, i.e. every nite (compact) functional has a total extension. We will extend this theorem from function spaces to dependent products and sums and universes. The key to the proof is the introduction of a suitable notion of density and associated with it a notion of codensity for dependent domains with totality. We show that the universe obtained by closing a given family of basic domains with totality under some quantiers has a dense and codense totality provided the totalities on the basic domains are dense and codense and the quantiers preserve density and codensity. In particular we can show that the quantiers and have this preservation property and hence, for example, the closure of the integers and the booleans (which are dense and codense) under and has a dense and codense totality. We also discuss extensions of the density theorem to iterated universes, i.e. universes closed under universe operators. From our results we derive a dependent continuous choice principle and a simple ordertheoretic characterization of extensional equality for total objects. Finally we survey two further applications of density: Waagb's extension of the KreiselLacombeShoeneldTheorem showing the coincidence of the hereditarily eectively continuous hierarchy...
Density Theorems for the DomainsWithTotality Semantics of Dependent Types
 Applied Categorical Structures
, 2000
"... . We study a semantics of dependent types and universe operators based on parametrized domains with totality. The main results are generalizations of the Kleene/Kreisel density theorem for the continuous functionals. This continues work of E. Palmgren and V. Stoltenberg{Hansen on the domain interpre ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
. We study a semantics of dependent types and universe operators based on parametrized domains with totality. The main results are generalizations of the Kleene/Kreisel density theorem for the continuous functionals. This continues work of E. Palmgren and V. Stoltenberg{Hansen on the domain interpretation of dependent types, and of D. Normann on universes of wellfounded types with density. Key words: Continuous functionals, Domains, Totality, Dependent types, Universes 1. Introduction In Mathematical Logic and Computer Science there is growing interest in constructive type theories as developed by Martin{Lof [8]. This paper is concerned with a semantics of such theories within the realm of Ershov{Scott domains [5] with totality [10]. Erik Palmgren and Viggo Stoltenberg{Hansen [15], [17] developed a semantics for a partial type theory (modelling partial functions and functionals) based on the notion of a parametrization, i.e. a domain depending on parameters. Since this semantics wa...
A data type of partial recursive functions in MartinLöf Type Theory
, 2006
"... In this article we investigate how to represent partialrecursive functions in MartinLöf’s type theory. Our representation will be based on the approach by Bove and Capretta, which makes use of indexed inductiverecursive definitions (IIRD). We will show how to restrict the IIRD used so that we obt ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this article we investigate how to represent partialrecursive functions in MartinLöf’s type theory. Our representation will be based on the approach by Bove and Capretta, which makes use of indexed inductiverecursive definitions (IIRD). We will show how to restrict the IIRD used so that we obtain directly executable partial recursive functions, Then we introduce a data type of partial recursive functions. We show how to evaluate elements of this data type inside MartinLöf’s type theory, and that therefore the functions defined by this data type are in fact partialrecursive. The data type formulates a very general schema for defining functions recursively in dependent type theory. The initial version of this data type, for which we introduce an induction principle, needs to be expanded, in order to obtain closure under composition. We will obtain two versions of this expanded data type, and prove that they define the same set of partialrecursive functions. Both versions will be large types. Next we prove a Kleenestyle normal form theorem. Using it we will show how to obtain a data type of partial recursive functions which is a small set. Finally, we show how to define selfevaluation as a partial recursive function. We obtain a correct version of this evaluation function, which not only computes recursively a result, but as well a proof that the result is correct.
A construction of Type:Type in MartinLöf's partial type theory with one universe
"... ing on w and pairing with oe(p(c); (x)Ap(q(c); x) ! p(c)) in the first coordinate yields hoe(p(c);(x)Ap(q(c); x) ! p(c)); (w)(Ap(q(c); p(w)); (x)Ap(q(c); Ap(q(w); x)))i 2 PAR; i.e. s (c) 2 PAR. We define the operator that builds the universe (U 1 ; T 1 ) by putting f(c) := s (c) +hn 1 ; (x ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
ing on w and pairing with oe(p(c); (x)Ap(q(c); x) ! p(c)) in the first coordinate yields hoe(p(c);(x)Ap(q(c); x) ! p(c)); (w)(Ap(q(c); p(w)); (x)Ap(q(c); Ap(q(w); x)))i 2 PAR; i.e. s (c) 2 PAR. We define the operator that builds the universe (U 1 ; T 1 ) by putting f(c) := s (c) +hn 1 ; (x)R 1 (x; p(c))i; for c 2 PAR, and let e := fix((c)f(c)). Hence e 2 PAR is a fixed point of f , e = f(e). The right summand of f corresponds to the rules (2). We now interpret Type:Type. The universe (U 1 ; T 1 ) is defined by letting U 1 := T (p(e)) and T 1 (a) := T (Ap(q(e); a)); for a 2 U 1 . Thus the rules (1) are verified. Using the equality e = f(e) and the commutation of T with \Sigma, \Pi and + we get U 1 = T (p(e)) = T (p(f(e))) (4) = T (oe(p(e); (x)Ap(q(e); x) ! p(e))) + T (n 1 ) = (\Sigmax 2 T (p(e)))[T (Ap(q(e); x)) \Gamma! T (p(e))] +N 1 = (\Sigmax 2 U 1 )[T 1 (x) \Gamma! U 1 ] +N 1 and hence j(0 1 ) 2 U 1 . Furthermore we have T 1 (j(0 1 )) = T (Ap(q(...