Results 1 - 10
of
16
A Calculus for Overload Functions with Subtyping
-
, 1992
"... We present a simple extension of typed -calculus where functions can be overloaded by putting different "branches of code" together. When the function is applied, the branch to execute is chosen according to a particular selection rule which depends on the type of the argument. The crucial featu ..."
Abstract
-
Cited by 131 (28 self)
- Add to MetaCart
We present a simple extension of typed -calculus where functions can be overloaded by putting different "branches of code" together. When the function is applied, the branch to execute is chosen according to a particular selection rule which depends on the type of the argument. The crucial feature of the present approach is that the branch selection depends on the "run-time type" of the argument, which may differ from its compile-time type, because of the existence of a subtyping relation among types. Hence overloading cannot be eliminated by a static analysis of code, but is an essential feature to be dealt with during computation. We obtain in this way a type-dependent calculus, which differs from the various -calculi where types do not play any role during computation. We prove Confluence and a generalized Subject-Reduction theorem for this calculus. We prove Strong Normalization for a "stratified" subcalculus. The definition of this calculus is guided by the understand...
Equilogical Spaces
, 1998
"... It is well known that one can build models of full higher-order dependent type theory (also called the calculus of constructions) using partial equivalence relations (PERs) and assemblies over a partial combinatory algebra (PCA). But the idea of categories of PERs and ERs (total equivalence relation ..."
Abstract
-
Cited by 24 (9 self)
- Add to MetaCart
It is well known that one can build models of full higher-order dependent type theory (also called the calculus of constructions) using partial equivalence relations (PERs) and assemblies over a partial combinatory algebra (PCA). But the idea of categories of PERs and ERs (total equivalence relations) can be applied to other structures as well. In particular, we can easily dene the category of ERs and equivalencepreserving continuous mappings over the standard category Top 0 of topological T 0 -spaces; we call these spaces (a topological space together with an ER) equilogical spaces and the resulting category Equ. We show that this category|in contradistinction to Top 0 |is a cartesian closed category. The direct proof outlined here uses the equivalence of the category Equ to the category PEqu of PERs over algebraic lattices (a full subcategory of Top 0 that is well known to be cartesian closed from domain theory). In another paper with Carboni and Rosolini (cited herein) a more abstract categorical generalization shows why many such categories are cartesian closed. The category Equ obviously contains Top 0 as a full subcategory, and it naturally contains many other well known subcategories. In particular, we show why, as a consequence of work of Ershov, Berger, and others, the Kleene-Kreisel hierarchy of countable functionals of nite types can be naturally constructed in Equ from the natural numbers object N by repeated use in Equ of exponentiation and binary products. We also develop for Equ notions of modest sets (a category equivalent to Equ) and assemblies to explain why a model of dependent type theory is obtained. We make some comparisons of this model to other, known models. 1
On functors expressible in the polymorphic typed lambda calculus
- Logical Foundations of Functional Programming
, 1990
"... This is a preprint of a paper that has been submitted to Information and Computation. ..."
Abstract
-
Cited by 16 (1 self)
- Add to MetaCart
This is a preprint of a paper that has been submitted to Information and Computation.
A Logic of Subtyping
, 1996
"... The relation of inclusion between types has been suggested by the practice of programming, as it enriches the polymorphism of functional languages. We propose a simple (and linear) calculus of sequents for subtyping as logical entailment. This allows us to derive a complete and coherent approach to ..."
Abstract
-
Cited by 14 (4 self)
- Add to MetaCart
The relation of inclusion between types has been suggested by the practice of programming, as it enriches the polymorphism of functional languages. We propose a simple (and linear) calculus of sequents for subtyping as logical entailment. This allows us to derive a complete and coherent approach to subtyping from a few, logically meaningful, sequents. In particular, transitivity and anti-symmetry will be derived from elementary logical principles, which stresses the power of sequents and Gentzen-style proof methods. Proof techniques based on cut-elimination will be at the core of our results. 1 Introduction 1.1 Motivations, Theories and Models In recent years, several extensions of core functional languages have been proposed to deal with the notion of subtyping; see, for example, [CW85, Mit88, BL90, BCGS91, CMMS91, CG92, PS94, Tiu96, TU96]. These extensions were suggested by the practice of programming in computer science. In particular, they were inspired by the notion of inheritance...
Coherence and Transitivity of Subtyping as Entailment
, 1996
"... The relation of inclusion between types has been suggested by the practice of programming as it enriches the polymorphism of functional languages. We propose a simple (and linear) sequent calculus for subtyping as logical entailment. This allows us to derive a complete and coherent approach to subty ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
The relation of inclusion between types has been suggested by the practice of programming as it enriches the polymorphism of functional languages. We propose a simple (and linear) sequent calculus for subtyping as logical entailment. This allows us to derive a complete and coherent approach to subtyping from a few, logically meaningful sequents. In particular, transitivity and anti-symmetry will be derived from elementary logical principles. 1 Introduction 1.1 Motivations, theories and models In recent years, several extensions of core functional languages have been proposed to deal with the notion of subtyping; see, for example, [CW85, Mit88, BL90, BCGS91, CMMS91, CG92, PS94, Tiu96, TU96]. These extensions were suggested by the practice of programming in computer science. In particular, they were inspired by the notion of inheritance as used in object-oriented programming languages, or by other concrete implementations of the following form of polymorphism: data living in a type oe, ...
Type Theory via Exact Categories (Extended Abstract)
- In Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science LICS '98
, 1998
"... Partial equivalence relations (and categories of these) are a standard tool in semantics of type theories and programming languages, since they often provide a cartesian closed category with extended definability. Using the theory of exact categories, we give a category-theoretic explanation of why ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Partial equivalence relations (and categories of these) are a standard tool in semantics of type theories and programming languages, since they often provide a cartesian closed category with extended definability. Using the theory of exact categories, we give a category-theoretic explanation of why the construction of a category of partial equivalence relations often produces a cartesian closed category. We show how several familiar examples of categories of partial equivalence relations fit into the general framework. 1 Introduction Partial equivalence relations (and categories of these) are a standard tool in semantics of programming languages, see e.g. [2, 5, 7, 9, 15, 17, 20, 22, 35] and [6, 29] for extensive surveys. They are usefully applied to give proofs of correctness and adequacy since they often provide a cartesian closed category with additional properties. Take for instance a partial equivalence relation on the set of natural numbers: a binary relation R ` N\ThetaN on th...
An Introduction to Polymorphic Lambda Calculus
- Logical Foundations of Functional Programming
, 1994
"... Introduction to the Polymorphic Lambda Calculus John C. Reynolds Carnegie Mellon University December 23, 1994 The polymorphic (or second-order) typed lambda calculus was invented by Jean-Yves Girard in 1971 [11, 10], and independently reinvented by myself in 1974 [24]. It is extraordinary that ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Introduction to the Polymorphic Lambda Calculus John C. Reynolds Carnegie Mellon University December 23, 1994 The polymorphic (or second-order) typed lambda calculus was invented by Jean-Yves Girard in 1971 [11, 10], and independently reinvented by myself in 1974 [24]. It is extraordinary that essentially the same programming language was formulated independently by the two of us, especially since we were led to the language by entirely different motivations. In my own case, I was seeking to extend conventional typed programming languages to permit the definition of "polymorphic" procedures that could accept arguments of a variety of types. I started with the ordinary typed lambda calculus and added the ability to pass types as parameters (an idea that was "in the air" at the time, e.g. [4]). For example, as in the ordinary typed lambda calculus one can write f int!int : x int : f(f (x)) to denote the "doubling" function for the type int, which accepts a function from integers
A Simple Model Construction for the Calculus of Constructions
- Types for Proofs and Programs, International Workshop TYPES'95
, 1996
"... . We present a model construction for the Calculus of Constructions (CC) where all dependencies are carried out in a set-theoretical setting. The Soundness Theorem is proved and as a consequence of it Strong Normalization for CC is obtained. Some other applications of our model constructions are: sh ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
. We present a model construction for the Calculus of Constructions (CC) where all dependencies are carried out in a set-theoretical setting. The Soundness Theorem is proved and as a consequence of it Strong Normalization for CC is obtained. Some other applications of our model constructions are: showing that CC + Classical logic is consistent (by constructing a model for it) and showing that the Axiom of Choice is not derivable in CC (by constructing a model in which the type that represents the Axiom of Choice is empty). 1 Introduction In the literature there are many investigations on the semantics of polymorphic -calculus with dependent types (see for example [12, 11, 10, 1, 5, 13]). Most of the existing models present a semantics for systems in which the inhabitants of the impredicative universe (types) are "lifted" to inhabitants of the predicative universe (kinds) (see [16]). Such systems are convenient to be modeled by locally Cartesian-closed categories having small Cartesia...
Carnap's remarks on Impredicative Definitions and the Genericity Theorem
- IN LOGIC, METHODOLOGY AND PHILOSOPHY OF SCIENCE: LOGIC IN FLORENCE
, 1997
"... In a short, but relevant paper [Car31], Rudolf Carnap summarizes the logicist foundation of mathematics, largely following Frege and Russell 's view. Carnap moves away though from Russell's approach on a crucial aspect: a detailed justification of impredicative definitions (a formal version of Russe ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In a short, but relevant paper [Car31], Rudolf Carnap summarizes the logicist foundation of mathematics, largely following Frege and Russell 's view. Carnap moves away though from Russell's approach on a crucial aspect: a detailed justification of impredicative definitions (a formal version of Russell's "vicious circle"), that he accepts. In this note we revisit Carnap's justification of impredicativity, within the frame of impredicative Type Theory. More precisely, we recall the treatment of impredicativity given in Girard's System F and justify it by reference to a recent result, the Genericity Theorem in [LMS93], which may help to set on mathematical grounds Carnap's informal remark. We then discuss the logical complexity of (the proof of) that theorem. Finally, the role of the Genericity Theorem in understanding the surprising "uniformities" of the consistency proof of Arithmetic, via System F, is hinted. The problem A definition is said to be impredicative, if it defines a concep...
Prototype Proofs in Type Theory
, 2000
"... The proofs of universally quantified statements, in mathematics, are given as "schemata" or as "prototypes" which may be applied to each specific instance of the quantified variable. Type Theory allows to turn into a rigorous notion this informal intuition described by many, including Herbrand. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The proofs of universally quantified statements, in mathematics, are given as "schemata" or as "prototypes" which may be applied to each specific instance of the quantified variable. Type Theory allows to turn into a rigorous notion this informal intuition described by many, including Herbrand. In this constructive approach where propositions are types, proofs are viewed as terms of \Gammacalculus and act as "proof-schemata", as for universally quantified types. We examine here the critical case of Impredicative Type Theory, i.e. Girard's system F, where type-quantification ranges over all types. Coherence and decidability properties are proved for prototype proofs in this impredicative context.

