Results 1  10
of
12
Using dependent types to express modular structure
 In Thirteenth ACM Symposium on Principles of Programming Languages
, 1986
"... Several related typed languages for modular programming and data abstraction have been proposed recently, including Pebble, SOL, and ML modules. We review and compare the basic typetheoretic ideas behind these languages and evaluate how they ..."
Abstract

Cited by 125 (5 self)
 Add to MetaCart
Several related typed languages for modular programming and data abstraction have been proposed recently, including Pebble, SOL, and ML modules. We review and compare the basic typetheoretic ideas behind these languages and evaluate how they
Proofassistants using Dependent Type Systems
, 2001
"... this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs ..."
Abstract

Cited by 47 (4 self)
 Add to MetaCart
this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs
Inductionrecursion and initial algebras
 Annals of Pure and Applied Logic
, 2003
"... 1 Introduction Inductionrecursion is a powerful definition method in intuitionistic type theory in the sense of Scott ("Constructive Validity") [31] and MartinL"of [17, 18, 19]. The first occurrence of formal inductionrecursion is MartinL"of's definition of a universe `a la T ..."
Abstract

Cited by 28 (11 self)
 Add to MetaCart
1 Introduction Inductionrecursion is a powerful definition method in intuitionistic type theory in the sense of Scott ("Constructive Validity") [31] and MartinL"of [17, 18, 19]. The first occurrence of formal inductionrecursion is MartinL"of's definition of a universe `a la Tarski [19], which consists of a set U
Deliverables: A Categorical Approach to Program Development in Type Theory
, 1992
"... This thesis considers the problem of program correctness within a rich theory of dependent types, the Extended Calculus of Constructions (ECC). This system contains a powerful programming language of higherorder primitive recursion and higherorder intuitionistic logic. It is supported by Pollack's ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
This thesis considers the problem of program correctness within a rich theory of dependent types, the Extended Calculus of Constructions (ECC). This system contains a powerful programming language of higherorder primitive recursion and higherorder intuitionistic logic. It is supported by Pollack's versatile LEGO implementation, which I use extensively to develop the mathematical constructions studied here. I systematically investigate Burstall's notion of deliverable, that is, a program paired with a proof of correctness. This approach separates the concerns of programming and logic, since I want a simple program extraction mechanism. The \Sigmatypes of the calculus enable us to achieve this. There are many similarities with the subset interpretation of MartinLof type theory. I show that deliverables have a rich categorical structure, so that correctness proofs may be decomposed in a principled way. The categorical combinators which I define in the system package up much logical bo...
Type Theory and Programming
, 1994
"... This paper gives an introduction to type theory, focusing on its recent use as a logical framework for proofs and programs. The first two sections give a background to type theory intended for the reader who is new to the subject. The following presents MartinLof's monomorphic type theory and an im ..."
Abstract

Cited by 21 (2 self)
 Add to MetaCart
This paper gives an introduction to type theory, focusing on its recent use as a logical framework for proofs and programs. The first two sections give a background to type theory intended for the reader who is new to the subject. The following presents MartinLof's monomorphic type theory and an implementation, ALF, of this theory. Finally, a few small tutorial examples in ALF are given.
P.: Dependent types at work
 LerNet 2008. LNCS
, 2009
"... Abstract. In these lecture notes we give an introduction to functional programming with dependent types. We use the dependently typed programming language Agda which is an extension of MartinLöf type theory. First we show how to do simply typed functional programming in the style of Haskell and ML. ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
Abstract. In these lecture notes we give an introduction to functional programming with dependent types. We use the dependently typed programming language Agda which is an extension of MartinLöf type theory. First we show how to do simply typed functional programming in the style of Haskell and ML. Some differences between Agda’s type system and the HindleyMilner type system of Haskell and ML are also discussed. Then we show how to use dependent types for programming and we explain the basic ideas behind typechecking dependent types. We go on to explain the CurryHoward identification of propositions and types. This is what makes Agda a programming logic and not only a programming language. According to CurryHoward, we identify programs and proofs, something which is possible only by requiring that all program terminate. However, at the end of these notes we present a method for encoding partial and general recursive functions as total functions using dependent types.
Partial computations in constructive type theory
 JOURNAL OF LOGIC AND COMPUTATION
, 1991
"... Constructive type theory as conceived by Per MartinLöf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
Constructive type theory as conceived by Per MartinLöf has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects in the type A may diverge, but if they converge, they must be members of A. A fixed point typing principle is given to allow typing of recursive functions. The extraction paradigm of type theory, whereby programs are automatically extracted from constructive proofs, is extended to allow extraction of fixed points. There is a Scott fixed point induction principle for reasoning about these functions. Soundness of the theory is proven. Type theory becomes a more expressive programming logic as a result.
Specifying Interactions With Dependent Types
 In Workshop on subtyping and dependent types in programming
, 2000
"... this paper we consider how to express specications of interactions in dependent type theory. The results so far are modest, though we hope we have identied some key structures for describing contracts between independent agents, and shown how to dene them in a dependently typed framework. These are ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
this paper we consider how to express specications of interactions in dependent type theory. The results so far are modest, though we hope we have identied some key structures for describing contracts between independent agents, and shown how to dene them in a dependently typed framework. These are called below transition systems (2.2) and interaction systems (2.3). Both are coalgebras; transition systems for a functor Fam , and interaction systems for its composite with itself, Fam (Fam ). These structures seems to have interesting connections with predicate transformer semantics for imperative programs, as initiated by Dijkstra, and also with the renement calculus of Back and von Wright as described in their book [2]. We restrict attention to situations in which the system and its environment communicate by exchanging messages in strict alternation, as with the moves in a two player game.
Decidability Extracted: Synthesizing ``CorrectbyConstruction'' Decision Procedures from Constructive Proofs
, 1998
"... The topic of this thesis is the extraction of efficient and readable programs from formal constructive proofs of decidability. The proof methods employed to generate the efficient code are new and result in clean and readable Nuprl extracts for two nontrivial programs. They are based on the use of ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
The topic of this thesis is the extraction of efficient and readable programs from formal constructive proofs of decidability. The proof methods employed to generate the efficient code are new and result in clean and readable Nuprl extracts for two nontrivial programs. They are based on the use of Nuprl's set type and techniques for extracting efficient programs from induction principles. The constructive formal theories required to express the decidability theorems are of independent interest. They formally circumscribe the mathematical knowledge needed to understand the derived algorithms. The formal theories express concepts that are taught at the senior college level. The decidability proofs themselves, depending on this material, are of interest and are presented in some detail. The proof of decidability of classical propositional logic is relative to a semantics based on Kleene's strong threevalued logic. The constructive proof of intuitionistic decidability presented here is the first machine formalization of this proof. The exposition reveals aspects of the Nuprl tactic collection relevant to the creation of readable proofs; clear extracts and efficient code are illustrated in the discussion of the proofs.
Semantics and Parsing in Intuitionistic Categorial Grammar
, 1995
"... The present work is a contribution to the formal approach to natural language semantics founded on the antirealistic philosophical school. This school claims that the proper job of a semantic theory is not just to state the truthconditions of a sentence, but to provide an effective procedure for rec ..."
Abstract
 Add to MetaCart
The present work is a contribution to the formal approach to natural language semantics founded on the antirealistic philosophical school. This school claims that the proper job of a semantic theory is not just to state the truthconditions of a sentence, but to provide an effective procedure for recognising when such conditions hold in the world; this is called a verificationist theory of meaning. The system has been developed under the framework of MartinL of's Type Theory (MLTT) [ML84], which consists of a constructive theory proposed to serve as a foundation for constructive mathematics. Application of the type theory to the analysis of natural language had already been achieved by Ranta [Ran91] and Sundholm [Sun89], among others. The main contribution of the present document is in parsing; to provide an interpretation of a given English sentence as an expression in MLTT. I show that it is possible to recast English sentences in MLTT in a compositional fashion, by defining a set of rules in the Type Theory that can be effectively computed. Following the tradition of Montague's PTQ paper [Mon74b], the system consists of a set of syntactic and semantic rules that define a fragment of English. The semantic rules are so defined as to be in a onetoone correspondence with the sysntactic rules. This provides a compositional semantic analysis of the infinitely many expressions generated by the grammar. Attention has been given to the problem of discourse representation and crosssentencial anaphora. Rules have been defined to provide an interpretation for these natural language phenomena and a procedure has been developed to support a process looking for the resolution of anaphoric referents. A discussion of the problem of intensional contexts is included, and a formal f...