## Relating Typability and Expressiveness in Finite-Rank Intersection Type Systems (Extended Abstract) (1999)

### Cached

### Download Links

- [cs.wellesley.edu]
- [www.cee.hw.ac.uk]
- [www.church-project.org]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. 1999 Int’l Conf. Functional Programming |

Citations: | 22 - 9 self |

### BibTeX

@INPROCEEDINGS{Kfoury99relatingtypability,

author = {Assaf J. Kfoury and Harry G. Mairson and Franklyn A. Turbak and J. B. Wells},

title = {Relating Typability and Expressiveness in Finite-Rank Intersection Type Systems (Extended Abstract)},

booktitle = {In Proc. 1999 Int’l Conf. Functional Programming},

year = {1999},

pages = {90--101},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

We investigate finite-rank intersection type systems, analyzing the complexity of their type inference problems and their relation to the problem of recognizing semantically equivalent terms. Intersection types allow something of type T1 /\ T2 to be used in some places at type T1 and in other places at type T2 . A finite-rank intersection type system bounds how deeply the /\ can appear in type expressions. Such type systems enjoy strong normalization, subject reduction, and computable type inference, and they support a pragmatics for implementing parametric polymorphism. As a consequence, they provide a conceptually simple and tractable alternative to the impredicative polymorphism of System F and its extensions, while typing many more programs than the Hindley-Milner type system found in ML and Haskell. While type inference is computable at every rank, we show that its complexity grows exponentially as rank increases. Let K(0, n) = n and K(t + 1, n) = 2^K(t,n); we prove that recognizing the pure lambda-terms of size n that are typable at rank k is complete for dtime[K(k-1, n)]. We then consider the problem of deciding whether two lambda-terms typable at rank k have the same normal form, Generalizing a well-known result of Statman from simple types to finite-rank intersection types. ...

### Citations

342 |
Foundations for programming languages
- Mitchell
- 1996
(Show Context)
Citation Context ...supported in Hindley-Milner type systems is equivalent to inlining the let-bound definitions and typing the resulting program with simple types. Because this expands the program at most exponentially =-=[Mit96]-=- and type inference for simple types takes polynomial time, this implementation of Hindley-Milner polymorphism gives an exponential-time type inference algorithm and thus an upper bound on the complex... |

166 |
Lambda Calculus: its Syntax and Semantics (North-Holland
- Barendregt
- 1984
(Show Context)
Citation Context .... , Mn ] denotes the term that results from filling the n holes of context C from left to right. We ignore issues of variable capture, renaming, and #-conversion by following Barendregt's conventions =-=[Bar84]-=-. 5 Let FV(M) denote the set of free variables of term M . Notice our conventions for distinguishing I- and K- abstractions and redexes. The syntax for types appears in figure 2. There are two mutuall... |

96 | What are principal typings and what are they good for
- Jim
- 1996
(Show Context)
Citation Context ...is typable with intersection and function types, because this holds exactly when M is strongly normalizable. However, the rank-2 restriction of intersection types, studied by van Bakel [vB93] and Jim =-=[Jim96]-=-, has computable type inference, and recognizes strictly more typable terms than the Hindley-Milner system at the core of ML and Haskell type inference. The finite-rank restriction on intersection typ... |

88 | A direct algorithm for type inference in the rank-2 fragment of the second-order λ-calculus - Kfoury, Wells - 1994 |

87 | Polymorphic type inference - Leivant - 1983 |

60 | Principal type schemes for an extended type theory. Theoret - Rocca, Venneri - 1984 |

54 | Functional characters of solvable terms. Zeitschrift für matematische Logik und Grundlagen der Mathematik - Coppo, Dezani-Ciancaglini, et al. - 1981 |

52 | Principality and decidable type inference for finite-rank intersection types
- Kfoury, Wells
- 1999
(Show Context)
Citation Context ...ppear in type expressions, counting nesting in the left arguments of the # type constructor. Recently it has been shown that finite-rank intersection types have computable type inference for any rank =-=[KW99]-=-. As such, they provide a conceptually simple alternative to the impredicative polymorphism of System F and its extensions, supporting a pragmatics for implementing parametric polymorphism. Finite-ran... |

50 |
Deciding ML typability is complete for deterministic exponential time
- Mairson
- 1990
(Show Context)
Citation Context ...lse. But it is a reasonable first guess as to how one relates typability and expressiveness in complexity-theoretic terms. If nothing else, the symmetry of these relationships confirm the comments in =-=[Mai90] that &quo-=-t;lower bounds on deciding typability for extensions to the [simply] typed #-calculus can be regarded precisely in terms of this expressive capacity for succinct function composition," and gives ... |

47 | Intersection Type Disciplines in Lambda Calculus and Applicative Term Rewriting Systems
- Bakel
- 1993
(Show Context)
Citation Context ...er a #- term M is typable with intersection and function types, because this holds exactly when M is strongly normalizable. However, the rank-2 restriction of intersection types, studied by van Bakel =-=[vB93]-=- and Jim [Jim96], has computable type inference, and recognizes strictly more typable terms than the Hindley-Milner system at the core of ML and Haskell type inference. The finite-rank restriction on ... |

35 | Principal type schemes and -calculus semantics - Coppo, Dezani-Ciancaglini, et al. - 1980 |

35 | Functional characters of solvable terms - Coppo, Dezani-Ciancaglini, et al. - 1981 |

30 | The complexity of type inference for higher-order typed lambda calculi - Henglein, Mairson - 1994 |

29 | A calculus with polymorphic and polyvariant flow types
- Wells, Dimock, et al.
- 2002
(Show Context)
Citation Context ...in the argument of an application to be a typed version of the same untyped #-term. This is similar to the formulation of # CIL , the flow typed intermediate language being used in the Church Project =-=[WDMT0X]-=- 6 . Key di#erences are that (1) # in # CIL is not ACI and (2) # CIL allows intersection introduction and elimination at arbitrary positions. In the VAR rule, the use of A permits the introduction of ... |

23 | The typed lambda calculus is not elementary recursive - Statman - 1979 |

22 | A typed intermediate language for flow-directed compilation - Wells, Dimock, et al. |

21 | The Inherent Computational Complexity of Theories of Ordered Sets - Meyer - 1974 |

20 | A simple proof of a theorem of Statman
- Mairson
- 1992
(Show Context)
Citation Context ...gh to code such a complex computation.) Statman went on to show that in the simply typed #-calculus, one could use #-reduction to implement quantifier elimination for this logic, a point clarified in =-=[Mai92]-=-, where the quantifier elimination uses a style of primitive recursion that is obvious to any functional programmer. As a consequence, deciding if two simply-typed terms of size n (including type anno... |

14 | Parallel beta reduction is not elementary recursive - Asperti, Mairson |

12 | Type reconstruction in finite-rank fragments of the second-order λcalculus - Kfoury, Tiuryn - 1992 |

12 |
Complexity of normalization in the pure typed lambda-calculus
- Schwichtenberg
- 1982
(Show Context)
Citation Context ...polymorphic composition, lifteq j can define eq for D i+2 j given eq for D i . We can let-reduce any core ML term of size n to a simply-typed term of size 2 n . A well-known theorem of Schwichtenberg =-=[Sch81]-=- states that a simply-typed term of size # has a normal form of size at most K(#, 2); we then have a corresponding upper bound for the core ML equivalence problem: Theorem 5.3. Given two core ML terms... |

10 | A reduction relation for which postponement of k-contractions, conservation and preservation of strong normalisation hold - Kamareddine - 1996 |

7 |
Addendum to "New notions of reduction and non-semantic proofs of fi-strong normalization in typed -calculi
- Kfoury, Wells
- 1995
(Show Context)
Citation Context ... confluent and strongly normalizing, so that repeated T-reductions will eventually expose all implicit redexes. Let T-nf denote the function such that T-nf(M) is the (unique) T-normal form of M . See =-=[KW95]-=- for a discussion of similar notions of reduction in the literature. There is a close connection with notions of generalized #- reduction which can contract the implicit redexes directly [Kam96, KRW98... |

5 | An analysis of the Core-ML language: Expressive power and type reconstruction - Kanellakis, Hillebrand, et al. - 1994 |

4 | A generalised fi-reduction and explicit substitutions - Kamareddine, R'ios - 1996 |

3 | Calculi of generalised #-reduction and explicit substitutions: The type free and simply typed versions - Kamareddine, Ros, et al. - 1998 |