3D Unification 41this pair was shown in 3C2.1 to have a common instance, but no s can exist suchthat §(p) - §(T), because the latter would imply the impossible identitys(a) - §(a)-*s(b).3D1.2 Note The problem of finding unifiers for pairs of type-sequences can bereduced to that for pairs of types as follows. Given two sequences (P1,...,pn) and(ti..... Tn), choose a variable b not occurring in any of these types and definep* = P1--+...->Pn-+b, T - T1-->...->Tn-fib;then the given pair of sequences is unified by a substitution s if (p*,T*) is unifiedby s r Vars(pl,...,Pn,T1,...,Tn).3D2 Definition (M.g.u.) (i) A most general unifier (m.g.u.) of (p, T) is a unifier usuch that for every other unifier s of (p, T) we have§(P) = § (u(P))for some s'. If v - u(p) for some m.g.u. U of (p,T) we shall call v a most generalunification (m.g.u.) of (p, T).(ii) M.g.u.'s of pairs of type-sequences or deductions are defined similarly.3D2.1 Exercise* Prove that the pair (a-*(b->b), (c--+c)-+a) is unifiable with a mostgeneral unifier u = [(b->b)/a, b/c], and with the corresponding most general unificationbeing(b-*b)-*(b-*b).3D2.2 Lemma A type p is a most general unification of (p, T) iff µ is a unification of(p, T) and all other unifications of (p, T) are instances of p.3D2.3 Lemma If u is an m.g.u. of (p, T) and v is a renaming of variables in u(p), thenv o u is an m.g.u. of (p, T).3D2.4 Notation From now on we shall often speak of "the" m.g.u. of (p, T) as ifm.g.u.'s were unique. (By 3D2.2, 3B8.1 and 3D2.3 they are unique modulo renaming.)3D2.5 Lemma (Avoiding variables) (i) Let V be any finite set of type-variables.(p, T) has an m.g.u. u, then it has an m.g.u. u' such thatIfDom(u) = Vars(p) U Vars(T), Range(u') n v = 0.(ii) Similarly for m.g.u.'s of pairs of type-sequences or deductions.Proof If u contains a component v/a with a Vars(p) U Vars(T) we can removethis component from u without affecting u(p) or U(T). We can also add trivialcomponents to enlarge Dom(u) if necessary, and the result can easily be seen to bestill an m.g.u. We can then change the range of u by a renaming. 0
42 3 The principal-type algorithm3D2.6 Note (M.g.u.'s and m.g.c.i.'s) The m.g.u. of a pair (p,T) may differ from itsm.g.c.i. For instance the m.g.u. of (a->(b-*b), (c-*c)-*a) was shown in 3D2.1 to be(b-*b)-*(b-*b); but in contrast its m.g.c.i. is easily seen to be (c-*c)-*(b->b). Andas noted in 3D1.1, it is also possible for (p, T) to have an m.g.c.i. but no m.g.u. at all.However, in the special case that p and T have no common variables everycommon instance is also a unification, because ifv = §i(P) §2(0and Dom(§t) c Vars(p) and Dom(§2) c Vars(T) then §a U §2 is defined andThis fact gives us the following lemma.v = (§i U §2)(P) = (§a U §2)(T)3D3 M.G.U.-M.G.C.I. Lemma (i) If p and r have no common variables, (p, T) hasan m.g.u. ii f it has an m.g.c.i., and the two are identical.(ii) For all p and T: if we change r to an alphabetic variant T* with no variablesin common with p, the unifications of (p,T"`) will be exactly the common instances of(p, T) and the m.g.u. Of (p,T*) will be the m.g.c.i. Of (p, T).(iii) Similarly for pairs of type-sequences or deductions.Thus the problem of finding m.g.c.i.'s has now been reduced to that of findingm.g.u.'s of pairs (p,T) with no variables in common. But searching for m.g.u.'s ofpairs, with or without variables in common, can be done by an algorithm as follows.3D4 Unification Theorem (J. A. Robinson) (i) There is an algorithm which decideswhether a pair of types (p, T) has a unifier, and, if the answer is "yes", constructs itsm.g.u.(ii) If a pair (p,T) has a unifier it has an m.g.u.(iii) Parts (i)-(ii) hold also for pairs of deductions and for pairs of finite typesequences.Proof (i) For Robinson's algorithm see 3D5 below; for a proof of its correctnesssee Robinson 1965 §5 pp. 32-33.(ii)-(iii) Like (i).3D5 Unification Algorithm (Robinson 1965 §5.) Input: any pair (p, T) of types.Intended output: either a correct statement that (p, T) is not unifiable or an m.g.u. auof (p, T). [The algorithm will build au in stages auo, wit,..., each auk being a compositionof auk-1 with a new substitution: at the k-th stage it will test whether auk(p) - 0uk(T),and if the answer is "yes" it will choose u = uk and stop; but if not, it will "extend"uk and go to the next stage.]Step 0. Choose k = 0 and uo = e (the empty substitution).Step k+1. Given k and auk, construct pk = auk(p) and Tk = 0uk(T), and apply'thecomparison procedure below to (pk,Tk). That procedure will output either a correctstatement that pk Tk or a disagreement pair (a, a) (see below) such that a * a.If Pk - Tk, choose u = uk.
- Page 2 and 3:
BASIC SIMPLE TYPE THEORY
- Page 4 and 5: BASIC SIMPLE TYPE THEORYJ. Roger Hi
- Page 6: To Carol
- Page 9 and 10: VlllContents7C The converse PT proo
- Page 11 and 12: xIntroductionhave proved themselves
- Page 14 and 15: 1The type-free A-calculusThe R-calc
- Page 16 and 17: 1A A-terms and their structure 31A6
- Page 18 and 19: I B #-reduction and #-normal forms
- Page 20 and 21: IC rl- and firs-reductions 7Proof S
- Page 22 and 23: IC q- and iq-reductions93TFig. lC7a
- Page 24 and 25: 1D Restricted A-terms 11(ii) The BC
- Page 26 and 27: 2A The system TAA 132A2 Definition
- Page 28 and 29: 2A The system TA, 152A5.1 Notation
- Page 30 and 31: 2A The system TA2172A8.3 Example Le
- Page 32 and 33: Proof Trivial from 2A9.2A The syste
- Page 34 and 35: 2B The subject-construction theorem
- Page 36 and 37: 2B The subject-construction theorem
- Page 38 and 39: 2C Subject reduction and expansion2
- Page 40 and 41: 2D The typable terms 27However, Cha
- Page 42 and 43: 2D The typable terms 292D8.1 Note T
- Page 44 and 45: 3A Principal types and their histor
- Page 46 and 47: 3A Principal types and their histor
- Page 48 and 49: 3B Type-substitutions 353B1 Notatio
- Page 50 and 51: 3B Type-substitutions 37Then r U (s
- Page 52 and 53: 3C Motivating the PT algorithm 39(i
- Page 56 and 57: 3D Unification 43If pk * Tk and the
- Page 58 and 59: A' _ §(Ap) for some s; hence in pa
- Page 60 and 61: 3E The PT algorithm 47Let r - rl U
- Page 62 and 63: 3E The PT algorithm 49for some subs
- Page 64 and 65: 3E The PT algorithm 513E4 Further R
- Page 66 and 67: 4A The equality rule 53The name "TA
- Page 68 and 69: (M).4A The equality rule 554A3 Weak
- Page 70 and 71: 4B Semantics and completeness 574A1
- Page 72 and 73: 4B Semantics and completeness 59413
- Page 74 and 75: 4B Semantics and completeness 61Pro
- Page 76 and 77: 5A version using typed termsIn Chap
- Page 78 and 79: 5A Typed terms 655A1.5 Warning If M
- Page 80 and 81: 5B Reducing typed terms(ii) if MT E
- Page 82 and 83: 5B Reducing typed terms 695B5.1 Not
- Page 84 and 85: 5C Normalization theorems 71of rede
- Page 86 and 87: SC Normalization theorems 73in leng
- Page 88 and 89: 6A Intuitionist implicational logic
- Page 90 and 91: 6A Intuitionist implicational logic
- Page 92 and 93: 6B The Curry-Howard isomorphism 79T
- Page 94 and 95: 6B The Curry-Howard isomorphism 816
- Page 96 and 97: 6B The Curry-Howard isomorphism 83t
- Page 98 and 99: 6C Some weaker logics 85for some cl
- Page 100 and 101: 6C Some weaker logics 87logic in 6A
- Page 102 and 103: 6D Axiom-based versions 89Deduction
- Page 104 and 105:
6D Axiom-based versions 916D6.1 Not
- Page 106 and 107:
The converse principal-type algorit
- Page 108 and 109:
7B Identifications 957A3 Converse P
- Page 110 and 111:
7C The converse PT proofNext, suppo
- Page 112 and 113:
Since (a-+b)* __ a--+b, we must pro
- Page 114 and 115:
7C The converse PT proof 101Conside
- Page 116 and 117:
instance, construct an m.g.c.i. V -
- Page 118 and 119:
AD-7D Condensed detachment 1057D6 M
- Page 120 and 121:
7D Condensed detachment 107Proof By
- Page 122 and 123:
8A Inhabitants 109A Pq-normal inhab
- Page 124 and 125:
8A Inhabitants 1118A7.1 Example Let
- Page 126 and 127:
8A Inhabitants113Fig. 8A12a.8A11.2
- Page 128 and 129:
8B Examples of the search strategy
- Page 130 and 131:
8B Examples of the search strategy
- Page 132 and 133:
8C The search algorithm 119Long(s)
- Page 134 and 135:
8C The search algorithm 121Note. Th
- Page 136 and 137:
8C The search algorithm1238C6.1 Exa
- Page 138 and 139:
8D The Counting algorithm 1258D3.1
- Page 140 and 141:
8E The structure of a nf-scheme 127
- Page 142 and 143:
8E The structure of a nf-scheme129x
- Page 144 and 145:
8E The structure of a nf-scheme131T
- Page 146 and 147:
8F Stretching, shrinking and comple
- Page 148 and 149:
8F Stretching, shrinking and comple
- Page 150 and 151:
8F Stretching, shrinking and comple
- Page 152 and 153:
8F Stretching, shrinking and comple
- Page 154 and 155:
9A The structure of a term 1419A2 D
- Page 156 and 157:
9A The structure of a term(ii) if r
- Page 158 and 159:
9B Residuals 145Proof-note Two case
- Page 160 and 161:
9B Residuals 1479134.1 Lemma Every
- Page 162 and 163:
9C The structure of a TAR-deduction
- Page 164 and 165:
9D The structure of a type 151below
- Page 166 and 167:
9E The condensed structure of a typ
- Page 168 and 169:
9E The condensed structure of a typ
- Page 170 and 171:
9F Imitating combinatory logic in A
- Page 172:
[x].N*Before constructing9F Imitati
- Page 175 and 176:
162 Answers to starred exerciseswit
- Page 177 and 178:
164 Answers to starred exercisesIf
- Page 179 and 180:
166 Answers to starred exercisesTo
- Page 182 and 183:
BibliographyReferences to unpublish
- Page 184 and 185:
Bibliography 171DOSEN, K. [1992a] M
- Page 186 and 187:
Bibliography 173KALMAN, J. A. [1983
- Page 188 and 189:
Bibliography 175SCEDROV, A. [1990]
- Page 190 and 191:
Table of principal typesThis table
- Page 192 and 193:
IndexA-logics (see axiom-based logi
- Page 194 and 195:
Index 181D-incompleteness of BCI, B
- Page 196 and 197:
Index183PT algorithm, converse (see
- Page 198 and 199:
Index185#-contraction 4of typed ter