Results 1  10
of
22
A General Formulation of Simultaneous InductiveRecursive Definitions in Type Theory
 Journal of Symbolic Logic
, 1998
"... The first example of a simultaneous inductiverecursive definition in intuitionistic type theory is MartinLöf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursi ..."
Abstract

Cited by 65 (10 self)
 Add to MetaCart
The first example of a simultaneous inductiverecursive definition in intuitionistic type theory is MartinLöf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursion on the way the elements of U0 are generated. In this paper we argue that there is an underlying general notion of simultaneous inductiverecursive definition which is implicit in MartinLöf's intuitionistic type theory. We extend previously given schematic formulations of inductive definitions in type theory to encompass a general notion of simultaneous inductionrecursion. This enables us to give a unified treatment of several interesting constructions including various universe constructions by Palmgren, Griffor, Rathjen, and Setzer and a constructive version of Aczel's Frege structures. Consistency of a restricted version of the extension is shown by constructing a realisability model ...
Inductive and Coinductive types with Iteration and Recursion
 Proceedings of the 1992 Workshop on Types for Proofs and Programs, Bastad
, 1992
"... We study (extensions of) simply and polymorphically typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in ter ..."
Abstract

Cited by 51 (0 self)
 Add to MetaCart
We study (extensions of) simply and polymorphically typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in terms of iteration. However, in the syntax we often have only weak initiality, which makes the definition of recursion in terms of iteration inefficient or just impossible. We propose a categorical notion of (primitive) recursion which can easily be added as computation rule to a typed lambda calculus and gives us a clear view on what the dual of recursion, corecursion, on coinductive types is. (The same notion has, independently, been proposed by [Mendler 1991].) We look at how these syntactic notions work out in the simply typed lambda calculus and the polymorphic lambda calculus. It will turn out that in the syntax, recursion can be defined in terms of corecursion and vice versa using polymo...
Arithmetic as a theory modulo
 Proceedings of RTA’05
, 2005
"... Abstract. We present constructive arithmetic in Deduction modulo with rewrite rules only. In natural deduction and in sequent calculus, the cut elimination theorem and the analysis of the structure of cut free proofs is the key to many results about predicate logic with no axioms: analyticity and no ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
Abstract. We present constructive arithmetic in Deduction modulo with rewrite rules only. In natural deduction and in sequent calculus, the cut elimination theorem and the analysis of the structure of cut free proofs is the key to many results about predicate logic with no axioms: analyticity and nonprovability results, completeness results for proof search algorithms, decidability results for fragments, constructivity results for the intuitionistic case... Unfortunately, the properties of cut free proofs do not extend in the presence of axioms and the cut elimination theorem is not as powerful in this case as it is in pure logic. This motivates the extension of the notion of cut for various axiomatic theories such as arithmetic, Church’s simple type theory, set theory and others. In general, we can say that a new axiom will necessitate a specific extension of the notion of cut: there still is no notion of cut general enough to be applied to any axiomatic theory. Deduction modulo [2, 3] is one attempt, among others, towards this aim.
A Provably TimeEfficient Parallel Implementation of Full Speculation
 In Proceedings of the 23rd ACM Symposium on Principles of Programming Languages
, 1996
"... Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism. Existing speculative implementations, however, may serialize computation because of their implementation of queues of suspended threads. We give a provably efficient parallel implementation ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Speculative evaluation, including leniency and futures, is often used to produce high degrees of parallelism. Existing speculative implementations, however, may serialize computation because of their implementation of queues of suspended threads. We give a provably efficient parallel implementation of a speculative functional language on various machine models. The implementation includes proper parallelization of the necessary queuing operations on suspended threads. Our target machine models are a butterfly network, hypercube, and PRAM. To prove the efficiency of our implementation, we provide a cost model using a profiling semantics and relate the cost model to implementations on the parallel machine models. 1 Introduction Futures, lenient languages, and several implementations of graph reduction for lazy languages all use speculative evaluation (callbyspeculation [15]) to expose parallelism. The basic idea of speculative evaluation, in this context, is that the evaluation of a...
Programming with inductive and coinductive types
, 1992
"... Abstract We look at programming with inductive and coinductive datatypes, which are inspired theoretically by initial algebras and final coalgebras, respectively. A predicative calculus which incorporates these datatypes as primitive constructs is presented. This calculus allows reduction sequence ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Abstract We look at programming with inductive and coinductive datatypes, which are inspired theoretically by initial algebras and final coalgebras, respectively. A predicative calculus which incorporates these datatypes as primitive constructs is presented. This calculus allows reduction sequences which are significantly more efficient for two dual classes of common programs than do previous calculi using similar primitives. Several techniques for programming in this calculus are illustrated with numerous examples. A short survey of related work is also included.
Proofsearch in typetheoretic languages: an introduction
 Theoretical Computer Science
, 2000
"... We introduce the main concepts and problems in the theory of proofsearch in typetheoretic languages and survey some specific, connected topics. We do not claim to cover all of the theoretical and implementation issues in the study of proofsearch in typetheoretic languages; rather, we present som ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We introduce the main concepts and problems in the theory of proofsearch in typetheoretic languages and survey some specific, connected topics. We do not claim to cover all of the theoretical and implementation issues in the study of proofsearch in typetheoretic languages; rather, we present some key ideas and problems, starting from wellmotivated points of departure such as a definition of a typetheoretic language or the relationship between languages and proofobjects. The strong connections between different proofsearch methods in logics, type theories and logical frameworks, together with their impact on programming and implementation issues, are central in this context.
Simple Proof of the Completeness Theorem for Second Order Classical and Intuitionistic Logic
"... We present a simpler way than usual to deduce the completeness theorem for the secondoder classical logic from the rstorder one. We also extend our method to the case of secondorder intuitionnistic logic. 1 ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present a simpler way than usual to deduce the completeness theorem for the secondoder classical logic from the rstorder one. We also extend our method to the case of secondorder intuitionnistic logic. 1
Machine Deduction
 In Proc. Types for Proofs and Program, LNCS 806
, 1993
"... We present in this paper a new type system which allows to extract code for an abstract machine instead of lambdaterms. Thus, we get a framework to compile correctly programs extracted from proof by translating their proof in our system and then extracting the code. Moreover, we will see that we ca ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We present in this paper a new type system which allows to extract code for an abstract machine instead of lambdaterms. Thus, we get a framework to compile correctly programs extracted from proof by translating their proof in our system and then extracting the code. Moreover, we will see that we can associate programs to classical proofs. 1 Introduction. The proof as program paradigm, using the CurryHoward isomorphism [4], gives a way to associate a program to an intuitionistic proof. This program is almost always a functional program (in general a lambdaterm [1]) which has to be compiled before being executed [11]. This ensures some correctness about the functional program extracted from the proof. But the correctness of the compiled code is relative to the proof of the compiler. The usual way to ensure this kind of correctness is to define a semantics for the functional language, and to verify that the compiler preserves this semantics. We study in this paper a type system for th...
Program Transformation By Proof in Constructive Framework
 In Informatika '91, Theoretical Computer Science and Methods of Compilation and Program Construction
, 1991
"... This paper aims at presenting the notion of program transformation by proof in type theory and programming with proofs framework. In such framework, programs obtained from proofs are not always efficient and the relationships between programs and good proofs have to be studied. Automatic synthesis a ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper aims at presenting the notion of program transformation by proof in type theory and programming with proofs framework. In such framework, programs obtained from proofs are not always efficient and the relationships between programs and good proofs have to be studied. Automatic synthesis and verification of programs have been tackled in the constructive type theory and we are interested by the transformational approach, with some degree of automation, in such a framework. We present some techniques of proof and program transformation using proof synthesis information. A strategy of generalization by abstraction of terms is presented, with a view to deriving by constructive proofs new program versions, and we analyze the connections with data modifications and induction choices. 1 Introduction The derivation of correct and efficient programs from formal specifications can be considered in different ways. An important one consists in using the transformation technique which is...
A lambda calculus model of MartinLöf's theory of types with explicit substitution
 In this thesis
, 1997
"... This paper presents a proofirrelevant model of MartinLof's theory of types with explicit substitution; that is, a model in the style of [Smi88], in which types are interpreted as truth values and objects (or proofs) are irrelevant. The fundamental difference here is the need to cope with a formal ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
This paper presents a proofirrelevant model of MartinLof's theory of types with explicit substitution; that is, a model in the style of [Smi88], in which types are interpreted as truth values and objects (or proofs) are irrelevant. The fundamental difference here is the need to cope with a formal system which in addition to types has sets and substitutions. This difference leads us to a whole reformulation of the model which consists in defining an interpretation in terms of the untyped lambda calculus. From this interpretation the proofirrelevant model is obtained as a particular instance. Finally, the paper outlines the definition of a realizability model which is also obtained as a particular instance. Keywords: type theory, explicit substitution, models of type theory, proofirrelevant model, realizability model. Contents 1 Introduction 1 2 Type theory 2 2.1 Syntax : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 3 A lambda calculus model 8 3.1 Semantic...