Results 1  10
of
19
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 ran ..."
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 n ..."
Abstract

Cited by 22 (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...
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...
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 considere ..."
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.
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
"... ..."
Abstract
"... Simple, partial typeinference for System F based on typecontainment We explore partial typeinference for System F based on typecontainment. We consider both cases of a purely functional semantics and a callbyvalue stateful semantics. To enable typeinference, we require higherrank polymorphis ..."
Abstract
 Add to MetaCart
Simple, partial typeinference for System F based on typecontainment We explore partial typeinference for System F based on typecontainment. We consider both cases of a purely functional semantics and a callbyvalue stateful semantics. To enable typeinference, we require higherrank polymorphism to be userspecified via type annotations on source terms. We allow implicit predicative typecontainment and explicit impredicative typeinstantiation. We obtain a core language that is both as expressive as System F and conservative over ML. Its type system has a simple logical specification and a partial typereconstruction algorithm that are both very close to the ones for ML. We then propose a surface language where some annotations may be omitted and rebuilt by some algorithmically defined but logically incomplete elaboration mechanism.
Abstract
"... Simple, partial typeinference for System F based on typecontainment We explore partial typeinference for System F based on typecontainment. We consider both cases of a purely functional semantics and a callbyvalue stateful semantics. To enable typeinference, we require higherrank polymorphis ..."
Abstract
 Add to MetaCart
Simple, partial typeinference for System F based on typecontainment We explore partial typeinference for System F based on typecontainment. We consider both cases of a purely functional semantics and a callbyvalue stateful semantics. To enable typeinference, we require higherrank polymorphism to be userspecified via type annotations on source terms. We allow implicit predicative typecontainment and explicit impredicative typeinstantiation. We obtain a core language that is both as expressive as System F and conservative over ML. Its type system has a simple logical specification and a partial typereconstruction algorithm that are both very close to the ones for ML. We then propose a surface language where some annotations may be omitted and rebuilt by some algorithmically defined but logically incomplete elaboration mechanism.