Book contents
- Frontmatter
- Contents
- Introduction
- 1 The type-free λ-calculus
- 2 Assigning types to terms
- 3 The principal-type algorithm
- 4 Type assignment with equality
- 5 A version using typed terms
- 6 The correspondence with implication
- 7 The converse principal-type algorithm
- 8 Counting a type's inhabitants
- 9 Technical details
- Answers to starred exercises
- Bibliography
- Table of principal types
- Index
7 - The converse principal-type algorithm
Published online by Cambridge University Press: 02 December 2009
- Frontmatter
- Contents
- Introduction
- 1 The type-free λ-calculus
- 2 Assigning types to terms
- 3 The principal-type algorithm
- 4 Type assignment with equality
- 5 A version using typed terms
- 6 The correspondence with implication
- 7 The converse principal-type algorithm
- 8 Counting a type's inhabitants
- 9 Technical details
- Answers to starred exercises
- Bibliography
- Table of principal types
- Index
Summary
This chapter combines the theme of propositional logic from Chapter 6 with that of principal types from Chapter 3. We saw in the Curry-Howard theorem (6B7) that the types of the closed terms are exactly the theorems of the intuitionist logic of implication: hence the principal types of these terms must form a subset of these theorems, and the very natural question arises of just how large this subset is. Do its members form an aristocracy distinguished in some structural way from the general rabble of theorems, or can every theorem be a principal type?
The main result of the chapter will show that there is in fact no aristocracy: if a type τ is assignable to a closed term M but is not the principal type of M, then it is the principal type of another closed term M*.
The proof will include an algorithm to construct M* when τ and M are given. To build M* an occurrence of M will be combined with some extra terms chosen from a certain carefully defined stock of “building blocks”, closed terms with known principal types; and the main aim of this chapter will be to build M* from as restricted a set of building blocks as possible.
The algorithm in the earliest known proof needed full λ-calculus (Hindley 1969), but two later ones used only λI-terms as building blocks (Mints and Tammet 1991, Hirokawa 1992a §3) and another used an even more restricted class (Meyer and Bunder 1988 §9). The algorithm below will be based on the latter very economical one.
- Type
- Chapter
- Information
- Basic Simple Type Theory , pp. 93 - 107Publisher: Cambridge University PressPrint publication year: 1997