Results 1  10
of
12
A direct algorithm for type inference in the rank2 fragment of the secondorder λcalculus
, 1993
"... We study the problem of type inference for a family of polymorphic type disciplines containing the power of CoreML. This family comprises all levels of the stratification of the secondorder lambdacalculus by "rank" of types. We show that typability is an undecidable problem at every rank k >= 3 o ..."
Abstract

Cited by 78 (14 self)
 Add to MetaCart
We study the problem of type inference for a family of polymorphic type disciplines containing the power of CoreML. This family comprises all levels of the stratification of the secondorder lambdacalculus by "rank" of types. We show that typability is an undecidable problem at every rank k >= 3 of this stratification. While it was already known that typability is decidable at rank 2, no direct and easytoimplement algorithm was available. To design such an algorithm, we develop a new notion of reduction and show howto use it to reduce the problem of typability at rank 2 to the problem of acyclic semiunification. A byproduct of our analysis is the publication of a simple solution procedure for acyclic semiunification.
On the undecidability of partial polymorphic type reconstruction
 FUNDAMENTA INFORMATICAE
, 1992
"... We prove that partial type reconstruction for the pure polymorphic *calculus is undecidable by a reduction from the secondorder unification problem, extending a previous result by H.J. Boehm. We show further that partial type reconstruction remains undecidable even in a very small predicative f ..."
Abstract

Cited by 27 (0 self)
 Add to MetaCart
We prove that partial type reconstruction for the pure polymorphic *calculus is undecidable by a reduction from the secondorder unification problem, extending a previous result by H.J. Boehm. We show further that partial type reconstruction remains undecidable even in a very small predicative fragment of the polymorphic *calculus, which implies undecidability of partial type reconstruction for * ML as introduced by Harper, Mitchell, and Moggi.
Implicit Syntax
 Informal Proceedings of First Workshop on Logical Frameworks
, 1992
"... A proof checking system may support syntax that is more convenient for users than its `official' language. For example LEGO (a typechecker for several systems related to the Calculus of Constructions) has algorithms to infer some polymorphic instantiations (e.g. pair 2 true instead of pair nat bo ..."
Abstract

Cited by 20 (2 self)
 Add to MetaCart
A proof checking system may support syntax that is more convenient for users than its `official' language. For example LEGO (a typechecker for several systems related to the Calculus of Constructions) has algorithms to infer some polymorphic instantiations (e.g. pair 2 true instead of pair nat bool 2 true) and universe levels (e.g. Type instead of Type(4)). Users need to understand such features, but do not want to know the algorithms for computing them. In this note I explain these two features by nondeterministic operational semantics for "translating" implicit syntax to the fully explicit underlying formal system. The translations are sound and complete for the underlying type theory, and the algorithms (which I will not talk about) are sound (not necessarily complete) for the translations. This note is phrased in terms of a general class of type theories. The technique described has more general application. 1 Introduction Consider the usual formal system, !, for simp...
Typability and Type Checking in the SecondOrder lambdaCalculus Are Equivalent and Undecidable
, 1993
"... We consider the problems of typability and type checking in the Girard/Reynolds secondorder polymorphic typedcalculus, for which we use the short name "System F" and which we use in the "Curry style" where types are assigned to pureterms. These problems have been considered and proven to be d ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
We consider the problems of typability and type checking in the Girard/Reynolds secondorder polymorphic typedcalculus, for which we use the short name "System F" and which we use in the "Curry style" where types are assigned to pureterms. These problems have been considered and proven to be decidable or undecidable for various restrictions and extensions of System F and other related systems, and lowerbound complexity results for System F have been achieved, but they have remained "embarrassing open problems" 3 for System F itself. We first prove that type checking in System F is undecidable by a reduction from semiunification. We then prove typability in System F is undecidable by a reduction from type checking. Since the reverse reduction is already known, this implies the two problems are equivalent. The second reduction uses a novel method of constructingterms such that in all type derivations, specific bound variables must always be assigned a specific type. Using this technique, we can require that specif subterms must be typable using a specific, fixed type assignment in order for the entire term to be typable at all. Any desired type assignment maybe simulated. We develop this method, which we call \constants for free", for both the K and I calculi.
Secondorder unification and type inference for Churchstyle polymorphism
 In Conference Record of POPL 98: The 25TH ACM SIGPLANSIGACT Symposium on Principles of Programming Languages
, 1998
"... We present a proof of the undecidability of type inference for the Churchstyle system F  an abstraction of polymorphism. A natural reduction from the secondorder unification problem to type inference leads to strong restriction on instances  arguments of variables cannot contain variables. T ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
We present a proof of the undecidability of type inference for the Churchstyle system F  an abstraction of polymorphism. A natural reduction from the secondorder unification problem to type inference leads to strong restriction on instances  arguments of variables cannot contain variables. This requires another proof of the undecidability of the secondorder unification since known results use variables in arguments of other variables. Moreover, our proof uses elementary techniques, which is important from the methodological point of view, because Goldfarb's proof [Gol81] highly relies on the undecidability of the tenth Hilbert's problem. 1 1 Introduction The Churchstyle system F was independently introduced by Girard [Gir72] and Reynolds [Rey74] as an extension of the simplytyped calculus a type system introduced of H. B. Curry [Cur69]. As usual for type systems, the decidability of so called sequent decision problems was considered. A sequent decision problem in some ty...
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.
Naïve computational type theory
 Proof and SystemReliability, Proceedings of International Summer School Marktoberdorf, July 24 to August 5, 2001, volume 62 of NATO Science Series III
, 2002
"... The basic concepts of type theory are fundamental to computer science, logic and mathematics. Indeed, the language of type theory connects these regions of science. It plays a role in computing and information science akin to that of set theory in pure mathematics. There are many excellent accounts ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
The basic concepts of type theory are fundamental to computer science, logic and mathematics. Indeed, the language of type theory connects these regions of science. It plays a role in computing and information science akin to that of set theory in pure mathematics. There are many excellent accounts of the basic ideas of type theory, especially at the interface of computer science and logic — specifically, in the literature of programming languages, semantics, formal methods and automated reasoning. Most of these are very technical, dense with formulas, inference rules, and computation rules. Here we follow the example of the mathematician Paul Halmos, who in 1960 wrote a 104page book called Naïve Set Theory intended to make the subject accessible to practicing mathematicians. His book served many generations well. This article follows the spirit of Halmos ’ book and introduces type theory without recourse to precise axioms and inference rules, and with a minimum of formalism. I start by paraphrasing the preface to Halmos ’ book. The sections of this article follow his chapters closely. Every computer scientist agrees that every computer scientist must know some type theory; the disagreement begins in trying to decide how much is some. This article contains my partial answer to that question. The purpose of the article is to tell the beginning student of advanced computer science the basic type theoretic facts of life, and to do so with a minimum of philosophical discourse and logical formalism. The point throughout is that of a prospective computer scientist eager to study programming languages, or database systems, or computational complexity theory, or distributed systems or information discovery. In type theory, “naïve ” and “formal ” are contrasting words. The present treatment might best be described as informal type theory from a naïve point of view. The concepts are very general and very abstract; therefore they may
Type Inference and Reconstruction for First Order Dependent Types
, 1995
"... x 1 Introduction 1 1.1 Dependent Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.2 Dependent Type Inference and Reconstruction : : : : : : : : : : : : : : : : 8 2 Primitive Recursive Functionals with Dependent Types 17 2.1 A Dependent Type System for T : : : : : : : : : ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
x 1 Introduction 1 1.1 Dependent Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.2 Dependent Type Inference and Reconstruction : : : : : : : : : : : : : : : : 8 2 Primitive Recursive Functionals with Dependent Types 17 2.1 A Dependent Type System for T : : : : : : : : : : : : : : : : : : : : : : : 17 2.1.1 Terms : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17 2.1.2 Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19 2.1.3 Typing Rules : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24 2.1.4 Strong Normalization of T Terms : : : : : : : : : : : : : : : : : : : 28 2.2 Dependent Typing Examples : : : : : : : : : : : : : : : : : : : : : : : : : : 29 2.3 A Term Model Semantics for T : : : : : : : : : : : : : : : : : : : : : : : : 34 3 Principal Types and Dependent Type Reconstruction 58 3.1 Type Subsumption and Unification : : : : : : : : : : : : : : : : : : : : : : : 58 3.2 Matching : : : : : :...
Impredicative Representations of Categorical Datatypes
, 1994
"... this document that certain implications are not based on a well stated formal theory but require a certain amount of handwaving. ..."
Abstract
 Add to MetaCart
this document that certain implications are not based on a well stated formal theory but require a certain amount of handwaving.
Naïve Type Theory
, 2002
"... This article follows the spirit of Halmos' book and introduces type theory without recourse to precise axioms and inference rules, and with a minimum of formalism. I start by paraphrasing the preface to Halmos' book. The sections of this article follow his chapters closely. Every computer scientist ..."
Abstract
 Add to MetaCart
This article follows the spirit of Halmos' book and introduces type theory without recourse to precise axioms and inference rules, and with a minimum of formalism. I start by paraphrasing the preface to Halmos' book. The sections of this article follow his chapters closely. Every computer scientist agrees that every computer scientist must know some type theory; the disagreement begins in trying to decide how much is some. This article contains my partial answer to that question. The purpose of the article is to tell the beginning student of advanced computer science the basic type theoretic facts of life, and to do so with a minimum of philosophical discourse and logical formalism. The point throughout is that of a prospective computer scientist eager to study programming languages, or database systems, or computational complexity theory, or distributed systems or information discovery