12.07.2015 Views

number-theory

number-theory

number-theory

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

xIntroductionhave proved themselves in many applications and have now become well establishedin the research community (and are even becoming known outside it!). The chiefexample is ML, developed at Edinburgh University by the group led by RobinMilner, but others include HOL (Cambridge University), Miranda (Regd trademark,Research Software Ltd.) and Nuprl (Cornell University).The system TA is, with slight modifications, a common part of all of these. Indeed,in its early days it was studied mainly as a prelude to studies of stronger systemsand this is the way it was treated in Curry and Feys 1958.1 But from the 1960'sonward it gradually became clear that TA was not as trivial as it had at first seemedand was worth isolating and studying in its own right. Natural questions aboutTA turned out to be much harder to answer than expected. Their answers are notcompleted even today, but from them have come some very interesting techniquesthat have had applications elsewhere, such as type-checking algorithms and filter2-models.In fact more is now known about TA than can fit into a book of reasonablelength. The present book will therefore be very selective. Although covering all themain basic properties of TA it will focus on the following three algorithms. The firstis well known but the other two are scarcely known at all and their consequences arestill not nearly fully understood, though they were first discovered well over fifteenyears ago.(1) Type-checking or principal-type algorithm. This algorithm is the core of thetype-checking algorithm used in ML. It takes a 2-term and decides whether a typecan be assigned to it and, if so, outputs the most general such type (the principaltype of the term). The method behind the algorithm was sketched in Curry andFeys 1958 and versions of the algorithm itself have appeared in Morris 1968, Curry1969, Hindley 1969 and Milner 1978.(2) Converse principal-type algorithm. This algorithm takes a closed A-term Mand any type i which can be assigned to M, and outputs a closed 2-term M` suchthat T is the principal type of M. Via the formulae-as-types correspondence withpropositional logic it leads to a completeness proof for a variant of the Resolutionrule called the rule of condensed detachment in a system of implicational logic. Infact several converse principal-type algorithms are known, each producing an M'with slightly different properties and giving completeness for a slightly differentlogic. (Hindley 1969, Meyer and Bunder 1988, Mints and Tammet 1991.)(3) Inhabitant-counting algorithm. A normal inhabitant of a type i is a closedA-term M in #-normal form to which 'r can be assigned. The counting-algorithmtakes a type r and outputs the <strong>number</strong> of its normal inhabitants (0, 1, 2,... orinfinity, modulo changes of bound variables), and then lists these one by one; inparticular it decides in a finite time whether this list will be infinite or not. It islike the known algorithm for deciding whether a regular language is infinite butwith extra procedures to deal with bound variables. It is also like known algorithmsfor deciding provability in Intuitionist propositional logic but with extra proceduresBarendregt 1992 is a good survey of type-theories which shows the relations between TA2 and others;see especially §3.1 where TA,t is called 2-*-Curry. Other modern introductions to type theories ingeneral are Andrews 1986, Girard et al. 1989, Krivine 1990, Mitchell 1990 and 1996, Constable 1991,Gallier 1993, Nerode and Odifreddi 199-, Scedrov 1990.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!