|
1 %!PS-Adobe-2.0 |
|
2 %%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software |
|
3 %%Title: Main-jv.dvi |
|
4 %%Pages: 27 |
|
5 %%PageOrder: Ascend |
|
6 %%BoundingBox: 0 0 595 842 |
|
7 %%DocumentFonts: Times-Bold Times-Roman Times-Italic |
|
8 %%DocumentPaperSizes: a4 |
|
9 %%EndComments |
|
10 %DVIPSWebPage: (www.radicaleye.com) |
|
11 %DVIPSCommandLine: dvips Main-jv.dvi -o Main-jv.ps |
|
12 %DVIPSParameters: dpi=600 |
|
13 %DVIPSSource: TeX output 2008.02.08:1222 |
|
14 %%BeginProcSet: tex.pro 0 0 |
|
15 %! |
|
16 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S |
|
17 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 |
|
18 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 |
|
19 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ |
|
20 landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize |
|
21 mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ |
|
22 matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round |
|
23 exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ |
|
24 statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] |
|
25 N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin |
|
26 /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array |
|
27 /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 |
|
28 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N |
|
29 df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A |
|
30 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get |
|
31 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} |
|
32 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr |
|
33 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S |
|
34 /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy |
|
35 setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask |
|
36 restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn |
|
37 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put |
|
38 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ |
|
39 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A |
|
40 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ |
|
41 SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ |
|
42 userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X |
|
43 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 |
|
44 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N |
|
45 /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ |
|
46 /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) |
|
47 (LaserWriter 16/600)]{A length product length le{A length product exch 0 |
|
48 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse |
|
49 end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask |
|
50 grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} |
|
51 imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round |
|
52 exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto |
|
53 fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p |
|
54 delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} |
|
55 B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ |
|
56 p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S |
|
57 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end |
|
58 |
|
59 %%EndProcSet |
|
60 %%BeginProcSet: pstricks.pro 0 0 |
|
61 %! |
|
62 % PostScript prologue for pstricks.tex. |
|
63 % Version 97 patch 4, 04/05/10 |
|
64 % For distribution, see pstricks.tex. |
|
65 % |
|
66 /tx@Dict 200 dict def tx@Dict begin |
|
67 /ADict 25 dict def |
|
68 /CM { matrix currentmatrix } bind def |
|
69 /SLW /setlinewidth load def |
|
70 /CLW /currentlinewidth load def |
|
71 /CP /currentpoint load def |
|
72 /ED { exch def } bind def |
|
73 /L /lineto load def |
|
74 /T /translate load def |
|
75 /TMatrix { } def |
|
76 /RAngle { 0 } def |
|
77 /Atan { /atan load stopped { pop pop 0 } if } def |
|
78 /Div { dup 0 eq { pop } { div } ifelse } def |
|
79 /NET { neg exch neg exch T } def |
|
80 /Pyth { dup mul exch dup mul add sqrt } def |
|
81 /PtoC { 2 copy cos mul 3 1 roll sin mul } def |
|
82 /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } |
|
83 def |
|
84 /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def |
|
85 } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } |
|
86 /pathforall load stopped { pop pop pop pop } if z } def |
|
87 /STP { .996264 dup scale } def |
|
88 /STV { SDict begin normalscale end STP } def |
|
89 % |
|
90 %%-------------- DG begin patch 15 ---------------%% |
|
91 %/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def |
|
92 %PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y |
|
93 %mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul |
|
94 %/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] |
|
95 %0 } ifelse setdash stroke } def |
|
96 /DashLine { |
|
97 dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse |
|
98 /b ED /x1 ED /y1 ED /x ED /y ED |
|
99 /z y x add y1 add x1 add def |
|
100 /Coef b a .5 sub 2 mul y mul sub z Div round |
|
101 z mul a .5 sub 2 mul y mul add b exch Div def |
|
102 /y y Coef mul def /x x Coef mul def /y1 y1 Coef mul def /x1 x1 Coef mul def |
|
103 x1 0 gt y1 0 gt x 0 gt y 0 gt and { [ y x y1 x1 ] 1 a sub y mul} |
|
104 { [ 1 0] 0 } ifelse setdash stroke |
|
105 } def |
|
106 %%-------------- DG end patch 15 ---------------%% |
|
107 /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt |
|
108 { /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add |
|
109 def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if |
|
110 ] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 |
|
111 setlinecap stroke } def |
|
112 /LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch |
|
113 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 |
|
114 % DG/SR modification begin - Dec. 12, 1997 - Patch 2 |
|
115 %itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a |
|
116 itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a |
|
117 % DG/SR modification end |
|
118 Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict |
|
119 /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 |
|
120 % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) |
|
121 % a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } |
|
122 % def |
|
123 a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore |
|
124 pop pop } def |
|
125 % DG/SR modification end |
|
126 /BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg |
|
127 exch 3 index sub exch Atan rotate newpath } def |
|
128 /EndArrow { @mtrx setmatrix CP grestore end } def |
|
129 /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 |
|
130 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill |
|
131 grestore } def |
|
132 /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 |
|
133 CLW moveto } def |
|
134 /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 |
|
135 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 |
|
136 CLW moveto } def |
|
137 /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW |
|
138 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 |
|
139 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } |
|
140 def |
|
141 /SD { 0 360 arc fill } def |
|
142 /EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS |
|
143 CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def |
|
144 /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { |
|
145 /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto |
|
146 load } if ] cvx newpath 3 1 roll T exec } def |
|
147 /NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch |
|
148 cvi def } def |
|
149 /NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if |
|
150 f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def |
|
151 /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub |
|
152 def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def |
|
153 /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } |
|
154 ifelse { pop } repeat a } def |
|
155 /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq |
|
156 and { pop pop /n n 1 sub def } if } def |
|
157 /Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } |
|
158 repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 |
|
159 ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 |
|
160 moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto |
|
161 Lineto pop pop closepath } ifelse } def |
|
162 /Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul |
|
163 neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add |
|
164 def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 |
|
165 div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx |
|
166 setmatrix } def |
|
167 % DG modification begin - Jan. 15, 1997 |
|
168 %/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { |
|
169 %pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 |
|
170 %div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 |
|
171 %d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx |
|
172 %setmatrix } def |
|
173 /Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup |
|
174 CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 |
|
175 div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 |
|
176 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx |
|
177 % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) |
|
178 % setmatrix } def |
|
179 setmatrix pop } def |
|
180 % DG/SR modification end |
|
181 /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth |
|
182 def } def |
|
183 /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth |
|
184 def } def |
|
185 /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 |
|
186 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp |
|
187 mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos |
|
188 abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def |
|
189 /y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul |
|
190 m mul neg def } def |
|
191 /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } |
|
192 ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } |
|
193 def |
|
194 /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def |
|
195 /NC { CC x1 y1 x2 y2 x y curveto } def |
|
196 /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def |
|
197 /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def |
|
198 /NAC { x2 y2 x y curveto CC x1 y1 } def |
|
199 /EAC { x2 y2 x y ArrowB curveto pop pop } def |
|
200 /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def |
|
201 n { NC } repeat EOC } ifelse } def |
|
202 /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload |
|
203 /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop |
|
204 pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def |
|
205 /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { |
|
206 CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } |
|
207 repeat closepath pop pop } ifelse } def |
|
208 /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def |
|
209 /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def |
|
210 /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } |
|
211 def |
|
212 /FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix |
|
213 rotate matrix concatmatrix exch findfont exch makefont setfont } def |
|
214 /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto |
|
215 x1 y1 lineto closepath } def |
|
216 /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 |
|
217 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div |
|
218 exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse |
|
219 /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto |
|
220 x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } |
|
221 ifelse } def |
|
222 /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add |
|
223 /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { |
|
224 pop pop Rect } { OvalFrame } ifelse } def |
|
225 /BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop |
|
226 } if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] |
|
227 aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def |
|
228 /OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 |
|
229 2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } |
|
230 ifelse } def |
|
231 /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { |
|
232 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def |
|
233 /BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 |
|
234 sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } |
|
235 def |
|
236 /Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 |
|
237 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA |
|
238 x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 |
|
239 y0 x0 2 mul x1 sub y1 ] def } def |
|
240 /Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } |
|
241 if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if |
|
242 /dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div |
|
243 round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div |
|
244 round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub |
|
245 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def |
|
246 /Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } |
|
247 if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } |
|
248 { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add |
|
249 exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n |
|
250 div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 |
|
251 dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { |
|
252 dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { |
|
253 pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup |
|
254 stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} |
|
255 {z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i |
|
256 w add def } repeat grestore gsave n 0 gt |
|
257 % DG/SR modification begin - Nov. 7, 1997 - Patch 1 |
|
258 %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } |
|
259 { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } |
|
260 % DG/SR modification end |
|
261 { 2 setlinecap } ifelse /i y1 def /f x1 dx mul |
|
262 n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n |
|
263 div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop |
|
264 1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs |
|
265 dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt |
|
266 {z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g |
|
267 exch t L stroke /i i h add def } repeat grestore } def |
|
268 /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 |
|
269 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add |
|
270 exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c |
|
271 mul neg d } def |
|
272 /Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def |
|
273 /Rot { CP CP translate 3 -1 roll neg rotate NET } def |
|
274 /RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } |
|
275 def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle |
|
276 dup a add ] cvx def } def |
|
277 /RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] |
|
278 cvx def } def |
|
279 /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def |
|
280 /PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def |
|
281 /PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def |
|
282 /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s |
|
283 abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b |
|
284 div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { |
|
285 h1 abs h sub dup s mul abs } ifelse } def |
|
286 /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s |
|
287 mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q |
|
288 { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add |
|
289 exch } def |
|
290 /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible |
|
291 /IfVisible true def } if } { IfVisible { Invisible /IfVisible false def |
|
292 } if } ifelse } def |
|
293 /InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def |
|
294 /Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit |
|
295 neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def |
|
296 /IfVisible true def } def |
|
297 end |
|
298 % END pstricks.pro |
|
299 |
|
300 %%EndProcSet |
|
301 %%BeginProcSet: pst-dots.pro 0 0 |
|
302 %!PS-Adobe-2.0 |
|
303 %%Title: Dot Font for PSTricks |
|
304 %%Creator: Timothy Van Zandt <tvz@Princeton.EDU> |
|
305 %%Creation Date: May 7, 1993 |
|
306 %% Version 97 patch 1, 99/12/16 |
|
307 %% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999 |
|
308 %% to add /Diamond, /SolidDiamond and /BoldDiamond |
|
309 10 dict dup begin |
|
310 /FontType 3 def |
|
311 /FontMatrix [ .001 0 0 .001 0 0 ] def |
|
312 /FontBBox [ 0 0 0 0 ] def |
|
313 /Encoding 256 array def |
|
314 0 1 255 { Encoding exch /.notdef put } for |
|
315 Encoding |
|
316 dup (b) 0 get /Bullet put |
|
317 dup (c) 0 get /Circle put |
|
318 dup (C) 0 get /BoldCircle put |
|
319 dup (u) 0 get /SolidTriangle put |
|
320 dup (t) 0 get /Triangle put |
|
321 dup (T) 0 get /BoldTriangle put |
|
322 dup (r) 0 get /SolidSquare put |
|
323 dup (s) 0 get /Square put |
|
324 dup (S) 0 get /BoldSquare put |
|
325 dup (q) 0 get /SolidPentagon put |
|
326 dup (p) 0 get /Pentagon put |
|
327 dup (P) 0 get /BoldPentagon put |
|
328 % DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga |
|
329 dup (l) 0 get /SolidDiamond put |
|
330 dup (d) 0 get /Diamond put |
|
331 (D) 0 get /BoldDiamond put |
|
332 % DG/SR modification end |
|
333 /Metrics 13 dict def |
|
334 Metrics begin |
|
335 /Bullet 1000 def |
|
336 /Circle 1000 def |
|
337 /BoldCircle 1000 def |
|
338 /SolidTriangle 1344 def |
|
339 /Triangle 1344 def |
|
340 /BoldTriangle 1344 def |
|
341 /SolidSquare 886 def |
|
342 /Square 886 def |
|
343 /BoldSquare 886 def |
|
344 /SolidPentagon 1093.2 def |
|
345 /Pentagon 1093.2 def |
|
346 /BoldPentagon 1093.2 def |
|
347 % DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga |
|
348 /SolidDiamond 1008 def |
|
349 /Diamond 1008 def |
|
350 /BoldDiamond 1008 def |
|
351 % DG/SR modification end |
|
352 /.notdef 0 def |
|
353 end |
|
354 /BBoxes 13 dict def |
|
355 BBoxes begin |
|
356 /Circle { -550 -550 550 550 } def |
|
357 /BoldCircle /Circle load def |
|
358 /Bullet /Circle load def |
|
359 /Triangle { -571.5 -330 571.5 660 } def |
|
360 /BoldTriangle /Triangle load def |
|
361 /SolidTriangle /Triangle load def |
|
362 /Square { -450 -450 450 450 } def |
|
363 /BoldSquare /Square load def |
|
364 /SolidSquare /Square load def |
|
365 /Pentagon { -546.6 -465 546.6 574.7 } def |
|
366 /BoldPentagon /Pentagon load def |
|
367 /SolidPentagon /Pentagon load def |
|
368 % DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga |
|
369 /Diamond { -428.5 -742.5 428.5 742.5 } def |
|
370 /BoldDiamond /Diamond load def |
|
371 /SolidDiamond /Diamond load def |
|
372 % DG/SR modification end |
|
373 /.notdef { 0 0 0 0 } def |
|
374 end |
|
375 /CharProcs 20 dict def |
|
376 CharProcs begin |
|
377 /Adjust { |
|
378 2 copy dtransform floor .5 add exch floor .5 add exch idtransform |
|
379 3 -1 roll div 3 1 roll exch div exch scale |
|
380 } def |
|
381 /CirclePath { 0 0 500 0 360 arc closepath } def |
|
382 /Bullet { 500 500 Adjust CirclePath fill } def |
|
383 /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath |
|
384 eofill } def |
|
385 /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath |
|
386 eofill } def |
|
387 /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def |
|
388 /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto |
|
389 closepath } def |
|
390 /SolidTriangle { TrianglePath fill } def |
|
391 /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def |
|
392 /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def |
|
393 /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto |
|
394 -450 -450 lineto closepath } def |
|
395 /SolidSquare { SquarePath fill } def |
|
396 /Square { SquarePath .89 .89 scale SquarePath eofill } def |
|
397 /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def |
|
398 /PentagonPath { |
|
399 -337.8 -465 moveto |
|
400 337.8 -465 lineto |
|
401 546.6 177.6 lineto |
|
402 0 574.7 lineto |
|
403 -546.6 177.6 lineto |
|
404 closepath |
|
405 } def |
|
406 /SolidPentagon { PentagonPath fill } def |
|
407 /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def |
|
408 /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def |
|
409 % DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga |
|
410 /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto |
|
411 428.5 0 lineto closepath } def |
|
412 /SolidDiamond { DiamondPath fill } def |
|
413 /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def |
|
414 /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def |
|
415 % DG/SR modification end |
|
416 /.notdef { } def |
|
417 end |
|
418 /BuildGlyph { |
|
419 exch |
|
420 begin |
|
421 Metrics 1 index get exec 0 |
|
422 BBoxes 3 index get exec |
|
423 setcachedevice |
|
424 CharProcs begin load exec end |
|
425 end |
|
426 } def |
|
427 /BuildChar { |
|
428 1 index /Encoding get exch get |
|
429 1 index /BuildGlyph get exec |
|
430 } bind def |
|
431 end |
|
432 /PSTricksDotFont exch definefont pop |
|
433 %END pst-dots.pro |
|
434 |
|
435 %%EndProcSet |
|
436 %%BeginProcSet: pst-node.pro 0 0 |
|
437 %! |
|
438 % PostScript prologue for pst-node.tex. |
|
439 % Version 97 patch 1, 97/05/09. |
|
440 % For distribution, see pstricks.tex. |
|
441 % |
|
442 /tx@NodeDict 400 dict def tx@NodeDict begin |
|
443 tx@Dict begin /T /translate load def end |
|
444 /NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } |
|
445 if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end |
|
446 grestore } def |
|
447 /InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def |
|
448 } def |
|
449 /InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch |
|
450 Sin mul } def } def |
|
451 /GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def |
|
452 } ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } |
|
453 ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx |
|
454 dup Sin mul Cos Div } ifelse } def |
|
455 /InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub |
|
456 /u ED /NodePos { GetRnodePos } def } def |
|
457 /DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup |
|
458 Cos mul exch Sin mul } def |
|
459 /TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h |
|
460 mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul |
|
461 } ifelse } def |
|
462 /InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d |
|
463 ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d |
|
464 sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan |
|
465 sin def /NodePos { TriNodePos } def } def |
|
466 /OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos |
|
467 hh mul Atan dup cos ww mul exch sin hh mul } def |
|
468 /GetCenter { begin X Y NodeMtrx transform CM itransform end } def |
|
469 /XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist |
|
470 Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } |
|
471 { 0 Dist Sin mul } ifelse } ifelse Do } def |
|
472 /GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform |
|
473 exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx |
|
474 dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop |
|
475 XYPos } ifelse } def |
|
476 /AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 |
|
477 roll sin mul sub exch } ifelse } def |
|
478 /GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA |
|
479 AddOffset yA add /yA1 ED xA add /xA1 ED } def |
|
480 /GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB |
|
481 AddOffset yB add /yB1 ED xB add /xB1 ED } def |
|
482 /GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA |
|
483 AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED |
|
484 ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED |
|
485 } ifelse } def |
|
486 /GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB |
|
487 AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED |
|
488 ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED |
|
489 } ifelse } def |
|
490 /InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED |
|
491 /NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b |
|
492 known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA |
|
493 ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def |
|
494 /LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub |
|
495 mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def |
|
496 /LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt |
|
497 { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop |
|
498 } repeat LPutLine cleartomark } def |
|
499 /BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED |
|
500 /t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 |
|
501 mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx |
|
502 sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul |
|
503 add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add |
|
504 y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul |
|
505 mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def |
|
506 /HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def |
|
507 } def |
|
508 /HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def |
|
509 /NAngle yyB yyA sub xxB xxA sub Atan def } def |
|
510 /HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def |
|
511 /HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def |
|
512 } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit |
|
513 } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd |
|
514 } def |
|
515 /VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def |
|
516 } def |
|
517 /VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def |
|
518 /NAngle yyB yyA sub xxB xxA sub Atan def } def |
|
519 /VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def |
|
520 /VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def |
|
521 } ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { |
|
522 exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark |
|
523 VPosEnd } def |
|
524 /HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 |
|
525 roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx |
|
526 def grestore exec /LPutVar /SaveLPutVar load def } def |
|
527 /NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def |
|
528 GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { |
|
529 LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { |
|
530 LPutVar VPutLine } def LPutVar } def |
|
531 /NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop |
|
532 end } def |
|
533 /NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub |
|
534 Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan |
|
535 /AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 |
|
536 yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { |
|
537 LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } |
|
538 ifelse } def |
|
539 /NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 |
|
540 roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA |
|
541 GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict |
|
542 begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] |
|
543 cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines |
|
544 } HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def |
|
545 /NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate |
|
546 def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx |
|
547 itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 |
|
548 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 |
|
549 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def |
|
550 /HPutPos { HPutLines } def /VPutPos { VPutLines } def } def |
|
551 /NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 |
|
552 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform |
|
553 /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 |
|
554 tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] |
|
555 cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { |
|
556 VPutLines } def } def |
|
557 /NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def |
|
558 xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx |
|
559 transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } |
|
560 { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB |
|
561 0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict |
|
562 begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx |
|
563 def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { |
|
564 VPutLines } def } def |
|
565 /NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if |
|
566 xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end |
|
567 /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { |
|
568 LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } |
|
569 def |
|
570 /NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED |
|
571 GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin |
|
572 false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { |
|
573 LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } |
|
574 def |
|
575 /NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate |
|
576 def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 |
|
577 mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 |
|
578 mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 |
|
579 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false |
|
580 Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] |
|
581 cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { |
|
582 VPutLines } def } def |
|
583 % DG/SR modification begin - May 9, 1997 - Patch 1 |
|
584 %/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r |
|
585 %r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add |
|
586 %exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 |
|
587 %mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED |
|
588 /NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r |
|
589 r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add |
|
590 exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 |
|
591 mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED |
|
592 % DG/SR modification end |
|
593 } def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add |
|
594 AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r |
|
595 Div def /y ED /x ED } def |
|
596 /NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB |
|
597 180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos |
|
598 mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def |
|
599 /LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy |
|
600 add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos |
|
601 { xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar |
|
602 tx@Dict begin false Polygon end } def |
|
603 /NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan |
|
604 def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 |
|
605 mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def |
|
606 /x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div |
|
607 def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def |
|
608 GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul |
|
609 sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 |
|
610 eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } |
|
611 { x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def |
|
612 0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 |
|
613 roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 |
|
614 0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 |
|
615 roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } |
|
616 ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos |
|
617 { LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { |
|
618 r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } |
|
619 { t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add |
|
620 add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub |
|
621 mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t |
|
622 sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse |
|
623 y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { |
|
624 LPutPos } def } def |
|
625 /Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB |
|
626 sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 |
|
627 ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB |
|
628 w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos |
|
629 { LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } |
|
630 { pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } |
|
631 def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin |
|
632 /ArrowA { moveto } def /ArrowB { } def false Line closepath end } def |
|
633 /LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg |
|
634 exch X sub neg exch moveto setmatrix CP grestore } def |
|
635 /LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 |
|
636 def } ifelse LPutCoor } def |
|
637 /HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } |
|
638 if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } |
|
639 ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } |
|
640 def |
|
641 /VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if |
|
642 r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } |
|
643 ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } |
|
644 def |
|
645 end |
|
646 % END pst-node.pro |
|
647 |
|
648 %%EndProcSet |
|
649 %%BeginProcSet: 8r.enc 0 0 |
|
650 % File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 |
|
651 % |
|
652 % @@psencodingfile@{ |
|
653 % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, |
|
654 % W. Schmidt, P. Lehman", |
|
655 % version = "2.0", |
|
656 % date = "30 October 2002", |
|
657 % filename = "8r.enc", |
|
658 % email = "tex-fonts@@tug.org", |
|
659 % docstring = "This is the encoding vector for Type1 and TrueType |
|
660 % fonts to be used with TeX. This file is part of the |
|
661 % PSNFSS bundle, version 9" |
|
662 % @} |
|
663 % |
|
664 % The idea is to have all the characters normally included in Type 1 fonts |
|
665 % available for typesetting. This is effectively the characters in Adobe |
|
666 % Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, |
|
667 % MacRoman, and some extra characters from Lucida. |
|
668 % |
|
669 % Character code assignments were made as follows: |
|
670 % |
|
671 % (1) the Windows ANSI characters are almost all in their Windows ANSI |
|
672 % positions, because some Windows users cannot easily reencode the |
|
673 % fonts, and it makes no difference on other systems. The only Windows |
|
674 % ANSI characters not available are those that make no sense for |
|
675 % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen |
|
676 % (173). quotesingle and grave are moved just because it's such an |
|
677 % irritation not having them in TeX positions. |
|
678 % |
|
679 % (2) Remaining characters are assigned arbitrarily to the lower part |
|
680 % of the range, avoiding 0, 10 and 13 in case we meet dumb software. |
|
681 % |
|
682 % (3) Y&Y Lucida Bright includes some extra text characters; in the |
|
683 % hopes that other PostScript fonts, perhaps created for public |
|
684 % consumption, will include them, they are included starting at 0x12. |
|
685 % These are /dotlessj /ff /ffi /ffl. |
|
686 % |
|
687 % (4) hyphen appears twice for compatibility with both ASCII and Windows. |
|
688 % |
|
689 % (5) /Euro was assigned to 128, as in Windows ANSI |
|
690 % |
|
691 % (6) Missing characters from MacRoman encoding incorporated as follows: |
|
692 % |
|
693 % PostScript MacRoman TeXBase1 |
|
694 % -------------- -------------- -------------- |
|
695 % /notequal 173 0x16 |
|
696 % /infinity 176 0x17 |
|
697 % /lessequal 178 0x18 |
|
698 % /greaterequal 179 0x19 |
|
699 % /partialdiff 182 0x1A |
|
700 % /summation 183 0x1B |
|
701 % /product 184 0x1C |
|
702 % /pi 185 0x1D |
|
703 % /integral 186 0x81 |
|
704 % /Omega 189 0x8D |
|
705 % /radical 195 0x8E |
|
706 % /approxequal 197 0x8F |
|
707 % /Delta 198 0x9D |
|
708 % /lozenge 215 0x9E |
|
709 % |
|
710 /TeXBase1Encoding [ |
|
711 % 0x00 |
|
712 /.notdef /dotaccent /fi /fl |
|
713 /fraction /hungarumlaut /Lslash /lslash |
|
714 /ogonek /ring /.notdef /breve |
|
715 /minus /.notdef /Zcaron /zcaron |
|
716 % 0x10 |
|
717 /caron /dotlessi /dotlessj /ff |
|
718 /ffi /ffl /notequal /infinity |
|
719 /lessequal /greaterequal /partialdiff /summation |
|
720 /product /pi /grave /quotesingle |
|
721 % 0x20 |
|
722 /space /exclam /quotedbl /numbersign |
|
723 /dollar /percent /ampersand /quoteright |
|
724 /parenleft /parenright /asterisk /plus |
|
725 /comma /hyphen /period /slash |
|
726 % 0x30 |
|
727 /zero /one /two /three |
|
728 /four /five /six /seven |
|
729 /eight /nine /colon /semicolon |
|
730 /less /equal /greater /question |
|
731 % 0x40 |
|
732 /at /A /B /C |
|
733 /D /E /F /G |
|
734 /H /I /J /K |
|
735 /L /M /N /O |
|
736 % 0x50 |
|
737 /P /Q /R /S |
|
738 /T /U /V /W |
|
739 /X /Y /Z /bracketleft |
|
740 /backslash /bracketright /asciicircum /underscore |
|
741 % 0x60 |
|
742 /quoteleft /a /b /c |
|
743 /d /e /f /g |
|
744 /h /i /j /k |
|
745 /l /m /n /o |
|
746 % 0x70 |
|
747 /p /q /r /s |
|
748 /t /u /v /w |
|
749 /x /y /z /braceleft |
|
750 /bar /braceright /asciitilde /.notdef |
|
751 % 0x80 |
|
752 /Euro /integral /quotesinglbase /florin |
|
753 /quotedblbase /ellipsis /dagger /daggerdbl |
|
754 /circumflex /perthousand /Scaron /guilsinglleft |
|
755 /OE /Omega /radical /approxequal |
|
756 % 0x90 |
|
757 /.notdef /.notdef /.notdef /quotedblleft |
|
758 /quotedblright /bullet /endash /emdash |
|
759 /tilde /trademark /scaron /guilsinglright |
|
760 /oe /Delta /lozenge /Ydieresis |
|
761 % 0xA0 |
|
762 /.notdef /exclamdown /cent /sterling |
|
763 /currency /yen /brokenbar /section |
|
764 /dieresis /copyright /ordfeminine /guillemotleft |
|
765 /logicalnot /hyphen /registered /macron |
|
766 % 0xD0 |
|
767 /degree /plusminus /twosuperior /threesuperior |
|
768 /acute /mu /paragraph /periodcentered |
|
769 /cedilla /onesuperior /ordmasculine /guillemotright |
|
770 /onequarter /onehalf /threequarters /questiondown |
|
771 % 0xC0 |
|
772 /Agrave /Aacute /Acircumflex /Atilde |
|
773 /Adieresis /Aring /AE /Ccedilla |
|
774 /Egrave /Eacute /Ecircumflex /Edieresis |
|
775 /Igrave /Iacute /Icircumflex /Idieresis |
|
776 % 0xD0 |
|
777 /Eth /Ntilde /Ograve /Oacute |
|
778 /Ocircumflex /Otilde /Odieresis /multiply |
|
779 /Oslash /Ugrave /Uacute /Ucircumflex |
|
780 /Udieresis /Yacute /Thorn /germandbls |
|
781 % 0xE0 |
|
782 /agrave /aacute /acircumflex /atilde |
|
783 /adieresis /aring /ae /ccedilla |
|
784 /egrave /eacute /ecircumflex /edieresis |
|
785 /igrave /iacute /icircumflex /idieresis |
|
786 % 0xF0 |
|
787 /eth /ntilde /ograve /oacute |
|
788 /ocircumflex /otilde /odieresis /divide |
|
789 /oslash /ugrave /uacute /ucircumflex |
|
790 /udieresis /yacute /thorn /ydieresis |
|
791 ] def |
|
792 |
|
793 |
|
794 %%EndProcSet |
|
795 %%BeginProcSet: texps.pro 0 0 |
|
796 %! |
|
797 TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 |
|
798 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll |
|
799 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 |
|
800 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ |
|
801 pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get |
|
802 div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type |
|
803 /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end |
|
804 definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup |
|
805 sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll |
|
806 mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ |
|
807 exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} |
|
808 forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def |
|
809 end |
|
810 |
|
811 %%EndProcSet |
|
812 %%BeginProcSet: special.pro 0 0 |
|
813 %! |
|
814 TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N |
|
815 /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N |
|
816 /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N |
|
817 /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ |
|
818 /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho |
|
819 X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B |
|
820 /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ |
|
821 /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known |
|
822 {userdict/md get type/dicttype eq{userdict begin md length 10 add md |
|
823 maxlength ge{/md md dup length 20 add dict copy def}if end md begin |
|
824 /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S |
|
825 atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ |
|
826 itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll |
|
827 transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll |
|
828 curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf |
|
829 pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} |
|
830 if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 |
|
831 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 |
|
832 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip |
|
833 yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub |
|
834 neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ |
|
835 noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop |
|
836 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get |
|
837 neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr |
|
838 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr |
|
839 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 |
|
840 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S |
|
841 TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ |
|
842 Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale |
|
843 }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState |
|
844 save N userdict maxlength dict begin/magscale true def normalscale |
|
845 currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts |
|
846 /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x |
|
847 psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx |
|
848 psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub |
|
849 TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def |
|
850 @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll |
|
851 newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto |
|
852 closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N |
|
853 /@beginspecial{SDict begin/SpecialSave save N gsave normalscale |
|
854 currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} |
|
855 N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs |
|
856 neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate |
|
857 rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse |
|
858 scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg |
|
859 lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx |
|
860 ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N |
|
861 /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ |
|
862 pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave |
|
863 restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B |
|
864 /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 |
|
865 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY |
|
866 moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix |
|
867 matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc |
|
868 savematrix setmatrix}N end |
|
869 |
|
870 %%EndProcSet |
|
871 %%BeginProcSet: color.pro 0 0 |
|
872 %! |
|
873 TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop |
|
874 setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll |
|
875 }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def |
|
876 /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ |
|
877 setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ |
|
878 /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch |
|
879 known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC |
|
880 /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC |
|
881 /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 |
|
882 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 |
|
883 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 |
|
884 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC |
|
885 /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 |
|
886 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 |
|
887 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ |
|
888 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ |
|
889 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC |
|
890 /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 |
|
891 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 |
|
892 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 |
|
893 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC |
|
894 /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 |
|
895 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 |
|
896 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ |
|
897 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ |
|
898 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC |
|
899 /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 |
|
900 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC |
|
901 /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 |
|
902 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 |
|
903 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 |
|
904 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 |
|
905 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 |
|
906 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC |
|
907 /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 |
|
908 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 |
|
909 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 |
|
910 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC |
|
911 /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 |
|
912 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ |
|
913 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} |
|
914 DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 |
|
915 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 |
|
916 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 |
|
917 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end |
|
918 |
|
919 %%EndProcSet |
|
920 TeXDict begin 39139632 55387786 1000 600 600 (Main-jv.dvi) |
|
921 @start |
|
922 %DVIPSBitmapFont: Fa cmsy5 5 3 |
|
923 /Fa 3 106 df<038007C007C007C00F800F800F800F001F001E001E003E003C003C0038 |
|
924 007800780070007000E000E0000A157D9612>48 D<0030007000F000E001E001C003C003 |
|
925 80078007000F000E000E001E001C003C00380078007000F000E000F0007000780038003C |
|
926 001C001E000E000E000F0007000780038003C001C001E000E000F0007000300C297A9E19 |
|
927 >104 D<E000E000F0007000780038003C001C001E000E000F00070007000780038003C0 |
|
928 01C001E000E000F0007000F000E001E001C003C003800780070007000F000E001E001C00 |
|
929 3C00380078007000F000E000E0000C297B9E19>I E |
|
930 %EndDVIPSBitmapFont |
|
931 %DVIPSBitmapFont: Fb msam9 9 2 |
|
932 /Fb 2 114 df<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF0F0000000F0000000F0000000F0 |
|
933 000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0 |
|
934 000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0 |
|
935 000000F0000000F0000000600000001D1D7CB326>112 D<7FFFFFF0FFFFFFF8FFFFFFF8 |
|
936 7FFFFFF80000007800000078000000780000007800000078000000780000007800000078 |
|
937 000000780000007800000078000000780000007800000078000000780000007800000078 |
|
938 00000078000000780000007800000078000000780000007800000078000000301D1D7CB3 |
|
939 26>I E |
|
940 %EndDVIPSBitmapFont |
|
941 %DVIPSBitmapFont: Fc cmtt8 7 3 |
|
942 /Fc 3 110 df<FFFC0000FFFC0000FFFC0000FFFC00000F8000000F8000000F8000000F |
|
943 8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F |
|
944 8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F |
|
945 8000000F8007C00F8007C00F8007C00F8007C00F8007C00F8007C0FFFFFFC0FFFFFFC0FF |
|
946 FFFFC0FFFFFF801A247EA31F>76 D<0FFE00003FFF80007FFFE0007FFFF0007E03F8007E |
|
947 01FC003C00FC0000007C000007FC0000FFFC0007FFFC001FFFFC003FFC7C007F807C00FE |
|
948 007C00FC007C00F8007C00F8007C00FC00FC00FC00FC007F07FC003FFFFFC01FFFFFE00F |
|
949 FFBFE003FC0FC01B197D981F>97 D<7C7C1F00FFFE7F80FFFFFFC07FFFFFE01FCFF3E01F |
|
950 87E1E01F07C1E01F07C1E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E |
|
951 0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E07F87E1F8FFCFF3FCFF |
|
952 CFF3FC7F87E1F81E1980981F>109 D E |
|
953 %EndDVIPSBitmapFont |
|
954 %DVIPSBitmapFont: Fd cmtt8 6 7 |
|
955 /Fd 7 115 df<007C00007C0000FE0000FE0000FE0000EE0000EE0001EF0001EF0001EF |
|
956 0001C70001C70003C78003C78003C78003C7800783C00783C00783C00783C007FFC00FFF |
|
957 E00FFFE00FFFE00F01E00F01E01E00F07F83FCFFC7FEFFC7FE7F83FC171F7F9E1A>65 |
|
958 D<7FF000FFF800FFF8007FF0000F00000F00000F00000F00000F00000F00000F00000F00 |
|
959 000F00000F00000F00000F00000F00000F00000F00000F00000F00000F003C0F003C0F00 |
|
960 3C0F003C0F003C7FFFFCFFFFFCFFFFFC7FFFFC161E7F9D1A>76 D<FF83FEFF83FEFF83FE |
|
961 FF83FE1E00F01E00F01E00F00F01E00F01E00F01E00F01E00F83E00783C00783C00783C0 |
|
962 0783C003C78003C78003C78003C78001C70001EF0001EF0001EF0001EF0000EE0000FE00 |
|
963 00FE0000FE00007C00007C00171F7F9D1A>86 D<0FF8001FFF003FFF803FFFC03E0FE01C |
|
964 03E00001E000FFE007FFE01FFFE07FF1E07E01E0F801E0F001E0F001E0F803E0FC0FE07F |
|
965 FFFE3FFFFE1FFCFE07F07E17157E941A>97 D<7CF87C00FFFDFE00FFFFFE007FFFFF001F |
|
966 1F8F001E0F07001E0F07001C0E07001C0E07001C0E07001C0E07001C0E07001C0E07001C |
|
967 0E07001C0E07001C0E07001C0E07007F1F8FC0FFBFDFE0FFBFDFE07F1F8FC01B1581941A |
|
968 >109 D<7F1FC0FF7FE0FFFFF07FFFF80FE0FC0F807C0F003C0F003E0F001E0F001E0F00 |
|
969 1E0F001E0F001E0F803E0F803C0FC07C0FE1F80FFFF80FFFF00F7FE00F1F800F00000F00 |
|
970 000F00000F00000F00000F00000F00007FE000FFF000FFF0007FE000172080941A>112 |
|
971 D<7FC3F8FFCFFCFFDFFE7FFFFE03FE3E03F81C03F00003E00003E00003C00003C00003C0 |
|
972 0003C00003C00003C00003C00003C0007FFF80FFFF80FFFF807FFF8017157F941A>114 |
|
973 D E |
|
974 %EndDVIPSBitmapFont |
|
975 /Fe 169[46 1[39 4[46 46 4[21 3[39 69[{TeXBase1Encoding ReEncodeFont}6 |
|
976 63.0966 /Times-Roman rf /Ff 133[26 29 29 44 29 33 18 |
|
977 26 26 33 33 33 33 48 18 29 1[18 33 33 18 29 33 29 33 |
|
978 33 9[55 41 48 37 33 41 1[41 48 44 55 37 44 29 22 48 48 |
|
979 41 41 48 44 41 41 6[22 33 33 33 33 33 1[33 33 33 33 1[17 |
|
980 22 3[22 22 37[33 2[{TeXBase1Encoding ReEncodeFont}62 |
|
981 66.4176 /Times-Italic rf |
|
982 %DVIPSBitmapFont: Fg cmti8 8 8 |
|
983 /Fg 8 118 df<0000003FF800000001FFFE00000003F00F8000000FC003C000001F0003 |
|
984 C000001F000FC000003E000FC000003E000FC000007E000FC000007C00070000007C0000 |
|
985 0000007C0000000000FC0000000000F80000000000F80000000000F80000000000F80000 |
|
986 000000F8000000007FFFFFFE00007FFFFFFE000001F0007E000001F0007C000001F0007C |
|
987 000003F0007C000003E000FC000003E000F8000003E000F8000003E000F8000007E001F8 |
|
988 000007C001F0000007C001F0000007C001F0000007C003F000000FC003E000000F8003E0 |
|
989 00000F8003E000000F8007E180000F8007C380001F8007C380001F8007C380001F0007C3 |
|
990 80001F0007C780001F00078700003F00078700003E00078E00003E0003DE00003E0001FC |
|
991 00003E0000F800007E00000000007C00000000007C00000000007C0000000038F8000000 |
|
992 00FCF800000000FCF800000000FCF000000000FDF000000000F1E000000000F3C0000000 |
|
993 007F80000000001E00000000002A3D81AE28>12 D<0003F800000FFE00003E0F0000F807 |
|
994 0001F0038003E0038007C003800FC007801F8007001F800F003F001E003F003C007F03F8 |
|
995 007FFFE0007FFE00007E000000FE000000FC000000FC000000FC000000FC0000007C0000 |
|
996 007C0001807C0003C07C0007803E000F003E001E001F007C000F83F00003FFC00000FE00 |
|
997 001A1F799D21>101 D<000E00001F00003F80003F80001F00000E000000000000000000 |
|
998 0000000000000000000000000000000000000003E0000FF0001E78001C7C00387C00787C |
|
999 00707C0070FC00F0F800E0F800E1F800C1F00001F00003F00003E00007E00007C00007C0 |
|
1000 000FC0000F83000F87001F87001F07001F0F003F0E003E0E001E1C001E3C001E38000FF0 |
|
1001 0003C000112E7AAC16>105 D<07801FC0001FE07FF0003DF1E0F80038F3C0780078FF00 |
|
1002 7C0070FE007C0070FE007C00F1FC007C00E1F8007C00E1F8007C00E1F0007C00C3F000FC |
|
1003 0003F000F80003E000F80003E000F80007E001F80007E001F00007C001F00007C003F000 |
|
1004 0FC003E0C00FC003E1C00F8007E1C00F8007C1C01F8007C3C01F800FC3801F000F83801F |
|
1005 000787003F000787003F00078E003E0003FC001C0000F000221F7A9D28>110 |
|
1006 D<003C01F00000FF07FC0001E79E1E0001C7BC0F0003C7F80F800387F007800387E007C0 |
|
1007 078FC007C0070FC007C0070F8007C0070F8007C0061F800FC0001F800FC0001F000FC000 |
|
1008 1F000FC0003F001FC0003F001F80003E001F80003E001F80007E003F00007E003F00007C |
|
1009 003E00007C007E0000FC007C0000FC00F80000FE01F80000FE01F00001FF03E00001FF0F |
|
1010 800001F3FE000001F0F8000003F000000003F000000003E000000003E000000007E00000 |
|
1011 0007E000000007C000000007C00000000FC00000000FC0000000FFFC000000FFFC000000 |
|
1012 222B7F9D24>112 D<000FC0007FF000F03C01E01C03C01E07801E07803E07803E0F803C |
|
1013 0F80180FC0000FF8000FFF0007FFC003FFE001FFF0007FF00007F00003F00001F07800F0 |
|
1014 FC00F0FC00F0FC01F0F801E0E001E0E003C0F00780781F001FFC0007F000171F7A9D1D> |
|
1015 115 D<001C00003E00003E00007E00007E00007C00007C0000FC0000FC0000F80000F800 |
|
1016 01F80001F800FFFFE0FFFFE003F00003F00003E00003E00007E00007E00007C00007C000 |
|
1017 0FC0000FC0000F80000F80001F80001F80001F00001F00003F00C03F01C03E01C03E03C0 |
|
1018 3E03803E07803C07003C0E003C1E001E3C000FF00007C000132B7AA918>I<03C000000F |
|
1019 F000381E78007C1C7C00FC387C00F8787C00F8707C00F870FC01F8F0F801F0E0F801F0E1 |
|
1020 F801F0C1F003F001F003E003F003E003E003E003E007E007E007C007C007C007C007C007 |
|
1021 C00FC30FC00F870F800F870F800F870F801F870F801F8F07803F0E07807F0E07C07F1C03 |
|
1022 E1E7BC01FF83F8007E01E0201F7A9D26>I E |
|
1023 %EndDVIPSBitmapFont |
|
1024 %DVIPSBitmapFont: Fh msbm9 9 1 |
|
1025 /Fh 1 64 df<000007FC0000C000007FFFC003E00001FFFFF007E00003FFFFF80FC0000F |
|
1026 FC07FE1F80001FC0007F3F00003F00001FFE00007E00000FFC0000FC000007F00001F800 |
|
1027 0007F00003F000000FF80003E000001FF80007C000007F7C0007C00000FE7C0007800001 |
|
1028 F83C000F800003F03E000F800007E03E000F00000FC01E000F00003F801E000F00007F00 |
|
1029 1E000F0000FC001E000F0001F8001F000F0003F0001F000F0007E0001E000F001FC0001E |
|
1030 000F003F80001E000F007E00001E000F80FC00003E000F81F800003E000783F000003C00 |
|
1031 07CFE000007C0007DFC000007C0003FF000000F80003FE000001F80001FC000003F00001 |
|
1032 FC000007E00007FE00000FC0000FFF00001F80001F9FC0007F00003F0FFC07FE00007E03 |
|
1033 FFFFF80000FC01FFFFF00000F8007FFFC00000600007FC000000332C7CAB3C>63 |
|
1034 D E |
|
1035 %EndDVIPSBitmapFont |
|
1036 /Fi 153[16 26 29 100[{TeXBase1Encoding ReEncodeFont}3 |
|
1037 58.1154 /Times-Italic rf |
|
1038 %DVIPSBitmapFont: Fj cmr5 5 3 |
|
1039 /Fj 3 52 df<00600001E0000FE000FFE000F1E00001E00001E00001E00001E00001E000 |
|
1040 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 |
|
1041 01E00001E00001E00001E0007FFF807FFF80111C7B9B1C>49 D<03FC000FFF003C0FC070 |
|
1042 03E07801F0FC00F0FC00F8FC00F8FC00787800780000F80000F00000F00001E00003C000 |
|
1043 0780000F00001C0000380000E00001C0180380180600180C00383FFFF07FFFF0FFFFF0FF |
|
1044 FFF0151C7D9B1C>I<01FC000FFF801E07C03001E07C01F07C00F07E00F07C01F03801E0 |
|
1045 0003E00007C0001F8003FE0003FC000007800003C00001E00000F00000F83000F87800F8 |
|
1046 FC00F8FC00F8FC00F07801F07003E03C07C00FFF0003FC00151D7D9B1C>I |
|
1047 E |
|
1048 %EndDVIPSBitmapFont |
|
1049 %DVIPSBitmapFont: Fk cmti9 9 20 |
|
1050 /Fk 20 118 df<00000003FF800000001FFFF00000003F00F8000000F8003C000001F000 |
|
1051 3E000003E0007E000003E000FE000007C000FE000007C000FC000007C0003800000F8000 |
|
1052 0000000F80000000000F80000000001F80000000001F00000000001F00000000001F0000 |
|
1053 0000001F00000000001F00000000003F00000000003E000000001FFFFFFFE0001FFFFFFF |
|
1054 E0001FFFFFFFC000007E0007C000007C0007C000007C000FC000007C000F8000007C000F |
|
1055 800000FC000F800000F8001F800000F8001F000000F8001F000000F8001F000001F8003F |
|
1056 000001F0003E000001F0003E000001F0003E000001F0007E000003F0007C000003E0007C |
|
1057 000003E0007C180003E000FC1C0003E000F83C0007E000F8380007C000F8380007C000F8 |
|
1058 780007C000F8700007C000F070000FC000F0F0000F8000F8E0000F800079E0000F80003F |
|
1059 C0001F80000F00001F80000000001F00000000001F00000000001F00000000003E000000 |
|
1060 00003E00000000383E000000007E3C000000007E7C00000000FE7800000000FC78000000 |
|
1061 00F8F00000000079E0000000003FC0000000000F00000000002F4582B42B>12 |
|
1062 D<000000001C00000000003C00000000003C00000000007C0000000000FC0000000000FC |
|
1063 0000000001FC0000000001FE0000000003FE0000000003FE00000000077E000000000F7E |
|
1064 000000000E7E000000001C7E000000001C7E00000000387E00000000387E00000000707E |
|
1065 00000000F07E00000000E07E00000001C07E00000001C07E00000003807F00000003803F |
|
1066 00000007003F00000007003F0000000E003F0000001E003F0000001C003F00000038003F |
|
1067 00000038003F00000070003F00000070003F000000E0003F000001FFFFFF000001FFFFFF |
|
1068 000003FFFFFF00000380003F00000700001F80000700001F80000E00001F80001E00001F |
|
1069 80001C00001F80003C00001F80003800001F80007000001F8000F000001F8000E000001F |
|
1070 8001E000001F8003E000001F800FF000003FC0FFFE0007FFFEFFFE0007FFFEFFFE0007FF |
|
1071 FE2F367BB539>65 D<0007FFFFC000000FFFFFC000000FFFFFC00000003FC0000000003F |
|
1072 80000000003F80000000003F00000000003F00000000007F00000000007F00000000007E |
|
1073 00000000007E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC |
|
1074 0000000001FC0000000001F80000000001F80000000003F80000000003F80000000003F0 |
|
1075 0000000003F00000000007F00000000007F00000000007E00000000007E0000000000FE0 |
|
1076 000000000FE0000000000FC0000000000FC00000E0001FC00001E0001FC00001C0001F80 |
|
1077 0001C0001F800003C0003F80000380003F80000780003F00000780003F00000F00007F00 |
|
1078 000F00007F00001F00007E00003E00007E00003E0000FE00007C0000FE0001FC0000FC00 |
|
1079 03FC0001FC001FF8007FFFFFFFF800FFFFFFFFF800FFFFFFFFF0002B337CB230>76 |
|
1080 D<0007FFC00000007FFC000FFFC0000000FFFC000FFFE0000000FFFC00003FE0000001FF |
|
1081 0000003FE0000001FE0000003FE0000003FE0000003BE00000077C0000003BE00000077C |
|
1082 0000007BE000000EFC0000007BE000000EF800000073E000001CF800000073E0000038F8 |
|
1083 000000F1F0000039F8000000F1F0000071F0000000E1F0000071F0000000E1F00000E1F0 |
|
1084 000001E1F00001C3F0000001E1F00001C3E0000001C1F0000383E0000001C1F0000703E0 |
|
1085 000003C1F0000707E0000003C1F0000E07C000000380F8000E07C000000380F8001C07C0 |
|
1086 00000780F800380FC000000780F800380F8000000700F800700F8000000700F800700F80 |
|
1087 00000F00F800E01F8000000F00F801C01F0000000E00F801C01F0000000E00F803801F00 |
|
1088 00001E007C03803F0000001E007C07003E0000001C007C0E003E0000001C007C0E003E00 |
|
1089 00003C007C1C007E0000003C007C1C007C00000038007C38007C00000038007C70007C00 |
|
1090 000078007C7000FC00000078003EE000F800000070003EE000F800000070003FC000F800 |
|
1091 0000F0003F8001F8000000F0003F8001F0000001F0003F0001F0000007F8003F0003F000 |
|
1092 007FFF803E00FFFFC000FFFF803C01FFFFC000FFFF801C01FFFFC00046337BB245>I<00 |
|
1093 07FF80003FFFC0000FFFC0007FFFC0000FFFC0007FFFC000001FC00003F80000003FE000 |
|
1094 01F00000003FE00001E00000003FE00001C00000003BF00001C00000007BF00003C00000 |
|
1095 007BF000038000000071F800038000000071F8000380000000F1F8000780000000F0FC00 |
|
1096 0700000000E0FC000700000000E0FC000700000001E07E000F00000001E07E000E000000 |
|
1097 01C07E000E00000001C03F000E00000003C03F001E00000003C03F801C00000003801F80 |
|
1098 1C00000003801F801C00000007801FC03C00000007800FC03800000007000FC038000000 |
|
1099 07000FE0380000000F0007E0780000000F0007E0700000000E0007F0700000000E0003F0 |
|
1100 700000001E0003F0F00000001E0003F8E00000001C0001F8E00000001C0001F8E0000000 |
|
1101 3C0001FDE00000003C0000FDC0000000380000FDC0000000380000FFC00000007800007F |
|
1102 C00000007800007F800000007000003F800000007000003F80000000F000003F80000000 |
|
1103 F000001F00000001F000001F00000007F800001F0000007FFF80000F000000FFFF80000E |
|
1104 000000FFFF80000E0000003A337BB239>I<0007FFFFFE0000000FFFFFFFC000000FFFFF |
|
1105 FFF00000003F8007F80000003F8001FC0000003F80007E0000003F00007F0000003F0000 |
|
1106 3F0000007F00003F0000007F00003F8000007E00003F8000007E00003F800000FE00003F |
|
1107 800000FE00007F000000FC00007F000000FC00007F000001FC0000FE000001FC0000FC00 |
|
1108 0001F80001FC000001F80001F8000003F80003F0000003F8000FC0000003F0001F800000 |
|
1109 03F000FE00000007FFFFF000000007FFFFC000000007E003E000000007E001F80000000F |
|
1110 E000FC0000000FE0007C0000000FC0007E0000000FC0007E0000001FC0007E0000001FC0 |
|
1111 007E0000001F80007E0000001F80007E0000003F8000FE0000003F8000FE0000003F0000 |
|
1112 FE0000003F0000FE0000007F0001FE0000007F0001FC0000007E0001FC0000007E0001FC |
|
1113 01C000FE0001FC03C000FE0001FC038000FC0001FC038001FC0001FC07807FFFF000FC07 |
|
1114 00FFFFF000FE0E00FFFFF0007E1C00000000001FF8000000000007E00032357BB238>82 |
|
1115 D<000001FC018000000FFF038000003FFFC78000007E07EF800001F801FF000003F000FF |
|
1116 000003E0007F000007C0007F00000F80003E00001F80003E00001F00003E00003F00003E |
|
1117 00003E00003C00003E00003C00003E00003C00007E00003C00007E00003800007E000038 |
|
1118 00007E00000000007F00000000007F00000000003F80000000003FE0000000003FFE0000 |
|
1119 00001FFFC00000000FFFF800000007FFFC00000001FFFE000000007FFF000000000FFF80 |
|
1120 00000000FF80000000003F80000000001FC0000000000FC0000000000FC0000000000FC0 |
|
1121 000000000FC0000E00000FC0000E00000FC0001E00000F80001C00000F80001C00000F80 |
|
1122 001C00001F80003C00001F00003C00001F00003E00003E00003E00007C00007E00007C00 |
|
1123 007F0000F800007F8001F000007FC007E00000F3F80FC00000F0FFFF000000E03FFC0000 |
|
1124 00C00FF000000029377AB42B>I<FFFFC0003FFF80FFFFC0003FFF80FFFFC0003FFF8007 |
|
1125 F8000007F80007F0000003E00007F0000003C00003F0000007800003F0000007000003F0 |
|
1126 00000F000003F000000E000003F000001C000003F000001C000003F0000038000003F000 |
|
1127 0078000003F0000070000003F00000E0000003F80000E0000001F80001C0000001F80003 |
|
1128 C0000001F8000380000001F8000700000001F8000700000001F8000E00000001F8001E00 |
|
1129 000001F8001C00000001F8003800000001FC003800000001FC007000000000FC00F00000 |
|
1130 0000FC00E000000000FC01C000000000FC01C000000000FC038000000000FC0380000000 |
|
1131 00FC070000000000FC0E0000000000FC0E0000000000FE1C00000000007E1C0000000000 |
|
1132 7E3800000000007E7800000000007E7000000000007EE000000000007EE000000000007F |
|
1133 C000000000007FC000000000007F8000000000007F0000000000007F0000000000003E00 |
|
1134 00000000003E0000000000003C000000000000380000000000313570B239>86 |
|
1135 D<0000FC000007FF00001F0780003E03C000FC01C001F803C003F007C007E00FC007C00F |
|
1136 C00FC00FC01F8007001F8000003F0000003F0000003F0000007F0000007E0000007E0000 |
|
1137 007E000000FE000000FC000000FC000000FC000000FC0000007C0000C07C0001E07C0001 |
|
1138 E07C0003C03E000F803E001F001F007C000F81F00003FFC00000FE00001B2278A023>99 |
|
1139 D<0003F800000FFE00003E0F0000F8078001F0038003E0038007C003800FC003801F8003 |
|
1140 801F8007803F0007003F000F007E003E007E03F8007FFFE000FFFE0000FC000000FC0000 |
|
1141 00FC000000FC000000F8000000F8000000F8000000F8000000F8000180F80003C0F80003 |
|
1142 C07C0007807C001F003C003E001E00F8000F03E00007FF800001FC00001A2277A023> |
|
1143 101 D<0000001F000000007FC0000000F0E0000001F0F0000003E3F0000003E3F0000007 |
|
1144 C3F0000007C3E0000007C1C000000FC00000000F800000000F800000000F800000000F80 |
|
1145 0000001F800000001F000000001F000000001F000000001F000000003F000000003E0000 |
|
1146 001FFFFE00001FFFFE00001FFFFE0000007E000000007C000000007C000000007C000000 |
|
1147 007C00000000FC00000000F800000000F800000000F800000000F800000000F800000001 |
|
1148 F800000001F000000001F000000001F000000001F000000003F000000003E000000003E0 |
|
1149 00000003E000000003E000000007E000000007C000000007C000000007C00000000FC000 |
|
1150 00000FC00000000F800000000F800000000F800000001F800000001F000000001F000000 |
|
1151 001F000000003F000000003E000000383E0000007E3C0000007E3C000000FE78000000FC |
|
1152 78000000F8F000000078E00000003FC00000000F00000000244582B418>I<0001800007 |
|
1153 E00007E0000FE00007C00003800000000000000000000000000000000000000000000000 |
|
1154 0000000000000000000001F00003FC000F1E000E1E001C1E003C1E00381E00783E00703E |
|
1155 00703E00707E00F07C0060FC0000F80000F80001F80001F00001F00003F00003E00003E0 |
|
1156 0007E0C007C1E00FC1C00F81C00F81C00F83C00F03800F07800F07000F0E000F1E0007F8 |
|
1157 0001F00013337AB118>105 D<03C003F8007F00000FF00FFE01FFC0001E783C1F07C1E0 |
|
1158 001C7CF00F8F01F0003C3DE0079E00F000383FC007FC00F800387F8007F800F800707F00 |
|
1159 07F000F800707F0007E000F800707E0007E000F800F0FC000FC001F800E0FC000FC001F0 |
|
1160 0060F8000F8001F00000F8000F8001F00001F8001F8003F00001F8001F8003E00001F000 |
|
1161 1F0003E00001F0001F0003E00003F0003F0007E00003F0003F0007C00003E0003E000FC0 |
|
1162 0003E0003E000F818007E0007E000F83C007E0007E001F838007C0007C001F038007C000 |
|
1163 7C001F03800FC000FC001F07800FC000FC003E07000F8000F8003E0F000F8000F8001E0E |
|
1164 001F8001F8001E1C001F8001F8001E3C001F0001F0000FF0000E0000E00003E0003A227A |
|
1165 A03F>109 D<03C007F0000FF01FFC001E787C1E001C7CF01F003C3DE00F00383FC00F80 |
|
1166 387F800F80787F000F80707E000F80707E000F80F0FC001F80E0FC001F0060F8001F0000 |
|
1167 F8001F0001F8003F0001F8003E0001F0003E0001F0003E0003F0007E0003F0007C0003E0 |
|
1168 00FC0003E000F81807E000F83C07E001F83807C001F03807C001F0380FC001F0780FC001 |
|
1169 E0700F8001E0F00F8001E0E01F8001E1C01F8001E3C01F0000FF000E00003E0026227AA0 |
|
1170 2B>I<0000FC000007FF00001F07C0003E03E000FC01F001F801F003F000F807E000F807 |
|
1171 C000F80FC000F81F8000FC1F8000FC3F0000FC3F0000FC3F0001FC7F0001F87E0001F87E |
|
1172 0001F87E0003F8FE0003F0FC0003F0FC0003F0FC0007E0FC0007E07C000FC07C000F807C |
|
1173 001F807C003F003E007E003E00FC001F01F0000F83E00003FF800000FC00001E2278A027 |
|
1174 >I<001E007C00007F81FF0000F3C387C000E3EF03E001E1FE01E001C1FC01F001C3F801 |
|
1175 F003C3F001F00383F001F80383E001F80787E001F80707E001F80307C001F80007C001F8 |
|
1176 000FC003F8000FC003F0000F8003F0000F8003F0001F8007F0001F8007E0001F0007E000 |
|
1177 1F0007E0003F000FC0003F000FC0003E001F80003E001F80007E003F00007F003E00007F |
|
1178 007C00007F00F80000FF81F00000FDC3E00000F8FF800000F87E000001F800000001F800 |
|
1179 000001F000000001F000000003F000000003F000000003E000000003E000000007E00000 |
|
1180 0007E000000007C0000000FFFF000000FFFF000000FFFF00000025307FA027>I<03C00F |
|
1181 C00FF03FF01E78F0781C7DE03C3C3FC0FC383F80FC387F00FC787F00F8707E0070707E00 |
|
1182 00F0FC0000E0FC000060F8000000F8000001F8000001F8000001F0000001F0000003F000 |
|
1183 0003F0000003E0000003E0000007E0000007E0000007C0000007C000000FC000000FC000 |
|
1184 000F8000000F8000001F8000001F8000001F0000000E0000001E227AA020>114 |
|
1185 D<0003F0001FFC003C1E00780F00F00701E00701E00F03E01F03C01F03C01F03E00403E0 |
|
1186 0003F00003FF8003FFE001FFF000FFF8007FFC0007FC0000FE00007E00003E38003EFC00 |
|
1187 3CFC003CFC003CFC007CF00078E000F0F001F07803E03C0F801FFE0003F80018227AA01F |
|
1188 >I<000300000F80000F80000F80001F80001F80001F00001F00003F00003F00003E0000 |
|
1189 3E00007E00007E00007C007FFFF87FFFF8FFFFF800F80000F80001F80001F80001F00001 |
|
1190 F00003F00003F00003E00003E00007E00007E00007C00007C0000FC0000FC0000F80000F |
|
1191 80601F80F01F80E01F00E01F01E01F01C01F03C01E03801E07001E0F000F1E0007F80001 |
|
1192 E00015307AAE19>I<01F000000003FC0007000F1E000F000E1E001F001C1E001F003C1E |
|
1193 001F00381E003F00783E003E00703E003E00703E003E00707E007E00F07C007C0060FC00 |
|
1194 7C0000F8007C0000F800FC0001F800F80001F000F80001F000F80001F001F80003F001F0 |
|
1195 0003E001F00003E001F06003E003F07003E003E0F007C003E0E007C003E0E003C007E1E0 |
|
1196 03C007E1C003E00FC1C003E01FC3C001E03FE38001F071E780007FE0FF00001F803C0024 |
|
1197 227AA029>I E |
|
1198 %EndDVIPSBitmapFont |
|
1199 %DVIPSBitmapFont: Fl cmsy7 7 5 |
|
1200 /Fl 5 49 df<FFFFFFFFFEFFFFFFFFFEFFFFFFFFFE27037A8F34>0 |
|
1201 D<00380000380000380000380000380060380CF8383EFC387EFE38FE3FBBF807FFC001FF |
|
1202 00007C0001FF0007FFC03FBBF8FE38FEFC387EF8383E60380C0038000038000038000038 |
|
1203 0000380017197B9A22>3 D<01FE0000006007FF800000600FFFE00000601FFFF0000060 |
|
1204 3F03F80000E03C00FE0000E078003F0001C070001F8003C0E0000FE00780E00003F81F80 |
|
1205 C00001FFFF00C00000FFFE00C000003FFC00C000000FF000000000000000000000000000 |
|
1206 01FE0000006007FF800000600FFFE00000601FFFF00000603F03F80000E03C00FE0000E0 |
|
1207 78003F0001C070001F8003C0E0000FE00780E00003F81F80C00001FFFF00C00000FFFE00 |
|
1208 C000003FFC00C000000FF0002B1E7C9D34>25 D<00000000380000000000000038000000 |
|
1209 000000003C000000000000001C000000000000001E000000000000000F00000000000000 |
|
1210 0700000000000000078000000000000003C00000FFFFFFFFFFE00000FFFFFFFFFFF80000 |
|
1211 FFFFFFFFFFFC000000000000001E000000000000000F8000000000000007E00000000000 |
|
1212 0001FC000000000000007F800000000000003F80000000000000FC00000000000003F000 |
|
1213 000000000007C00000000000001F000000000000003E0000FFFFFFFFFFF80000FFFFFFFF |
|
1214 FFF00000FFFFFFFFFFE000000000000003C0000000000000078000000000000007000000 |
|
1215 000000000F000000000000001E000000000000001C000000000000003C00000000000000 |
|
1216 38000000000000003800000039237C9F42>41 D<00E001F003F803F803F807F007F007F0 |
|
1217 07E007E00FE00FC00FC00FC01F801F801F001F003F003E003E003E007C007C007C007800 |
|
1218 F800F800F00010000D1E7D9F13>48 D E |
|
1219 %EndDVIPSBitmapFont |
|
1220 %DVIPSBitmapFont: Fm cmex9 9 3 |
|
1221 /Fm 3 61 df<00000F8000003F8000007F800001FF800003FF800007FF00000FFC00001F |
|
1222 F800003FF000007FE00000FFC00001FF800001FF800003FF000007FE000007FE00000FFC |
|
1223 00000FFC00001FF800001FF800003FF000003FF000003FF000007FE000007FE000007FE0 |
|
1224 00007FE00000FFE00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0 |
|
1225 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0 |
|
1226 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0 |
|
1227 0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0 |
|
1228 0000FFC00000FFC00000FFC00000FFC00000FFC000001943637E44>56 |
|
1229 D<FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000 |
|
1230 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000 |
|
1231 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000 |
|
1232 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000 |
|
1233 00FFC00000FFC00000FFC00000FFE000007FE000007FE000007FE000007FE000003FF000 |
|
1234 003FF000003FF000001FF800001FF800000FFC00000FFC000007FE000007FE000003FF00 |
|
1235 0001FF800001FF800000FFC000007FE000003FF000001FF800000FFC000007FF000003FF |
|
1236 800001FF8000007F8000003F8000000F801943638044>58 D<0000FFC00000FFC00000FF |
|
1237 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1238 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1239 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1240 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1241 C00001FFC00001FF800001FF800001FF800001FF800003FF000003FF000003FF000003FE |
|
1242 000007FE000007FE00000FFC00000FFC00001FF800001FF000003FF000003FE000007FE0 |
|
1243 00007FC00000FF800001FF000003FE000007FC00000FF800001FF000003FE000007FC000 |
|
1244 00FF000000FE000000FE000000FF0000007FC000003FE000001FF000000FF8000007FC00 |
|
1245 0003FE000001FF000000FF8000007FC000007FE000003FE000003FF000001FF000001FF8 |
|
1246 00000FFC00000FFC000007FE000007FE000003FE000003FF000003FF000003FF000001FF |
|
1247 800001FF800001FF800001FF800001FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1248 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1249 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1250 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF |
|
1251 C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC01A88738044>60 |
|
1252 D E |
|
1253 %EndDVIPSBitmapFont |
|
1254 /Fn 153[19 26 29 100[{TeXBase1Encoding ReEncodeFont}3 |
|
1255 58.1154 /Times-Roman rf |
|
1256 %DVIPSBitmapFont: Fo cmbsy10 14.4 1 |
|
1257 /Fo 1 2 df<03F8000FFE001FFF003FFF807FFFC07FFFC0FFFFE0FFFFE0FFFFE0FFFFE0 |
|
1258 FFFFE0FFFFE0FFFFE07FFFC07FFFC03FFF801FFF000FFE0003F800131377A726>1 |
|
1259 D E |
|
1260 %EndDVIPSBitmapFont |
|
1261 %DVIPSBitmapFont: Fp cmmi7 7 8 |
|
1262 /Fp 8 122 df<000FE00000003FF8000000F83E000001E01F006003C00F80C007800780 |
|
1263 C00F0007C0C01E0007C1803E0007C1803C0007E3007C0003E3007C0003E600F80003E600 |
|
1264 F80003EC00F80003EC00F80003F800F00003F000F00003E000F00003E000F00003E000F0 |
|
1265 0003E00078000FE00078001DE0C03C0079F1801E03E0F3800FFF807F0003FC003C00231B |
|
1266 7C992B>11 D<01FFFFFF8007FFFFFFC00FFFFFFF801FFFFFFF003C0C060000700C060000 |
|
1267 C00C060000C01C0E000000180E000000180E000000380E000000380E000000701E000000 |
|
1268 701E000000701E000000F01E000000E01E000001E01E000001E01F000003E01F000003C0 |
|
1269 1F000007C01F800007C01F80000F800F80000F800F80000700070000221A7D9827>25 |
|
1270 D<000001800000038000000780000007000000070000000F0000000E0000001E0000001C |
|
1271 0000001C0000003C00000038000000780000007000000070000000F0000000E0000000E0 |
|
1272 000001E0000001C0000003C00000038000000380000007800000070000000F0000000E00 |
|
1273 00000E0000001E0000001C0000003C00000038000000380000007800000070000000F000 |
|
1274 0000E0000000E0000001E0000001C0000003C00000038000000380000007800000070000 |
|
1275 00070000000F0000000E0000001E0000001C0000001C0000003C00000038000000780000 |
|
1276 007000000070000000F0000000E0000000E0000000193B7CAB22>61 |
|
1277 D<000003E000000FF000001E3800003C3C00003C7C00007CFC000078FC0000F8F80000F8 |
|
1278 700000F8000000F8000001F0000001F0000001F0000001F0000001F00000FFFFE000FFFF |
|
1279 E00003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C0000007C0 |
|
1280 00000F8000000F8000000F8000000F8000000F8000000F8000001F0000001F0000001F00 |
|
1281 00001F0000001F0000003E0000003E0000003E0000003E0000003C0000007C00003C7C00 |
|
1282 007C7800007E780000FC700000FCF0000078E0000071C000003F8000001E0000001E357C |
|
1283 A820>102 D<07801FC0000FE07FF00018F0E0F80030F1807C0030FB007C0060FE003C00 |
|
1284 60FC003C0060F8003C00C1F8007C00C1F0007C0001F0007C0001F0007C0003E000F80003 |
|
1285 E000F80003E000F80003E001F00007C001F00007C001F06007C003E06007C003E0600F80 |
|
1286 07C0C00F8007C0C00F8007C1800F8003C3001F0003C7001F0001FE000E0000F800231B7D |
|
1287 9929>110 D<000FE0007FF800F03C01C00E03C01E07803E07803E07803C0F80180FE000 |
|
1288 07FF0007FFC003FFE001FFF000FFF80007F80001F83C00F87E00787E0078FC00F0F800F0 |
|
1289 7001E07003C03C0F801FFE0007F800171B7C991F>115 D<001C00003E00003E00007C00 |
|
1290 007C00007C00007C0000F80000F80000F80000F80001F000FFFFE0FFFFE001F00003E000 |
|
1291 03E00003E00003E00007C00007C00007C00007C0000F80000F80000F80000F80001F0000 |
|
1292 1F00601F00601F00C03E00C03E01803E03001E06001F1C000FF80003E00013267EA419> |
|
1293 I<03E0000007F000700C7800F8187C00F8307C01F0307C01F0607C01F060F801F0C0F803 |
|
1294 E0C0F803E001F003E001F003E001F007C003E007C003E007C003E007C007C00F8007C00F |
|
1295 8007C00F8007C00F8007C01F0007C01F0007C03F0003C07F0001E0FE0000FFBE00003F3E |
|
1296 0000003E0000007C001E007C003F00F8003F00F0007E01E0003C03C000300780001C1F00 |
|
1297 000FFC000007F000001D267D9922>121 D E |
|
1298 %EndDVIPSBitmapFont |
|
1299 %DVIPSBitmapFont: Fq cmr7 7 5 |
|
1300 /Fq 5 52 df<0006000C00180030006000E001C00380038007000F000E001E001E001C00 |
|
1301 3C003C003C0078007800780078007800F800F000F000F000F000F000F000F000F000F000 |
|
1302 F000F000F800780078007800780078003C003C003C001C001E001E000E000F0007000380 |
|
1303 038001C000E0006000300018000C00060F3B7AAB1A>40 D<C0006000300018000C000E00 |
|
1304 07000380038001C001E000E000F000F00070007800780078003C003C003C003C003C003E |
|
1305 001E001E001E001E001E001E001E001E001E001E001E003E003C003C003C003C003C0078 |
|
1306 00780078007000F000F000E001E001C00380038007000E000C00180030006000C0000F3B |
|
1307 7DAB1A>I<00380000780001F8001FF800FEF800E0F80000F80000F80000F80000F80000 |
|
1308 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000 |
|
1309 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000 |
|
1310 F80001FC00FFFFF8FFFFF815267BA521>49 D<00FF000003FFE0000E03F0001800F80030 |
|
1311 007C0060007E0078003F00FC003F00FE001F80FE001F80FE001F80FE001F807C001F8000 |
|
1312 001F8000001F0000003F0000003E0000007E0000007C000000F8000001F0000003E00000 |
|
1313 03C00000078000000E0000001C0000003800000070018000E00180018001800300030006 |
|
1314 0003000C0003001FFFFF003FFFFF007FFFFE00FFFFFE00FFFFFE0019267DA521>I<00FF |
|
1315 000003FFE0000F01F8001C007C0030007E003C003E007E003F007E003F007E003F007E00 |
|
1316 3F003C003F0000003E0000007E0000007C000000F8000001F0000007E00001FF800001FF |
|
1317 00000001E0000000F00000007C0000003E0000003F0000001F0000001F8000001F803800 |
|
1318 1F807C001F80FE001F80FE001F80FE001F00FC003F0078003E0070007C003800F8001F01 |
|
1319 F00007FFC00000FF000019277DA521>I E |
|
1320 %EndDVIPSBitmapFont |
|
1321 %DVIPSBitmapFont: Fr cmr9 9 10 |
|
1322 /Fr 10 94 df<3C7EFFFFFFFFFFFFFFFF7E7E7E7E7E7E7E7E7E7E7E3E3C3C3C3C3C3C3C |
|
1323 3C3C3C3C181818181818000000000000003C7EFFFFFFFF7E3C08367AB515>33 |
|
1324 D<3C00F07E01F8FF03FCFF03FCFF83FEFF83FE7F81FE3D80F60180060180060180060180 |
|
1325 0603800E03000C03000C07001C0600180E00380C00301C00703800E07001C06001801717 |
|
1326 7EB326>I<0000003000180000000078003C0000000078003C00000000F8007C00000000 |
|
1327 F8007C00000000F0007800000000F0007800000000F0007800000001F000F800000001F0 |
|
1328 00F800000001E000F000000001E000F000000003E001F000000003E001F000000003C001 |
|
1329 E000000003C001E000000003C001E000000007C003E000000007C003E0000000078003C0 |
|
1330 000000078003C0000000078003C00000000F8007C0007FFFFFFFFFFFFCFFFFFFFFFFFFFE |
|
1331 FFFFFFFFFFFFFE7FFFFFFFFFFFFC00003E001F000000003E001F000000003C001E000000 |
|
1332 003C001E000000003C001E000000007C003E000000007C003E0000000078003C00000000 |
|
1333 78003C0000000078003C00000000F8007C00000000F8007C00007FFFFFFFFFFFFCFFFFFF |
|
1334 FFFFFFFEFFFFFFFFFFFFFE7FFFFFFFFFFFFC0003E001F000000003C001E000000003C001 |
|
1335 E000000007C003E000000007C003E0000000078003C0000000078003C00000000F8007C0 |
|
1336 0000000F8007C00000000F0007800000000F0007800000001F000F800000001F000F8000 |
|
1337 00001E000F000000001E000F000000003E001F000000003E001F000000003C001E000000 |
|
1338 003C001E000000007C003E000000007C003E0000000078003C0000000078003C00000000 |
|
1339 30001800000037437CB340>I<0000C00001C0000380000F00000E00001C00003C000078 |
|
1340 0000F00000F00001E00003C00003C00007C0000780000F80000F00001F00001F00001E00 |
|
1341 003E00003E00003E00003C00007C00007C00007C00007C00007C0000F80000F80000F800 |
|
1342 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800 |
|
1343 00F800007C00007C00007C00007C00007C00003C00003E00003E00003E00001E00001F00 |
|
1344 001F00000F00000F800007800007C00003C00003C00001E00000F00000F000007800003C |
|
1345 00001C00000E00000F000003800001C00000C0124A79B71E>40 D<C00000E00000700000 |
|
1346 3C00001C00000E00000F000007800003C00003C00001E00000F00000F00000F800007800 |
|
1347 007C00003C00003E00003E00001E00001F00001F00001F00000F00000F80000F80000F80 |
|
1348 000F80000F800007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0 |
|
1349 0007C00007C00007C00007C00007C00007C0000F80000F80000F80000F80000F80000F00 |
|
1350 001F00001F00001F00001E00003E00003E00003C00007C0000780000F80000F00000F000 |
|
1351 01E00003C00003C0000780000F00000E00001C00003C0000700000E00000C00000124A7C |
|
1352 B71E>I<3C7EFFFFFFFF7E3C000000000000000000000000000000003C7EFFFFFFFF7E3C |
|
1353 08207A9F15>58 D<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE07FFFFFFFFFFFC0 |
|
1354 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
1355 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
1356 0000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE07FFFFF |
|
1357 FFFFFFC033147C9C3C>61 D<000007FC00000000007FFFC000000001F803F00000000780 |
|
1358 003C0000001E00000F0000003800000380000070000001C00000E0000000E00001C00000 |
|
1359 00700003800000003800070003F8001C000E001FFE000E000C007E078006001C00F801C0 |
|
1360 07001801F000E003003803F0007003803007E0003F01803007C0003F8180700FC0001F81 |
|
1361 C0601F80001F80C0601F80001F80C0E01F80001F80E0C03F80001F8060C03F00001F8060 |
|
1362 C03F00001F8060C03F00001F8060C03F00001F8060C03F00001F8060C03F00001F8060C0 |
|
1363 3F00001F8060C03F00001F8060C03F80001F8060E01F80001F8060601F80001F8060601F |
|
1364 80001F8060700FC0001F80E03007C0003F80C03007E0003F80C03803F0007F80C01801F0 |
|
1365 00FF81C01C00F801CFC1800C007E0787C3800E001FFE03FF00070003F800FC0003800000 |
|
1366 00000001C0000000000000E00000000000007000000003E000380000000FE0001E000000 |
|
1367 7F800007800003FC000001F8007FE00000007FFFFE0000000007FF80000033367CB43C> |
|
1368 64 D<FFF0FFF0FFF0FFF0F000F000F000F000F000F000F000F000F000F000F000F000F0 |
|
1369 00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0 |
|
1370 00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0 |
|
1371 00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0 |
|
1372 00FFF0FFF0FFF0FFF00C4B79B715>91 D<FFF0FFF0FFF0FFF000F000F000F000F000F000 |
|
1373 F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000 |
|
1374 F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000 |
|
1375 F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000 |
|
1376 F000F000F000F000F000F000F000F0FFF0FFF0FFF0FFF00C4B7FB715>93 |
|
1377 D E |
|
1378 %EndDVIPSBitmapFont |
|
1379 %DVIPSBitmapFont: Fs cmtt9 9 35 |
|
1380 /Fs 35 122 df<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A728927>46 |
|
1381 D<000000380000007C000000FC000000FC000001FC000001F8000003F8000003F0000007 |
|
1382 F0000007E000000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F |
|
1383 0000007E000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0 |
|
1384 00000FE000000FC000000FC000001FC000001F8000003F8000003F0000007F0000007E00 |
|
1385 0000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F0000007E000 |
|
1386 000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E000000FE0000 |
|
1387 00FC000000FC000000F8000000780000001E3A7CB327>I<1E007F807F80FFC0FFC0FFC0 |
|
1388 FFC07F807F801E000000000000000000000000000000000000000000000000001E007F80 |
|
1389 7F80FFC0FFC0FFC0FFC07F807F801E000A20729F27>58 D<0003F000000007F800000007 |
|
1390 F80000000FFC0000000FFC0000000FFC0000000FFC0000000F3C0000001F3E0000001F3E |
|
1391 0000001F3E0000001F3E0000001F3E0000003F3F0000003F3F0000003F3F0000003E1F00 |
|
1392 00003E1F0000007E1F8000007E1F8000007E1F8000007E1F800000FC0FC00000FC0FC000 |
|
1393 00FC0FC00000FC0FC00000FC0FC00001F807E00001F807E00001F807E00001FFFFE00001 |
|
1394 FFFFE00003FFFFF00003FFFFF00003FFFFF00003F003F00003F003F00007E001F80007E0 |
|
1395 01F80007E001F80007E001F8000FE001FC007FFC0FFF80FFFC0FFFC0FFFE1FFFC0FFFC0F |
|
1396 FFC07FFC0FFF80222F7EAE27>65 D<7FFFFF0000FFFFFFC000FFFFFFE000FFFFFFF8007F |
|
1397 FFFFF80007E003FC0007E000FE0007E0007E0007E0007F0007E0003F0007E0003F0007E0 |
|
1398 003F0007E0003F0007E0003F0007E0003F0007E0007E0007E0007E0007E000FC0007E003 |
|
1399 FC0007E00FF80007FFFFF00007FFFFC00007FFFFF00007FFFFF80007FFFFFC0007E000FE |
|
1400 0007E0007F0007E0003F8007E0001F8007E0001F8007E0000FC007E0000FC007E0000FC0 |
|
1401 07E0000FC007E0000FC007E0000FC007E0001FC007E0001F8007E0003F8007E0007F0007 |
|
1402 E001FF007FFFFFFE00FFFFFFFC00FFFFFFF800FFFFFFE0007FFFFF8000222E7FAD27>I< |
|
1403 7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFFC007E0000FC007E0000FC007 |
|
1404 E0000FC007E0000FC007E0000FC007E0000FC007E000078007E000000007E000000007E0 |
|
1405 00000007E000000007E007800007E00FC00007E00FC00007E00FC00007FFFFC00007FFFF |
|
1406 C00007FFFFC00007FFFFC00007FFFFC00007E00FC00007E00FC00007E00FC00007E00780 |
|
1407 0007E000000007E000000007E000000007E000000007E00003C007E00007E007E00007E0 |
|
1408 07E00007E007E00007E007E00007E007E00007E007E00007E07FFFFFFFE0FFFFFFFFE0FF |
|
1409 FFFFFFE0FFFFFFFFE07FFFFFFFC0232E7FAD27>69 D<7FFFFFFF80FFFFFFFFC0FFFFFFFF |
|
1410 C0FFFFFFFFC07FFFFFFFC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0 |
|
1411 07E0000FC007E000078007E000000007E000000007E000000007E000000007E007800007 |
|
1412 E00FC00007E00FC00007E00FC00007FFFFC00007FFFFC00007FFFFC00007FFFFC00007FF |
|
1413 FFC00007E00FC00007E00FC00007E00FC00007E007800007E000000007E000000007E000 |
|
1414 000007E000000007E000000007E000000007E000000007E000000007E000000007E00000 |
|
1415 0007E000000007E00000007FFF800000FFFFC00000FFFFC00000FFFFC000007FFF800000 |
|
1416 222E7EAD27>I<7FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE0001F8000001F800000 |
|
1417 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000 |
|
1418 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000 |
|
1419 1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000 |
|
1420 1F8000001F8000001F8000001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FF |
|
1421 FFFFF0FFFFFFF07FFFFFE01C2E7BAD27>73 D<7FFFC000007FFFE00000FFFFE000007FFF |
|
1422 E000007FFFC0000003F000000003F000000003F000000003F000000003F000000003F000 |
|
1423 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 |
|
1424 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000 |
|
1425 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 |
|
1426 F000000003F000078003F0000FC003F0000FC003F0000FC003F0000FC003F0000FC003F0 |
|
1427 000FC003F0000FC07FFFFFFFC07FFFFFFFC0FFFFFFFFC07FFFFFFFC07FFFFFFF80222E7F |
|
1428 AD27>76 D<7FF003FFE0FFF807FFF0FFF807FFF0FFFC07FFF07FFC03FFE007FC003E0007 |
|
1429 DE003E0007DE003E0007DE003E0007CF003E0007CF003E0007CF003E0007CF803E0007C7 |
|
1430 803E0007C7C03E0007C7C03E0007C3C03E0007C3E03E0007C3E03E0007C1E03E0007C1F0 |
|
1431 3E0007C1F03E0007C1F03E0007C0F83E0007C0F83E0007C0F83E0007C0783E0007C07C3E |
|
1432 0007C07C3E0007C03C3E0007C03E3E0007C03E3E0007C01E3E0007C01F3E0007C00F3E00 |
|
1433 07C00F3E0007C00F3E0007C007BE0007C007BE0007C007BE0007C003FE007FFC03FE00FF |
|
1434 FE03FE00FFFE01FE00FFFE01FE007FFC00FC00242E7FAD27>78 D<7FFFFF0000FFFFFFE0 |
|
1435 00FFFFFFF000FFFFFFF8007FFFFFFC0007E003FE0007E000FF0007E0007F0007E0003F80 |
|
1436 07E0001F8007E0001FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007 |
|
1437 E0000FC007E0001FC007E0001F8007E0003F8007E0007F0007E000FF0007E003FE0007FF |
|
1438 FFFC0007FFFFF80007FFFFF00007FFFFE00007FFFF000007E000000007E000000007E000 |
|
1439 000007E000000007E000000007E000000007E000000007E000000007E000000007E00000 |
|
1440 0007E000000007E000000007E00000007FFE000000FFFF000000FFFF000000FFFF000000 |
|
1441 7FFE000000222E7FAD27>80 D<007FC0E001FFF1F007FFFFF00FFFFFF01FFFFFF03FE0FF |
|
1442 F03F801FF07F000FF07E0007F0FE0007F0FC0007F0FC0003F0FC0003F0FC0003F0FC0001 |
|
1443 E0FE0000007E0000007F0000003FC000003FF800001FFF80000FFFF80007FFFE0003FFFF |
|
1444 8000FFFFC0000FFFE00000FFF000000FF0000007F8000003F8000001F8000001FC000000 |
|
1445 FC780000FCFC0000FCFC0000FCFC0000FCFC0000FCFE0001F8FE0001F8FF0003F8FF8007 |
|
1446 F0FFF01FE0FFFFFFE0FFFFFFC0FFFFFF00F8FFFE00701FF8001E307CAE27>83 |
|
1447 D<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FC03F00FC0FC03F00FC0 |
|
1448 FC03F00FC0FC03F00FC0FC03F00FC0FC03F00FC07803F007800003F000000003F0000000 |
|
1449 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 |
|
1450 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 |
|
1451 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000 |
|
1452 000003F000000003F000000003F000000003F000000003F0000000FFFFC00001FFFFE000 |
|
1453 01FFFFE00001FFFFE00000FFFFC000222E7EAD27>I<7FFC03FFE07FFE07FFE0FFFE07FF |
|
1454 F07FFE07FFE07FFC03FFE007E0007E0007E0007E0007E0007E0007E0007E0003F000FC00 |
|
1455 03F000FC0003F000FC0003F000FC0003F801FC0001F801F80001F801F80001F801F80001 |
|
1456 F801F80000FC03F00000FC03F00000FC03F00000FC03F000007E07E000007E07E000007E |
|
1457 07E000007E07E000007E07E000003F0FC000003F0FC000003F0FC000003F0FC000001F0F |
|
1458 8000001F9F8000001F9F8000001F9F8000000F9F0000000F9F0000000F9F0000000F9F00 |
|
1459 00000F9F00000007FE00000007FE00000007FE00000007FE00000003FC00000003FC0000 |
|
1460 0001F80000242F7FAD27>86 D<03FFC000000FFFF000001FFFFC00003FFFFF00003FFFFF |
|
1461 80003F80FF80003F801FC0001F000FC00004000FE000000007E000000007E000000FFFE0 |
|
1462 00007FFFE00003FFFFE0000FFFFFE0001FFFFFE0003FFC07E0007FC007E0007F0007E000 |
|
1463 FE0007E000FC0007E000FC0007E000FC0007E000FC0007E000FE000FE0007F001FE0007F |
|
1464 C0FFE0003FFFFFFF801FFFFFFFC00FFFFFFFC003FFF1FFC000FF807F8022207C9F27>97 |
|
1465 D<7FE0000000FFF0000000FFF0000000FFF00000007FF000000003F000000003F0000000 |
|
1466 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 |
|
1467 F0FF000003F3FFC00003FFFFF00003FFFFF80003FFFFFC0003FF81FE0003FE00FF0003FC |
|
1468 003F8003F8001F8003F8001FC003F0000FC003F0000FC003F0000FE003F00007E003F000 |
|
1469 07E003F00007E003F00007E003F00007E003F00007E003F0000FE003F0000FC003F8000F |
|
1470 C003F8001FC003FC003F8003FC007F8003FE00FF0003FF83FE0003FFFFFC0003FFFFF800 |
|
1471 03FFFFF00003F3FFC00001E0FE0000232E7FAD27>I<000FFF00007FFFC001FFFFE003FF |
|
1472 FFF007FFFFF00FF807F01FE007F03FC003E03F8000807F0000007E0000007E000000FE00 |
|
1473 0000FC000000FC000000FC000000FC000000FC000000FC000000FE0000007E0000007E00 |
|
1474 00007F0000F03F8001F83FC001F81FE003F80FF80FF007FFFFF003FFFFE001FFFFC0007F |
|
1475 FF00000FF8001D207B9F27>I<00003FF00000007FF80000007FF80000007FF80000003F |
|
1476 F800000001F800000001F800000001F800000001F800000001F800000001F800000001F8 |
|
1477 00000001F800000001F800000FE1F800007FFDF80001FFFFF80003FFFFF80007FFFFF800 |
|
1478 0FF83FF8001FE00FF8003FC007F8003F8003F8007F0003F8007E0001F8007E0001F800FE |
|
1479 0001F800FC0001F800FC0001F800FC0001F800FC0001F800FC0001F800FC0001F800FE00 |
|
1480 01F8007E0003F8007E0003F8007F0003F8003F0007F8003F800FF8001FE01FF8000FF03F |
|
1481 F80007FFFFFFC003FFFFFFE001FFFDFFE0007FF9FFE0001FE0FFC0232E7EAD27>I<000F |
|
1482 F800003FFE0000FFFF8003FFFFC007FFFFE00FFC0FF01FE003F81FC001F83F8001FC7F00 |
|
1483 00FC7E0000FC7E00007EFE00007EFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFCFC00 |
|
1484 0000FE0000007E0000007F0000003F00003C3F80007E1FC0007E1FF000FE0FFC07FC07FF |
|
1485 FFFC01FFFFF800FFFFF0003FFFC00007FE001F207D9F27>I<00001FF00000FFF80001FF |
|
1486 FC0003FFFE0007FFFE000FF0FE000FC0FE001FC07C001F8000001F8000001F8000001F80 |
|
1487 00001F8000001F80007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF0001F8000001F80 |
|
1488 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
1489 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
1490 00001F8000001F80003FFFFFC07FFFFFE07FFFFFE07FFFFFE03FFFFFC01F2E7EAD27>I< |
|
1491 0000003F00001FC0FF80007FF3FFC001FFFFFFE003FFFFFFE007FFFFEFE00FF07F87E01F |
|
1492 C01FC3C01FC01FC0001F800FC0003F0007E0003F0007E0003F0007E0003F0007E0003F00 |
|
1493 07E0003F0007E0001F800FC0001FC01FC0001FC01FC0000FF07F80000FFFFF00000FFFFE |
|
1494 00001FFFFC00001F7FF000001F1FC000001F000000001F000000001F800000000FFFFF00 |
|
1495 000FFFFFE0000FFFFFF8001FFFFFFE003FFFFFFF003F8001FF007E00003F807C00000F80 |
|
1496 FC00000FC0F8000007C0F8000007C0F8000007C0F8000007C0FC00000FC07C00000F807F |
|
1497 00003F803F80007F003FF807FF001FFFFFFE0007FFFFF80003FFFFF00000FFFFC000000F |
|
1498 FC000023337EA027>I<7FE0000000FFF0000000FFF0000000FFF00000007FF000000003 |
|
1499 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 |
|
1500 00000003F000000003F07F000003F1FFC00003F7FFF00003FFFFF00003FFFFF80003FFC1 |
|
1501 F80003FF01FC0003FE00FC0003FC00FC0003F800FC0003F800FC0003F000FC0003F000FC |
|
1502 0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC00 |
|
1503 03F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC007F |
|
1504 FF83FFE0FFFFC7FFF0FFFFC7FFF0FFFFC7FFF07FFF83FFE0242E7FAD27>I<000F000000 |
|
1505 1F8000003FC000003FC000003FC000003FC000001F8000000F0000000000000000000000 |
|
1506 000000000000000000000000000000000000003FFF80007FFFC0007FFFC0007FFFC0003F |
|
1507 FFC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000 |
|
1508 0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000 |
|
1509 0FC000000FC000000FC000000FC000000FC0007FFFFFF0FFFFFFF0FFFFFFF8FFFFFFF07F |
|
1510 FFFFF01D2F7BAE27>I<7FFF8000FFFFC000FFFFC000FFFFC0007FFFC000000FC000000F |
|
1511 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F |
|
1512 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F |
|
1513 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F |
|
1514 C000000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FFFF |
|
1515 FFFCFFFFFFFCFFFFFFFC7FFFFFF81E2E7CAD27>108 D<7F07C01F0000FF9FF07FC000FF |
|
1516 FFF9FFE000FFFFFFFFF0007FFFFFFFF0000FFC7FF1F8000FF03FC0F8000FE03F80F8000F |
|
1517 C03F00F8000FC03F00F8000FC03F00F8000F803E00F8000F803E00F8000F803E00F8000F |
|
1518 803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F |
|
1519 803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F |
|
1520 803E00F8007FF0FFC3FF00FFF8FFE3FF80FFF9FFE7FF80FFF8FFE3FF807FF0FFC3FF0029 |
|
1521 20819F27>I<7FE07F0000FFF1FFC000FFF7FFF000FFFFFFF0007FFFFFF80003FFC1F800 |
|
1522 03FF01FC0003FE00FC0003FC00FC0003F800FC0003F800FC0003F000FC0003F000FC0003 |
|
1523 F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F0 |
|
1524 00FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC007FFF83 |
|
1525 FFE0FFFFC7FFF0FFFFC7FFF0FFFFC7FFF07FFF83FFE024207F9F27>I<001FE000007FF8 |
|
1526 0001FFFE0003FFFF0007FFFF800FF03FC01FC00FE03F8007F03F0003F07F0003F87E0001 |
|
1527 F87E0001F8FC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFE0001 |
|
1528 FC7E0001F87E0001F87F0003F83F8007F03F8007F01FE01FE00FF03FC007FFFF8003FFFF |
|
1529 0001FFFE00007FF800001FE0001E207C9F27>I<7FE0FF0000FFF3FFC000FFFFFFF000FF |
|
1530 FFFFF8007FFFFFFC0003FF81FE0003FE00FF0003FC003F8003F8001F8003F8001FC003F0 |
|
1531 000FC003F0000FC003F0000FE003F00007E003F00007E003F00007E003F00007E003F000 |
|
1532 07E003F00007E003F0000FE003F0000FC003F8000FC003F8001FC003FC003F8003FC007F |
|
1533 8003FE00FF0003FF83FE0003FFFFFC0003FFFFF80003FFFFF00003F3FFC00003F0FE0000 |
|
1534 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 |
|
1535 F000000003F000000003F000000003F000000003F00000007FFF800000FFFFC00000FFFF |
|
1536 C00000FFFFC000007FFF80000023317F9F27>I<7FFC03FC00FFFE0FFF00FFFE3FFF80FF |
|
1537 FE7FFFC07FFEFFFFC0007FFE1FC0007FF81FC0007FF00F80007FE00200007FC00000007F |
|
1538 800000007F800000007F000000007F000000007E000000007E000000007E000000007E00 |
|
1539 0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000 |
|
1540 00007E000000007E0000007FFFFF8000FFFFFFC000FFFFFFC000FFFFFFC0007FFFFF8000 |
|
1541 22207E9F27>114 D<00FFF38007FFFFC01FFFFFC03FFFFFC07FFFFFC07F803FC0FC000F |
|
1542 C0F8000FC0F8000FC0F8000780FC0000007F8000007FFC00003FFFF0001FFFFC0007FFFF |
|
1543 0001FFFF80000FFFC000003FE0000007E0780003F0FC0001F0FC0001F0FE0001F0FE0003 |
|
1544 F0FF0007E0FFE01FE0FFFFFFC0FFFFFF80FFFFFF00FBFFFC00707FF0001C207B9F27>I< |
|
1545 003C0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000 |
|
1546 7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF0007E0000007E0000007E0000007E0000 |
|
1547 007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000 |
|
1548 007E0000007E0018007E007E007E007E007E007E007E007E007E00FE003F00FC003F83FC |
|
1549 003FFFF8001FFFF0000FFFE00003FFC00000FF001F297EA827>I<7FE01FF800FFF03FFC |
|
1550 00FFF03FFC00FFF03FFC007FF01FFC0003F000FC0003F000FC0003F000FC0003F000FC00 |
|
1551 03F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003 |
|
1552 F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F0 |
|
1553 01FC0003F001FC0003F003FC0003FC0FFC0001FFFFFFE001FFFFFFF000FFFFFFF0003FFE |
|
1554 FFF0000FF87FE024207F9F27>I<7FFC0FFF80FFFE1FFFC0FFFE1FFFC0FFFE1FFFC07FFC |
|
1555 0FFF8007C000F80007E001F80003E001F00003E001F00003F003F00001F003E00001F003 |
|
1556 E00001F807E00000F807C00000F807C00000F807C000007C0F8000007C0F8000007C0F80 |
|
1557 00003E1F0000003E1F0000003E1F0000003F3F0000001F3E0000001F3E0000001FFE0000 |
|
1558 000FFC0000000FFC0000000FFC00000007F800000007F800000003F0000022207E9F27> |
|
1559 I<3FFC1FFF007FFE3FFF007FFE3FFF807FFE3FFF003FFC1FFF0001F807E00000FC0FC000 |
|
1560 00FC1F8000007E1F0000003F3F0000001F7E0000001FFC0000000FF800000007F8000000 |
|
1561 03F000000003E000000003F000000007F80000000FF80000001FFC0000001F3E0000003E |
|
1562 3F0000007E1F0000007C0F800000F80FC00001F807E00003F003E0007FFE1FFF807FFE1F |
|
1563 FF80FFFF3FFFC07FFE1FFF807FFE1FFF8022207E9F27>120 D<7FFC0FFF80FFFE1FFFC0 |
|
1564 FFFE1FFFC0FFFE1FFFC07FFC0FFF8007E000F80003E001F80003E001F00003F001F00001 |
|
1565 F003F00001F803E00000F803E00000F803E00000FC07C000007C07C000007C07C000007E |
|
1566 0F8000003E0F8000003E0F8000001F0F0000001F1F0000001F1F0000000F1F0000000F9E |
|
1567 0000000FBE00000007BE00000007FC00000003FC00000003FC00000003F800000001F800 |
|
1568 000001F800000001F000000001F000000003F000000003E000000003E000000007E00000 |
|
1569 0007C000000807C000003E0FC000007F0F8000007F1F8000007E7F0000007FFE0000003F |
|
1570 FC0000003FF80000001FF000000007C000000022317E9F27>I E |
|
1571 %EndDVIPSBitmapFont |
|
1572 %DVIPSBitmapFont: Ft cmtt8 8 51 |
|
1573 /Ft 51 123 df<7801E0FC03F0FE07F0FE07F0FE07F0FE07F0FC03F0FC03F0FC03F0FC03 |
|
1574 F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F07C03E07C03E03000C0141479A923 |
|
1575 >34 D<0F003F803FC03FC03FE03FE00FE003E003E003E007E007E007C00FC01FC03F807F |
|
1576 00FF00FE00F80070000B1574A823>39 D<000380000FC0001FC0003F8000FF0000FE0001 |
|
1577 F80003F80007F0000FE0000FC0001F80001F80003F00003F00003E00007E00007E00007C |
|
1578 00007C0000FC0000FC0000F80000F80000F80000F80000F80000F80000F80000F80000FC |
|
1579 0000FC00007C00007C00007E00007E00003E00003F00003F00001F80001F80000FC0000F |
|
1580 E00007F00003F80001F80000FE0000FF00003F80001FC0000FC0000380123476AD23>I< |
|
1581 700000FC0000FE00007F00003FC0001FC00007E00007F00003F80001FC0000FC00007E00 |
|
1582 007E00003F00003F00001F00001F80001F80000F80000F80000FC0000FC00007C00007C0 |
|
1583 0007C00007C00007C00007C00007C00007C0000FC0000FC0000F80000F80001F80001F80 |
|
1584 001F00003F00003F00007E00007E0000FC0001FC0003F80007F00007E0001FC0003FC000 |
|
1585 7F0000FE0000FC000070000012347AAD23>I<00078000000FC000000FC000000FC00000 |
|
1586 0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FF |
|
1587 FFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC000000FC00000 |
|
1588 0FC000000FC000000FC000000FC000000FC000000FC000000FC000000780001E1E7EA223 |
|
1589 >43 D<1F003F807FC07FE07FE07FE07FE03FE01FE007E007E00FC01FC07F80FF00FE00FC |
|
1590 0070000B12748823>I<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A06 |
|
1591 7C9623>I<3E007F00FF80FF80FF80FF80FF807F003E000909738823>I<00000380000007 |
|
1592 C000000FC000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E |
|
1593 000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E0 |
|
1594 00000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F0000007E00 |
|
1595 0000FE000000FC000001FC000001F8000001F8000003F8000003F0000007F0000007E000 |
|
1596 000FE000000FC000001FC000001F8000001F8000003F8000003F0000007F0000007E0000 |
|
1597 00FE000000FC000000FC000000F8000000780000001A347CAD23>I<001F8000007FE000 |
|
1598 01FFF80003FFFC0007FFFE0007F0FE000FC03F001F801F801F000F803F000FC03E0007C0 |
|
1599 3E0007C07C0003E07C0003E07C0003E0780001E0F80001F0F80001F0F80001F0F80001F0 |
|
1600 F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F07C0003E07C0003E0 |
|
1601 7C0003E07E0007E03E0007C03E0007C03F000FC01F801F801F801F800FC03F0007F0FE00 |
|
1602 07FFFE0003FFFC0001FFF800007FE000001F80001C2B7DA923>I<001800003C00007C00 |
|
1603 007C0000FC0001FC0003FC0007FC007FFC00FFFC00FFFC00FF7C007C7C00007C00007C00 |
|
1604 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00 |
|
1605 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C007FFFFC7FFFFE |
|
1606 7FFFFE7FFFFE7FFFFC172A7AA923>I<007FC00003FFF00007FFFC001FFFFE003FFFFF80 |
|
1607 7F80FF807E003FC0FE000FE0FC0007E0FE0003F0FE0003F0FE0003F0FE0001F07C0001F0 |
|
1608 380001F0000001F0000003F0000003F0000007E0000007E000000FC000001FC000003F80 |
|
1609 00003F000000FE000001FE000003F8000007F000000FE000003FC000007F800000FE0000 |
|
1610 01FC000003F800000FF000E01FE001F03F8001F07FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0 |
|
1611 7FFFFFE01C2A7DA923>I<007FC00001FFF00007FFFC000FFFFE001FFFFF003FE07F803F |
|
1612 801FC03F800FC03F8007C03F8007C03F8007C00E0007C000000FC000000FC000001F8000 |
|
1613 003F800001FF00007FFE0000FFFC0000FFF80000FFFC00007FFF0000007F8000001FC000 |
|
1614 000FE0000007E0000003F0000003F0000001F0000001F07C0001F0FE0001F0FE0003F0FE |
|
1615 0003F0FE0007E0FC000FE0FE001FC07FC07FC03FFFFF801FFFFF000FFFFC0003FFF80000 |
|
1616 7FC0001C2B7DA923>I<3E007F00FF80FF80FF80FF80FF807F003E000000000000000000 |
|
1617 00000000000000000000000000003E007F00FF80FF80FF80FF80FF807F003E00091D739C |
|
1618 23>58 D<1F003F807FC07FC07FC07FC07FC03F801F000000000000000000000000000000 |
|
1619 00000000000000001E003F807F807FC07FC07FC07FC03FC01FC00FC00FC01F803F807F00 |
|
1620 FF00FE00F80070000A26749C23>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC3F |
|
1621 FFFFF80000000000000000000000000000000000000000000000003FFFFFF8FFFFFFFCFF |
|
1622 FFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E127E9C23>61 D<01FFC00007FFF8001FFFFE003F |
|
1623 FFFF007FFFFF80FF007FC0FE000FC0FE0007C0FE0007C0FE000FC07C001FC038007F8000 |
|
1624 00FF800003FF000007FC00000FF000001FE000001FC000003F8000003F8000003F000000 |
|
1625 3F0000003F0000003F0000003F0000003F0000003E000000000000000000000000000000 |
|
1626 000000000000000000000000000000001C0000007F0000007F0000007F0000007F000000 |
|
1627 7F0000001C00001A297CA823>63 D<000FC000000FC000001FE000001FE000001FE00000 |
|
1628 1FE000003CF000003CF000003CF000003CF000003CF000007CF800007CF800007CF80000 |
|
1629 78780000F87C0000F87C0000F87C0000F87C0000F87C0001F03E0001F03E0001F03E0001 |
|
1630 F03E0003F03F0003E01F0003E01F0003FFFF0003FFFF0007FFFF8007FFFF8007FFFF8007 |
|
1631 C00F800FC00FC00F8007C00F8007C00F8007C07FF03FF8FFF03FFCFFF03FFCFFF03FFC7F |
|
1632 F03FF81E2A7EA923>65 D<FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE007C00007C00007C0000 |
|
1633 7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000 |
|
1634 7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000 |
|
1635 7C00007C00007C00007C00FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE17297AA823>73 |
|
1636 D<7FFE0000FFFF0000FFFF0000FFFF00007FFE000007C0000007C0000007C0000007C000 |
|
1637 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000 |
|
1638 0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000 |
|
1639 0007C0000007C0000007C0007C07C0007C07C0007C07C0007C07C0007C07C0007C07C000 |
|
1640 7C7FFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E297EA823>76 |
|
1641 D<FF8001FFFF8001FFFFC003FFFFC003FFFFC003FF1EE007781EE007781EE007781EF00F |
|
1642 781E700E781E700E781E781E781E781E781E381C781E3C3C781E3C3C781E1C38781E1E78 |
|
1643 781E1E78781E0E70781E0E70781E0E70781E07E0781E07E0781E07E0781E03C0781E03C0 |
|
1644 781E0000781E0000781E0000781E0000781E0000781E0000781E0000781E0000781E0000 |
|
1645 78FFC003FFFFC003FFFFC003FFFFC003FFFFC003FF20297FA823>I<7FC01FF8FFC03FFC |
|
1646 FFE03FFCFFE03FFC7FF01FF80F7003C00F7003C00F7803C00F3803C00F3803C00F3C03C0 |
|
1647 0F3C03C00F1C03C00F1E03C00F1E03C00F0E03C00F0F03C00F0F03C00F0F03C00F0783C0 |
|
1648 0F0783C00F0783C00F03C3C00F03C3C00F03C3C00F01C3C00F01E3C00F01E3C00F00E3C0 |
|
1649 0F00F3C00F00F3C00F0073C00F0073C00F007BC00F003BC00F003BC07FE03FC0FFF01FC0 |
|
1650 FFF01FC0FFF00FC07FE00F801E297EA823>I<FFFFF000FFFFFE00FFFFFF00FFFFFF80FF |
|
1651 FFFFC00F801FE00F8007F00F8003F00F8001F00F8001F80F8000F80F8000F80F8000F80F |
|
1652 8000F80F8000F80F8001F80F8001F00F8003F00F8007F00F801FE00FFFFFC00FFFFF800F |
|
1653 FFFF000FFFFE000FFFF0000F8000000F8000000F8000000F8000000F8000000F8000000F |
|
1654 8000000F8000000F8000000F8000000F800000FFF80000FFFC0000FFFC0000FFFC0000FF |
|
1655 F800001D297EA823>80 D<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFCF807C07CF8 |
|
1656 07C07CF807C07CF807C07CF807C07C7007C0380007C0000007C0000007C0000007C00000 |
|
1657 07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000 |
|
1658 07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000 |
|
1659 07C0000007C0000007C00000FFFE0001FFFF0001FFFF0001FFFF0000FFFE001E297EA823 |
|
1660 >84 D<7FF00FFEFFF00FFFFFF00FFFFFF00FFF7FF00FFE0F8001F00F8001F007C003E007 |
|
1661 C003E007C003E007C003E003E007C003E007C003E007C003E007C003F00FC001F00F8001 |
|
1662 F00F8001F00F8001F00F8000F81F0000F81F0000F81F0000F81F00007C3E00007C3E0000 |
|
1663 7C3E00007C3E00003C3C00003E7C00003E7C00003E7C00001E7800001E7800001E780000 |
|
1664 1E7800001FF800000FF000000FF000000FF0000007E0000007E000202A7FA823>86 |
|
1665 D<7FFFC0FFFFE0FFFFE0FFFFE0FFFFC0F80000F80000F80000F80000F80000F80000F800 |
|
1666 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800 |
|
1667 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800 |
|
1668 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000FFFF |
|
1669 C0FFFFE0FFFFE0FFFFE07FFFC0133473AD23>91 D<7FFFC0FFFFE0FFFFE0FFFFE07FFFE0 |
|
1670 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 |
|
1671 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 |
|
1672 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 |
|
1673 0003E00003E00003E00003E00003E00003E07FFFE0FFFFE0FFFFE0FFFFE07FFFC013347E |
|
1674 AD23>93 D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C7E23>95 |
|
1675 D<01C003E00FE01FE01FC03F807F007E007C00FC00FC00F800F800F800FE00FF80FF807F |
|
1676 807F803F801E000B1574AD23>I<03FF80000FFFE0001FFFF8003FFFFC003FFFFE003F80 |
|
1677 FF003F803F801F001F8000001F8000000F800000FF80007FFF8003FFFF800FFFFF801FFF |
|
1678 FF807FF00F807F000F80FC000F80FC000F80F8000F80F8001F80FC001F80FE003F807F81 |
|
1679 FF807FFFFFFC3FFFFFFE1FFFFFFE07FFC7FE01FE01FC1F1D7D9C23>I<FF800000FFC000 |
|
1680 00FFC00000FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007C000 |
|
1681 0007C0000007C1FC0007C7FF0007DFFFC007FFFFE007FFFFF007FE0FF807F803F807F001 |
|
1682 FC07E000FC07E000FC07C0007E07C0007E07C0003E07C0003E07C0003E07C0003E07C000 |
|
1683 3E07C0007E07E0007E07E000FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFF |
|
1684 E007DFFF8007CFFF000383F8001F297FA823>I<003FF00000FFFC0003FFFF0007FFFF00 |
|
1685 0FFFFF001FE07F003F807F007F003E007E0000007E000000FC000000FC000000F8000000 |
|
1686 F8000000F8000000F8000000F8000000FC000000FC0000007E0007007F000F807F001F80 |
|
1687 3FC01F801FF07F000FFFFF0007FFFE0003FFFC0000FFF000003FC000191D7B9C23>I<00 |
|
1688 00FF800000FFC00000FFC00000FFC00000FFC0000007C0000007C0000007C0000007C000 |
|
1689 0007C0000007C0000007C0007F87C001FFE7C003FFF7C00FFFFFC01FFFFFC01FE0FFC03F |
|
1690 803FC07F001FC07E000FC07E000FC0FC0007C0FC0007C0F80007C0F80007C0F80007C0F8 |
|
1691 0007C0F80007C0FC000FC0FC000FC07E000FC07E001FC07F003FC03F807FC03FE0FFC01F |
|
1692 FFFFFE0FFFFFFE03FFF7FE01FFC7FE007F03FE1F297EA823>I<003FC00000FFF80003FF |
|
1693 FC0007FFFF000FFFFF801FF07F803F801FC03F000FC07E0007C07E0007E0FC0007E0FFFF |
|
1694 FFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFC0F8000000FC000000FC0000007E0001C07F00 |
|
1695 03E03F8007E03FE007E01FF81FC00FFFFFC007FFFF8001FFFE00007FFC00001FE0001B1D |
|
1696 7D9C23>I<00007F000001FFC00007FFE0000FFFE0001FFFE0003FCFE0003F0FE0003E07 |
|
1697 C0003E0000003E0000003E0000003E00007FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF |
|
1698 80003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00 |
|
1699 00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00 |
|
1700 00003E00003FFFFE007FFFFF007FFFFF007FFFFF003FFFFE001B297EA823>I<000001F0 |
|
1701 003F07FC00FFDFFE03FFFFFE07FFFFFE0FFFFF7E1FE1FE7E1F807E183F003F003F003F00 |
|
1702 3E001F003E001F003E001F003E001F003F003F003F003F001F807E001FE1FE000FFFFC00 |
|
1703 1FFFF8001FFFF0001EFFC0001E3F00001E0000001F0000001F4000000FFFFC000FFFFF80 |
|
1704 1FFFFFC03FFFFFF07E0007F87C0000F8F800007CF800007CF000003CF000003CF000003C |
|
1705 F800007CFC0000FC7F0003F87FE01FF83FFFFFF00FFFFFC007FFFF8001FFFE00003FF000 |
|
1706 1F2E7E9D23>I<FF800000FFC00000FFC00000FFC00000FFC0000007C0000007C0000007 |
|
1707 C0000007C0000007C0000007C0000007C0000007C1FC0007C7FF0007DFFF8007FFFFC007 |
|
1708 FFFFC007FE0FE007F807E007F003E007E003E007E003E007E003E007C003E007C003E007 |
|
1709 C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007 |
|
1710 C003E007C003E0FFFE1FFFFFFE3FFFFFFE3FFFFFFE3FFFFFFE1FFF20297FA823>I<0038 |
|
1711 0000FE0000FE0000FE0000FE0000FE000038000000000000000000000000000000000000 |
|
1712 007FFC00FFFE00FFFE00FFFE007FFE00003E00003E00003E00003E00003E00003E00003E |
|
1713 00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E |
|
1714 007FFFFEFFFFFFFFFFFFFFFFFF7FFFFE182A7AA923>I<7FFE0000FFFF0000FFFF0000FF |
|
1715 FF00007FFF0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000 |
|
1716 1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000 |
|
1717 1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000 |
|
1718 1F0000001F0000001F0000001F0000001F0000001F00007FFFFFC0FFFFFFE0FFFFFFE0FF |
|
1719 FFFFE07FFFFFC01B297CA823>108 D<7E1F01F000FF7FC7FC00FFFFEFFE00FFFFFFFE00 |
|
1720 7FFFFFFF000FE1FE1F000FC1FC1F000FC0FC0F000F80F80F000F80F80F000F00F00F000F |
|
1721 00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00 |
|
1722 F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F007FE3FE3FE0FFF3FF |
|
1723 3FF0FFF3FF3FF0FFF3FF3FF07FE3FE3FE0241D819C23>I<FF81FC00FFC7FF00FFDFFF80 |
|
1724 FFFFFFC0FFFFFFC007FE0FE007F807E007F003E007E003E007E003E007E003E007C003E0 |
|
1725 07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0 |
|
1726 07C003E007C003E007C003E0FFFE1FFFFFFE3FFFFFFE3FFFFFFE3FFFFFFE1FFF201D7F9C |
|
1727 23>I<003F000001FFE00003FFF00007FFF8000FFFFC001FC0FE003F807F003E001F007E |
|
1728 001F807C000F80FC000FC0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0FC |
|
1729 000FC0FC000FC07C000F807E001F803F003F003F807F001FE1FE000FFFFC0007FFF80003 |
|
1730 FFF00001FFE000003F00001A1D7C9C23>I<FF81FC00FFC7FF00FFDFFFC0FFFFFFE0FFFF |
|
1731 FFF007FE0FF807F803F807F001FC07E000FC07E000FC07C0007E07C0007E07C0003E07C0 |
|
1732 003E07C0003E07C0003E07C0003E07C0007E07E0007E07E000FC07F000FC07F001FC07F8 |
|
1733 03F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF0007C3F80007C0000007C0000007C0 |
|
1734 000007C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFE0000FFFE |
|
1735 0000FFFE0000FFFE0000FFFE00001F2C7F9C23>I<7FF00FE0FFF87FF8FFF8FFFCFFFBFF |
|
1736 FC7FFFFFFC00FFF8FC00FFC07800FF800000FF000000FE000000FE000000FC000000FC00 |
|
1737 0000FC000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800 |
|
1738 0000F8000000F800007FFFFC00FFFFFE00FFFFFE00FFFFFE007FFFFC001E1D7E9C23> |
|
1739 114 D<01FF9C0FFFFE1FFFFE7FFFFE7FFFFEFF00FEFC007EF8003EF8003EFC001CFE0000 |
|
1740 7FF0003FFF800FFFE007FFF8007FFC0001FE00007F70003FF8001FFC001FFC003FFE003F |
|
1741 FF80FFFFFFFEFFFFFCFFFFF8FFFFF070FF80181D7B9C23>I<0070000000F8000000F800 |
|
1742 0000F8000000F8000000F8000000F8000000F800007FFFFF80FFFFFFC0FFFFFFC0FFFFFF |
|
1743 C07FFFFF8000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800 |
|
1744 0000F8000000F8000000F8000000F8000000F801C000F803E000F803E000F803E000FC07 |
|
1745 E000FC0FE000FE1FC0007FFFC0007FFF80003FFE00000FFC000007F0001B257EA423>I< |
|
1746 FF807FC0FFC07FE0FFC07FE0FFC07FE0FFC07FE007C003E007C003E007C003E007C003E0 |
|
1747 07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0 |
|
1748 07C003E007C003E007C003E007C007E007C00FE007E03FE007FFFFFF03FFFFFF03FFFFFF |
|
1749 00FFF3FF003FC1FF201D7F9C23>I<FFF03FFCFFF03FFCFFF03FFCFFF03FFCFFF03FFC0F |
|
1750 8007C0078007800780078007C00F8003C00F0003C00F0003E01F0001E01E0001E01E0001 |
|
1751 F03E0000F03C0000F03C0000F87C000078780000787800007CF800003CF000003CF00000 |
|
1752 3FF000001FE000001FE000001FE000000FC000000780001E1D7E9C23>I<7FF07FF0FFF8 |
|
1753 FFF8FFF8FFF8FFF8FFF87FF07FF003E03E0001F03C0000F87C000078F800007CF000003F |
|
1754 E000001FE000000FC000000F800000078000000FC000001FE000003DE000003CF0000078 |
|
1755 780000F07C0001F03C0001E01E0003C01F007FF03FF8FFF87FFCFFF87FFCFFF87FFC7FF0 |
|
1756 3FF81E1D7E9C23>120 D<FFF03FFCFFF03FFCFFF03FFCFFF03FFCFFF03FFC078007C007 |
|
1757 80078007C0078003C00F8003C00F0001E00F0001E01F0001F01E0000F01E0000F01E0000 |
|
1758 F83C0000783C0000783C00003C7800003C7800003C7800001E7000001EF000000EF00000 |
|
1759 0FE000000FE0000007E0000007C0000007C0000007C0000007800000078000000F800000 |
|
1760 0F0000000F00003E1F00007F1E00007F3E00007CFC00007FFC00007FF800003FF000001F |
|
1761 E000000F8000001E2C7E9C23>I<3FFFFFF07FFFFFF87FFFFFF87FFFFFF87FFFFFF87C00 |
|
1762 0FF07C001FE07C003FC038007F800000FF000001FC000003F8000007F000000FE000001F |
|
1763 C000003F8000007F000000FE000001FC000007F800700FF000F81FE000F83FC000F87F80 |
|
1764 00F8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D1D7E9C23>I |
|
1765 E |
|
1766 %EndDVIPSBitmapFont |
|
1767 /Fu 198[25 25 25 25 25 25 25 25 25 49[{TeXBase1Encoding ReEncodeFont}9 |
|
1768 49.8132 /Times-Roman rf /Fv 134[28 22[28 40[28 28 28 |
|
1769 28 28 28 28 28 28 7[18 18 40[{TeXBase1Encoding ReEncodeFont}13 |
|
1770 55.2093 /Times-Roman rf |
|
1771 %DVIPSBitmapFont: Fw msam8 8 1 |
|
1772 /Fw 1 4 df<FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCE0000000001CE0000000001C |
|
1773 E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C |
|
1774 E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C |
|
1775 E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C |
|
1776 E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C |
|
1777 E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C |
|
1778 E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C |
|
1779 E0000000001CE0000000001CE0000000001CFFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFFC |
|
1780 2E2F7CAE37>3 D E |
|
1781 %EndDVIPSBitmapFont |
|
1782 %DVIPSBitmapFont: Fx cmr6 6 2 |
|
1783 /Fx 2 51 df<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E000 |
|
1784 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 |
|
1785 01E00001E00001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217A |
|
1786 A01E>49 D<01FC0007FF801C0FC03003E06001F06000F8F800F8FC00FCFC00FCFC007C78 |
|
1787 007C3000FC0000FC0000F80000F80001F00003E00003C0000780000F00001E0000380000 |
|
1788 700000E00001C00C03800C0600180C00181800183FFFF87FFFF8FFFFF0FFFFF016217CA0 |
|
1789 1E>I E |
|
1790 %EndDVIPSBitmapFont |
|
1791 %DVIPSBitmapFont: Fy cmr8 8 7 |
|
1792 /Fy 7 94 df<000001C001C000000001C001C000000001C001C000000003C003C0000000 |
|
1793 038003800000000380038000000003800380000000078007800000000700070000000007 |
|
1794 000700000000070007000000000F000F000000000E000E000000000E000E000000000E00 |
|
1795 0E000000001E001E000000001C001C000000001C001C000000001C001C000000003C003C |
|
1796 0000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0000070007000000000F000F000 |
|
1797 000000E000E000000000E000E000000000E000E000000000E000E000000001E001E00000 |
|
1798 0001C001C000000001C001C000000001C001C000000001C001C000000003C003C0000000 |
|
1799 038003800000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0000F000F000000000E |
|
1800 000E000000000E000E000000000E000E000000001E001E000000001C001C000000001C00 |
|
1801 1C000000001C001C000000003C003C000000003800380000000038003800000000380038 |
|
1802 0000000078007800000000700070000000007000700000000070007000000000F000F000 |
|
1803 000000E000E000000000E000E000000000E000E0000000323B7CAD3B>35 |
|
1804 D<00030007000E001C0038007000F001E001C003C0078007800F000F001E001E001E003C |
|
1805 003C003C003C0078007800780078007800F800F800F000F000F000F000F000F000F000F0 |
|
1806 00F000F000F000F800F800780078007800780078003C003C003C003C001E001E001E000F |
|
1807 000F000780078003C001C001E000F000700038001C000E0007000310437AB11B>40 |
|
1808 D<C000E000700038001C000E000F000780038003C001E001E000F000F000780078007800 |
|
1809 3C003C003C003C001E001E001E001E001E001F001F000F000F000F000F000F000F000F00 |
|
1810 0F000F000F000F001F001F001E001E001E001E001E003C003C003C003C00780078007800 |
|
1811 F000F001E001E003C0038007800F000E001C0038007000E000C00010437CB11B>I<3C7E |
|
1812 FFFFFFFF7E3C000000000000000000000000003C7EFFFFFFFF7E3C081D7A9C14>58 |
|
1813 D<FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC0000000000000000000000000000000000 |
|
1814 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
1815 00000000000000000000000000000000000000000000000000FFFFFFFFFFFCFFFFFFFFFF |
|
1816 FCFFFFFFFFFFFC2E137C9937>61 D<FFE0FFE0FFE0E000E000E000E000E000E000E000E0 |
|
1817 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 |
|
1818 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0 |
|
1819 00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000FF |
|
1820 E0FFE0FFE00B4379B114>91 D<FFE0FFE0FFE000E000E000E000E000E000E000E000E000 |
|
1821 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000 |
|
1822 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000 |
|
1823 E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0FFE0FF |
|
1824 E0FFE00B437FB114>93 D E |
|
1825 %EndDVIPSBitmapFont |
|
1826 %DVIPSBitmapFont: Fz cmsy8 8 8 |
|
1827 /Fz 8 104 df<FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02A037A9137>0 |
|
1828 D<FFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFFC0000000000000000000000000000000000 |
|
1829 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
1830 00000000000000000000000000000000000000000000000000FFFFFFFFFFFCFFFFFFFFFF |
|
1831 FCFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000 |
|
1832 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
1833 000000000000000000000000007FFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC2E237CA137 |
|
1834 >17 D<00FE0000000C03FF8000000C07FFE000000C0FFFF000000C1F83FC00000C3E00FE |
|
1835 00001C3C003F00001C78001F800038700007E00078E00003F000F0E00001FC01F0C00000 |
|
1836 FF07E0C000003FFFC0C000001FFF80C0000007FF00C0000001FC00000000000000000000 |
|
1837 00000000FE0000000C03FF8000000C07FFE000000C0FFFF000000C1F83FC00000C3E00FE |
|
1838 00001C3C003F00001C78001F800038700007E00078E00003F000F0E00001FC01F0C00000 |
|
1839 FF07E0C000003FFFC0C000001FFF80C0000007FF00C0000001FC002E227CA137>25 |
|
1840 D<0000000004000000000000000E000000000000000F0000000000000007800000000000 |
|
1841 00078000000000000003C000000000000001C000000000000001E000000000000000F000 |
|
1842 00000000000078000000000000003C0000FFFFFFFFFFFE0000FFFFFFFFFFFF0000FFFFFF |
|
1843 FFFFFF8000000000000003E000000000000001F0000000000000007C000000000000003F |
|
1844 000000000000000FE000000000000003FC00000000000001FC00000000000007E0000000 |
|
1845 0000001F800000000000007E00000000000000F800000000000001E000000000000003C0 |
|
1846 00FFFFFFFFFFFF8000FFFFFFFFFFFF0000FFFFFFFFFFFE000000000000003C0000000000 |
|
1847 00007800000000000000F000000000000001E000000000000001C000000000000003C000 |
|
1848 0000000000078000000000000007000000000000000F000000000000000E000000000000 |
|
1849 00040000003E297CA447>41 D<0000FFFFC00007FFFFC0001FFFFFC0007F80000000FC00 |
|
1850 000001F000000003C000000007800000000F000000000E000000001E000000003C000000 |
|
1851 003800000000780000000070000000007000000000F000000000E000000000E000000000 |
|
1852 E000000000FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0E000000000E000000000E000000000F0 |
|
1853 0000000070000000007000000000780000000038000000003C000000001E000000000E00 |
|
1854 0000000F00000000078000000003C000000001F000000000FC000000007F800000001FFF |
|
1855 FFC00007FFFFC00000FFFFC0222B7AA52F>50 D<00000001C000000001C000000003C000 |
|
1856 00000380000000078000000007000000000F000000000E000000001E000000003C000000 |
|
1857 00380000000078000000007000000000F000000000E000000001E000000001C000000003 |
|
1858 C00000000380000000078000000007000000000F000000000E000000001E000000003C00 |
|
1859 000000380000000078000000007000000000F000000000E000000001E000000001C00000 |
|
1860 0003C00000000380000000078000000007000000000F000000001E000000001C00000000 |
|
1861 3C00000000380000000078000000007000000000F000000000E000000001E000000001C0 |
|
1862 00000003C00000000380000000078000000007000000000F000000001E000000001C0000 |
|
1863 00003C00000000380000000078000000007000000000F000000000E00000000060000000 |
|
1864 00223D76AE00>54 D<00001F0000FF0003F0000FC0001F80001F00003F00003E00003E00 |
|
1865 003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00 |
|
1866 003E00003E00003E00003E00003E00003E00007E00007C0000FC0001F80003F0007FC000 |
|
1867 FF00007FC00003F00001F80000FC00007C00007E00003E00003E00003E00003E00003E00 |
|
1868 003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00 |
|
1869 003E00003E00003E00003F00001F00001F80000FC00003F00000FF00001F18437BB123> |
|
1870 102 D<FC0000FF80000FE00001F00000FC00007C00007E00003E00003E00003E00003E00 |
|
1871 003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00 |
|
1872 003E00003E00003E00003E00003E00001F00001F80000F800007E00001FE00007F0001FE |
|
1873 0007E0000F80001F80001F00003E00003E00003E00003E00003E00003E00003E00003E00 |
|
1874 003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00 |
|
1875 003E00007E00007C0000FC0001F0000FE000FF8000FC000018437BB123>I |
|
1876 E |
|
1877 %EndDVIPSBitmapFont |
|
1878 %DVIPSBitmapFont: FA cmmi8 8 17 |
|
1879 /FA 17 123 df<0001FC0000000FFF0000003F07C000007C03E00001F801F00C03F001F0 |
|
1880 0C07E000F80C0FC000F81C0F8000FC181F80007C183F00007C383F00007C307F00007C70 |
|
1881 7E00007C607E00007CE07E00007CC0FE00007DC0FC00007F80FC00007F00FC00007E00FC |
|
1882 00007E00FC00007C00FC00007C007C00007C007C0000FE007C0003FE0C3E00073E0C1F00 |
|
1883 1E3E1C0F81F81F3803FFE00FF000FE0003C0261F7D9D2D>11 D<00FC00000000FF000000 |
|
1884 001FC00000000FC000000007E000000007E000000007E000000003F000000003F0000000 |
|
1885 01F000000001F800000001F800000000FC00000000FC00000000FC000000007E00000000 |
|
1886 7E000000003F000000003F000000003F000000001F800000001F800000000F800000000F |
|
1887 C00000000FC00000001FE00000003FE00000007FE0000000F3F0000001E3F0000003C1F0 |
|
1888 00000781F800000F81F800001F00FC00003E00FC00007C00FC0000F8007E0001F0007E00 |
|
1889 03E0003F0007E0003F000FC0003F001F80001F803F00001F807E00001F80FC00000FC0F8 |
|
1890 000007E070000003E0232F7DAD29>21 D<3C7EFFFFFFFF7E3C08087A8714>58 |
|
1891 D<3C007E00FF00FF00FF80FF807F803D80018001800180038003000300070006000E001C |
|
1892 0038007000600009157A8714>I<003FFFFFFFFF003FFFFFFFFF0000FE00007F0000FE00 |
|
1893 001F0000FC00000F0000FC00000F0001FC0000070001FC0000060001F80000060001F800 |
|
1894 00060003F80000060003F80000060003F00000060003F00030060007F00070060007F000 |
|
1895 70000007E00060000007E000E000000FE000E000000FE001E000000FC007C000000FFFFF |
|
1896 C000001FFFFFC000001FC007C000001F80038000001F80038000003F80038000003F8003 |
|
1897 8000003F00030000003F00030000007F00030000007F00000000007E00000000007E0000 |
|
1898 000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC0000 |
|
1899 000001F80000000001F80000000003F800000000FFFFF0000000FFFFF0000000302D7DAC |
|
1900 2D>70 D<003FFFFE0000003FFFFE00000000FF0000000000FE0000000000FC0000000000 |
|
1901 FC0000000001FC0000000001FC0000000001F80000000001F80000000003F80000000003 |
|
1902 F80000000003F00000000003F00000000007F00000000007F00000000007E00000000007 |
|
1903 E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001F |
|
1904 C0000000001F80000000001F80000000003F80000000003F80000000003F00000180003F |
|
1905 00000180007F00000380007F00000300007E00000700007E0000060000FE00000E0000FE |
|
1906 00000E0000FC00001C0000FC00003C0001FC00003C0001FC0000780001F80001F80001F8 |
|
1907 0003F00003F8001FF000FFFFFFFFF000FFFFFFFFE000292D7DAC30>76 |
|
1908 D<003FFE00000001FFF0003FFE00000003FFF00000FF00000003F8000000FF00000007F8 |
|
1909 000000DF0000000DF0000000DF0000000DF0000001DF0000001BF0000001DF00000033E0 |
|
1910 0000018F80000033E00000018F80000063E00000038F800000C7E00000038F800000C7C0 |
|
1911 0000030F80000187C00000030F80000307C000000707C000030FC000000707C000060F80 |
|
1912 00000607C0000C0F8000000607C0000C0F8000000E07C000181F8000000E07C000301F00 |
|
1913 00000C03E000301F0000000C03E000601F0000001C03E000C03F0000001C03E000C03E00 |
|
1914 00001803E001803E0000001803E003003E0000003801F003007E0000003801F006007C00 |
|
1915 00003001F00C007C0000003001F00C007C0000007001F01800FC0000007001F03000F800 |
|
1916 00006001F03000F80000006000F86000F8000000E000F8C001F8000000E000F8C001F000 |
|
1917 0000C000F98001F0000000C000FB0001F0000001C000FB0003F0000001C0007E0003E000 |
|
1918 000180007C0003E0000003C0007C0003E000000FE000780007E00000FFFE007001FFFF80 |
|
1919 00FFFE003001FFFF8000442D7CAC44>I<003FFE0000FFFF003FFE0000FFFF0000FF0000 |
|
1920 07E00000FF000007C00000FF800003800000DF800003000001DFC00007000001CFC00006 |
|
1921 0000018FE0000600000187E0000600000387F0000E00000387F0000C00000303F0000C00 |
|
1922 000303F8000C00000701F8001C00000701FC001800000600FC001800000600FE00180000 |
|
1923 0E007E003800000E007F003000000C003F003000000C003F003000001C003F807000001C |
|
1924 001F8060000018001FC060000018000FC060000038000FE0E00000380007E0C000003000 |
|
1925 07F0C00000300003F0C00000700003F1C00000700003F9800000600001F9800000600001 |
|
1926 FD800000E00000FF800000E00000FF000000C000007F000000C000007F000001C000003F |
|
1927 000001C000003E0000018000003E000003C000001E00000FE000001E0000FFFE00000C00 |
|
1928 00FFFE00000C0000382D7CAC38>I<FFFFC0000FFFC0FFFFC0000FFFC007F8000001FC00 |
|
1929 03F0000000F00003F0000000E00003F0000001C00003F0000001800003F8000003000001 |
|
1930 F8000003000001F8000006000001F800000C000001F800000C000001F8000018000001FC |
|
1931 000030000000FC000030000000FC000060000000FC0000C0000000FC0000C0000000FC00 |
|
1932 0180000000FE000300000000FE0003000000007E0006000000007E000C000000007E000C |
|
1933 000000007E0018000000007F0030000000007F0030000000003F0060000000003F00C000 |
|
1934 0000003F00C0000000003F0180000000003F8300000000003F8300000000001F86000000 |
|
1935 00001F8C00000000001F8C00000000001F9800000000001FF000000000001FF000000000 |
|
1936 000FE000000000000FC000000000000FC000000000000F8000000000000F000000000000 |
|
1937 0F000000000000060000000000322E7CAC29>86 D<0007E000001FF800007C1CE000F80D |
|
1938 E001F00FE003E007E007C007E00FC007E01F8007C01F8007C03F0007C03F000FC07F000F |
|
1939 807E000F807E000F807E001F80FE001F00FC001F00FC001F00FC003F02FC003E06FC003E |
|
1940 06F8003E06F8007E0E7C00FE0C7C00FC0C7C01FC1C3E07BE181F0E1E380FFC0FF003F003 |
|
1941 C01F1F7D9D25>97 D<00F800001FF800001FF8000001F8000001F8000001F0000001F000 |
|
1942 0003F0000003F0000003E0000003E0000007E0000007E0000007C0000007C000000FC000 |
|
1943 000FC7E0000F9FF8000FB83C001FF01E001FE01F001FC01F001F800F803F000F803F000F |
|
1944 803E000F803E000F807E001F807E001F807C001F807C001F807C003F80FC003F00F8003F |
|
1945 00F8003F00F8007E00F8007E00F8007C00F800FC00F800F8007801F0007803F0007807E0 |
|
1946 003C0F80001E1F00000FFC000003F00000192F7DAD1E>I<07C01F000FF07FC01CF8E0E0 |
|
1947 3879C1E0307B87E0707F07E0607E07E060FC07E0E0FC0380C0F80000C0F8000081F80000 |
|
1948 01F8000001F0000001F0000003F0000003F0000003E0000003E0000007E0000007E00000 |
|
1949 07C0000007C000000FC000000FC000000F8000000F8000001F8000001F8000001F000000 |
|
1950 0E0000001B1F7E9D20>114 D<0007E0003FF800781E00F00601E00703C00F03C01F03C0 |
|
1951 1F07C01E07C00C07E00007F80007FF8003FFE001FFF000FFF8003FFC0001FC0000FC0000 |
|
1952 7C78003CFC003CFC003CFC007CF80078E000F8E000F06001E07807C01FFF0007F800181F |
|
1953 7C9D21>I<000E00001F00001F00003F00003F00003E00003E00007E00007E00007C0000 |
|
1954 7C0000FC0000FC00FFFFF8FFFFF801F80001F80001F00001F00003F00003F00003E00003 |
|
1955 E00007E00007E00007C00007C0000FC0000FC0000F80000F80001F80101F80301F00301F |
|
1956 00701F00601F00E01E01C01E03801F07000F0E0007FC0001F000152B7EA919>I<003F00 |
|
1957 7C0000FFC1FF0001C1E383800380F703C00700F60FC00E00FE0FC01C00FC0FC01800FC0F |
|
1958 C03800FC07003000F800003000F800002001F800000001F000000001F000000001F00000 |
|
1959 0003F000000003E000000003E000000003E000000007E001000007E003000007C0030038 |
|
1960 07C007007C0FC00600FC0FC00E00FC1FC00C00FC1BC01C00F03BE038007071E0F0003FE0 |
|
1961 FFC0000F803F0000221F7E9D28>120 D<01E0000007F8000E0E3C001F1C3E003F383E00 |
|
1962 3E303E003E703E003E607E007EE07C007CC07C007CC0FC007C80F800FC00F800F801F800 |
|
1963 F801F000F801F001F803F001F003E001F003E001F003E003F007E003E007C003E007C003 |
|
1964 E007C007E007C007C003C00FC003E01FC003E03FC001F07F80007FEF80001F8F8000001F |
|
1965 8000001F0000001F003E003E003E003E007E007C007E00F8007C01F0007003E0003007C0 |
|
1966 003C0F80000FFE000003F00000202C7E9D23>I<001E0030003F803000FFC07001FFE0E0 |
|
1967 01FFF1C003C0FFC003803F800300070007000E0000001C0000003800000070000000E000 |
|
1968 0001C0000003800000070000001E0000003800000070000000E0004001C000C0038000C0 |
|
1969 070001C00E0003800FE007801FF81F00387FFF00703FFE00601FFC00E00FF000C003C000 |
|
1970 1C1F7D9D21>I E |
|
1971 %EndDVIPSBitmapFont |
|
1972 /FB 134[33 33 48 33 37 22 26 29 37 37 33 37 55 18 2[18 |
|
1973 37 33 22 29 37 29 37 33 13[37 2[41 3[44 5[41 2[48 8[22 |
|
1974 6[33 33 33 2[17 43[37 2[{TeXBase1Encoding ReEncodeFont}34 |
|
1975 66.4176 /Times-Bold rf |
|
1976 %DVIPSBitmapFont: FC cmmi6 6 2 |
|
1977 /FC 2 64 df<000FC000007FF00001F07C0003C01E0307801E060F000F061E000F063E00 |
|
1978 0F8C3E00078C7C0007987C0007987C0007B0F80007E0F80007E0F80007C0F80007807800 |
|
1979 078078000FC078001FC23C0073C31E03E1C60FFF81FC01FC007820177E9528>11 |
|
1980 D<00080000000800000008000000080000001C0000001C0000001C0000001C0000001C00 |
|
1981 00C01C01807FBEFF001FFFFC0007FFF00001FFC000007F0000007F000000FF800000F780 |
|
1982 0001E3C00001C1C0000380E0000300600006003000040010000800080019197D9820>63 |
|
1983 D E |
|
1984 %EndDVIPSBitmapFont |
|
1985 %DVIPSBitmapFont: FD cmsy9 9 24 |
|
1986 /FD 24 118 df<7FFFFFFFFFFCFFFFFFFFFFFEFFFFFFFFFFFE7FFFFFFFFFFC2F047A943C |
|
1987 >0 D<3C7EFFFFFFFF7E3C08087A9615>I<6000000030F8000000F8FC000001F87E000003 |
|
1988 F03F000007E01F80000FC00FC0001F8007E0003F0003F0007E0001F800FC0000FC01F800 |
|
1989 007E03F000003F07E000001F8FC000000FDF80000007FF00000003FE00000001FC000000 |
|
1990 01FC00000003FE00000007FF0000000FDF8000001F8FC000003F07E000007E03F00000FC |
|
1991 01F80001F800FC0003F0007E0007E0003F000FC0001F801F80000FC03F000007E07E0000 |
|
1992 03F0FC000001F8F8000000F86000000030252475A43C>I<000E0000001F0000001F0000 |
|
1993 001F0000001F0000001F0000001F0000700E01C0F80E03E0FE0E0FE0FF0E1FE07F8E3FC0 |
|
1994 1FEEFF0003FFF80000FFE000003F8000003F800000FFE00003FFF8001FEEFF007F8E3FC0 |
|
1995 FF0E1FE0FE0E0FE0F80E03E0700E01C0001F0000001F0000001F0000001F0000001F0000 |
|
1996 001F0000000E00001B207BA226>I<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE0 |
|
1997 7FFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000 |
|
1998 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
1999 000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFF |
|
2000 FFFFFFE07FFFFFFFFFFFC000000000000000000000000000000000000000000000000000 |
|
2001 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
2002 00000000000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFF |
|
2003 E0FFFFFFFFFFFFE07FFFFFFFFFFFC033247CA43C>17 D<00003FFFFFFC0001FFFFFFFE00 |
|
2004 07FFFFFFFE001FFFFFFFFC003FE000000000FF0000000001FC0000000003F00000000007 |
|
2005 E0000000000FC0000000000F80000000001F00000000003F00000000003E00000000007C |
|
2006 00000000007C0000000000780000000000780000000000F80000000000F80000000000F0 |
|
2007 0000000000F00000000000F00000000000F00000000000F00000000000F00000000000F8 |
|
2008 0000000000F800000000007800000000007800000000007C00000000007C00000000003E |
|
2009 00000000003F00000000001F00000000000F80000000000FC00000000007E00000000003 |
|
2010 F00000000001FC0000000000FF00000000003FE0000000001FFFFFFFFC0007FFFFFFFE00 |
|
2011 01FFFFFFFE00003FFFFFFC00000000000000000000000000000000000000000000000000 |
|
2012 000000000000000000000000000000000000000000000000000000000000000000000000 |
|
2013 00000000000000000000001FFFFFFFFFFC3FFFFFFFFFFE3FFFFFFFFFFE1FFFFFFFFFFC2F |
|
2014 3E7AB03C>I<003F000000004001FFE0000000E003FFF8000000E007FFFC000000E00FFF |
|
2015 FF000000E01FFFFF800000E03FC0FFC00001E03E001FE00001C07C0007F80003C0780003 |
|
2016 FC0007C0700000FF000F80F000007FE07F80E000003FFFFF00E000001FFFFE00E0000007 |
|
2017 FFFC00E0000003FFF800E0000000FFF000400000001F800033127C9B3C>24 |
|
2018 D<007F800000004001FFE0000000E007FFF8000000E00FFFFE000000E01FFFFF800000E0 |
|
2019 3FFFFFC00001E03F807FF00001C07E001FFC0003C0780007FF000FC0700001FFC03F80F0 |
|
2020 00007FFFFF80E000003FFFFF00E000000FFFFE00E0000003FFFC00E0000000FFF0004000 |
|
2021 00003FC00000000000000000000000000000000000000000000000000000000000007F80 |
|
2022 0000004001FFE0000000E007FFF8000000E00FFFFE000000E01FFFFF800000E03FFFFFC0 |
|
2023 0001E03F807FF00001C07E001FFC0003C0780007FF000FC0700001FFC03F80F000007FFF |
|
2024 FF80E000003FFFFF00E000000FFFFE00E0000003FFFC00E0000000FFF000400000003FC0 |
|
2025 0033247CA43C>I<000000000000700000000000000000F00000000000000000F0000000 |
|
2026 0000000000F800000000000000007800000000000000007800000000000000007C000000 |
|
2027 00000000003C00000000000000003E00000000000000001F00000000000000001F000000 |
|
2028 00000000000F800000000000000007C00000000000000007E00000000000000003F00000 |
|
2029 000000000001F80000000000000000FC00000000000000007F007FFFFFFFFFFFFFFFC0FF |
|
2030 FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFC0000000000000007F0000 |
|
2031 000000000000FC0000000000000001F80000000000000003F00000000000000007E00000 |
|
2032 000000000007C0000000000000000F80000000000000001F00000000000000001F000000 |
|
2033 00000000003E00000000000000003C00000000000000007C000000000000000078000000 |
|
2034 0000000000780000000000000000F80000000000000000F00000000000000000F0000000 |
|
2035 000000000070000044287CA64D>33 D<000000F00000000000000000F000000000000000 |
|
2036 01F00000000000000003E00000000000000003C00000000000000007C000000000000000 |
|
2037 0F80000000000000000F80000000000000001F00000000000000003E0000000000000000 |
|
2038 7C0000000000000000FFFFFFFFFFFFE00001FFFFFFFFFFFFF00003FFFFFFFFFFFFF0000F |
|
2039 FFFFFFFFFFFFE0001F80000000000000007F0000000000000000FC0000000000000007F8 |
|
2040 000000000000001FE000000000000000FF8000000000000000FF80000000000000001FE0 |
|
2041 0000000000000007F80000000000000000FC00000000000000007F00000000000000001F |
|
2042 80000000000000000FFFFFFFFFFFFFE00003FFFFFFFFFFFFF00001FFFFFFFFFFFFF00000 |
|
2043 FFFFFFFFFFFFE000007C00000000000000003E00000000000000001F0000000000000000 |
|
2044 0F80000000000000000F800000000000000007C00000000000000003C000000000000000 |
|
2045 03E00000000000000001F00000000000000000F00000000000000000F00000000000442A |
|
2046 7CA74D>40 D<0000000000F00000000000000000F00000000000000000F8000000000000 |
|
2047 00007C00000000000000003C00000000000000003E00000000000000001F000000000000 |
|
2048 00001F00000000000000000F800000000000000007C00000000000000003E000007FFFFF |
|
2049 FFFFFFF00000FFFFFFFFFFFFF80000FFFFFFFFFFFFFC00007FFFFFFFFFFFFF0000000000 |
|
2050 0000001F80000000000000000FE00000000000000003F00000000000000001FE00000000 |
|
2051 000000007F80000000000000001FF0000000000000001FF0000000000000007F80000000 |
|
2052 00000001FE0000000000000003F0000000000000000FE0000000000000001F80007FFFFF |
|
2053 FFFFFFFF0000FFFFFFFFFFFFFC0000FFFFFFFFFFFFF800007FFFFFFFFFFFF00000000000 |
|
2054 000003E00000000000000007C0000000000000000F80000000000000001F000000000000 |
|
2055 00001F00000000000000003E00000000000000003C00000000000000007C000000000000 |
|
2056 0000F80000000000000000F00000000000000000F0000000442A7CA74D>I<00003FFFF8 |
|
2057 0001FFFFFC0007FFFFFC001FFFFFF8003FE0000000FF00000001FC00000003F000000007 |
|
2058 E00000000FC00000000F800000001F000000003F000000003E000000007C000000007C00 |
|
2059 00000078000000007800000000F800000000F800000000F000000000FFFFFFFFF8FFFFFF |
|
2060 FFFCFFFFFFFFFCFFFFFFFFF8F000000000F800000000F800000000780000000078000000 |
|
2061 007C000000007C000000003E000000003F000000001F000000000F800000000FC0000000 |
|
2062 07E000000003F000000001FC00000000FF000000003FE00000001FFFFFF80007FFFFFC00 |
|
2063 01FFFFFC00003FFFF8262E7AA933>50 D<0000000030000000007800000000F800000000 |
|
2064 F800000001F000000001F000000003E000000003E000000007C000000007C00000000F80 |
|
2065 0000000F800000001F000000001F000000003E000000003E000000007C000000007C0000 |
|
2066 0000F800000000F800000001F000000001F000000003E000000003E000000007C0000000 |
|
2067 07C00000000F800000000F800000001F000000001F000000003E000000003E000000007C |
|
2068 000000007C00000000F800000000F800000001F000000001F000000003E000000003E000 |
|
2069 000007C000000007C00000000F800000000F800000001F000000001F000000003E000000 |
|
2070 003E000000007C000000007C00000000F800000000F800000001F000000001F000000003 |
|
2071 E000000003E000000007C000000007C00000000F800000000F800000001F000000001F00 |
|
2072 0000003E000000003E000000007C000000007C00000000F800000000F800000000F00000 |
|
2073 00006000000000254675B500>54 D<F0F0F0F0F0F0F0F0F0F0F0F0F8FCFCF8F0F0F0F0F0 |
|
2074 F0F0F0F0F0F0F0061C7CA000>I<600000000180F000000003C0F800000007C0F8000000 |
|
2075 07C07800000007807C0000000F807C0000000F803C0000000F003E0000001F003E000000 |
|
2076 1F001F0000003E001F0000003E000F0000003C000F8000007C000F8000007C0007C00000 |
|
2077 F80007C00000F80003C00000F00003FFFFFFF00003FFFFFFF00001FFFFFFE00001FFFFFF |
|
2078 E00001F00003E00000F80007C00000F80007C000007800078000007C000F8000007C000F |
|
2079 8000003C000F0000003E001F0000003E001F0000001F003E0000001F003E0000000F003C |
|
2080 0000000F807C0000000F807C00000007807800000007C0F800000007C0F800000003E1F0 |
|
2081 00000003E1F000000001E1E000000001F3E000000001F3E000000000FFC000000000FFC0 |
|
2082 000000007F80000000007F80000000007F80000000003F00000000003F00000000003F00 |
|
2083 000000001E00000000000C0000002A3680B32B>I<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0 |
|
2084 7FFFFFFFC000000003C000000003C000000003C000000003C000000003C000000003C000 |
|
2085 000003C000000003C000000003C000000003C000000003C000000003C000000003C00000 |
|
2086 0003C000000003C000000003C000000003C000000003C000000003C000000003C03FFFFF |
|
2087 FFC07FFFFFFFC07FFFFFFFC03FFFFFFFC000000003C000000003C000000003C000000003 |
|
2088 C000000003C000000003C000000003C000000003C000000003C000000003C000000003C0 |
|
2089 00000003C000000003C000000003C000000003C000000003C000000003C000000003C000 |
|
2090 000003C000000003C07FFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022347CB32B>I< |
|
2091 7FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC07FFFFFFFFFC00000000003C00000000003C0 |
|
2092 0000000003C00000000003C00000000003C00000000003C00000000003C00000000003C0 |
|
2093 0000000003C00000000003C00000000003C00000000003C00000000003C00000000003C0 |
|
2094 0000000003C00000000003C00000000001802A157C9A33>I<600000000180F000000003 |
|
2095 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 |
|
2096 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 |
|
2097 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 |
|
2098 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 |
|
2099 C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003 |
|
2100 C0F000000003C0F000000003C0F800000007C0F800000007C07C0000000F807C0000000F |
|
2101 803E0000001F003F0000003F001F8000007E000FE00001FC0007F80007F80001FF807FE0 |
|
2102 0000FFFFFFC000003FFFFF0000000FFFFC00000000FFC000002A307CAD33>91 |
|
2103 D<00000C00000000001E00000000003F00000000003F00000000007F80000000007F8000 |
|
2104 0000007F8000000000FFC000000000FFC000000001F3E000000001F3E000000003E1F000 |
|
2105 000003E1F000000003C0F000000007C0F800000007C0F80000000F807C0000000F807C00 |
|
2106 00001F003E0000001F003E0000001E001E0000003E001F0000003E001F0000007C000F80 |
|
2107 00007C000F800000F80007C00000F80007C00000F00003C00001F00003E00001F00003E0 |
|
2108 0003E00001F00003E00001F00007C00000F80007C00000F8000780000078000F8000007C |
|
2109 000F8000007C001F0000003E001F0000003E003E0000001F003E0000001F003C0000000F |
|
2110 007C0000000F807C0000000F80F800000007C0F800000007C0F000000003C06000000001 |
|
2111 802A307CAD33>94 D<000007E000003FE00000FE000003F8000007F000000FE000000FC0 |
|
2112 00001FC000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2113 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2114 00001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F0000007E00 |
|
2115 0000FC000003F800007FE00000FF0000007FE0000003F8000000FC0000007E0000003F00 |
|
2116 00003F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2117 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2118 00001F8000001F8000001F8000001F8000001F8000001F8000001FC000000FC000000FE0 |
|
2119 000007F0000003F8000000FE0000003FE0000007E01B4B7BB726>102 |
|
2120 D<FC000000FFC0000007F0000001FC000000FE0000007F0000003F0000003F8000001F80 |
|
2121 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2122 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2123 00001F8000001F8000001F8000001F8000001FC000000FC0000007E0000003F0000001FC |
|
2124 0000007FC000001FE000007FC00001FC000003F0000007E000000FC000001FC000001F80 |
|
2125 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2126 00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80 |
|
2127 00001F8000001F8000001F8000001F8000003F8000003F0000007F000000FE000001FC00 |
|
2128 0007F00000FFC00000FC0000001B4B7BB726>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 |
|
2129 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 |
|
2130 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F060044B78B715>106 |
|
2131 D<6000000006F00000000FF00000000FF00000000FF00000000FF00000000FF00000000F |
|
2132 F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0 |
|
2133 0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000 |
|
2134 00000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000 |
|
2135 000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000 |
|
2136 0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FFFFFFFFFFF |
|
2137 FFFFFFFFFFFFFFFFFFFF7FFFFFFFFE282E7BAD33>116 D<7FFFFFFFFEFFFFFFFFFFFFFF |
|
2138 FFFFFFFFFFFFFFFFF00000000FF00000000FF00000000FF00000000FF00000000FF00000 |
|
2139 000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000 |
|
2140 0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F |
|
2141 F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0 |
|
2142 0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000 |
|
2143 00000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F600000 |
|
2144 0006282E7BAD33>I E |
|
2145 %EndDVIPSBitmapFont |
|
2146 /FE 134[35 35 53 35 39 22 31 31 39 39 39 39 57 22 35 |
|
2147 22 22 39 39 22 35 39 35 39 39 12[44 3[48 6[26 1[57 48 |
|
2148 48 1[53 48 48 6[26 7[39 39 2[20 26 20 2[26 26 26 36[39 |
|
2149 2[{TeXBase1Encoding ReEncodeFont}44 78.8709 /Times-Italic |
|
2150 rf /FF 75[22 29[33 1[29 29 24[29 33 33 48 33 33 18 26 |
|
2151 22 33 33 33 33 52 18 33 18 18 33 33 22 29 33 29 33 29 |
|
2152 3[22 1[22 41 48 48 63 48 48 41 37 44 48 37 48 48 59 41 |
|
2153 48 26 22 48 48 37 41 48 44 44 48 61 5[18 33 33 33 33 |
|
2154 33 33 33 33 33 33 18 17 22 17 2[22 22 22 36[37 2[{ |
|
2155 TeXBase1Encoding ReEncodeFont}78 66.4176 /Times-Roman |
|
2156 rf |
|
2157 %DVIPSBitmapFont: FG cmmi9 9 31 |
|
2158 /FG 31 123 df<00007F0000000003FFE00000000FC0F80000003F007C0000007C007E00 |
|
2159 6000F8003F006001F0003F00E003E0001F80C007E0001F80C00FC0001F81C00FC0001FC1 |
|
2160 801F80000FC1803F80000FC3803F00000FC3003F00000FC7007F00000FC6007E00000FCE |
|
2161 007E00000FDC007E00000FD8007E00000FF800FC00000FF000FC00000FE000FC00000FC0 |
|
2162 007C00000FC0007C00000FC0007C00000FC0007C00001FC0003E00003FC0003E000077C0 |
|
2163 C01F0001E7E0C00F800783E1C007C07E03E38001FFF801FF00007F80007C002B227EA031 |
|
2164 >11 D<007C000000007F800000001FE00000000FE000000007F000000007F000000003F8 |
|
2165 00000003F800000003F800000001FC00000001FC00000001FC00000000FE00000000FE00 |
|
2166 000000FF000000007F000000007F000000003F800000003F800000003F800000001FC000 |
|
2167 00001FC00000001FE00000000FE00000000FE000000007F000000007F000000007F00000 |
|
2168 0007F80000000FF80000001FF80000003DFC00000079FC000000F8FE000001F0FE000003 |
|
2169 E0FE000007C07F00000F807F00001F007F00003E003F80007E003F8000FC003FC001F800 |
|
2170 1FC003F0001FC007E0000FE01FC0000FE03FC0000FE07F800007F0FF000007F0FE000007 |
|
2171 F8FC000003F8F8000001FCF0000000FC26357CB32D>21 D<003FFFFFFF8000FFFFFFFFC0 |
|
2172 03FFFFFFFFC007FFFFFFFF800FFFFFFFFF001F00C01800001C00C03800003801C0380000 |
|
2173 7001C0300000600180300000E00380300000000380700000000380700000000700700000 |
|
2174 000700700000000F00700000000F00F00000000E00F00000001E00F00000001E00F00000 |
|
2175 003E00F80000003C00F80000007C00F80000007C00F8000000FC00F8000000F800FC0000 |
|
2176 00F800FC000001F800FE000001F800FE000003F000FE000003F0007E000003F0007E0000 |
|
2177 01C0003800002A217E9F2C>25 D<3C7EFFFFFFFF7E3C08087A8715>58 |
|
2178 D<3C007E00FF00FF00FF80FF807F803D800180018001800180038003000300070006000E |
|
2179 000C001C0038007000600009177A8715>I<000030000000003000000000300000000030 |
|
2180 000000003000000000780000000078000000007800000000780000000078000000007800 |
|
2181 0000007800000000780000F00078003CFF807807FC1FFCFCFFE007FFFFFF8001FFFFFE00 |
|
2182 007FFFF800001FFFE0000003FF00000003FF00000003FF00000007FF80000007FF800000 |
|
2183 0FCFC000000F87C000001F03E000003E01F000003C00F0000078007800007000380000F0 |
|
2184 003C0001E0001E0001C0000E000180000600262480A426>63 D<00000000030000000000 |
|
2185 00070000000000000F0000000000000F0000000000001F8000000000001F800000000000 |
|
2186 3F8000000000007F8000000000007F800000000000FF800000000000FF800000000001BF |
|
2187 8000000000033F8000000000033FC000000000063FC000000000061FC0000000000C1FC0 |
|
2188 00000000181FC000000000181FC000000000301FC000000000701FC000000000601FC000 |
|
2189 000000C01FC000000000C01FE000000001801FE000000003800FE000000003000FE00000 |
|
2190 0006000FE000000006000FE00000000C000FE00000001C000FE000000018000FE0000000 |
|
2191 30000FF000000030000FF00000007FFFFFF0000000FFFFFFF0000000FFFFFFF000000180 |
|
2192 0007F0000001800007F0000003000007F0000006000007F0000006000007F800000C0000 |
|
2193 07F800000C000003F8000018000003F8000030000003F8000070000003F8000060000003 |
|
2194 F80000E0000003F80001E0000003F80007F0000007FC00FFFF0001FFFFF0FFFF0001FFFF |
|
2195 F0FFFE0001FFFFF034367DB53A>65 D<000FFFFFFFFFFC000FFFFFFFFFFC000FFFFFFFFF |
|
2196 F800003FC00007F800003FC00000F800003FC000007800003F8000007800003F80000038 |
|
2197 00007F8000003800007F8000003000007F0000003000007F000000300000FF0000003000 |
|
2198 00FF000000300000FE000000300000FE000600300001FE000E00700001FE000C00600001 |
|
2199 FC000C00000001FC000C00000003FC001C00000003FC003800000003F8003800000003F8 |
|
2200 00F800000007FFFFF800000007FFFFF800000007FFFFF000000007F001F00000000FF000 |
|
2201 F00000000FF000600000000FE000600000000FE000600000001FE000E00000001FE000C0 |
|
2202 0000001FC000C00000001FC000C00000003FC000000000003FC000000000003F80000000 |
|
2203 00003F8000000000007F8000000000007F8000000000007F0000000000007F0000000000 |
|
2204 00FF000000000000FF000000000000FE000000000001FF0000000000FFFFFF00000000FF |
|
2205 FFFF00000000FFFFFF0000000036337DB231>70 D<000FFFFFF000000FFFFFF000000FFF |
|
2206 FFF00000003FE0000000003FC0000000003FC0000000003F80000000003F80000000007F |
|
2207 80000000007F80000000007F00000000007F0000000000FF0000000000FF0000000000FE |
|
2208 0000000000FE0000000001FE0000000001FE0000000001FC0000000001FC0000000003FC |
|
2209 0000000003FC0000000003F80000000003F80000000007F80000000007F80000000007F0 |
|
2210 0000000007F0000000000FF0000000000FF0000000000FE0000000000FE000000C001FE0 |
|
2211 00001C001FE0000018001FC0000018001FC0000038003FC0000030003FC0000070003F80 |
|
2212 000070003F800000E0007F800000E0007F800001E0007F000003C0007F000007C000FF00 |
|
2213 000F8000FF00001F8000FE00007F8001FE0003FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFF |
|
2214 FFFE002E337DB234>76 D<000FFFE00000000FFFC0000FFFE00000001FFFC0000FFFE000 |
|
2215 00003FFFC000003FE00000003FE00000003FE00000007FC00000003FE0000000DFC00000 |
|
2216 0033F0000000DF8000000033F00000019F8000000073F00000033F8000000073F0000003 |
|
2217 3F0000000063F00000063F0000000063F000000C3F00000000E3F000000C7F00000000E1 |
|
2218 F80000187E00000000C1F80000187E00000000C1F80000307E00000001C1F8000060FE00 |
|
2219 000001C1F8000060FC0000000181F80000C0FC0000000181F8000180FC0000000381F800 |
|
2220 0181FC0000000380FC000301F80000000300FC000301F80000000300FC000601F8000000 |
|
2221 0700FC000C03F80000000700FC000C03F00000000600FC001803F00000000600FC003003 |
|
2222 F00000000E007E003007F00000000E007E006007E00000000C007E00C007E00000000C00 |
|
2223 7E00C007E00000001C007E01800FE00000001C007E01800FC000000018007E03000FC000 |
|
2224 000018007E06000FC000000038003F06001FC000000038003F0C001F8000000030003F18 |
|
2225 001F8000000030003F18001F8000000070003F30003F8000000070003F30003F00000000 |
|
2226 60003F60003F0000000060001FC0003F00000000E0001FC0007F00000000E0001F80007E |
|
2227 00000001E0001F00007E00000007F0001F0000FE000000FFFF801E007FFFFC0000FFFF80 |
|
2228 1C007FFFFC0000FFFF800C007FFFFC00004A337CB24A>I<000FFFE00001FFFF000FFFE0 |
|
2229 0001FFFF000FFFF00001FFFF00001FF000000FE000003FF80000078000003FF800000700 |
|
2230 000033FC00000600000033FC00000600000071FE00000E00000071FE00000C00000060FE |
|
2231 00000C00000060FF00000C000000E07F00001C000000E07F800018000000C03F80001800 |
|
2232 0000C03FC00018000001C03FC00038000001C01FE00030000001801FE00030000001800F |
|
2233 F00030000003800FF000700000038007F800600000030007F800600000030003F8006000 |
|
2234 00070003FC00E00000070001FC00C00000060001FE00C00000060000FE00C000000E0000 |
|
2235 FF01C000000E0000FF018000000C00007F818000000C00007F818000001C00003FC38000 |
|
2236 001C00003FC30000001800001FE30000001800001FE30000003800000FF7000000380000 |
|
2237 0FF600000030000007F600000030000007FE00000070000003FE00000070000003FC0000 |
|
2238 0060000001FC00000060000001FC000000E0000001FC000000E0000000F8000001E00000 |
|
2239 00F8000007F0000000780000FFFF800000780000FFFF800000300000FFFF800000300000 |
|
2240 40337DB23D>I<000FFFFFFFF000000FFFFFFFFE00000FFFFFFFFF0000003FC0007FC000 |
|
2241 003FC0001FE000003FC00007F000003F800007F000003F800003F800007F800003F80000 |
|
2242 7F800003F800007F000003FC00007F000003FC0000FF000003FC0000FF000007F80000FE |
|
2243 000007F80000FE000007F80001FE000007F00001FE00000FF00001FC00000FE00001FC00 |
|
2244 001FC00003FC00003F800003FC00007F000003F80000FE000003F80003FC000007F8001F |
|
2245 F0000007FFFFFFC0000007FFFFFE00000007F000000000000FF000000000000FF0000000 |
|
2246 00000FE000000000000FE000000000001FE000000000001FE000000000001FC000000000 |
|
2247 001FC000000000003FC000000000003FC000000000003F8000000000003F800000000000 |
|
2248 7F8000000000007F8000000000007F0000000000007F000000000000FF000000000000FF |
|
2249 000000000000FE000000000001FE0000000000FFFFFC00000000FFFFFC00000000FFFFFC |
|
2250 0000000036337DB231>80 D<000000FF0018000007FFE03800001FFFF87800007F00FCF8 |
|
2251 0000FC001FF00001F0000FF00003E00007F00007C00003F0000F800003E0000F800003E0 |
|
2252 001F000001E0001F000001E0003E000001C0003E000001C0003E000001C0007E000001C0 |
|
2253 007E00000180007E00000180007F00000000007F80000000007FC0000000003FF0000000 |
|
2254 003FFF000000003FFFF00000001FFFFE0000000FFFFF80000007FFFFC0000003FFFFE000 |
|
2255 0000FFFFF00000000FFFF800000000FFF8000000000FF80000000007FC0000000003FC00 |
|
2256 00000001FC0000000000FC0000000000FC000C000000FC000C000000FC001C000000F800 |
|
2257 18000000F80018000000F80018000001F80038000001F0003C000003F0003C000003E000 |
|
2258 3C000007C0007E00000F80007F00001F80007F80003F00007BE0007C0000F9FC03F80000 |
|
2259 F07FFFE00000E01FFF800000C003FE0000002D377CB42F>83 D<FFFFF00001FFFCFFFFF0 |
|
2260 0001FFFCFFFFF00001FFFC03FE0000003F8003FC0000001E0003FC0000001C0003FC0000 |
|
2261 00380001FC000000300001FC000000700001FC000000600001FC000000C00001FC000000 |
|
2262 C00001FC000001800001FE000003000000FE000003000000FE000006000000FE00000C00 |
|
2263 0000FE00000C000000FE000018000000FE000038000000FF000030000000FF0000600000 |
|
2264 007F0000E00000007F0000C00000007F0001800000007F0001800000007F000300000000 |
|
2265 7F8006000000007F8006000000003F800C000000003F8018000000003F8018000000003F |
|
2266 8030000000003F8070000000003FC060000000003FC0C0000000001FC1C0000000001FC1 |
|
2267 80000000001FC300000000001FC300000000001FC600000000001FEC00000000001FEC00 |
|
2268 000000000FF800000000000FF800000000000FF000000000000FE000000000000FE00000 |
|
2269 0000000FC000000000000F80000000000007800000000000070000000000000600000000 |
|
2270 0036357CB22D>86 D<0003FFFFC007FFFC0007FFFFC007FFFC0007FFFFC007FFFC00000F |
|
2271 FC0000FF8000000FF80000FC00000007F80000F000000007F80000E000000003FC0001C0 |
|
2272 00000003FC00038000000001FC00070000000001FE000E0000000001FE001C0000000000 |
|
2273 FF00380000000000FF007000000000007F806000000000007F80C000000000003F818000 |
|
2274 000000003FC30000000000003FC60000000000001FEC0000000000001FF8000000000000 |
|
2275 0FF00000000000000FF000000000000007F000000000000007F800000000000007F80000 |
|
2276 0000000007FC0000000000000FFC0000000000001DFE00000000000039FE000000000000 |
|
2277 70FE000000000000E0FF000000000001C0FF000000000003807F800000000003007F8000 |
|
2278 00000006003FC0000000000C003FC00000000018001FC00000000030001FE00000000060 |
|
2279 001FE000000000C0000FF00000000180000FF000000003000007F800000006000007F800 |
|
2280 00000E000003F80000003C000003FC0000007C000003FC000003FE000007FE0000FFFFC0 |
|
2281 007FFFFC00FFFFC0007FFFFC00FFFFC0007FFFF8003E337EB23F>88 |
|
2282 D<0001F800000007FE0000001F071C00007C03FE0000F801FE0001F001FE0003F000FE00 |
|
2283 07E000FC0007C000FC000FC000FC001F8001FC001F8001F8003F0001F8003F0001F8003F |
|
2284 0003F8007F0003F0007E0003F0007E0003F0007E0007F000FE0007E000FC0007E000FC00 |
|
2285 07E040FC000FE060FC000FC0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F |
|
2286 81803E00EF83801E01C7C3000F0787C70007FE03FE0000F800F80023227EA029>97 |
|
2287 D<003F00001FFF00001FFF00001FFE000000FE000000FE000000FE000000FC000000FC00 |
|
2288 0001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F0000007F000 |
|
2289 0007F0000007E0F80007E3FF000FEF07800FFC03C00FF803E00FF001E01FE001F01FC001 |
|
2290 F01F8001F01F8001F83F8001F83F8001F83F0001F83F0001F87F0003F87F0003F07E0003 |
|
2291 F07E0003F07E0007F0FE0007E0FC0007E0FC0007E0FC000FC0FC000FC0FC001F807C001F |
|
2292 007C003F007C007E003C007C003E00F8001E01F0000F07C00007FF000000FC00001D357E |
|
2293 B321>I<00007F000003FFC0000FC0F0003F0038007C003800F800F801F001F803E003F8 |
|
2294 07E003F80FC003F80F8001F01F8000003F8000003F0000003F0000007F0000007E000000 |
|
2295 7E0000007E0000007E000000FC000000FC000000FC0000007C0000007C00000C7C00001C |
|
2296 7C0000383E0000703E0000E01F0003C00F800F0007C07E0001FFF000007F80001E227EA0 |
|
2297 21>I<00000001F8000000FFF8000000FFF8000000FFF000000007F000000007F0000000 |
|
2298 07F000000007E000000007E00000000FE00000000FE00000000FC00000000FC00000001F |
|
2299 C00000001FC00000001F800000001F800000003F800000003F800001F83F000007FE3F00 |
|
2300 001F077F00007C03FF0000F801FE0001F001FE0003F000FE0007E000FE0007C000FC000F |
|
2301 C000FC001F8001FC001F8001FC003F0001F8003F0001F8003F0003F8007F0003F8007E00 |
|
2302 03F0007E0003F0007E0007F000FE0007F000FC0007E000FC0007E040FC000FE060FC000F |
|
2303 E0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F81803E00EF83801E01C7C3 |
|
2304 000F0787C70007FE03FE0000F800F80025357EB328>I<0000FE000007FF80001F03C000 |
|
2305 7C01E001F800E003F000E007E000E00FC000E01F8000E01F8001E03F0001C03F0003C07E |
|
2306 000F807E00FE007FFFF800FFFF8000FC000000FC000000FC000000FC000000F8000000F8 |
|
2307 000000F8000000F8000000F8000018FC0000387C0000707C0000E03C0001C03E0007801F |
|
2308 001E000F80FC0003FFE00000FF00001D227DA024>I<0000000F800000003FE000000078 |
|
2309 70000001F0F8000001E3F8000003E3F8000003E3F8000007E3F0000007E3F000000FC1C0 |
|
2310 00000FC00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000 |
|
2311 001F800000001F800000003F800000003F0000001FFFFF80003FFFFF80003FFFFF000000 |
|
2312 7F000000007E000000007E000000007E000000007E00000000FE00000000FC00000000FC |
|
2313 00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800 |
|
2314 000001F800000003F800000003F000000003F000000003F000000003F000000007F00000 |
|
2315 0007E000000007E000000007E000000007E00000000FE00000000FC00000000FC0000000 |
|
2316 0FC00000000FC00000000F800000001F800000001F800000001F0000001C1F0000007F1E |
|
2317 0000007F3E0000007F3E000000FE3C000000FE78000000787800000070F00000003FC000 |
|
2318 00000F8000000025457CB425>I<0001C00007E00007F0000FF0000FE00007E000038000 |
|
2319 000000000000000000000000000000000000000000000000000000000000F00003FC0007 |
|
2320 1E000E1F001C1F00381F00301F80303F00703F00603F00607F00E07E0040FE0000FE0000 |
|
2321 FC0001FC0001F80001F80003F80003F00007F00007F02007E0700FE0600FC0600FC0E00F |
|
2322 C0C01F80C00F81C00F83800F8700078E0003FC0000F00014337EB11A>105 |
|
2323 D<001F001F00007FC07FE000E3E1E0F000C3E3807801C1F7007C0181FE003C0183FC003E |
|
2324 0383F8003E0303F0003E0303F0003F0707F0003F0607F0003F0207E0003F0007E0003F00 |
|
2325 0FE0007F000FE0007E000FC0007E000FC0007E001FC000FE001FC000FC001F8000FC001F |
|
2326 8000FC003F8001F8003F8001F8003F0003F0003F0003E0007F0007E0007F000FC0007F80 |
|
2327 0F80007F801F0000FFC03E0000FEE0F80000FC7FE00000FC1F800001FC00000001FC0000 |
|
2328 0001F800000001F800000003F800000003F800000003F000000003F000000007F0000000 |
|
2329 07F000000007E0000000FFFF800000FFFF800000FFFF800000283083A027>112 |
|
2330 D<0001F8030007FE07001F071F007C03BF00F801BE01F001FE03F000FE07E000FE07C000 |
|
2331 FC0FC000FC1F8000FC1F8001FC3F0001F83F0001F83F0001F87F0003F87E0003F07E0003 |
|
2332 F07E0003F0FE0007F0FC0007E0FC0007E0FC0007E0FC000FE0FC000FC07C000FC07C001F |
|
2333 C07C003FC03C007F803E00FF801E01DF800F07BF8007FE3F0000F83F0000003F0000007F |
|
2334 0000007E0000007E0000007E000000FE000000FC000000FC000001FC000001FC000001F8 |
|
2335 00007FFFE000FFFFE000FFFFE020307EA022>I<03E003E00FF81FF81C7C3C1C187C703E |
|
2336 383EE0FE303FC0FE307F80FE707F00FC607E00FC607E0070E07E0000C0FE000040FC0000 |
|
2337 00FC000000FC000001FC000001F8000001F8000001F8000003F8000003F0000003F00000 |
|
2338 03F0000007F0000007E0000007E0000007E000000FE000000FC000000FC000000FC00000 |
|
2339 1FC000001F800000070000001F227EA023>I<0001FC00000FFF00003E03C0007800E000 |
|
2340 F0006001E001E001E003E003E007E003C007E003E007E003E0038003F0000003FF000003 |
|
2341 FFF00003FFFC0001FFFE0000FFFF00007FFF80000FFF8000007FC000001FC000000FC07E |
|
2342 0007C0FE000780FE000780FE000780FE000F00FC000F00C0001E00E0003C00700078003C |
|
2343 01F0000FFFC00003FE00001B227CA024>I<000380000FC0000FC0000FC0001FC0001FC0 |
|
2344 001F80001F80003F80003F80003F00003F00007F00007F00007E007FFFFE7FFFFEFFFFFE |
|
2345 00FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F000 |
|
2346 07E00007E0000FE0000FE0000FC0000FC0081FC01C1FC0181F80181F80381F80701F8060 |
|
2347 1F00E01F01C00F83800F870007FE0001F80017307FAE1C>I<00F0000E0003FC001F0007 |
|
2348 1E003F800E1F003F801C1F003F80381F801F80301F800F80303F800780703F000780603F |
|
2349 000380607F000380E07E000300407E00030000FE00030000FC00070001FC00060001F800 |
|
2350 060001F800060001F8000E0003F8000C0003F0000C0003F0001C0003F000180003F00038 |
|
2351 0003E000300003E000700003E000600003F000E00003F001C00001F003800001F8070000 |
|
2352 00FC1E0000003FF800000007E0000021227EA025>118 D<001F801F80007FE07FE000E0 |
|
2353 F0E07001C0F9C0F803807D83F807007F83F80E007F03F80C007F03F01C007E03F018007E |
|
2354 01C01800FE00003800FC00001000FC00000000FC00000001FC00000001F800000001F800 |
|
2355 000001F800000003F800000003F800000003F000000003F000400007F000E00007F000C0 |
|
2356 1C07E000C07E07E001C07E0FE00180FE0FE00380FE1FE00700FE1BE00E00F839F01C0070 |
|
2357 70F878003FE07FE0000F801F800025227EA02C>120 D<00F000000003FC0001C0071E00 |
|
2358 03E00E1F0007E01C1F0007E0381F8007E0301F800FE0303F800FC0703F000FC0603F000F |
|
2359 C0607F001FC0E07E001F80407E001F8000FE001F8000FC003F8001FC003F0001F8003F00 |
|
2360 01F8003F0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0003F000FC0003 |
|
2361 E000FC0003E000FC0003E001FC0003E001F80003F003F80003F007F80001F00FF80000F8 |
|
2362 3FF000003FFBF000000FC3F000000007F000000007E000000007E00007000FE0001F800F |
|
2363 C0003F801F80003F801F80003F803F00003F007E00003E007C00003800F800001803F000 |
|
2364 001E07C0000007FF00000001F800000023317EA026>I<00078003001FE007003FF00600 |
|
2365 7FF80E00FFFC1C01FFFE7801E03FF0038001F0030000E0030001C0000003800000070000 |
|
2366 000E0000003C00000070000000E0000001C0000003800000070000000E0000003C000000 |
|
2367 70000C00E0001C01C0001803800038070000780EC000F00FFE03F01F3FFFE0381FFFC070 |
|
2368 0FFF806007FF00E003FE00C000F00020227DA024>I E |
|
2369 %EndDVIPSBitmapFont |
|
2370 /FH 138[60 1[42 1[60 1[54 60 90 30 2[30 60 2[48 1[48 |
|
2371 60 54 12[72 4[84 78 1[72 2[42 84 24[30 47[{ |
|
2372 TeXBase1Encoding ReEncodeFont}20 107.929 /Times-Bold |
|
2373 rf /FI 87[26 16[79 39 1[35 35 24[35 39 39 57 39 39 22 |
|
2374 31 26 39 39 39 39 61 22 39 22 22 39 39 26 35 39 35 39 |
|
2375 35 3[26 1[26 3[74 1[57 48 44 53 1[44 57 57 70 48 57 31 |
|
2376 26 57 57 44 48 57 53 53 57 1[35 3[22 22 39 39 39 39 39 |
|
2377 39 39 39 39 39 22 20 26 20 2[26 26 26 5[26 15[22 13[44 |
|
2378 44 2[{TeXBase1Encoding ReEncodeFont}78 78.8709 /Times-Roman |
|
2379 rf /FJ 134[39 39 57 39 44 26 31 35 44 44 39 44 66 22 |
|
2380 44 1[22 44 39 26 35 44 35 44 39 9[79 1[57 53 44 57 1[48 |
|
2381 1[57 1[53 61 1[31 2[48 53 57 57 53 57 6[26 39 39 39 39 |
|
2382 39 39 39 39 39 39 1[20 26 20 2[26 26 26 36[44 2[{ |
|
2383 TeXBase1Encoding ReEncodeFont}58 78.8709 /Times-Bold |
|
2384 rf end |
|
2385 %%EndProlog |
|
2386 %%BeginSetup |
|
2387 %%Feature: *Resolution 600dpi |
|
2388 TeXDict begin |
|
2389 %%PaperSize: A4 |
|
2390 end |
|
2391 %%EndSetup |
|
2392 %%Page: 1 1 |
|
2393 TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray |
|
2394 1 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray |
|
2395 0 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray |
|
2396 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray |
|
2397 0 TeXcolorgray 0 TeXcolorgray 0.25 TeXcolorgray 0 TeXcolorgray |
|
2398 0.5 TeXcolorgray 0 TeXcolorgray 0 -175 2881 4 v 0 35 |
|
2399 4 211 v 28 -96 a FJ(Noname)20 b(manuscript)g(No.)28 -7 |
|
2400 y FI(\(will)g(be)g(inserted)h(by)f(the)g(editor\))p 2878 |
|
2401 35 V 0 38 2881 4 v 0 154 2881 9 v 0 514 a FH(Nominal)27 |
|
2402 b(T)-10 b(echniques)27 b(in)g(Isabelle/HOL)1709 478 y |
|
2403 FG(?)0 753 y FJ(Christian)20 b(Urban)0 1495 y FF(Recei)n(v)o(ed:)h |
|
2404 (date)d(/)f(Accepted:)j(date)p 0 TeXcolorgray 0 1760 |
|
2405 a FJ(Abstract)p 0 TeXcolorgray 39 w FI(This)g(paper)h(describes)f(a)g |
|
2406 (formalisation)i(of)e(the)h(lambda-calculus)g(in)g(a)e(HOL-based)i |
|
2407 (the-)0 1855 y(orem)d(pro)o(v)o(er)h(using)f(nominal)h(techniques.)g |
|
2408 (Central)e(to)h(the)f(formalisation)i(is)e(an)h(inducti)n(v)o(e)h(set)e |
|
2409 (that)g(is)0 1951 y(bijecti)n(v)o(e)24 b(with)g(the)g(alpha-equated)i |
|
2410 (lambda-terms.)f(Unlik)o(e)f(de-Bruijn)h(indices,)f(ho)n(we)n(v)o(er)m |
|
2411 (,)h(this)e(in-)0 2046 y(ducti)n(v)o(e)d(set)f(includes)h(names)g(and)g |
|
2412 (reasoning)h(about)g(it)e(is)g(v)o(ery)h(similar)f(to)h(informal)h |
|
2413 (reasoning)g(with)0 2141 y(\223pencil)f(and)h(paper\224.)f(T)-6 |
|
2414 b(o)20 b(sho)n(w)g(this)f(we)h(pro)o(vide)h(a)e(structural)i(induction) |
|
2415 g(principle)g(that)f(requires)h(to)0 2237 y(pro)o(v)o(e)d(the)e |
|
2416 (lambda-case)i(for)f(fresh)h(binders)f(only)-5 b(.)17 |
|
2417 b(Furthermore,)i(we)d(adapt)i(w)o(ork)f(by)h(Pitts)d(pro)o(viding)0 |
|
2418 2332 y(a)20 b(recursion)h(combinator)h(for)f(the)f(inducti)n(v)o(e)h |
|
2419 (set.)e(The)h(main)h(technical)f(no)o(v)o(elty)h(of)g(this)e(w)o(ork)i |
|
2420 (is)f(that)0 2428 y(it)h(is)g(compatible)i(with)e(the)h(axiom)h(of)f |
|
2421 (choice)g(\(unlik)o(e)h(earlier)f(nominal)h(logic)f(w)o(ork)g(by)g |
|
2422 (Pitts)f FE(et)g(al)p FI(\);)0 2523 y(thus)k(we)f(were)h(able)g(to)g |
|
2423 (implement)g(all)g(results)f(in)h(Isabelle/HOL)f(and)i(use)e(them)h(to) |
|
2424 g(formalise)g(the)0 2619 y(standard)f(proofs)g(for)g(Church-Rosser)m(,) |
|
2425 f(strong-normalisation)j(of)d(beta-reduction,)i(the)e(correctness)0 |
|
2426 2714 y(of)d(the)h(type-inference)h(algorithm)f(W)-7 b(,)20 |
|
2427 b(typical)g(proofs)h(from)g(SOS)f(and)g(much)h(more.)0 |
|
2428 2866 y FJ(K)n(eyw)o(ords)40 b FI(Lambda-calculus)22 b |
|
2429 FD(\001)e FI(nominal)i(logic)e(w)o(ork)h FD(\001)f FI(theorem)h(pro)o |
|
2430 (v)o(ers.)0 3167 y FJ(1)28 b(Intr)o(oduction)576 3326 |
|
2431 y FI(W)-6 b(e)23 b(thank)i(T)-6 b(.)23 b(Thacher)h(Robinson)g(for)g |
|
2432 (sho)n(wing)h(us)e(on)h(August)g(19,)f(1962)i(by)f(a)576 |
|
2433 3421 y(countere)o(xample)j(the)e(e)o(xistence)f(of)h(an)g(error)h(in)f |
|
2434 (our)g(handling)h(of)f(bound)i(v)n(ari-)576 3517 y(ables.)2041 |
|
2435 3612 y(S.)19 b(C.)g(Kleene)h([17,)h(P)o(age)f(16])0 3768 |
|
2436 y(When)32 b(reasoning)h(informally)g(about)f(syntax,)f(issues)g(with)g |
|
2437 (binders)h(and)g(alpha-equiv)n(alence)i(are)0 3864 y(almost)26 |
|
2438 b(uni)n(v)o(ersally)h(percei)n(v)o(ed)h(as)d(unimportant)k(and)d(thus)h |
|
2439 (mostly)f(ignored.)i(Ho)n(we)n(v)o(er)m(,)e(errors)h |
|
2440 FE(do)0 3959 y FI(arise)20 b(from)h(these)f(issues)f(as)h(the)g |
|
2441 (quotation)i(from)f(Kleene)g(sho)n(ws.)f(It)g(is)f(therefore)j |
|
2442 (desirable)e(to)h(ha)n(v)o(e)0 4055 y(con)m(v)o(enient)32 |
|
2443 b(techniques)f(for)g(formalising)h(informal)f(proofs.)g(In)g(this)f |
|
2444 (paper)h(such)g(a)f(technique)h(is)0 4150 y(described)19 |
|
2445 b(in)f(the)g(conte)o(xt)h(of)f(the)g(lambda-calculus)i(and)e(the)g |
|
2446 (theorem)h(pro)o(v)o(er)h(Isabelle/HOL.)d(Ho)n(w-)0 4246 |
|
2447 y(e)n(v)o(er)m(,)h(the)h(techniques)g(generalise)g(to)f(more)h(comple)o |
|
2448 (x)h(calculi)e(and)h(parts)f(ha)n(v)o(e)h(already)h(been)f(adapted)0 |
|
2449 4341 y(in)h(HOL4,)g(HOL-light)h(and)f(Coq.)p 0 TeXcolorgray |
|
2450 0 4420 898 4 v 0 4484 a FC(?)57 4508 y FF(This)i(paper)h(is)f(a)f(re)n |
|
2451 (vised)j(and)e(much)g(e)o(xtended)i(v)o(ersion)f(of)f(Urban)h(and)f |
|
2452 (Ber)o(ghofer)h([32],)f(and)g(Urban)h(and)f(T)-5 b(asson)0 |
|
2453 4585 y([36].)p 0 4630 V 0 4721 a(Christian)19 b(Urban)0 |
|
2454 4798 y(T)-5 b(echnical)20 b(Uni)n(v)o(ersity)f(Munich,)f(German)o(y)l |
|
2455 (,E-mail:)g(urbanc@in.tum.de)p 0 TeXcolorgray 0 TeXcolorgray |
|
2456 0 TeXcolorgray eop end |
|
2457 %%Page: 2 2 |
|
2458 TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
2459 71 2881 4 v 0 17 a FF(2)p 0 TeXcolorgray 0 TeXcolorgray |
|
2460 0 149 V 0 1339 4 1190 v 78 227 a FB(Substitution)18 b(Lemma:)g |
|
2461 FF(If)f FA(x)i Fz(6\021)h FA(y)f FF(and)e FA(x)i Fz(62)h |
|
2462 FA(F)10 b(V)15 b Fy(\()p FA(L)p Fy(\))p FF(,)i(then)550 |
|
2463 340 y FA(M)7 b Fy([)p FA(x)19 b Fy(:=)g FA(N)7 b Fy(][)p |
|
2464 FA(y)22 b Fy(:=)d FA(L)p Fy(])g Fz(\021)g FA(M)7 b Fy([)p |
|
2465 FA(y)22 b Fy(:=)d FA(L)p Fy(][)p FA(x)f Fy(:=)h FA(N)7 |
|
2466 b Fy([)p FA(y)22 b Fy(:=)d FA(L)p Fy(]])p FF(.)78 475 |
|
2467 y FB(Pr)o(oof:)e FF(By)g(induction)j(on)d(the)h(structure)h(of)e |
|
2468 FA(M)7 b FF(.)78 552 y FB(Case)17 b(1:)g FA(M)24 b FF(is)16 |
|
2469 b(a)i(v)n(ariable.)196 629 y(Case)g(1.1.)23 b FA(M)k |
|
2470 Fz(\021)19 b FA(x)p FF(.)d(Then)h(both)h(sides)f(equal)i |
|
2471 FA(N)7 b Fy([)p FA(y)21 b Fy(:=)e FA(L)p Fy(])e FF(since)h |
|
2472 FA(x)h Fz(6\021)g FA(y)r FF(.)196 706 y(Case)f(1.2.)23 |
|
2473 b FA(M)k Fz(\021)19 b FA(y)r FF(.)e(Then)g(both)g(sides)h(equal)g |
|
2474 FA(L)p FF(,)e(for)h FA(x)j Fz(62)f FA(F)10 b(V)16 b Fy(\()p |
|
2475 FA(L)p Fy(\))h FF(implies)h FA(L)p Fy([)p FA(x)h Fy(:=)g |
|
2476 FA(:)12 b(:)f(:)p Fy(])19 b Fz(\021)g FA(L)p FF(.)196 |
|
2477 783 y(Case)f(1.3.)23 b FA(M)k Fz(\021)19 b FA(z)j Fz(6\021)e |
|
2478 FA(x;)11 b(y)r FF(.)16 b(Then)h(both)h(sides)g(equal)g |
|
2479 FA(z)s FF(.)78 859 y FB(Case)g(2:)g FA(M)29 b Fz(\021)22 |
|
2480 b FA(\025z)s(:M)644 868 y Fx(1)678 859 y FF(.)17 b(By)i(the)g(v)n |
|
2481 (ariable)i(con)m(v)o(ention)g(we)d(may)g(assume)h(that)g |
|
2482 FA(z)25 b Fz(6\021)d FA(x;)11 b(y)20 b FF(and)f FA(z)h |
|
2483 FF(is)e(not)h(free)78 936 y(in)e FA(N)s(;)12 b(L)p FF(.)k(Then)h(by)g |
|
2484 (induction)j(hypothesis)243 1037 y Fy(\()p FA(\025z)s(:M)435 |
|
2485 1046 y Fx(1)470 1037 y Fy(\)[)p FA(x)f Fy(:=)g FA(N)7 |
|
2486 b Fy(][)p FA(y)21 b Fy(:=)e FA(L)p Fy(])47 b Fz(\021)g |
|
2487 FA(\025z)s(:)p Fy(\()p FA(M)1332 1046 y Fx(1)1366 1037 |
|
2488 y Fy([)p FA(x)19 b Fy(:=)h FA(N)7 b Fy(][)p FA(y)21 b |
|
2489 Fy(:=)e FA(L)p Fy(]\))1038 1113 y Fz(\021)47 b FA(\025z)s(:)p |
|
2490 Fy(\()p FA(M)1332 1122 y Fx(1)1366 1113 y Fy([)p FA(y)22 |
|
2491 b Fy(:=)d FA(L)p Fy(][)p FA(x)g Fy(:=)g FA(N)7 b Fy([)p |
|
2492 FA(y)21 b Fy(:=)e FA(L)p Fy(]]\))1038 1190 y Fz(\021)47 |
|
2493 b Fy(\()p FA(\025z)s(:M)1332 1199 y Fx(1)1366 1190 y |
|
2494 Fy(\)[)p FA(y)22 b Fy(:=)e FA(L)p Fy(][)p FA(x)e Fy(:=)h |
|
2495 FA(N)7 b Fy([)p FA(y)22 b Fy(:=)d FA(L)p Fy(]])p FF(.)78 |
|
2496 1291 y FB(Case)e(3:)g FA(M)27 b Fz(\021)19 b FA(M)540 |
|
2497 1300 y Fx(1)574 1291 y FA(M)642 1300 y Fx(2)677 1291 |
|
2498 y FF(.)d(The)h(statement)i(follo)n(ws)f(again)g(from)f(the)h(induction) |
|
2499 h(hypothesis.)360 b Fw(\003)p 2878 1339 V 0 1342 2881 |
|
2500 4 v 0 1458 a FB(Fig)o(.)20 b(1)53 b FF(An)20 b(informal)h(proof)g(of)f |
|
2501 (the)h(substitution)i(lemma)d(tak)o(en)i(from)e(Barendre)o(gt')l(s)j |
|
2502 (book)e([5].)f(In)g(second)h(case,)g(the)0 1535 y(v)n(ariable)f(con)m |
|
2503 (v)o(ention)h(allo)n(ws)e(him)e(to)h(mo)o(v)o(e)g(the)g(substitutions)i |
|
2504 (under)e(the)h(binder)m(,)f(to)g(apply)h(the)f(induction)i(hypothesis)0 |
|
2505 1612 y(and)e(\002nally)g(to)f(pull)h(the)g(substitutions)h(back)f(out)g |
|
2506 (from)f(under)g(the)h(binder)l(.)p 0 TeXcolorgray 125 |
|
2507 1904 a FI(The)h(main)h(point)g(of)g(this)f(paper)h(is)f(to)g(gi)n(v)o |
|
2508 (e)h(a)f(representation)h(for)g FE(alpha-equated)25 b |
|
2509 FI(lambda-terms)0 2000 y(that)f(is)f(based)h(on)g(names,)g(is)f |
|
2510 (inducti)n(v)o(e)h(and)h(comes)f(with)f(a)h(structural)g(induction)h |
|
2511 (principle)g(where)0 2095 y(the)18 b(lambda-case)h(needs)f(to)g(be)f |
|
2512 (pro)o(v)o(ed)j(for)e(only)h(fresh)f(binders.)g(Furthermore,)i(we)d(gi) |
|
2513 n(v)o(e)h(a)g(structural)0 2191 y(recursion)31 b(combinator)h(for)e |
|
2514 (de\002ning)h(functions)g(o)o(v)o(er)g(this)e(set.)g(In)h(practice)g |
|
2515 (this)g(will)f(mean)i(that)0 2286 y(we)23 b(come)h(quite)g(close)g(to)f |
|
2516 (the)h(informal)h(reasoning)g(using)f(Barendre)o(gt')l(s)g(v)n(ariable) |
|
2517 h(con)m(v)o(ention)g([5].)0 2382 y(An)20 b(illustrati)n(v)o(e)h(e)o |
|
2518 (xample)g(of)f(such)h(informal)h(reasoning)f(is)f(Barendre)o(gt')l(s)h |
|
2519 (proof)h(of)e(the)h(substitution)0 2477 y(lemma)26 b(sho)n(wn)h(in)f |
|
2520 (Fig.)g(1.)f(In)i(this)f(paper)g(we)g(describe)h(a)e(reasoning)j |
|
2521 (infrastructure)f(for)g(formalis-)0 2572 y(ing)c(such)g(informal)h |
|
2522 (proofs)g(with)e(ease.)g(This)h(reasoning)h(infrastructure)g(has)e |
|
2523 (been)h(implemented)i(in)0 2668 y(Isabelle/HOL)20 b(as)f(part)i(of)f |
|
2524 (the)g(nominal)i(datatype)e(package.)1720 2636 y Fv(1)125 |
|
2525 2778 y FI(Our)h(w)o(ork)g(is)f(based)h(on)h(the)f(nominal)h(logic)f(w)o |
|
2526 (ork)h(by)f(Pitts)f FE(et)g(al)h FI([11,)8 b(26].)22 |
|
2527 b(The)f(main)g(technical)0 2873 y(no)o(v)o(elty)h(is)e(that)i(our)g(w)o |
|
2528 (ork)g(is)e(compatible)i(with)f(the)h(axiom)g(of)f(choice.)h(This)f(is) |
|
2529 f(important,)i(because)0 2969 y(otherwise)k(we)f(w)o(ould)i(not)f(be)f |
|
2530 (able)h(to)g(b)n(uilt)g(in)f(a)h(HOL-based)g(theorem)g(pro)o(v)o(er)h |
|
2531 (a)e(frame)n(w)o(ork)j(for)0 3064 y(reasoning)22 b(based)f(on)g |
|
2532 (nominal)h(techniques.)f(The)g(reason)h(why)e(the)h(original)h(nominal) |
|
2533 g(logic)f(w)o(ork)g(is)0 3160 y(incompatible)d(with)e(the)g(axiom)h(of) |
|
2534 g(choice)g(has)f(to)g(do)h(with)f(the)g(w)o(ay)h(ho)n(w)g(the)f |
|
2535 (\002nite)g(support)i(property)0 3255 y(is)26 b(enforced:)i(FM-set)e |
|
2536 (theory)i(is)e(de\002ned)h(in)g([11])h(so)e(that)h(e)n(v)o(ery)g(set)f |
|
2537 (in)h(the)f(FM-set-uni)n(v)o(erse)i(has)0 3351 y(\002nite)f(support.)h |
|
2538 (In)f(nominal)h(logic)g([26],)g(the)f(axioms)g(\(E3\))h(and)g(\(E4\))g |
|
2539 (imply)f(that)g(e)n(v)o(ery)h(function)0 3446 y(symbol)e(and)f |
|
2540 (proposition)i(has)e(\002nite)g(support.)g(Ho)n(we)n(v)o(er)m(,)g |
|
2541 (there)h(are)e(notions)i(in)f(HOL)g(that)g(do)g FE(not)0 |
|
2542 3542 y FI(ha)n(v)o(e)c(\002nite)f(support,)i(most)e(notably)i(choice)f |
|
2543 (functions)g(\(see)f([27,)h(Example)h(3.4,)e(P)o(age)g(470]\).)i(Here,) |
|
2544 0 3637 y(we)j(will)g(a)n(v)n(oid)i(the)f(incompatibility)h(with)f(the)f |
|
2545 (axiom)i(of)e(choice)h(by)h(not)f(a)f(priory)i(restricting)f(our)0 |
|
2546 3733 y(discourse)31 b(to)f(only)h(\002nitely)g(supported)h(entities)d |
|
2547 (as)h(done)h(pre)n(viously)-5 b(,)32 b(rather)f(we)e(will)h(e)o |
|
2548 (xplicitly)0 3828 y(assume)21 b(this)g(property)i(whene)n(v)o(er)g(it)e |
|
2549 (is)f(needed)i(in)g(proofs.)g(One)f(consequence)i(is)e(that)g(we)g |
|
2550 (state)g(our)0 3924 y(basic)g(de\002nitions)i(not)f(in)g(terms)f(of)h |
|
2551 (nominal)h(sets)e(\(as)g(done)h(for)h(e)o(xample)f(in)g([27]\),)g(b)n |
|
2552 (ut)h(in)f(terms)f(of)0 4019 y(the)g(weak)o(er)g(notion)h(of)e |
|
2553 (permutation)j(types\227essentially)d(sets)g(equipped)i(with)f(a)f |
|
2554 (\223sensible\224)g(notion)0 4115 y(of)g(permutation)i(operation.)125 |
|
2555 4225 y(The)16 b(paper)h(is)f(or)o(ganised)g(as)g(follo)n(w:)h(Sec.)e(2) |
|
2556 i(introduces)g(the)g(basic)f(notions)h(of)f(the)h(nominal)g(logic)0 |
|
2557 4320 y(w)o(ork)g(adapted)g(to)g(our)g(Isabelle/HOL)f(setting.)g(Sec.)f |
|
2558 (3)i(\002rst)e(re)n(vie)n(ws)i(alpha-equi)n(v)n(alence)i(for)d(lambda-) |
|
2559 0 4415 y(terms)g(and)g(then)g(gi)n(v)o(es)g(a)f(construction)j(of)e(an) |
|
2560 g(inducti)n(v)o(e)g(set)f(that)h(is)f(bijecti)n(v)o(e)h(with)g(the)f |
|
2561 (alpha-equated)0 4511 y(lambda-terms.)23 b(T)-6 b(w)o(o)23 |
|
2562 b(structural)g(induction)h(principles)f(for)g(this)f(set)g(are)g(deri)n |
|
2563 (v)o(ed)i(in)e(Sec.)g(4.)g(Recent)0 4606 y(w)o(ork)e(by)g(Pitts)f([27]) |
|
2564 i(is)d(adapted)j(in)e(Sec.)g(5)h(to)f(gi)n(v)o(e)h(a)f(structural)h |
|
2565 (recursion)h(combinator)g(for)f(de\002ning)p 0 TeXcolorgray |
|
2566 0 4735 898 4 v 62 4799 a Fu(1)125 4823 y FF(A)-5 b(v)n(ailable)20 |
|
2567 b(from)d Ft(http://isabelle.in.tum.de)q(/nom)q(ina)q(l)p |
|
2568 FF(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop |
|
2569 end |
|
2570 %%Page: 3 3 |
|
2571 TeXDict begin 3 2 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
2572 71 2881 4 v 2848 17 a FF(3)p 0 TeXcolorgray 0 228 a FI(functions)23 |
|
2573 b(o)o(v)o(er)g(the)f(bijecti)n(v)o(e)g(set.)f(Sec.)h(6)g(gi)n(v)o(es)g |
|
2574 (e)o(xamples;)g(related)h(w)o(ork)g(is)e(mentioned)j(in)e(Sec.)f(7)0 |
|
2575 324 y(and)g(Sec.)e(8)h(concludes.)0 779 y FJ(2)28 b(Atoms,)20 |
|
2576 b(P)n(ermutations)g(and)g(Support)0 987 y FI(In)c(the)g |
|
2577 (lambda-calculus)h(there)f(is)f(a)h(single)g(type)g(of)g(bindable)h |
|
2578 (names,)f(here)g(denoted)h(by)f Fs(name)q FI(,)f(whose)0 |
|
2579 1083 y(elements)26 b(in)h(the)f(tradition)i(of)e(the)h(nominal)h(logic) |
|
2580 e(w)o(ork)i(we)e(call)g FE(atoms)p FI(.)g(While)h(the)f(structure)h(of) |
|
2581 0 1178 y(atoms)g(is)e(immaterial,)i(tw)o(o)g(properties)g(need)g(to)g |
|
2582 (hold)g(for)g(the)g(type)g Fs(name)q FI(:)f(one)h(has)f(to)g(be)h(able) |
|
2583 g(to)0 1274 y(distinguishing)33 b(dif)n(ferent)f(atoms)e(and)i(one)f |
|
2584 (needs)g(to)g(kno)n(w)h(that)f(there)g(are)f(countably)j(in\002nitely)0 |
|
2585 1369 y(man)o(y)d(of)f(them.)g(This)g(can)g(be)g(achie)n(v)o(ed)g(in)g |
|
2586 (Isabelle/HOL)g(by)h(implementing)g(the)f(type)h Fs(name)f |
|
2587 FI(as)0 1464 y(natural)21 b(numbers)g(or)g(strings.)125 |
|
2588 1579 y(Permutations)h(are)f(\002nite)g(bijecti)n(v)o(e)g(mappings)i |
|
2589 (from)f Fs(name)f FI(to)h Fs(name)q FI(.)e(The)o(y)i(can)f(be)g |
|
2590 (represented)0 1675 y(as)h(\002nite)f(lists)g(whose)i(elements)f(are)g |
|
2591 (sw)o(appings)h(\(i.e.)f(pairs)g(of)g(atoms\).)g(In)h(what)f(follo)n |
|
2592 (ws)h(the)f(type-)0 1770 y(abbre)n(viation)j Fs(name)d(prm)h |
|
2593 FI(will)f(stand)h(for)g(the)g(type)g(of)g(permutations,)h(that)f(is)e |
|
2594 Fr(\()p Fs(name)d FD(\002)f Fs(name)p Fr(\))22 b Fs(list)q |
|
2595 FI(,)0 1866 y(and)f(we)e(will)h(write)g(permutations)h(as)1044 |
|
2596 2147 y Fr(\()p FG(a)1115 2159 y Fq(1)1165 2147 y FG(b)1198 |
|
2597 2159 y Fq(1)1235 2147 y Fr(\)\()p FG(a)1336 2159 y Fq(2)1385 |
|
2598 2147 y FG(b)1418 2159 y Fq(2)1455 2147 y Fr(\))13 b FD(\001)g(\001)g |
|
2599 (\001)g Fr(\()p FG(a)1671 2155 y Fp(n)1729 2147 y FG(b)1762 |
|
2600 2155 y Fp(n)1807 2147 y Fr(\))0 2448 y FI(with)22 b(the)h(empty)g(list) |
|
2601 e Fr([])i FI(standing)g(for)g(the)g(identity)g(permutation.)g(The)g |
|
2602 (operation)h(of)f(a)f(permutation)0 2544 y FG(\031)g |
|
2603 FE(acting)f FI(on)g(an)f(atom)g FG(a)g FI(is)f(de\002ned)i(as:)1192 |
|
2604 2846 y Fr([])1234 2855 y Fo(\001)1272 2846 y FG(a)1338 |
|
2605 2803 y Fn(def)1345 2846 y Fr(=)32 b FG(a)814 3036 y Fr(\(\()p |
|
2606 FG(a)915 3048 y Fq(1)965 3036 y FG(a)1006 3048 y Fq(2)1043 |
|
2607 3036 y Fr(\))21 b(::)h FG(\031)s Fr(\))1235 3045 y Fo(\001)1272 |
|
2608 3036 y FG(a)1338 2993 y Fn(def)1345 3036 y Fr(=)1437 |
|
2609 2883 y Fm(8)1437 2950 y(<)1437 3085 y(:)1518 2941 y FG(a)1559 |
|
2610 2953 y Fq(2)1668 2941 y FI(if)g FG(\031)1785 2950 y Fo(\001)1823 |
|
2611 2941 y FG(a)f Fr(=)g FG(a)2007 2953 y Fq(1)1518 3036 |
|
2612 y FG(a)1559 3048 y Fq(1)1668 3036 y FI(if)h FG(\031)1785 |
|
2613 3045 y Fo(\001)1823 3036 y FG(a)f Fr(=)g FG(a)2007 3048 |
|
2614 y Fq(2)1518 3132 y FG(\031)1565 3141 y Fo(\001)1603 3132 |
|
2615 y FG(a)j FI(otherwise)2789 2976 y(\(1\))0 3430 y(where)i |
|
2616 Fr(\()p FG(a)12 b(b)p Fr(\))31 b(::)h FG(\031)27 b FI(is)e(the)g |
|
2617 (composition)j(of)d(a)g(permutation)j(follo)n(wed)e(by)g(the)g(sw)o |
|
2618 (apping)g Fr(\()p FG(a)13 b(b)p Fr(\))p FI(.)24 b(The)0 |
|
2619 3526 y(composition)d(of)e FG(\031)j FI(follo)n(wed)e(by)g(another)g |
|
2620 (permutation)h FG(\031)1656 3494 y Fl(0)1698 3526 y FI(is)d(gi)n(v)o |
|
2621 (en)i(by)g(list-concatenation,)g(written)0 3621 y(as)f |
|
2622 FG(\031)132 3590 y Fl(0)155 3621 y Fr(@)p FG(\031)s FI(,)g(and)i(the)f |
|
2623 (in)m(v)o(erse)g(of)g(a)g(permutation)i(is)d(gi)n(v)o(en)i(by)g(list)e |
|
2624 (re)n(v)o(ersal,)h(written)g(as)f FG(\031)2475 3590 y |
|
2625 Fl(\000)p Fq(1)2564 3621 y FI(.)125 3736 y(Our)31 b(representation)i |
|
2626 (of)e(permutations)i(as)e(lists)f(does)h(not)h(gi)n(v)o(e)g(unique)g |
|
2627 (representati)n(v)o(es:)g(for)0 3832 y(e)o(xample,)22 |
|
2628 b(the)g(permutation)h Fr(\()p FG(a)13 b(a)p Fr(\))20 |
|
2629 b FI(is)h(\223equal\224)h(to)g(the)g(identity)g(permutation.)h(W)-6 |
|
2630 b(e)22 b(equate)g(the)g(repre-)0 3927 y(sentations)e(of)h(permutations) |
|
2631 g(with)f(a)g(relation)h FD(\030)p FI(:)p 0 TeXcolorgray |
|
2632 0 4194 a FJ(De\002nition)f(1)p 0 TeXcolorgray 42 w(\(P)n(ermutation)25 |
|
2633 b(Equality\))f FE(T)-6 b(wo)24 b(permutations)h(ar)m(e)e |
|
2634 FI(equal)p FE(,)h(written)g FG(\031)2471 4206 y Fq(1)2536 |
|
2635 4194 y FD(\030)k FG(\031)2668 4206 y Fq(2)2705 4194 y |
|
2636 FE(,)c(pr)l(o-)0 4289 y(vided)d FG(\031)235 4301 y Fq(1)272 |
|
2637 4298 y Fo(\001)310 4289 y FG(a)g Fr(=)g FG(\031)497 4301 |
|
2638 y Fq(2)534 4298 y Fo(\001)572 4289 y FG(a)f FE(for)g(all)g(atoms)g |
|
2639 FG(a)p FE(.)125 4536 y FI(T)-6 b(o)25 b(generalise)h(the)g(notion)g(gi) |
|
2640 n(v)o(en)h(in)e(\(1\))h(of)g(a)f(permutation)j(acting)e(on)g(an)g |
|
2641 (atom,)f(we)g(tak)o(e)h(ad-)0 4632 y(v)n(antage)f(of)g(the)f(o)o(v)o |
|
2642 (erloading)j(mechanism)e(in)f(Isabelle)g(by)h(declaring)h(a)e |
|
2643 (constant,)g(written)h(in\002x)f(as)0 4727 y Fr(\()p |
|
2644 FD(\000)p Fr(\))120 4736 y Fo(\001)158 4727 y Fr(\()p |
|
2645 FD(\000)p Fr(\))p FI(,)g(with)i(the)f(polymorphic)k(type)d |
|
2646 Fs(name)c(prm)g FD(\))f FG(\013)h FD(\))f FG(\013)p FI(.)k(A)g |
|
2647 (de\002nition)i(of)f(the)g(permutation)0 4823 y(operation)j(can)e(then) |
|
2648 h(be)f(gi)n(v)o(en)i(separately)e(for)h(each)g(type-constructor;)h(for) |
|
2649 f(lists,)e(products,)i(unit,)p 0 TeXcolorgray 0 TeXcolorgray |
|
2650 eop end |
|
2651 %%Page: 4 4 |
|
2652 TeXDict begin 4 3 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
2653 71 2881 4 v 0 17 a FF(4)p 0 TeXcolorgray 0 228 a FI(sets,)19 |
|
2654 b(functions,)i(options)g(and)f(booleans)h(the)g(de\002nitions)f(are)g |
|
2655 (as)g(follo)n(ws:)696 408 y FG(\013)i Fs(list)g Fr(:)350 |
|
2656 b FG(\031)1363 417 y Fo(\001)1401 408 y Fr([])1469 365 |
|
2657 y Fn(def)1476 408 y Fr(=)32 b([])1143 527 y FG(\031)1190 |
|
2658 536 y Fo(\001)1228 527 y Fr(\()p FG(x)20 b Fr(::)i FG(t)p |
|
2659 Fr(\))1469 485 y Fn(def)1476 527 y Fr(=)32 b(\()p FG(\031)1645 |
|
2660 536 y Fo(\001)1683 527 y FG(x)p Fr(\))20 b(::)i(\()p |
|
2661 FG(\031)1918 536 y Fo(\001)1956 527 y FG(t)p Fr(\))696 |
|
2662 647 y FG(\013)745 659 y Fq(1)800 647 y FD(\002)17 b FG(\013)926 |
|
2663 659 y Fq(2)984 647 y Fr(:)99 b FG(\031)1151 656 y Fo(\001)1188 |
|
2664 647 y Fr(\()p FG(x)1262 659 y Fq(1)1299 647 y FG(;)13 |
|
2665 b(x)1377 659 y Fq(2)1414 647 y Fr(\))1469 604 y Fn(def)1476 |
|
2666 647 y Fr(=)32 b(\()p FG(\031)1645 656 y Fo(\001)1683 |
|
2667 647 y FG(x)1727 659 y Fq(1)1763 647 y FG(;)13 b(\031)1844 |
|
2668 656 y Fo(\001)1882 647 y FG(x)1926 659 y Fq(2)1963 647 |
|
2669 y Fr(\))696 766 y Fs(unit)22 b Fr(:)404 b FG(\031)1346 |
|
2670 775 y Fo(\001)1384 766 y Fr(\(\))1469 723 y Fn(def)1476 |
|
2671 766 y Fr(=)32 b(\(\))696 886 y FG(\013)22 b Fs(set)g |
|
2672 Fr(:)363 b FG(\031)1337 895 y Fo(\001)1375 886 y FG(X)1469 |
|
2673 843 y Fn(def)1476 886 y Fr(=)32 b FD(f)p FG(\031)1653 |
|
2674 895 y Fo(\001)1691 886 y FG(x)12 b FD(j)i FG(x)20 b FD(2)i |
|
2675 FG(X)6 b FD(g)696 1005 y FG(\013)745 1017 y Fq(1)804 |
|
2676 1005 y FD(\))21 b FG(\013)951 1017 y Fq(2)1010 1005 y |
|
2677 Fr(:)255 b FG(\031)1333 1014 y Fo(\001)1371 1005 y Fk(fn)1469 |
|
2678 962 y Fn(def)1476 1005 y Fr(=)32 b FG(\025x:\031)1725 |
|
2679 1014 y Fo(\001)1762 1005 y Fr(\()p Fk(fn)19 b Fr(\()p |
|
2680 FG(\031)1955 973 y Fl(\000)p Fq(1)2043 1014 y Fo(\001)2081 |
|
2681 1005 y FG(x)p Fr(\)\))696 1124 y FG(\013)j Fs(option)h |
|
2682 Fr(:)134 b FG(\031)1226 1133 y Fo(\001)1264 1124 y Fk(None)1469 |
|
2683 1081 y Fn(def)1476 1124 y Fr(=)32 b Fk(None)1070 1244 |
|
2684 y FG(\031)1117 1253 y Fo(\001)1155 1244 y Fk(Some)6 b |
|
2685 Fr(\()p FG(x)p Fr(\))1469 1201 y Fn(def)1476 1244 y Fr(=)32 |
|
2686 b Fk(Some)6 b Fr(\()p FG(\031)1831 1253 y Fo(\001)1869 |
|
2687 1244 y FG(x)p Fr(\))696 1363 y Fs(bool)22 b Fr(:)431 |
|
2688 b FG(\031)1373 1372 y Fo(\001)1411 1363 y FG(b)1469 1320 |
|
2689 y Fn(def)1476 1363 y Fr(=)32 b FG(b)2789 873 y FI(\(2\))125 |
|
2690 1517 y(It)19 b(will)g(sa)n(v)o(e)h(much)h(w)o(ork)g(later)e(on)i(to)f |
|
2691 FE(not)h FI(establish)f(properties)h(for)f(each)g(of)g(these)g |
|
2692 (permutation)0 1613 y(operations)h(indi)n(vidually)-5 |
|
2693 b(,)21 b(b)n(ut)f(reason)g(abstractly)g(o)o(v)o(er)g(them)g(by)g |
|
2694 (requiring)i(that)d(e)n(v)o(ery)i(permutation)0 1708 |
|
2695 y(operation)h(satis\002es)c(three)i(basic)g(properties:)p |
|
2696 0 TeXcolorgray 0 1869 a FJ(De\002nition)g(2)p 0 TeXcolorgray |
|
2697 42 w(\(P)n(ermutation)h(T)-6 b(ype\))21 b FE(A)f(type)g |
|
2698 FG(\013)h FE(will)e(be)h(r)m(eferr)m(ed)g(to)g(as)h FI(permutation)h |
|
2699 (type)p FE(,)e(written)0 1965 y FG(pt)67 1973 y Fp(\013)114 |
|
2700 1965 y FE(,)f(pr)l(o)o(vided)j(the)e(permutation)h(oper)o(ation)g |
|
2701 (satis\002es)f(the)g(following)h(thr)m(ee)f(pr)l(operties:)p |
|
2702 0 TeXcolorgray 56 2103 a(\(i\))p 0 TeXcolorgray 63 w |
|
2703 Fr([])235 2112 y Fo(\001)274 2103 y FG(x)42 b Fr(=)h |
|
2704 FG(x)p 0 TeXcolorgray 34 2198 a FE(\(ii\))p 0 TeXcolorgray |
|
2705 63 w Fr(\()p FG(\031)267 2210 y Fq(1)304 2198 y Fr(@)p |
|
2706 FG(\031)408 2210 y Fq(2)445 2198 y Fr(\))475 2207 y Fo(\001)513 |
|
2707 2198 y FG(x)f Fr(=)h FG(\031)746 2210 y Fq(1)783 2207 |
|
2708 y Fo(\001)821 2198 y Fr(\()p FG(\031)895 2210 y Fq(2)932 |
|
2709 2207 y Fo(\001)970 2198 y FG(x)p Fr(\))p 0 TeXcolorgray |
|
2710 12 2294 a FE(\(iii\))p 0 TeXcolorgray 63 w FG(\031)237 |
|
2711 2306 y Fq(1)296 2294 y FD(\030)21 b FG(\031)421 2306 |
|
2712 y Fq(2)501 2294 y FE(implies)42 b FG(\031)815 2306 y |
|
2713 Fq(1)852 2303 y Fo(\001)890 2294 y FG(x)h Fr(=)f FG(\031)1123 |
|
2714 2306 y Fq(2)1160 2303 y Fo(\001)1198 2294 y FG(x)0 2455 |
|
2715 y FI(These)25 b(properties)i(entail)e(that)g(the)h(permutations)h |
|
2716 (operation)f(beha)n(v)o(es)h(o)o(v)o(er)e(permutation)j(types)d(as)0 |
|
2717 2551 y(one)c(e)o(xpects:)p 0 TeXcolorgray 0 2712 a FJ(Lemma)e(1)p |
|
2718 0 TeXcolorgray 42 w FE(Assuming)i FG(x)e FE(and)i FG(y)h |
|
2719 FE(ar)m(e)e(of)g(permutation)h(type)f(then:)p 0 TeXcolorgray |
|
2720 56 2850 a(\(i\))p 0 TeXcolorgray 42 w FG(\031)219 2818 |
|
2721 y Fl(\000)p Fq(1)308 2859 y Fo(\001)346 2850 y Fr(\()p |
|
2722 FG(\031)423 2859 y Fo(\001)460 2850 y FG(x)p Fr(\))h(=)g |
|
2723 FG(x)p FE(,)p 0 TeXcolorgray 34 2945 a(\(ii\))p 0 TeXcolorgray |
|
2724 42 w FG(\031)219 2954 y Fo(\001)257 2945 y FG(x)f Fr(=)i |
|
2725 FG(y)g FE(if)d(and)i(only)g(if)e FG(x)i Fr(=)g FG(\031)1076 |
|
2726 2913 y Fl(\000)p Fq(1)1165 2954 y Fo(\001)1203 2945 y |
|
2727 FG(y)s FE(,)p 0 TeXcolorgray 12 3041 a(\(iii\))p 0 TeXcolorgray |
|
2728 42 w FG(\031)219 3050 y Fo(\001)257 3041 y FG(x)f Fr(=)i |
|
2729 FG(\031)450 3050 y Fo(\001)487 3041 y FG(y)h FE(if)c(and)i(only)g(if)e |
|
2730 FG(x)i Fr(=)g FG(y)s FE(,)e(and)p 0 TeXcolorgray 21 3136 |
|
2731 a(\(iv\))p 0 TeXcolorgray 42 w FG(\031)219 3145 y Fo(\001)257 |
|
2732 3136 y FG(x)h FD(2)i FG(\031)441 3145 y Fo(\001)479 3136 |
|
2733 y FG(X)k FE(if)19 b(and)i(only)g(if)f FG(x)g FD(2)i FG(X)6 |
|
2734 b FE(.)p 0 TeXcolorgray 0 3348 a(Pr)l(oof)p 0 TeXcolorgray |
|
2735 40 w FI(The)21 b(\002rst)f(property)j(holds)f(by)f(Def.)g(2)p |
|
2736 FE(\(i-iii\))g FI(since)g Fr(\()p FG(\031)1725 3316 y |
|
2737 Fl(\000)p Fq(1)1814 3348 y Fr(@)p FG(\031)s Fr(\))h FD(\030)h |
|
2738 Fr([])p FI(,)e(which)g(can)g(be)g(sho)n(wn)h(by)0 3444 |
|
2739 y(an)f(induction)i(o)o(v)o(er)e(the)g(length)h(of)f FG(\031)s |
|
2740 FI(.)f(The)h(second)h(property)h(follo)n(ws)e(from)h(the)f(\002rst.)f |
|
2741 (The)h(third)h(is)e(a)0 3539 y(consequence)25 b(of)e(the)g(\002rst)g |
|
2742 (and)h(second.)f(F)o(or)g(the)h(fourth)g(one)g(has)f(to)g(unwind)i(the) |
|
2743 e(de\002nition)h(of)f(the)0 3635 y(permutation)f(operation)g(for)e |
|
2744 (sets)f(and)i(apply)g(the)f(third)h(property)-5 b(.)80 |
|
2745 b FD(u)-51 b(t)125 3781 y FI(Using)17 b(Isabelle')l(s)g |
|
2746 FE(axiomatic)h(type-classes)g FI([37],)g(it)f(is)g(v)o(ery)h(con)m(v)o |
|
2747 (enient)h(to)f(ensure)g(that)f(a)g(type)h(is)0 3876 y(a)f(permutation)j |
|
2748 (type)e(because)h(most)e(of)i(the)e(routine)i(w)o(ork)g(can)f(be)g |
|
2749 (performed)i(by)e(the)g(type-checking)0 3972 y(algorithm)27 |
|
2750 b(of)f(Isabelle:)g(one)g(only)h(has)f(to)g(establish)f(that)h(some)g |
|
2751 (\223base\224)g(types,)f(such)h(as)g Fs(name)g FI(and)0 |
|
2752 4067 y Fs(unit)q FI(,)21 b(are)g(permutation)i(types)f(and)g(that)f |
|
2753 (type-constructors,)i(such)f(as)e(products)j(and)f(lists,)e(preserv)o |
|
2754 (e)0 4163 y(the)g(property)i(of)e(being)h(a)f(permutation)i(type.)e |
|
2755 (More)h(formally)g(we)f(ha)n(v)o(e:)p 0 TeXcolorgray |
|
2756 0 4324 a FJ(Lemma)f(2)p 0 TeXcolorgray 42 w FE(Given)30 |
|
2757 b FG(pt)644 4332 y Fp(\013)691 4324 y FE(,)f FG(pt)807 |
|
2758 4332 y Fp(\013)850 4340 y Fj(1)915 4324 y FE(and)i FG(pt)1130 |
|
2759 4332 y Fp(\013)1173 4340 y Fj(2)1209 4324 y FE(,)e(the)h(types)g |
|
2760 Fs(name)q FE(,)f Fs(unit)q FE(,)g FG(\013)39 b Fs(list)q |
|
2761 FE(,)29 b FG(\013)40 b Fs(set)p FE(,)30 b FG(\013)39 |
|
2762 b Fs(option)q FE(,)0 4420 y FG(\013)49 4432 y Fq(1)104 |
|
2763 4420 y FD(\002)16 b FG(\013)229 4432 y Fq(2)267 4420 |
|
2764 y FE(,)j FG(\013)355 4432 y Fq(1)414 4420 y FD(\))i FG(\013)561 |
|
2765 4432 y Fq(2)618 4420 y FE(and)g Fs(bool)g FE(ar)m(e)f(also)g |
|
2766 (permutation)h(types.)p 0 TeXcolorgray 0 4632 a(Pr)l(oof)p |
|
2767 0 TeXcolorgray 40 w FI(All)i(properties)i(follo)n(w)g(by)f(unwinding)i |
|
2768 (the)e(de\002nition)h(of)g(the)f(corresponding)j(permutation)0 |
|
2769 4727 y(operation)c(and)f(routine)g(inductions.)g(The)g(property)h |
|
2770 FG(pt)1566 4735 y Fp(\013)1609 4743 y Fj(1)1641 4735 |
|
2771 y Fl(\))p Fp(\013)1750 4743 y Fj(2)1807 4727 y FI(uses)e(the)g(f)o(act) |
|
2772 h(that)f FG(\031)2403 4739 y Fq(1)2463 4727 y FD(\030)j |
|
2773 FG(\031)2591 4739 y Fq(2)2649 4727 y FI(implies)0 4823 |
|
2774 y FG(\031)47 4790 y Fl(\000)p Fq(1)44 4847 y(1)157 4823 |
|
2775 y FD(\030)d FG(\031)285 4790 y Fl(\000)p Fq(1)282 4847 |
|
2776 y(2)374 4823 y FI(.)p 0 TeXcolorgray 0 TeXcolorgray eop |
|
2777 end |
|
2778 %%Page: 5 5 |
|
2779 TeXDict begin 5 4 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
2780 71 2881 4 v 2848 17 a FF(5)p 0 TeXcolorgray 125 228 a |
|
2781 FI(Note)20 b(that)g(the)g(permutation)i(operation)f(o)o(v)o(er)g(a)f |
|
2782 (function-type,)i(say)e FG(\013)2121 240 y Fq(1)2180 |
|
2783 228 y FD(\))h FG(\013)2327 240 y Fq(2)2385 228 y FI(with)f |
|
2784 FG(\013)2594 240 y Fq(1)2651 228 y FI(being)h(a)0 324 |
|
2785 y(permutation)h(type,)e(is)f(de\002ned)i(so)f(that)g(for)h(e)n(v)o(ery) |
|
2786 g(function)g Fk(fn)26 b FI(we)19 b(ha)n(v)o(e)i(the)f(equation)1050 |
|
2787 502 y FG(\031)1097 511 y Fo(\001)1135 502 y Fr(\()p Fk(fn)e |
|
2788 FG(x)p Fr(\))j(=)g(\()p FG(\031)1503 511 y Fo(\001)1540 |
|
2789 502 y Fk(fn)6 b Fr(\)\()p FG(\031)1720 511 y Fo(\001)1758 |
|
2790 502 y FG(x)p Fr(\))957 b FI(\(3\))0 682 y(in)35 b(Isabelle/HOL;)g(this) |
|
2791 g(is)f(because)h(we)g(ha)n(v)o(e)g FG(\031)1456 651 y |
|
2792 Fl(\000)p Fq(1)1545 691 y Fo(\001)1583 682 y Fr(\()p |
|
2793 FG(\031)1660 691 y Fo(\001)1698 682 y FG(x)p Fr(\))48 |
|
2794 b(=)g FG(x)34 b FI(by)h(Lem.)g(1)p FE(\(i\))h FI(and)f |
|
2795 FG(\031)2662 691 y Fo(\001)2700 682 y Fk(fn)54 b Fr(=)0 |
|
2796 778 y FG(\025x:\031)157 787 y Fo(\001)194 778 y Fr(\()p |
|
2797 Fk(fn)19 b Fr(\()p FG(\031)387 746 y Fl(\000)p Fq(1)475 |
|
2798 787 y Fo(\001)514 778 y FG(x)p Fr(\)\))g FI(by)h(de\002nition)h(of)g |
|
2799 (permutations)g(acting)g(on)f(functions.)125 875 y(The)28 |
|
2800 b(most)g(interesting)g(feature)h(of)f(the)g(nominal)h(logic)f(w)o(ork)h |
|
2801 (is)e(that)h(as)f(soon)i(as)e(one)h(\002x)o(es)g(a)0 |
|
2802 971 y(\223sensible\224)23 b(permutation)i(operation)f(for)g(a)e(type,)h |
|
2803 (then)h(the)f FE(support)i FI(for)e(the)g(elements)g(of)h(this)e(type,) |
|
2804 0 1066 y(v)o(ery)f(roughly)h(speaking)f(their)f(set)g(of)g(free)g |
|
2805 (atoms,)g(is)g(\002x)o(ed)g(as)f(well.)h(The)g(de\002nition)h(of)g |
|
2806 (support)g(and)0 1162 y(the)f(deri)n(v)o(ed)h(notion)h(of)e(freshness)g |
|
2807 (is:)p 0 TeXcolorgray 0 1342 a FJ(De\002nition)g(3)p |
|
2808 0 TeXcolorgray 42 w(\(Support)32 b(and)g(Fr)o(eshness\))e |
|
2809 FE(The)i FI(support)h FE(of)f FG(x)p FE(,)f(written)h |
|
2810 Fk(supp)5 b Fr(\()p FG(x)p Fr(\))p FE(,)31 b(is)g(the)h(set)g(of)0 |
|
2811 1437 y(atoms)20 b(de\002ned)i(as:)768 1570 y Fk(supp)6 |
|
2812 b Fr(\()p FG(x)p Fr(\))1048 1522 y Fi(def)1054 1570 y |
|
2813 Fr(=)27 b FD(f)p FG(a)21 b FD(j)h Fk(in\014nite)6 b FD(f)p |
|
2814 FG(b)21 b FD(j)h Fr(\()p FG(a)12 b(b)p Fr(\))1808 1579 |
|
2815 y Fo(\001)1846 1570 y FG(x)21 b FD(6)p Fr(=)g FG(x)p |
|
2816 FD(gg)0 1722 y FE(wher)m(e)28 b Fk(in\014nite)5 b Fr(\()p |
|
2817 FD(\000)p Fr(\))28 b FE(means)g(that)h(the)f(set)f(is)h(in\002nite)o(.) |
|
2818 1545 1691 y Fv(2)1605 1722 y FE(An)g(atom)h FG(a)e FE(is)h(said)g(to)g |
|
2819 (be)h FI(fresh)f FE(for)g(an)h FG(x)p FE(,)0 1818 y(written)19 |
|
2820 b FG(a)i Fr(#)h FG(x)p FE(,)d(pr)l(o)o(vided)i FG(a)g |
|
2821 FD(62)h Fk(supp)5 b Fr(\()p FG(x)p Fr(\))p FE(.)0 1996 |
|
2822 y FI(Intuiti)n(v)o(ely)-5 b(,)25 b(this)f(de\002nition)h(says)e(that)h |
|
2823 FG(a)g FI(is)f(fresh)h(for)h FG(x)e FI(if)h(and)h(only)g(if)f |
|
2824 Fr(\()p FG(a)12 b(b)p Fr(\))2226 2005 y Fo(\001)2264 |
|
2825 1996 y FG(x)28 b Fr(=)g FG(x)c FI(holds)g(for)h(all)0 |
|
2826 2091 y(b)n(ut)f(\002nitely)f(man)o(y)h FG(b)p FI(.)e(Unwinding)j(this)d |
|
2827 (de\002nition)j(and)e(the)g(permutation)i(operations)f(gi)n(v)o(en)g |
|
2828 (in)f(\(2\),)0 2187 y(one)e(can)f(often)h(easily)e(calculate)h(the)g |
|
2829 (support)i(for)e(\223\002nitary\224)h(permutation)h(types)e(such)g(as:) |
|
2830 570 2368 y Fs(name)i Fr(:)291 b Fk(supp)6 b Fr(\()p FG(a)p |
|
2831 Fr(\))21 b(=)g FD(f)p FG(a)p FD(g)570 2473 y FG(\013)g |
|
2832 Fs(list)i Fr(:)220 b Fk(supp)6 b Fr(\([]\))22 b(=)f Fh(?)1060 |
|
2833 2579 y Fk(supp)6 b Fr(\()p FG(x)21 b Fr(::)h FG(xs)p |
|
2834 Fr(\))e(=)h Fk(supp)6 b Fr(\()p FG(x)p Fr(\))16 b FD([)h |
|
2835 Fk(supp)6 b Fr(\()p FG(xs)p Fr(\))570 2684 y FG(\013)619 |
|
2836 2696 y Fq(1)673 2684 y FD(\002)17 b FG(\013)799 2696 |
|
2837 y Fq(2)858 2684 y Fr(:)181 b Fk(supp)6 b Fr(\(\()p FG(x)1320 |
|
2838 2696 y Fq(1)1356 2684 y FG(;)13 b(x)1434 2696 y Fq(2)1471 |
|
2839 2684 y Fr(\)\))21 b(=)g Fk(supp)6 b Fr(\()p FG(x)1863 |
|
2840 2696 y Fq(1)1900 2684 y Fr(\))17 b FD([)g Fk(supp)6 b |
|
2841 Fr(\()p FG(x)2245 2696 y Fq(2)2281 2684 y Fr(\))570 2789 |
|
2842 y Fs(unit)22 b Fr(:)291 b Fk(supp)6 b Fr(\(\(\)\))21 |
|
2843 b(=)g Fh(?)570 2894 y FG(\013)g Fs(option)i Fr(:)142 |
|
2844 b Fk(supp)6 b Fr(\()p Fk(None)g Fr(\))21 b(=)g Fh(?)1060 |
|
2845 2999 y Fk(supp)6 b Fr(\()p Fk(Some)g Fr(\()p FG(x)p Fr(\)\))20 |
|
2846 b(=)h Fk(supp)6 b Fr(\()p FG(x)p Fr(\))570 3104 y Fs(bool)22 |
|
2847 b Fr(:)291 b Fk(supp)6 b Fr(\()p FG(b)p Fr(\))21 b(=)g |
|
2848 Fh(?)2789 2734 y FI(\(4\))0 3282 y(More)e(subtle)f(is)g(the)g |
|
2849 (calculation)h(of)g(the)g(support)g(for)g(\223in\002nitary\224)g |
|
2850 (permutation)i(types)d(such)h(as)e(func-)0 3377 y(tions)26 |
|
2851 b(and)h(in\002nite)f(sets.)f(Ho)n(we)n(v)o(er)m(,)h(the)g(use)g(of)g |
|
2852 (the)g(notion)i(of)e(support,)h(as)f(opposed)h(to)f(the)g(usual)0 |
|
2853 3473 y(notion)19 b(of)g(free)f(atoms,)g(is)g(crucial)g(for)h(this)f(w)o |
|
2854 (ork:)h(the)f(bijecti)n(v)o(e)h(set)e(we)h(describe)g(in)h(the)f(ne)o |
|
2855 (xt)g(section)0 3568 y(includes)25 b(some)f(functions,)h(and)f(for)h |
|
2856 (those)f(it)g(is)f(f)o(ar)h(from)h(ob)o(vious)h(what)e(the)g |
|
2857 (de\002nition)h(of)f(the)g(set)0 3664 y(of)c(free)f(atoms)g(should)i |
|
2858 (be)e(\(the)h(obstacle)f(is)f(to)i(\002nd)f(an)h(appropriate)h |
|
2859 (de\002nition)f(for)g(free)g(v)n(ariables)f(of)0 3759 |
|
2860 y(functions)i(with)f(type,)g(say)g FG(\013)822 3771 y |
|
2861 Fq(1)881 3759 y FD(\))h FG(\013)1028 3771 y Fq(2)1065 |
|
2862 3759 y FI(,)f(in)g(terms)f(of)i(the)f(free)g(v)n(ariables)g(for)h |
|
2863 (elements)f(of)g(the)g(type)g FG(\013)2843 3771 y Fq(1)0 |
|
2864 3855 y FI(and)25 b FG(\013)187 3867 y Fq(2)225 3855 y |
|
2865 FI(\).)f(Contrast)h(this)g(with)g(the)g(de\002nition)h(of)f |
|
2866 (permutation)i(for)e(functions)h(gi)n(v)o(en)g(in)f(\(2\),)g(which)0 |
|
2867 3950 y(is)d(de\002ned)h(in)g(terms)f(of)h(the)g(permutation)h(acting)f |
|
2868 (on)g(the)g(domain)h(and)f(co-domain)h(of)f(functions.)h(It)0 |
|
2869 4046 y(will)17 b(turn)h(out)g(that,)g(albeit)f(slightly)h(unwieldy)-5 |
|
2870 b(,)19 b(Def.)e(3)g(coincides)i(e)o(xactly)e(with)h(what)g(one)g |
|
2871 (intuiti)n(v)o(ely)0 4141 y(associates)h(with)h(the)g(set)g(of)g(free)g |
|
2872 (atoms)g(for)h(the)f(functions)h(we)f(shall)g(use.)125 |
|
2873 4239 y(F)o(or)e(permutation)j(types)d(the)h(notion)h(of)f(support)g |
|
2874 (and)g(freshness)g(ha)n(v)o(e)g(good)h(properties:)g(we)e(\002rst)0 |
|
2875 4334 y(sho)n(w)f(that)h(the)f(support)h(and)g(the)g(permutation)h |
|
2876 (operation)f(commute)h(and)f(that)f(permutation)i(preserv)o(e)0 |
|
2877 4430 y(freshness.)313 4398 y Fv(3)p 0 TeXcolorgray 0 |
|
2878 4492 898 4 v 62 4556 a Fu(2)125 4580 y FF(In)g(Isabelle/HOL)i(the)f |
|
2879 (predicate)i Fg(in\014nite)i FF(is)19 b(de\002ned)h(as)f(\223not)i(a)e |
|
2880 (\002nite)i(set\224)f(with)g(the)g(predicate)i(for)d(a)h(set)f(being)0 |
|
2881 4656 y(\002nite)f(de\002ned)g(inducti)n(v)o(ely)j(starting)e(with)f |
|
2882 (the)f(empty)h(set)f(and)h(by)f(adding)h(elements.)62 |
|
2883 4722 y Fu(3)125 4746 y FF(Pitts)24 b(gi)n(v)o(es)h(in)f([27])g(a)g |
|
2884 (simpler)h(proof)f(for)g Ff(\(i\))p FF(,)f(b)o(ut)h(in)g(a)g(more)g |
|
2885 (restricted)j(setting,)e(namely)g(where)f FA(x)f FF(has)h(\002nite)0 |
|
2886 4823 y(support.)17 b(Our)g(lemma)h(is)f(more)g(general)i(as)e(we)g |
|
2887 (only)g(require)i FA(x)d FF(to)i(be)f(of)g(permutation)j(type.)p |
|
2888 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end |
|
2889 %%Page: 6 6 |
|
2890 TeXDict begin 6 5 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
2891 71 2881 4 v 0 17 a FF(6)p 0 TeXcolorgray 0 TeXcolorgray |
|
2892 0 228 a FJ(Lemma)19 b(3)p 0 TeXcolorgray 42 w FE(F)-8 |
|
2893 b(or)20 b(all)g FG(x)f FE(of)h(permutation)i(type:)p |
|
2894 0 TeXcolorgray 56 375 a(\(i\))p 0 TeXcolorgray 42 w FG(\031)219 |
|
2895 384 y Fo(\001)257 375 y Fk(supp)5 b Fr(\()p FG(x)p Fr(\))21 |
|
2896 b(=)g Fk(supp)6 b Fr(\()p FG(\031)851 384 y Fo(\001)888 |
|
2897 375 y FG(x)p Fr(\))p FE(,)p 0 TeXcolorgray 34 471 a(\(ii\))p |
|
2898 0 TeXcolorgray 42 w FG(a)21 b Fr(#)g FG(\031)366 480 |
|
2899 y Fo(\001)404 471 y FG(x)41 b FE(if)19 b(and)i(only)g(if)41 |
|
2900 b FG(\031)978 439 y Fl(\000)p Fq(1)1066 480 y Fo(\001)1105 |
|
2901 471 y FG(a)21 b Fr(#)g FG(x)p FE(,)e(and)p 0 TeXcolorgray |
|
2902 12 566 a(\(iii\))p 0 TeXcolorgray 63 w FG(\031)240 575 |
|
2903 y Fo(\001)278 566 y FG(a)i Fr(#)g FG(\031)472 575 y Fo(\001)510 |
|
2904 566 y FG(x)e FE(if)h(and)h(only)f(if)g FG(a)h Fr(#)g |
|
2905 FG(x)g FE(.)p 0 TeXcolorgray 0 841 a(Pr)l(oof)p 0 TeXcolorgray |
|
2906 40 w FI(The)f(\002rst)f(property)j(follo)n(ws)f(from)g(the)f |
|
2907 (calculation:)p 0 TeXcolorgray 0 TeXcolorgray 306 1017 |
|
2908 a FG(\031)353 1026 y Fo(\001)391 1017 y Fk(supp)6 b Fr(\()p |
|
2909 FG(x)p Fr(\))674 975 y Fn(def)681 1017 y Fr(=)31 b FG(\031)819 |
|
2910 1026 y Fo(\001)856 1017 y FD(f)p FG(a)13 b FD(j)g Fk(in\014nite)6 |
|
2911 b FD(f)p FG(b)13 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1490 |
|
2912 1026 y Fo(\001)1528 1017 y FG(x)21 b FD(6)p Fr(=)g FG(x)p |
|
2913 FD(gg)674 1094 y Fn(def)681 1137 y Fr(=)31 b FD(f)p FG(\031)857 |
|
2914 1146 y Fo(\001)895 1137 y FG(a)12 b FD(j)h Fk(in\014nite)6 |
|
2915 b FD(f)p FG(b)13 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1490 |
|
2916 1146 y Fo(\001)1528 1137 y FG(x)21 b FD(6)p Fr(=)g FG(x)p |
|
2917 FD(gg)681 1235 y Fr(=)31 b FD(f)p FG(\031)857 1244 y |
|
2918 Fo(\001)895 1235 y FG(a)12 b FD(j)h Fk(in\014nite)6 b |
|
2919 FD(f)p FG(\031)1310 1244 y Fo(\001)1348 1235 y FG(b)13 |
|
2920 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1575 1244 y Fo(\001)1613 |
|
2921 1235 y FG(x)20 b FD(6)p Fr(=)i FG(x)p FD(gg)560 b Fr(\()p |
|
2922 FD(\003)2507 1203 y Fq(1)2545 1235 y Fr(\))681 1332 y(=)31 |
|
2923 b FD(f)p FG(a)12 b FD(j)i Fk(in\014nite)5 b FD(f)p FG(b)14 |
|
2924 b FD(j)f Fr(\()p FG(\031)1336 1301 y Fl(\000)p Fq(1)1424 |
|
2925 1341 y Fo(\001)1462 1332 y FG(a)34 b(\031)1584 1301 y |
|
2926 Fl(\000)p Fq(1)1673 1341 y Fo(\001)1711 1332 y FG(b)p |
|
2927 Fr(\))1774 1341 y Fo(\001)1812 1332 y FG(x)21 b FD(6)p |
|
2928 Fr(=)g FG(x)p FD(gg)681 1430 y Fr(=)31 b FD(f)p FG(a)12 |
|
2929 b FD(j)i Fk(in\014nite)5 b FD(f)p FG(b)14 b FD(j)f FG(\031)1306 |
|
2930 1439 y Fo(\001)1343 1430 y Fr(\()p FG(\031)1420 1399 |
|
2931 y Fl(\000)p Fq(1)1509 1439 y Fo(\001)1547 1430 y FG(a)34 |
|
2932 b(\031)1669 1399 y Fl(\000)p Fq(1)1758 1439 y Fo(\001)1796 |
|
2933 1430 y FG(b)p Fr(\))1859 1439 y Fo(\001)1897 1430 y FG(x)21 |
|
2934 b FD(6)p Fr(=)g FG(\031)2090 1439 y Fo(\001)2128 1430 |
|
2935 y FG(x)p FD(gg)191 b Fr(\()p FD(\003)2507 1399 y Fq(2)2545 |
|
2936 1430 y Fr(\))681 1550 y(=)31 b FD(f)p FG(a)12 b FD(j)i |
|
2937 Fk(in\014nite)5 b FD(f)p FG(b)14 b FD(j)f Fr(\()p FG(a)f(b)p |
|
2938 Fr(\))1405 1559 y Fo(\001)1443 1550 y FG(\031)1490 1559 |
|
2939 y Fo(\001)1528 1550 y FG(x)21 b FD(6)p Fr(=)g FG(\031)1721 |
|
2940 1559 y Fo(\001)1759 1550 y FG(x)p FD(gg)1900 1507 y Fn(def)1907 |
|
2941 1550 y Fr(=)29 b Fk(supp)5 b Fr(\()p FG(\031)2228 1559 |
|
2942 y Fo(\001)2266 1550 y FG(x)p Fr(\))99 b(\()p FD(\003)2507 |
|
2943 1518 y Fq(3)2545 1550 y Fr(\))0 1716 y FI(where)18 b |
|
2944 Fr(\()p FD(\003)278 1684 y Fq(1)315 1716 y Fr(\))f FI(holds)i(because)e |
|
2945 (the)h(sets)e FD(f)p FG(b)p FD(j)e FG(:)f(:)g(:)p FD(g)18 |
|
2946 b FI(and)g FD(f)p FG(\031)1533 1725 y Fo(\001)1571 1716 |
|
2947 y FG(b)p FD(j)13 b FG(:)h(:)f(:)p FD(g)18 b FI(ha)n(v)o(e)g(the)f(same) |
|
2948 h(number)h(of)f(elements,)0 1811 y(and)h(where)g Fr(\()p |
|
2949 FD(\003)411 1779 y Fq(2)448 1811 y Fr(\))f FI(holds)h(because)g |
|
2950 (permutations)h(preserv)o(e)f(by)g(Lem.)f(1)p FE(\(ii\))h |
|
2951 FI(\(in\)equalities;)g Fr(\()p FD(\003)2624 1779 y Fq(3)2662 |
|
2952 1811 y Fr(\))f FI(holds)0 1907 y(because)g FG(\031)i |
|
2953 FI(commutes)e(with)g(the)f(sw)o(apping,)i(that)e(is)g |
|
2954 FG(\031)s Fr(@\()p FG(c)12 b(d)p Fr(\))21 b FD(\030)g |
|
2955 Fr(\()p FG(\031)1918 1916 y Fo(\001)1956 1907 y FG(c)39 |
|
2956 b(\031)2075 1916 y Fo(\001)2112 1907 y FG(d)p Fr(\)@)p |
|
2957 FG(\031)20 b FI(for)e(all)f(atoms)h FG(c)f FI(and)0 2002 |
|
2958 y FG(d)p FI(.)k(F)o(or)h(the)g(second)h(and)f(third)h(property)h(we)e |
|
2959 (ha)n(v)o(e)g(by)h(Lem.)f(1)p FE(\(iv\))g FI(that)g FG(a)j |
|
2960 FD(2)g Fk(supp)5 b Fr(\()p FG(x)p Fr(\))21 b FI(if)h(and)h(only)g(if)0 |
|
2961 2098 y FG(\031)47 2107 y Fo(\001)85 2098 y FG(a)e FD(2)g |
|
2962 FG(\031)266 2107 y Fo(\001)304 2098 y Fk(supp)6 b Fr(\()p |
|
2963 FG(x)p Fr(\))p FI(;)19 b(the)o(y)h(then)h(follo)n(w)f(from)h |
|
2964 FE(\(i\))g FI(and)f(Lem.)g(1)p FE(\(i\))p FI(.)80 b FD(u)-51 |
|
2965 b(t)125 2270 y FI(Another)17 b(important)h(property)h(of)d(freshness)h |
|
2966 (is)f(the)h(f)o(act)f(that)h(if)f(tw)o(o)h(atoms)g(are)f(fresh)h(w)-5 |
|
2967 b(.r)l(.t.)15 b(an)i(el-)0 2366 y(ement)i(of)g(a)g(permutation)h(type)g |
|
2968 (then)f(the)g(permutation)h(sw)o(apping)g(those)f(tw)o(o)g(atoms)g(in)g |
|
2969 (this)f(element)0 2461 y(has)i(no)g(ef)n(fect:)p 0 TeXcolorgray |
|
2970 0 2634 a FJ(Lemma)f(4)p 0 TeXcolorgray 42 w FE(F)-8 b(or)20 |
|
2971 b(all)g FG(x)f FE(of)h(permutation)i(type)o(,)e(if)f |
|
2972 FG(a)i Fr(#)g FG(x)f FE(and)h FG(b)g Fr(#)g FG(x)f FE(then)g |
|
2973 Fr(\()p FG(a)12 b(b)p Fr(\))2228 2643 y Fo(\001)2266 |
|
2974 2634 y FG(x)21 b Fr(=)g FG(x)p FE(.)p 0 TeXcolorgray |
|
2975 0 2858 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)30 b(case)g |
|
2976 FG(a)39 b Fr(=)g FG(b)30 b FI(is)g(clear)g(by)g(Def.)g(2)p |
|
2977 FE(\(i,iii\))g FI(and)h(the)f(f)o(act)h(that)f Fr(\()p |
|
2978 FG(a)12 b(a)p Fr(\))39 b FD(\030)h Fr([])p FI(.)30 b(In)h(the)f(other)0 |
|
2979 2953 y(case,)h(the)g(assumption)i(implies)f(that)f(both)i(sets)d |
|
2980 FD(f)p FG(c)14 b FD(j)f Fr(\()p FG(c)g(a)p Fr(\))1705 |
|
2981 2962 y Fo(\001)1742 2953 y FG(x)42 b FD(6)p Fr(=)g FG(x)p |
|
2982 FD(g)31 b FI(and)h FD(f)p FG(c)14 b FD(j)f Fr(\()p FG(c)g(b)p |
|
2983 Fr(\))2446 2962 y Fo(\001)2484 2953 y FG(x)41 b FD(6)p |
|
2984 Fr(=)h FG(x)p FD(g)32 b FI(are)0 3049 y(\002nite,)22 |
|
2985 b(and)h(therefore)h(also)e(their)h(union)h(must)f(be)g(\002nite.)f |
|
2986 (Hence)g(the)h(corresponding)i(co-set,)e(that)f(is)0 |
|
2987 3144 y FD(f)p FG(c)13 b FD(j)h Fr(\()p FG(c)e(a)p Fr(\))265 |
|
2988 3153 y Fo(\001)303 3144 y FG(x)21 b Fr(=)g FG(x)8 b FD(^)g |
|
2989 Fr(\()p FG(c)k(b)p Fr(\))698 3153 y Fo(\001)736 3144 |
|
2990 y FG(x)21 b Fr(=)g FG(x)p FD(g)p FI(,)16 b(is)h(in\002nite)h(\(recall)f |
|
2991 (that)h(there)f(are)h(in\002nitely)g(man)o(y)g(atoms\).)f(If)h(one)0 |
|
2992 3239 y(picks)f(from)h(this)f(co-set)g(one)h(element,)f(say)g |
|
2993 FG(c)p FI(,)g(which)h(can)f(be)g(assumed)h(to)f(be)g(dif)n(ferent)i |
|
2994 (from)f FG(a)f FI(and)g FG(b)p FI(,)0 3335 y(one)k(has)g |
|
2995 Fr(\()p FG(c)13 b(a)p Fr(\))407 3344 y Fo(\001)444 3335 |
|
2996 y FG(x)23 b Fr(=)f FG(x)e FI(and)h Fr(\()p FG(c)13 b(b)p |
|
2997 Fr(\))930 3344 y Fo(\001)968 3335 y FG(x)22 b Fr(=)g |
|
2998 FG(x)p FI(.)e(Thus)h Fr(\()p FG(c)13 b(a)p Fr(\))1525 |
|
2999 3344 y Fo(\001)1563 3335 y Fr(\()p FG(c)g(b)p Fr(\))1702 |
|
3000 3344 y Fo(\001)1740 3335 y Fr(\()p FG(c)g(a)p Fr(\))1887 |
|
3001 3344 y Fo(\001)1924 3335 y FG(x)23 b Fr(=)f FG(x)p FI(.)e(Under)h(the)g |
|
3002 (assumptions)0 3430 y FG(a)26 b FD(6)p Fr(=)g FG(c)p |
|
3003 FI(,)c FG(b)27 b FD(6)p Fr(=)f FG(c)c(a)k FD(6)p Fr(=)g |
|
3004 FG(b)p FI(,)d(the)f(permutations)j Fr(\()p FG(c)13 b(a)p |
|
3005 Fr(\)\()p FG(c)f(b)p Fr(\)\()p FG(c)h(a)p Fr(\))22 b |
|
3006 FI(and)h Fr(\()p FG(a)13 b(b)p Fr(\))22 b FI(are)h(equal.)g(Therefore)h |
|
3007 (one)f(can)0 3526 y(conclude)e(with)f Fr(\()p FG(a)13 |
|
3008 b(b)p Fr(\))611 3535 y Fo(\001)649 3526 y FG(x)21 b Fr(=)g |
|
3009 FG(x)e FI(by)h(using)h(Def.)f(2)p FE(\(ii,iii\))p FI(.)79 |
|
3010 b FD(u)-51 b(t)125 3698 y FI(A)18 b(further)i(restriction)g(on)f |
|
3011 (permutation)i(types)e(\002lters)f(out)i(all)e(those)h(that)g(contain)h |
|
3012 (elements)f(with)0 3794 y(in\002nite)h(support:)p 0 TeXcolorgray |
|
3013 0 3967 a FJ(De\002nition)g(4)p 0 TeXcolorgray 42 w(\(Finitely)h |
|
3014 (Supported)g(P)n(ermutation)h(T)-6 b(ypes\))21 b FE(A)g(permutation)h |
|
3015 (type)f FG(\013)g FE(is)f(said)h(to)g(be)0 4062 y FI(\002nitely)f |
|
3016 (supported)p FE(,)i(written)d(fs)890 4083 y Fp(\013)937 |
|
3017 4062 y FE(,)g(if)h(e)o(very)f(element)h(of)g FG(\013)g |
|
3018 FE(has)h(\002nite)f(support.)0 4235 y FI(W)-6 b(e)22 |
|
3019 b(shall)g(write)g Fs(finite)q Fr(\()p Fk(supp)5 b Fr(\()p |
|
3020 FG(x)p Fr(\)\))21 b FI(to)i(indicate)f(that)g(an)g(element)h |
|
3021 FG(x)e FI(from)i(a)f(permutation)i(type)f(has)0 4330 |
|
3022 y(\002nite)d(support.)h(The)f(follo)n(wing)i(holds:)p |
|
3023 0 TeXcolorgray 0 4504 a FJ(Lemma)d(5)p 0 TeXcolorgray |
|
3024 42 w FE(Given)i(fs)620 4524 y Fp(\013)667 4504 y FE(,)f(fs)760 |
|
3025 4524 y Fp(\013)803 4532 y Fj(1)860 4504 y FE(and)h(fs)1051 |
|
3026 4524 y Fp(\013)1094 4532 y Fj(2)1130 4504 y FE(,)f(the)h(types)f |
|
3027 Fs(name)q FE(,)f Fs(unit)q FE(,)h FG(\013)i Fs(list)q |
|
3028 FE(,)d FG(\013)j Fs(option)q FE(,)e FG(\013)2524 4516 |
|
3029 y Fq(1)2579 4504 y FD(\002)d FG(\013)2705 4516 y Fq(2)2763 |
|
3030 4504 y FE(and)0 4599 y Fs(bool)k FE(ar)m(e)f(also)g(\002nitely)g |
|
3031 (supported)h(permutation)h(types.)p 0 TeXcolorgray 0 |
|
3032 4823 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(Routine)e(proofs)h(using)g |
|
3033 (the)f(calculations)g(gi)n(v)o(en)h(in)f(\(4\).)p 0 TeXcolorgray |
|
3034 0 TeXcolorgray eop end |
|
3035 %%Page: 7 7 |
|
3036 TeXDict begin 7 6 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
3037 71 2881 4 v 2848 17 a FF(7)p 0 TeXcolorgray 125 228 a |
|
3038 FI(The)27 b(crucial)h(property)h(entailed)f(by)g(Def.)f(4)g(is)g(that)g |
|
3039 (if)g(an)h(element,)f(say)h FG(x)p FI(,)e(of)i(a)f(permutation)0 |
|
3040 324 y(type)20 b(has)f(\002nite)f(support,)j(then)e(there)h(must)f(be)g |
|
3041 (a)g(fresh)g(atom)h(for)g FG(x)p FI(,)e(since)h(there)g(are)g |
|
3042 (in\002nitely)h(man)o(y)0 419 y(atoms.)g(Therefore)h(we)f(ha)n(v)o(e:)p |
|
3043 0 TeXcolorgray 0 587 a FJ(Pr)o(oposition)g(1)p 0 TeXcolorgray |
|
3044 42 w FE(If)j FG(x)e FE(of)i(permutation)h(type)f(has)f(\002nite)h |
|
3045 (support,)g(then)h(ther)m(e)e(e)n(xists)g(an)h(atom)g |
|
3046 FG(a)f FE(with)0 682 y FG(a)f Fr(#)g FG(x)p FE(.)0 850 |
|
3047 y FI(As)d(a)g(result,)h(whene)n(v)o(er)h(we)e(need)h(to)g(ha)n(v)o(e)g |
|
3048 (a)g(fresh)g(atom)g(for)g(an)g FG(x)f FI(of)h(permutation)i(type,)e(we) |
|
3049 f(ha)n(v)o(e)i(to)0 945 y(mak)o(e)j(sure)f(that)h FG(x)e |
|
3050 FI(has)h(\002nite)h(support.)g(This)f(task)g(can)h(be)f(automatically)i |
|
3051 (performed)g(by)f(Isabelle')l(s)0 1041 y(axiomatic)h(type-classes)f |
|
3052 (for)h(most)f(constructions)i(occurring)g(in)e(informal)i(proofs:)f |
|
3053 (Isabelle)f(has)h(to)0 1136 y(just)c(e)o(xamine)g(the)h(types)f(of)g |
|
3054 (the)g(construction)i(using)f(Lem.)f(5.)125 1232 y(Prop)i(1)g(also)g |
|
3055 (implies)g(that)g(for)g(e)n(v)o(ery)h(\002nitely)f(supported)i |
|
3056 (function)f(a)f(fresh)g(atom)g(e)o(xists.)f(Ho)n(w-)0 |
|
3057 1327 y(e)n(v)o(er)m(,)e(to)g(determine)h(whether)g(a)e(function)j(has)e |
|
3058 (\002nite)g(support)h(is)e(more)i(subtle,)f(because)g(not)h(all)e |
|
3059 (func-)0 1422 y(tions)25 b(are)g(\002nitely)g(supported,)i(e)n(v)o(en)e |
|
3060 (if)g(their)g(domain)h(and)g(codomain)h(are)e(\002nitely)g(supported)h |
|
3061 (per)n(-)0 1518 y(mutation)21 b(types)g(\(see)f([27,)h(Example)g(3.4,)g |
|
3062 (P)o(age)f(470]\).)h(Introducing)i(a)d(\002nitely)h(supported)h |
|
3063 (function)0 1613 y(space)d(and)g(blending)i(it)d(well)g(into)h |
|
3064 (Isabelle')l(s)g(reasoning)h(infrastructure)g(seems)f(impractical)g |
|
3065 (for)g(rea-)0 1709 y(sons)31 b(ho)n(w)g(Isabelle)g(is)f(implemented.)i |
|
3066 (So)f(for)g(functions)h(one)g(has)e(to)h(\223manually\224)h(ensure)g |
|
3067 (\002nite)0 1804 y(support,)23 b(which)g(we)f(shall)h(do)g(in)f(Sec.)g |
|
3068 (5)g(by)h(introducing)i(a)d(weak)o(er)h(notion)h(that)e(approximates)i |
|
3069 (the)0 1900 y(support)d(of)g(an)f(element)g(from)h(\223abo)o(v)o |
|
3070 (e\224.)0 2180 y FJ(3)28 b(Constructing)20 b(a)g(Repr)o(esentation)g(f) |
|
3071 n(or)h(Alpha-Equated)f(Lambda-T)-7 b(erms)0 2368 y FI(In)32 |
|
3072 b(this)f(section)h(we)f(de\002ne)h(an)g(inducti)n(v)o(e)g(set)f(that)h |
|
3073 (is)f(bijecti)n(v)o(e)h(with)f(the)h(set)f(of)g(alpha-equated)0 |
|
3074 2464 y(lambda-terms.)25 b(In)f(doing)h(so)f(our)g(goal)g(is)f(to)h(gi)n |
|
3075 (v)o(e)g(in)g(Isabelle/HOL)g(a)f(formal)i(implementation)g(of)0 |
|
3076 2559 y(the)j(usual)g(con)m(v)o(ention)i(\(from)g(Barendre)o(gt)f([5,)f |
|
3077 (P)o(age)g(26]\))h(emplo)o(yed)h(e)o(xplicitly)e(or)h(implicitly)g(in)0 |
|
3078 2655 y(man)o(y)21 b(informal)g(proofs:)p 0 TeXcolorgray |
|
3079 0 TeXcolorgray 290 2811 a(C)t Fe(O)t(N)t(V)t(E)t(N)t(T)t(I)t(O)t(N)r |
|
3080 FI(.)28 b(T)-6 b(erms)34 b(that)f(are)h FG(\013)p FI(-congruent)i(are)d |
|
3081 (identi\002ed.)h(So)f(no)n(w)h(we)288 2906 y(write)20 |
|
3082 b FG(\025x:x)g FD(\021)h FG(\025y)s(:y)s FI(,)e(etcetera.)125 |
|
3083 3060 y(W)-6 b(e)19 b(be)o(gin)h(with)g(de\002ning)h(\223ra)o(w\224)e |
|
3084 (lambda-terms.)i(The)o(y)f(can)g(be)g(de\002ned)g(in)g(Isabelle/HOL)g |
|
3085 (with)0 3156 y(the)g(datatype)h(declaration:)844 3317 |
|
3086 y Fs(datatype)i(lam)i Fr(=)g Fs(Var)43 b Fr(")p Fs(name)p |
|
3087 Fr(")1341 3412 y FD(j)h Fs(App)f Fr(")p Fs(lam)31 b FD(\002)f |
|
3088 Fs(lam)q Fr(")1341 3508 y FD(j)44 b Fs(Lam)f Fr(")p Fs(name)32 |
|
3089 b FD(\002)d Fs(lam)q Fr(")2789 3412 y FI(\(5\))0 3667 |
|
3090 y(Gi)n(v)o(en)20 b(the)g(follo)n(wing)i(permutation)g(operation)f(for)g |
|
3091 (lambda-terms)1033 3852 y FG(\031)1080 3861 y Fo(\001)1118 |
|
3092 3852 y Fs(Var)q Fr(\()p FG(a)p Fr(\))1361 3809 y Fn(def)1368 |
|
3093 3852 y Fr(=)32 b Fs(Var)q Fr(\()p FG(\031)1655 3861 y |
|
3094 Fo(\001)1692 3852 y FG(a)p Fr(\))910 3971 y FG(\031)957 |
|
3095 3980 y Fo(\001)995 3971 y Fs(App)p Fr(\()p FG(t)1170 |
|
3096 3983 y Fq(1)1207 3971 y FG(;)13 b(t)1269 3983 y Fq(2)1306 |
|
3097 3971 y Fr(\))1361 3928 y Fn(def)1368 3971 y Fr(=)32 b |
|
3098 Fs(App)q Fr(\()p FG(\031)1655 3980 y Fo(\001)1692 3971 |
|
3099 y FG(t)1720 3983 y Fq(1)1757 3971 y FG(;)14 b(\031)1839 |
|
3100 3980 y Fo(\001)1876 3971 y FG(t)1904 3983 y Fq(2)1941 |
|
3101 3971 y Fr(\))971 4090 y FG(\031)1018 4099 y Fo(\001)1056 |
|
3102 4090 y Fs(Lam)q Fr(\()p FG(a;)e(t)p Fr(\))1361 4048 y |
|
3103 Fn(def)1368 4090 y Fr(=)32 b Fs(Lam)q Fr(\()p FG(\031)1655 |
|
3104 4099 y Fo(\001)1692 4090 y FG(a;)13 b(\031)1814 4099 |
|
3105 y Fo(\001)1852 4090 y FG(t)p Fr(\))2789 3959 y FI(\(6\))0 |
|
3106 4250 y(the)18 b(datatype)h Fs(lam)g FI(is)f(a)g(permutation)i(type)e |
|
3107 (\(routine)i(proof)g(by)f(structural)f(induction\).)i(As)e(mentioned)0 |
|
3108 4345 y(earlier)m(,)25 b(\002xing)h(the)g(permutation)h(operation)h |
|
3109 (also)d(\002x)o(es)g(the)g(notion)i(of)f(support,)h(which)f(in)f(case)g |
|
3110 (of)0 4441 y Fs(lam)e FI(coincides)g(with)f(the)g(set)g(of)h |
|
3111 FE(all)f FI(atoms)g(occurring)i(in)f(a)f(lambda-term.)i(Hence)e |
|
3112 Fs(lam)h FI(is)e(a)h(\002nitely)0 4536 y(supported)g(permutation)g |
|
3113 (type.)125 4632 y(The)k(notion)i(of)f(alpha-equi)n(v)n(alence)h(for)f |
|
3114 Fs(lam)g FI(is)f(usually)h(de\002ned)g(as)f(the)g(least)g(congruence)i |
|
3115 (of)0 4727 y(the)e(equation)h Fs(Lam)q Fr(\()p FG(a;)12 |
|
3116 b(t)p Fr(\))31 b(=)790 4735 y Fp(\013)869 4727 y Fs(Lam)q |
|
3117 Fr(\()p FG(b;)13 b(t)p Fr([)p FG(a)31 b Fr(:=)h FG(b)p |
|
3118 Fr(]\))25 b FI(in)m(v)n(olving)j(a)e(renaming)h(substitution)g(and)f(a) |
|
3119 g(side-)0 4823 y(condition,)k(namely)f(that)g FG(b)f |
|
3120 FI(does)h(not)g(occur)h(freely)f(in)f FG(t)p FI(.)g(In)h(the)g(nominal) |
|
3121 h(logic)f(w)o(ork,)g(ho)n(we)n(v)o(er)m(,)p 0 TeXcolorgray |
|
3122 0 TeXcolorgray eop end |
|
3123 %%Page: 8 8 |
|
3124 TeXDict begin 8 7 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
3125 71 2881 4 v 0 17 a FF(8)p 0 TeXcolorgray 0 TeXcolorgray |
|
3126 0 149 V 0 1074 4 926 v 581 244 491 4 v 581 310 a Ft(Var)q |
|
3127 Fy(\()p FA(a)p Fy(\))21 b Fz(\031)f Ft(Var)q Fy(\()p |
|
3128 FA(a)p Fy(\))1113 256 y Fz(\031)1168 264 y Fd(Var)1498 |
|
3129 214 y FA(t)1523 223 y Fx(1)1578 214 y Fz(\031)g FA(s)1686 |
|
3130 223 y Fx(1)1786 214 y FA(t)1811 223 y Fx(2)1866 214 y |
|
3131 Fz(\031)f FA(s)1973 223 y Fx(2)p 1387 244 733 4 v 1387 |
|
3132 310 a Ft(App)p Fy(\()p FA(t)1544 319 y Fx(1)1580 310 |
|
3133 y FA(;)11 b(t)1636 319 y Fx(2)1671 310 y Fy(\))20 b Fz(\031)g |
|
3134 Ft(App)q Fy(\()p FA(s)1959 319 y Fx(1)1993 310 y FA(;)12 |
|
3135 b(s)2058 319 y Fx(2)2092 310 y Fy(\))2161 251 y Fz(\031)2216 |
|
3136 259 y Fd(App)655 446 y FA(t)20 b Fz(\031)g FA(s)p 426 |
|
3137 467 612 4 v 426 533 a Ft(Lam)q Fy(\()p FA(a;)12 b(t)p |
|
3138 Fy(\))20 b Fz(\031)g Ft(Lam)q Fy(\()p FA(a;)12 b(s)p |
|
3139 Fy(\))1079 479 y Fz(\031)1134 488 y Fd(Lam)q Fx(1)1382 |
|
3140 430 y FA(a)20 b Fz(6)p Fy(=)g FA(b)59 b(t)20 b Fz(\031)f |
|
3141 Fy(\()p FA(a)13 b(b)p Fy(\))1856 439 y Fo(\001)1895 430 |
|
3142 y FA(s)58 b(a)8 b Fz(62)g Ft(fv)q Fy(\()p FA(s)p Fy(\))p |
|
3143 1382 467 863 4 v 1511 533 a Ft(Lam)q Fy(\()p FA(a;)13 |
|
3144 b(t)p Fy(\))20 b Fz(\031)g Ft(Lam)p Fy(\()p FA(b;)12 |
|
3145 b(s)p Fy(\))2286 479 y Fz(\031)2341 488 y Fd(Lam)q Fx(2)781 |
|
3146 704 y FA(a)21 b Fz(6)p Fy(=)e FA(b)p 654 737 417 4 v |
|
3147 654 803 a(a)8 b Fz(62)g Ft(fv)q Fy(\()p Ft(Var)q Fy(\()p |
|
3148 FA(b)p Fy(\)\))1112 753 y Ft(fv)1183 761 y Fd(Var)1401 |
|
3149 700 y FA(a)g Fz(62)g Ft(fv)q Fy(\()p FA(t)1624 709 y |
|
3150 Fx(1)1659 700 y Fy(\))59 b FA(a)8 b Fz(62)g Ft(fv)q Fy(\()p |
|
3151 FA(t)1968 709 y Fx(2)2004 700 y Fy(\))p 1401 737 631 |
|
3152 4 v 1447 803 a FA(a)g Fz(62)g Ft(fv)q Fy(\()p Ft(App)q |
|
3153 Fy(\()p FA(t)1803 812 y Fx(1)1839 803 y FA(;)j(t)1895 |
|
3154 812 y Fx(2)1930 803 y Fy(\)\))2073 748 y Ft(fv)2143 756 |
|
3155 y Fd(App)p 670 960 481 4 v 670 1026 a FA(a)d Fz(62)g |
|
3156 Ft(fv)q Fy(\()p Ft(Lam)q Fy(\()p FA(a;)k(t)p Fy(\)\))1192 |
|
3157 976 y Ft(fv)1263 985 y Fd(Lam)q Fx(1)1512 923 y FA(a)20 |
|
3158 b Fz(6)p Fy(=)g FA(b)59 b(a)8 b Fz(62)g Ft(fv)q Fy(\()p |
|
3159 FA(t)p Fy(\))p 1511 960 474 4 v 1511 1026 a FA(a)g Fz(62)g |
|
3160 Ft(fv)q Fy(\()p Ft(Lam)r Fy(\()p FA(b;)k(t)p Fy(\)\))2026 |
|
3161 976 y Ft(fv)2097 985 y Fd(Lam)q Fx(2)p 2878 1074 4 926 |
|
3162 v 0 1077 2881 4 v 0 1194 a FB(Fig)o(.)k(2)34 b FF(Inducti)n(v)o(e)20 |
|
3163 b(de\002nitions)f(for)e Fy(\()p Fz(\000)p Fy(\))j Fz(\031)g |
|
3164 Fy(\()p Fz(\000)p Fy(\))d FF(and)h Fy(\()p Fz(\000)p |
|
3165 Fy(\))8 b Fz(62)g Ft(fv)q Fy(\()p Fz(\000)p Fy(\))p FF(.)p |
|
3166 0 TeXcolorgray 0 1467 a FI(atoms)20 b(are)g(manipulated)h(not)f(by)h |
|
3167 (renaming)g(substitutions,)f(b)n(ut)h(by)f(permutations.)h(This)f(has)g |
|
3168 (a)f(num-)0 1563 y(ber)27 b(of)g(technical)g(adv)n(antages)g(\(compare) |
|
3169 h(the)f(technical)g(subtleties)f(of)g(Do)n(wek)h FE(et)f(al)h |
|
3170 FI([9])g(with)f(the)0 1658 y(approach)e(in)f(Urban)g |
|
3171 FE(et)f(al)g FI([35]\),)i(because)f(permutations)h(are)e(bijections)h |
|
3172 (on)g(atoms,)f(while)h(renam-)0 1753 y(ing)d(substitution)h(might)g |
|
3173 (identify)g(some)f(atoms.)g(As)f(a)g(consequence)j(of)e(the)g(bijecti)n |
|
3174 (vity)-5 b(,)20 b(a)g(renaming)0 1849 y(based)27 b(on)g(permutations)h |
|
3175 (preserv)o(es)f(the)g(binding)h(structure.)f(In)g(contrast,)g(applying) |
|
3176 i(na)n(\250)-24 b(\021v)o(ely)27 b(a)f(re-)0 1944 y(naming)21 |
|
3177 b(substitution)g(one)g(might)g(identify)g(an)f(atom)g(that)g(is)g |
|
3178 (bound)i(with)e(one)g(that)g(is)f(free.)125 2044 y(Using)i(the)g |
|
3179 (permutation)i(operation)g(gi)n(v)o(en)f(in)g(\(6\),)f(alpha-equi)n(v)n |
|
3180 (alence)j(for)e Fs(lam)g FI(can)f(be)h(de\002ned)0 2139 |
|
3181 y(in)28 b(a)g(simple)g(and)g(syntax)h(directed)g(f)o(ashion)g(using)f |
|
3182 (the)g(relations)g Fr(\()p FD(\000)p Fr(\))23 b FD(\031)f |
|
3183 Fr(\()p FD(\000)p Fr(\))27 b FI(and)i Fr(\()p FD(\000)p |
|
3184 Fr(\))35 b FD(62)h Fs(fv)p Fr(\()p FD(\000)p Fr(\))0 |
|
3185 2235 y FI(whose)25 b(rules)g(are)g(gi)n(v)o(en)h(in)f(Fig.)f(2.)h |
|
3186 (Because)f(of)i(the)f(\223asymmetric\224)g(rule)h FD(\031)2210 |
|
3187 2247 y Fc(Lam)o Fq(2)2339 2235 y FI(,)f(it)f(might)i(be)f(sur)n(-)0 |
|
3188 2330 y(prising,)c(b)n(ut:)p 0 TeXcolorgray 0 2498 a FJ(Pr)o(oposition)f |
|
3189 (2)p 0 TeXcolorgray 42 w FE(The)g(r)m(elation)h FD(\031)e |
|
3190 FE(is)h(an)g(equivalence)i(r)m(elation.)0 2663 y FI(The)g(proof)h(of)f |
|
3191 (this)f(proposition)j(is)d(omitted:)h(it)f(can)h(be)g(found)h(in)e(a)h |
|
3192 (more)g(general)h(setting)e(in)h(Urban)0 2759 y FE(et)j(al)g |
|
3193 FI([35].)h(\(W)-6 b(e)25 b(also)g(omit)h(a)f(proof)h(sho)n(wing)h(that) |
|
3194 e FD(\031)f FI(and)i Fr(=)1792 2767 y Fp(\013)1864 2759 |
|
3195 y FI(coincide\).)g(In)g(the)f(follo)n(wing,)h Fr([)p |
|
3196 FG(t)p Fr(])2833 2767 y Fp(\013)0 2876 y FI(will)19 b(stand)g(for)h |
|
3197 (the)f(alpha-equi)n(v)n(alence)j(class)c(of)i(the)f(lambda-term)i |
|
3198 FG(t)p FI(,)d(that)h(is)g Fr([)p FG(t)p Fr(])2281 2884 |
|
3199 y Fp(\013)2350 2834 y Fn(def)2357 2876 y Fr(=)29 b FD(f)21 |
|
3200 b FG(t)2533 2845 y Fl(0)2578 2876 y FD(j)g FG(t)2648 |
|
3201 2845 y Fl(0)2693 2876 y FD(\031)g FG(t)g FD(g)p FI(,)0 |
|
3202 2972 y(and)g Fs(lam)251 2990 y Fp(=)p Fl(\031)361 2972 |
|
3203 y FI(for)g(the)f(set)f(of)i(lambda-terms)g(quotient)g(by)g |
|
3204 FD(\031)p FI(.)125 3071 y(Ne)o(xt)e(we)g(will)g(de\002ne)h(a)f(set)g |
|
3205 Fs(phi)p FI(;)h(inside)f(this)g(set)g(we)g(will)g(subsequently)i |
|
3206 (identify)g(\(inducti)n(v)o(ely\))0 3167 y(a)29 b(subset,)f(called)h |
|
3207 Fs(lam)644 3175 y Fp(\013)691 3167 y FI(,)g(that)f(is)h(in)g(bijection) |
|
3208 g(with)g Fs(lam)1649 3184 y Fp(=)p Fl(\031)1739 3167 |
|
3209 y FI(.)f(Since)h(Isabelle/HOL)g(supports)h(sub-)0 3262 |
|
3210 y(set)h(types,)g(we)g(can)h(later)f(turn)i Fs(lam)1047 |
|
3211 3270 y Fp(\013)1126 3262 y FI(into)f(a)f(ne)n(w)h(type.)f(In)h(order)h |
|
3212 (to)e(obtain)i(the)e(bijection,)h Fs(phi)0 3357 y FI(needs)22 |
|
3213 b(to)g(be)h(de\002ned)g(so)f(that)g(it)f(contains)i(elements)f |
|
3214 (corresponding,)j(roughly)f(speaking,)f(to)f(alpha-)0 |
|
3215 3453 y(equated)c(v)n(ariables,)f(applications)h(and)f |
|
3216 (lambda-abstractions\227that)i(is)d(to)h Fr([)p Fs(Var)q |
|
3217 Fr(\()p FG(a)p Fr(\)])2366 3461 y Fp(\013)2413 3453 y |
|
3218 FI(,)f Fr([)p Fs(App)q Fr(\()p FG(t)2646 3465 y Fq(1)2683 |
|
3219 3453 y FG(;)d(t)2745 3465 y Fq(2)2782 3453 y Fr(\)])2833 |
|
3220 3461 y Fp(\013)0 3548 y FI(and)20 b Fr([)p Fs(Lam)q Fr(\()p |
|
3221 FG(a;)12 b(t)p Fr(\)])455 3556 y Fp(\013)502 3548 y FI(.)19 |
|
3222 b(Whereas)g(this)g(is)f(straightforw)o(ard)j(for)f(v)n(ariables)f(and)h |
|
3223 (applications,)f(the)g(lambda-)0 3644 y(abstractions)29 |
|
3224 b(are)f(non-tri)n(vial:)i(for)g(them)e(we)g(shall)h(use)f(some)h |
|
3225 FE(speci\002c)f FI(\223partial\224)h(functions)h(from)0 |
|
3226 3739 y Fs(name)19 b FI(to)g Fs(phi)g FI(\(by)g(\223partial\224)g(we)f |
|
3227 (mean)h(here)g(functions)g(that)g(return)g Fk(None)25 |
|
3228 b FI(for)19 b(unde\002ned)h(v)n(alues)f(and)0 3835 y |
|
3229 Fk(Some)6 b Fr(\()p FG(x)p Fr(\))19 b FI(for)i(de\002ned)g(ones)817 |
|
3230 3803 y Fv(4)849 3835 y FI(\).)f(W)-6 b(e)19 b(therefore)j(de\002ne)e |
|
3231 Fs(phi)h FI(as)e(the)h(Isabelle/HOL)g(datatype:)705 4022 |
|
3232 y Fs(datatype)j(phi)j Fr(=)e Fs(Am)44 b Fr(")p Fs(name)p |
|
3233 Fr(")1202 4117 y FD(j)g Fs(Pr)g Fr(")p Fs(phi)30 b FD(\002)g |
|
3234 Fs(phi)p Fr(")1202 4213 y FD(j)44 b Fs(Se)g Fr(")p Fs(name)22 |
|
3235 b FD(\))f Fr(\()p Fs(phi)h(option)p Fr(\)")2789 4117 |
|
3236 y FI(\(7\))0 4400 y(where)27 b Fs(Am)g FI(will)e(be)i(used)g(to)f |
|
3237 (encode)i(atoms;)e Fs(Pr)h FI(to)g(encode)g(applications,)g(which)g |
|
3238 (are)g(b)n(uilt)g(up)g(by)0 4496 y(a)g(pair)g(of)h(terms;)f(and)h |
|
3239 Fs(Se)f FI(to)g(encode)h(an)g(alpha-equi)n(v)n(alence)h(class)d(\(that) |
|
3240 i(is)e(a)h(set\))g(of)g(terms.)g(The)p 0 TeXcolorgray |
|
3241 0 4581 898 4 v 62 4646 a Fu(4)125 4669 y FF(In)c(Urban)i(and)f(T)-5 |
|
3242 b(asson)23 b([36])h(a)g(special)i(error)o(-element)g(w)o(as)e(used)g |
|
3243 (to)h(stand)f(for)g(unde\002nedness.)h(Ho)n(we)n(v)o(er)m(,)h(the)0 |
|
3244 4746 y(approach)18 b(based)f(on)f(the)h(option-type)i(turned)f(out)e |
|
3245 (to)h(be)f(more)g(con)m(v)o(enient)k(for)c(b)o(uilding)i(a)e(nominal)i |
|
3246 (datatype)g(package)0 4823 y(in)f(Isabelle/HOL.)p 0 TeXcolorgray |
|
3247 0 TeXcolorgray 0 TeXcolorgray eop end |
|
3248 %%Page: 9 9 |
|
3249 TeXDict begin 9 8 bop 0 TeXcolorgray 0 TeXcolorgray 0 |
|
3250 71 2881 4 v 2848 17 a FF(9)p 0 TeXcolorgray 0 228 a FI(permutation)22 |
|
3251 b(operation)g(for)e Fs(phi)h FI(is)e(de\002ned)i(o)o(v)o(er)f(the)g |
|
3252 (structure)h(as)f(follo)n(ws:)1072 477 y FG(\031)1119 |
|
3253 486 y Fo(\001)1157 477 y Fs(Am)q Fr(\()p FG(a)p Fr(\))1361 |
|
3254 434 y Fn(def)1368 477 y Fr(=)32 b Fs(Am)p Fr(\()p FG(\031)1615 |
|
3255 486 y Fo(\001)1653 477 y FG(a)p Fr(\))949 620 y FG(\031)996 |
|
3256 629 y Fo(\001)1034 620 y Fs(Pr)p Fr(\()p FG(t)1170 632 |
|
3257 y Fq(1)1207 620 y FG(;)13 b(t)1269 632 y Fq(2)1306 620 |
|
3258 y Fr(\))1361 577 y Fn(def)1368 620 y Fr(=)32 b Fs(Pr)p |
|
3259 Fr(\()p FG(\031)1615 629 y Fo(\001)1653 620 y FG(t)1681 |
|
3260 632 y Fq(1)1718 620 y FG(;)13 b(\031)1799 629 y Fo(\001)1837 |
|
3261 620 y FG(t)1865 632 y Fq(2)1902 620 y Fr(\))1040 763 |
|
3262 y FG(\031)1087 772 y Fo(\001)1125 763 y Fs(Se)q Fr(\()p |
|
3263 Fk(fn)5 b Fr(\))1361 720 y Fn(def)1368 763 y Fr(=)32 |
|
3264 b Fs(Se)p Fr(\()p FG(\031)1615 772 y Fo(\001)1653 763 |
|
3265 y Fk(fn)6 b Fr(\))2789 607 y FI(\(8\))0 996 y(using)24 |
|
3266 b(in)f(the)g(last)g(clause)g(the)g(permutations)i(operation)g(for)f |
|
3267 (functions)g(gi)n(v)o(en)g(in)g(\(2\).)f(It)g(is)g(not)h(hard)0 |
|
3268 1092 y(to)c(sho)n(w)g(that)g Fs(phi)h FI(is)e(a)h(permutation)i(type)e |
|
3269 (\(routine)i(induction)f(o)o(v)o(er)g(the)f(structure)h(of)f |
|
3270 Fs(phi)q FI(-terms\).)125 1197 y(W)-6 b(e)16 b(mentioned)j(earlier)d |
|
3271 (that)h(we)g(are)f(not)i(going)g(to)f(use)f(all)h(functions)h(from)f |
|
3272 Fs(name)h FI(to)e Fs(phi)22 b(option)0 1293 y FI(for)34 |
|
3273 b(representing)g(alpha-equated)h(lambda-abstractions,)g(b)n(ut)f(some)f |
|
3274 (speci\002c)g(functions.)2627 1261 y Fv(5)2693 1293 y |
|
3275 FI(These)0 1388 y(functions)21 b(are)f(of)h(the)f(form:)519 |
|
3276 1629 y Fr([)p FG(a)p Fr(])p FG(:t)672 1586 y Fn(def)680 |
|
3277 1629 y Fr(=)28 b FG(\025b:)13 b Fs(if)22 b FG(a)f Fr(=)g |
|
3278 FG(b)g Fs(then)h Fk(Some)6 b Fr(\()p FG(t)p Fr(\))880 |
|
3279 1757 y Fs(else)22 b(if)g FG(b)f Fr(#)g FG(t)g Fs(then)i |
|
3280 Fk(Some)6 b Fr(\(\()p FG(a)12 b(b)p Fr(\))1887 1766 y |
|
3281 Fo(\001)1925 1757 y FG(t)p Fr(\))21 b Fs(else)h Fk(None)2789 |
|
3282 1684 y FI(\(9\))0 2005 y(and)g(we)f(will)g(refer)h(to)f(them)h(as)f |
|
3283 FE(abstr)o(action)h(functions)p FI(;)g(their)g(parameters)g(are)f(an)h |
|
3284 (atom)g(and)g(a)f Fs(phi)q FI(-)0 2100 y(term.)125 2206 |
|
3285 y(W)-6 b(e)20 b(claim)h(that)f(these)h(functions)g(represent)h |
|
3286 (alpha-equi)n(v)n(alence)h(classes.)c(T)-6 b(o)21 b(see)f(this,)g |
|
3287 (consider)0 2302 y Fr([)p Fs(Lam)q Fr(\()p FG(a;)13 b |
|
3288 Fs(App)p Fr(\()p Fs(Var)q Fr(\()p FG(a)p Fr(\))p FG(;)f |
|
3289 Fs(Var)q Fr(\()p FG(b)p Fr(\)\)\)])935 2310 y Fp(\013)1015 |
|
3290 2302 y FI(and)34 b(the)f(corresponding)j Fs(phi)p FI(-term)e |
|
3291 Fs(Se)p Fr(\([)p FG(a)p Fr(])p FG(:)p Fs(Pr)q Fr(\()p |
|
3292 Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 b Fs(Am)q Fr(\()p |
|
3293 FG(b)p Fr(\)\)\))p FI(.)0 2397 y(The)34 b(graph)h(of)f(the)g |
|
3294 (abstraction)g(function)h(is)e(as)g(follo)n(ws:)h(the)g(atom)g |
|
3295 FG(a)f FI(is)g(mapped)i(to)f(the)f(term)0 2492 y Fk(Some)6 |
|
3296 b Fr(\()p Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p FG(a)p Fr(\))p |
|
3297 FG(;)12 b Fs(Am)q Fr(\()p FG(b)p Fr(\)\)\))i FI(since)i(the)g(\002rst)f |
|
3298 Fs(if)q FI(-condition)i(is)e(true.)h(F)o(or)g FG(b)p |
|
3299 FI(,)f(the)h(\002rst)f Fs(if)q FI(-condition)j(ob)o(vi-)0 |
|
3300 2588 y(ously)f(f)o(ails,)f(b)n(ut)i(also)f(the)f(second)i(one)f(f)o |
|
3301 (ails,)f(because)h Fk(supp)6 b Fr(\()p Fs(Pr)p Fr(\()p |
|
3302 Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 b Fs(Am)q Fr(\()p |
|
3303 FG(b)p Fr(\)\)\))20 b(=)h FD(f)p FG(a;)14 b(b)p FD(g)p |
|
3304 FI(;)i(therefore)0 2683 y FG(b)i FI(is)g(mapped)i(to)f |
|
3305 Fk(None)6 b FI(.)18 b(F)o(or)h(all)f(other)i(atoms)e |
|
3306 FG(c)p FI(,)h(we)f(ha)n(v)o(e)i FG(a)h FD(6)p Fr(=)g |
|
3307 FG(c)d FI(and)i FG(c)h Fr(#)g Fs(Pr)q Fr(\()p Fs(Am)p |
|
3308 Fr(\()p FG(a)p Fr(\))p FG(;)13 b Fs(Am)p Fr(\()p FG(b)p |
|
3309 Fr(\)\))p FI(;)18 b(conse-)0 2779 y(quently)25 b(these)e |
|
3310 FG(c)p FI(')l(s)g(are)h(mapped)h(by)f(the)f(abstraction)i(function)g |
|
3311 (to)f Fk(Some)5 b Fr(\(\()p FG(a)13 b(c)p Fr(\))2271 |
|
3312 2788 y Fo(\001)2309 2779 y Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p |
|
3313 FG(a)p Fr(\))p FG(;)f Fs(Am)q Fr(\()p FG(b)p Fr(\)\)\))p |
|
3314 FI(,)0 2874 y(which)35 b(is)f Fk(Some)6 b Fr(\()p Fs(Pr)p |
|
3315 Fr(\()p Fs(Am)p Fr(\()p FG(c)p Fr(\))p FG(;)13 b Fs(Am)q |
|
3316 Fr(\()p FG(b)p Fr(\)\)\))p FI(.)33 b(Clearly)-5 b(,)34 |
|
3317 b(the)g(abstraction)h(function)h(returns)f Fk(None)41 |
|
3318 b FI(when-)0 2970 y(e)n(v)o(er)23 b(the)f(corresponding)j(lambda-term)f |
|
3319 (is)e FE(not)i FI(in)e(the)h(alpha-equi)n(v)n(alence)h(class\227in)e |
|
3320 (this)g(e)o(xample)0 3065 y(the)f(lambda-term)h Fs(Lam)q |
|
3321 Fr(\()p FG(b;)13 b Fs(App)p Fr(\()p Fs(Var)q Fr(\()p |
|
3322 FG(b)p Fr(\))p FG(;)g Fs(Var)p Fr(\()p FG(b)p Fr(\)\)\))22 |
|
3323 b FD(62)h Fr([)p Fs(Lam)q Fr(\()p FG(a;)13 b Fs(App)q |
|
3324 Fr(\()p Fs(Var)p Fr(\()p FG(a)p Fr(\))p FG(;)g Fs(Var)p |
|
3325 Fr(\()p FG(b)p Fr(\)\)\)])2448 3073 y Fp(\013)2495 3065 |
|
3326 y FI(;)21 b(in)g(all)f(other)0 3161 y(cases,)f(ho)n(we)n(v)o(er)m(,)i |
|
3327 (it)e(returns)i(an)f(appropriately)i(\223renamed\224)g(v)o(ersion)e(of) |
|
3328 h Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 |
|
3329 b Fs(Am)q Fr(\()p FG(b)p Fr(\)\))p FI(.)125 3267 y(T)-6 |
|
3330 b(o)17 b(sho)n(w)g(formally)h(that)f(abstraction)h(functions)g |
|
3331 (represent)g(alpha-equiv)n(alence)h(classes,)d(we)g(\002rst)0 |
|
3332 3362 y(establish)24 b(ho)n(w)g(the)g(permutation)i(operation)f(beha)n |
|
3333 (v)o(es)g(on)g(those)f(functions)h(and)f(then)h(establish)e(the)0 |
|
3334 3457 y(conditions)e(under)h(which)e(tw)o(o)g(such)h(functions)g(are)f |
|
3335 (equal:)p 0 TeXcolorgray 0 3679 a FJ(Lemma)f(6)p 0 TeXcolorgray |
|
3336 42 w FE(All)h(abstr)o(action)h(functions)g(satisfy:)p |
|
3337 0 TeXcolorgray 56 3855 a(\(i\))p 0 TeXcolorgray 42 w |
|
3338 FG(\031)219 3864 y Fo(\001)257 3855 y Fr(\([)p FG(a)p |
|
3339 Fr(])p FG(:t)p Fr(\))g(=)g([)p FG(\031)619 3864 y Fo(\001)657 |
|
3340 3855 y FG(a)p Fr(])p FG(:)p Fr(\()p FG(\031)817 3864 |
|
3341 y Fo(\001)855 3855 y FG(t)p Fr(\))p FE(,)e(and)p 0 TeXcolorgray |
|
3342 34 3950 a(\(ii\))p 0 TeXcolorgray 42 w Fr([)p FG(a)p |
|
3343 Fr(])p FG(:t)304 3962 y Fq(1)363 3950 y Fr(=)i([)p FG(b)p |
|
3344 Fr(])p FG(:t)568 3962 y Fq(2)625 3950 y FE(if)f(and)h(only)g(if)e |
|
3345 (either:)578 4178 y FG(a)i Fr(=)g FG(b)c FD(^)g FG(t)867 |
|
3346 4190 y Fq(1)925 4178 y Fr(=)k FG(t)1034 4190 y Fq(2)1229 |
|
3347 4178 y FE(or)158 b FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g |
|
3348 FG(t)1746 4190 y Fq(1)1804 4178 y Fr(=)k(\()p FG(a)13 |
|
3349 b(b)p Fr(\))2032 4187 y Fo(\001)2070 4178 y FG(t)2098 |
|
3350 4190 y Fq(2)2152 4178 y FD(^)k FG(a)k Fr(#)g FG(t)2395 |
|
3351 4190 y Fq(2)2454 4178 y FG(:)p 0 TeXcolorgray 0 4547 |
|
3352 a FE(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)f(\002rst)f(property)j |
|
3353 (follo)n(ws)f(from)g(the)f(follo)n(wing)h(calculation:)p |
|
3354 0 TeXcolorgray 0 4658 898 4 v 62 4722 a Fu(5)125 4746 |
|
3355 y FF(This)c(is)g(in)h(contrast)h(to)f(\223weak\224)h(and)f |
|
3356 (\223full\224)h(HO)n(AS)e([8,)7 b(25])17 b(which)h(use)g(the)g(full)g |
|
3357 (function)i(space)e(for)g(representing)0 4823 y(lambda-abstractions.)p |
|
3358 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end |
|
3359 %%Page: 10 10 |
|
3360 TeXDict begin 10 9 bop 0 TeXcolorgray 0 TeXcolorgray |
|
3361 0 71 2881 4 v 0 17 a FF(10)p 0 TeXcolorgray 0 TeXcolorgray |
|
3362 0 TeXcolorgray 345 212 a FG(\031)392 221 y Fo(\001)430 |
|
3363 212 y Fr([)p FG(a)p Fr(])p FG(:t)247 289 y Fn(def)254 |
|
3364 332 y Fr(=)31 b FG(\031)392 341 y Fo(\001)430 332 y FG(\025b:)13 |
|
3365 b Fs(if)21 b FG(a)g Fr(=)g FG(b)h Fs(then)g Fk(Some)6 |
|
3366 b Fr(\()p FG(t)p Fr(\))542 403 y Fs(else)22 b(if)g FG(b)f |
|
3367 Fr(#)g FG(t)g Fs(then)h Fk(Some)6 b Fr(\(\()p FG(a)13 |
|
3368 b(b)p Fr(\))1549 412 y Fo(\001)1587 403 y FG(t)p Fr(\))21 |
|
3369 b Fs(else)h Fk(None)247 480 y Fn(def)254 523 y Fr(=)31 |
|
3370 b FG(\025b:)13 b(\031)504 532 y Fo(\001)542 523 y Fs(if)21 |
|
3371 b FG(a)g Fr(=)g FG(\031)831 491 y Fl(\000)p Fq(1)920 |
|
3372 532 y Fo(\001)958 523 y FG(b)h Fs(then)g Fk(Some)6 b |
|
3373 Fr(\()p FG(t)p Fr(\))457 597 y Fs(else)22 b(if)g FG(\031)782 |
|
3374 565 y Fl(\000)p Fq(1)870 606 y Fo(\001)909 597 y FG(b)f |
|
3375 Fr(#)g FG(t)g Fs(then)i Fk(Some)6 b Fr(\(\()p FG(a)25 |
|
3376 b(\031)1635 565 y Fl(\000)p Fq(1)1723 606 y Fo(\001)1762 |
|
3377 597 y FG(b)p Fr(\))1825 606 y Fo(\001)1862 597 y FG(t)p |
|
3378 Fr(\))c Fs(else)i Fk(None)254 695 y Fr(=)31 b FG(\025b:)13 |
|
3379 b Fs(if)21 b FG(\031)603 704 y Fo(\001)641 695 y Fr(\()p |
|
3380 FG(a)g Fr(=)g FG(\031)861 663 y Fl(\000)p Fq(1)950 704 |
|
3381 y Fo(\001)988 695 y FG(b)p Fr(\))g Fs(then)i Fk(Some)6 |
|
3382 b Fr(\()p FG(\031)1514 704 y Fo(\001)1551 695 y FG(t)p |
|
3383 Fr(\))457 769 y Fs(else)22 b(if)g FG(\031)782 778 y Fo(\001)820 |
|
3384 769 y Fr(\()p FG(\031)897 737 y Fl(\000)p Fq(1)985 778 |
|
3385 y Fo(\001)1023 769 y FG(b)g Fr(#)f FG(t)p Fr(\))g Fs(then)h |
|
3386 Fk(Some)6 b Fr(\()p FG(\031)1683 778 y Fo(\001)1721 769 |
|
3387 y Fr(\()p FG(a)25 b(\031)1864 737 y Fl(\000)p Fq(1)1953 |
|
3388 778 y Fo(\001)1991 769 y FG(b)p Fr(\))2054 778 y Fo(\001)2092 |
|
3389 769 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 695 y FI(\()p |
|
3390 FD(\003)2570 663 y Fq(1)2608 695 y FI(\))254 867 y Fr(=)31 |
|
3391 b FG(\025b:)13 b Fs(if)21 b FG(\031)603 876 y Fo(\001)641 |
|
3392 867 y Fr(\()p FG(a)g Fr(=)g FG(\031)861 835 y Fl(\000)p |
|
3393 Fq(1)950 876 y Fo(\001)988 867 y FG(b)p Fr(\))g Fs(then)i |
|
3394 Fk(Some)6 b Fr(\()p FG(\031)1514 876 y Fo(\001)1551 867 |
|
3395 y FG(t)p Fr(\))457 941 y Fs(else)22 b(if)g FG(\031)782 |
|
3396 950 y Fo(\001)820 941 y Fr(\()p FG(\031)897 909 y Fl(\000)p |
|
3397 Fq(1)985 950 y Fo(\001)1023 941 y FG(b)g Fr(#)f FG(t)p |
|
3398 Fr(\))g Fs(then)h Fk(Some)6 b Fr(\(\()p FG(\031)1713 |
|
3399 950 y Fo(\001)1751 941 y FG(a)25 b(b)p Fr(\))1880 950 |
|
3400 y Fo(\001)1918 941 y FG(\031)1965 950 y Fo(\001)2003 |
|
3401 941 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 867 y FI(\()p |
|
3402 FD(\003)2570 835 y Fq(2)2608 867 y FI(\))254 1039 y Fr(=)31 |
|
3403 b FG(\025b:)13 b Fs(if)21 b FG(\031)603 1048 y Fo(\001)641 |
|
3404 1039 y FG(a)g Fr(=)g FG(b)h Fs(then)g Fk(Some)6 b Fr(\()p |
|
3405 FG(\031)1280 1048 y Fo(\001)1318 1039 y FG(t)p Fr(\))457 |
|
3406 1111 y Fs(else)22 b(if)g FG(b)f Fr(#)g FG(\031)921 1120 |
|
3407 y Fo(\001)959 1111 y FG(t)g Fs(then)h Fk(Some)6 b Fr(\(\()p |
|
3408 FG(\031)1479 1120 y Fo(\001)1517 1111 y FG(a)25 b(b)p |
|
3409 Fr(\))1646 1120 y Fo(\001)1684 1111 y FG(\031)1731 1120 |
|
3410 y Fo(\001)1769 1111 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 |
|
3411 1039 y FI(\()p FD(\003)2570 1007 y Fq(3)2608 1039 y FI(\))247 |
|
3412 1187 y Fn(def)254 1230 y Fr(=)31 b([)p FG(\031)413 1239 |
|
3413 y Fo(\001)451 1230 y FG(a)p Fr(])p FG(:)p Fr(\()p FG(\031)611 |
|
3414 1239 y Fo(\001)649 1230 y FG(t)p Fr(\))0 1395 y FI(where)20 |
|
3415 b(we)g(use)g(in)g(\()p FD(\003)594 1364 y Fq(1)632 1395 |
|
3416 y FI(\))g(the)g(f)o(act)g(that)608 1563 y FG(\031)655 |
|
3417 1572 y Fo(\001)692 1563 y Fs(if)q FG(:::)p Fs(then)r |
|
3418 FG(:::)p Fs(else)r FG(:::)i Fr(=)f Fs(if)13 b FG(\031)1517 |
|
3419 1572 y Fo(\001)1555 1563 y FG(:::)p Fs(then)23 b FG(\031)1844 |
|
3420 1572 y Fo(\001)1882 1563 y FG(:::)p Fs(else)g FG(\031)2171 |
|
3421 1572 y Fo(\001)2209 1563 y FG(:::)477 b FI(\(10\))0 1732 |
|
3422 y(and)27 b(in)g Fr(\()p FD(\003)296 1700 y Fq(2)334 1732 |
|
3423 y Fr(\))f FI(that)h FG(\031)s Fr(@\()p FG(a)45 b(\031)805 |
|
3424 1700 y Fl(\000)p Fq(1)894 1741 y Fo(\001)932 1732 y FG(b)p |
|
3425 Fr(\))33 b FD(\030)g Fr(\()p FG(\031)1198 1741 y Fo(\001)1236 |
|
3426 1732 y FG(a)46 b(b)p Fr(\)@)p FG(\031)s FI(;)26 b(for)h |
|
3427 Fr(\()p FD(\003)1727 1700 y Fq(3)1765 1732 y Fr(\))f |
|
3428 FI(the)h(f)o(acts)f(that)h FG(\031)2310 1741 y Fo(\001)2348 |
|
3429 1732 y Fr(\()p FG(a)33 b Fr(=)g FG(\031)2592 1700 y Fl(\000)p |
|
3430 Fq(1)2681 1741 y Fo(\001)2719 1732 y FG(b)p Fr(\))26 |
|
3431 b FI(if)n(f)0 1827 y FG(\031)47 1836 y Fo(\001)85 1827 |
|
3432 y FG(a)i Fr(=)f FG(b)d FI(and)g FG(\031)482 1836 y Fo(\001)520 |
|
3433 1827 y Fr(\()p FG(\031)597 1795 y Fl(\000)p Fq(1)685 |
|
3434 1836 y Fo(\001)724 1827 y FG(b)j Fr(#)h FG(t)p Fr(\))c |
|
3435 FI(if)n(f)f FG(b)28 b Fr(#)g FG(\031)1253 1836 y Fo(\001)1291 |
|
3436 1827 y FG(t)p FI(,)23 b(which)h(can)g(be)g(easily)f(deri)n(v)o(ed)i |
|
3437 (from)g(Lemmas)f(1)p FE(\(ii\))0 1923 y FI(and)d(3)p |
|
3438 FE(\(ii\))f FI(and)h(the)f(permutation)i(operation)f(on)g |
|
3439 Fs(bool)q FI(.)125 2018 y(F)o(or)d(the)h(second)g(property)i(the)d |
|
3440 (case)g FG(a)k Fr(=)f FG(b)d FI(is)g(by)h(a)f(simple)h(calculation)g |
|
3441 (using)g(e)o(xtensionality)h(of)0 2114 y(functions.)h(In)f(case)f |
|
3442 FG(a)i FD(6)p Fr(=)g FG(b)f FI(we)f(sho)n(w)h(\002rst)f(the)h |
|
3443 FD(\))p FI(-direction:)h(the)f(follo)n(wing)h(formula)g(holds)g(then)f |
|
3444 (by)0 2209 y(e)o(xtensionality)h(of)f(functions:)586 |
|
3445 2377 y FD(8)p FG(c:)89 b Fs(if)22 b FG(a)f Fr(=)g FG(c)h |
|
3446 Fs(then)g Fk(Some)6 b Fr(\()p FG(t)1492 2389 y Fq(1)1529 |
|
3447 2377 y Fr(\))772 2473 y Fs(else)22 b(if)g FG(c)g Fr(#)f |
|
3448 FG(t)1218 2485 y Fq(1)1276 2473 y Fs(then)i Fk(Some)6 |
|
3449 b Fr(\(\()p FG(a)12 b(c)p Fr(\))1817 2482 y Fo(\001)1855 |
|
3450 2473 y FG(t)1883 2485 y Fq(1)1920 2473 y Fr(\))21 b Fs(else)h |
|
3451 Fk(None)687 2592 y Fr(=)j Fs(if)d FG(b)f Fr(=)g FG(c)h |
|
3452 Fs(then)g Fk(Some)6 b Fr(\()p FG(t)1484 2604 y Fq(2)1521 |
|
3453 2592 y Fr(\))772 2687 y Fs(else)22 b(if)g FG(c)g Fr(#)f |
|
3454 FG(t)1218 2699 y Fq(2)1276 2687 y Fs(then)i Fk(Some)6 |
|
3455 b Fr(\(\()p FG(b)12 b(c)p Fr(\))1809 2696 y Fo(\001)1847 |
|
3456 2687 y FG(t)1875 2699 y Fq(2)1912 2687 y Fr(\))21 b Fs(else)i |
|
3457 Fk(None)0 2851 y FI(Instantiating)e(this)f(formula)h(with)f |
|
3458 FG(a)g FI(yields)g(the)g(equation)537 3019 y Fk(Some)6 |
|
3459 b Fr(\()p FG(t)781 3031 y Fq(1)818 3019 y Fr(\))21 b(=)g |
|
3460 Fs(if)h FG(a)f Fr(#)g FG(t)1225 3031 y Fq(2)1283 3019 |
|
3461 y Fs(then)h Fk(Some)6 b Fr(\(\()p FG(b)13 b(a)p Fr(\))1824 |
|
3462 3028 y Fo(\001)1862 3019 y FG(t)1890 3031 y Fq(2)1927 |
|
3463 3019 y Fr(\))21 b Fs(else)h Fk(None)28 b FG(:)0 3187 |
|
3464 y FI(Ne)o(xt,)20 b(one)i(distinguishes)f(the)g(cases)f(where)h |
|
3465 FG(a)i Fr(#)g FG(t)1455 3199 y Fq(2)1512 3187 y FI(and)e |
|
3466 FD(:)13 b FG(a)23 b Fr(#)g FG(t)1889 3199 y Fq(2)1926 |
|
3467 3187 y FI(,)d(respecti)n(v)o(ely)-5 b(.)21 b(In)g(the)g(\002rst)f |
|
3468 (case,)0 3283 y Fk(Some)6 b Fr(\()p FG(t)244 3295 y Fq(1)281 |
|
3469 3283 y Fr(\))22 b(=)f Fk(Some)6 b Fr(\(\()p FG(b)13 b(a)p |
|
3470 Fr(\))777 3292 y Fo(\001)814 3283 y FG(t)842 3295 y Fq(2)879 |
|
3471 3283 y Fr(\))p FI(,)20 b(which)h(by)g(Def.)f(2)p Fr(\()p |
|
3472 FG(iii)p Fr(\))h FI(implies)f FG(t)1897 3295 y Fq(1)1956 |
|
3473 3283 y Fr(=)h(\()p FG(a)13 b(b)p Fr(\))2184 3292 y Fo(\001)2222 |
|
3474 3283 y FG(t)2250 3295 y Fq(2)2307 3283 y FI(since)20 |
|
3475 b Fr(\()p FG(a)12 b(b)p Fr(\))d FD(\030)g Fr(\()p FG(b)j(a)p |
|
3476 Fr(\))p FI(;)0 3378 y(and)26 b(ob)o(viously)i FG(a)j |
|
3477 Fr(#)h FG(t)671 3390 y Fq(2)733 3378 y FI(by)26 b(assumption.)h(In)f |
|
3478 (the)g(second)g(case)f Fk(Some)6 b Fr(\()p FG(t)2104 |
|
3479 3390 y Fq(1)2141 3378 y Fr(\))31 b(=)h Fk(None)f FI(which)c(gi)n(v)o |
|
3480 (es)0 3474 y(a)h(contradiction.)j(The)e FD(\()p FI(-direction)h(for)f |
|
3481 (the)g(case)f FG(a)37 b FD(6)p Fr(=)g FG(b)28 b FI(is)g(similarly)h(by) |
|
3482 h(e)o(xtensionality)f(and)h(a)0 3569 y(case-analysis.)79 |
|
3483 b FD(u)-51 b(t)0 3741 y FI(Note)26 b(that,)f(in)g FE(g)o(ener)o(al)p |
|
3484 FI(,)h(one)h(cannot)f(decide)g(whether)h(tw)o(o)e(functions)i(from)g |
|
3485 Fs(name)f FI(to)f Fs(phi)d(option)0 3836 y FI(are)28 |
|
3486 b(equal;)h(ho)n(we)n(v)o(er)g(for)g(the)f(abstraction)h(functions)g |
|
3487 (Lem.)f(6)p FE(\(ii\))h FI(pro)o(vides)g(the)f(means)h(to)f(decide)0 |
|
3488 3932 y(whether)g Fr([)p FG(a)p Fr(])p FG(:t)413 3944 |
|
3489 y Fq(1)486 3932 y Fr(=)35 b([)p FG(b)p Fr(])p FG(:t)705 |
|
3490 3944 y Fq(2)771 3932 y FI(holds:)28 b(one)g(just)f(has)h(to)g(consider) |
|
3491 g(whether)h FG(a)35 b Fr(=)g FG(b)p FI(,)27 b(which)h(is)f(just)g(lik)o |
|
3492 (e)0 4027 y(deciding)f(the)f(alpha-equi)n(v)n(alence)i(of)e(tw)o(o)g |
|
3493 (lambda-terms)h(using)g(the)e(relation)i Fr(\()p FD(\000)p |
|
3494 Fr(\))9 b FD(\031)g Fr(\()p FD(\000)p Fr(\))22 b FI(gi)n(v)o(en)k(in)0 |
|
3495 4123 y(Fig.)e(2.)h(No)n(w)g(it)f(is)g(also)h(clear)g(why)f(abstraction) |
|
3496 i(functions)g(represent)g(alpha-equi)n(v)n(alence)h(classes:)0 |
|
3497 4218 y(the)19 b(condition)i(we)e(deri)n(v)o(ed)h(for)f(the)h(equality)f |
|
3498 (between)h(abstraction)g(functions)g(paraphrase)g(the)g(rules)0 |
|
3499 4314 y FD(\031)60 4326 y Fc(Lam)o Fq(1)209 4314 y FI(and)h |
|
3500 FD(\031)403 4326 y Fc(Lam)o Fq(2)552 4314 y FI(de\002ning)g(alpha-equi) |
|
3501 n(v)n(alence)i(for)e Fs(lam)p FI(.)125 4409 y(The)g(properties)i(in)e |
|
3502 (Lem.)g(6)h(also)f(help)h(us)f(to)g(calculate)g(the)h(support)h(for)e |
|
3503 (abstraction)i(functions,)0 4505 y(pro)o(vided)f(the)o(y)e |
|
3504 (\223abstract\224)g(o)o(v)o(er)h(a)f(\002nitely)g(supported)i |
|
3505 Fs(phi)p FI(-term.)p 0 TeXcolorgray 0 4676 a FJ(Lemma)d(7)p |
|
3506 0 TeXcolorgray 42 w FE(Given)h FG(a)h FD(6)p Fr(=)g FG(b)f |
|
3507 FE(and)h FG(t)e FE(being)i(\002nitely)g(supported,)g(then)p |
|
3508 0 TeXcolorgray 56 4823 a(\(i\))p 0 TeXcolorgray 42 w |
|
3509 FG(a)g Fr(#)g([)p FG(b)p Fr(])p FG(:t)f FE(if)g(and)h(only)g(if)e |
|
3510 FG(a)i Fr(#)h FG(t)p FE(,)d(and)p 0 TeXcolorgray 0 TeXcolorgray |
|
3511 eop end |
|
3512 %%Page: 11 11 |
|
3513 TeXDict begin 11 10 bop 0 TeXcolorgray 0 TeXcolorgray |
|
3514 0 71 2881 4 v 2814 17 a FF(11)p 0 TeXcolorgray 0 TeXcolorgray |
|
3515 34 228 a FE(\(ii\))p 0 TeXcolorgray 42 w FG(a)21 b Fr(#)g([)p |
|
3516 FG(a)p Fr(])p FG(:t)p 0 TeXcolorgray 0 490 a FE(Pr)l(oof)p |
|
3517 0 TeXcolorgray 40 w FI(By)h(a)g(simple)h(calculations)g(we)f(ha)n(v)o |
|
3518 (e)h(that)g Fk(supp)5 b Fr(\([)p FG(b)p Fr(])p FG(:t)p |
|
3519 Fr(\))26 b FD(\022)g Fk(supp)6 b Fr(\()p FG(b;)13 b(t)p |
|
3520 Fr(\))21 b FI(because)i(for)g(all)g FG(c)f FI(and)0 585 |
|
3521 y FG(d)28 b FI(we)h(ha)n(v)o(e)h FD(f)p FG(d)13 b FD(j)g |
|
3522 Fr(\()p FG(c)g(d)p Fr(\))635 594 y Fo(\001)673 585 y |
|
3523 Fr([)p FG(b)p Fr(])p FG(:t)38 b FD(6)p Fr(=)f([)p FG(b)p |
|
3524 Fr(])p FG(:t)p FD(g)h(\022)f(f)p FG(d)13 b FD(j)g Fr(\()p |
|
3525 FG(c)g(d)p Fr(\))1500 594 y Fo(\001)1538 585 y Fr(\()p |
|
3526 FG(b;)g(t)p Fr(\))37 b FD(6)p Fr(=)g(\()p FG(b;)13 b(t)p |
|
3527 Fr(\))p FD(g)p FI(.)28 b(Since)h FG(b)g FI(and)g FG(t)f |
|
3528 FI(are)h(\002nitely)0 681 y(supported,)c Fr([)p FG(b)p |
|
3529 Fr(])p FG(:t)e FI(must)g(be)h(\002nitely)f(supported.)h(Hence)g |
|
3530 Fr(\()p FG(a;)12 b(b;)h(t;)g Fr([)p FG(b)p Fr(])p FG(:t)p |
|
3531 Fr(\))24 b FI(is)e(\002nitely)h(supported)i(and)f(by)0 |
|
3532 776 y(Prop.)c(1)h(there)f(e)o(xists)f(an)h(atom)h FG(c)f |
|
3533 FI(with)g Fr(\()p FD(\003)p Fr(\))g FG(c)h Fr(#)g(\()p |
|
3534 FG(a;)13 b(b;)g(t;)g Fr([)p FG(b)p Fr(])p FG(:t)p Fr(\))p |
|
3535 FI(.)125 878 y(No)n(w)30 b(we)f(sho)n(w)i(the)f(direction)h |
|
3536 FE(\(i)f FD(\))p FE(\))p FI(:)g(using)h(the)f(assumption)h |
|
3537 FG(a)39 b Fr(#)h([)p FG(b)p Fr(])p FG(:t)30 b FI(and)h(the)f(f)o(act)h |
|
3538 (that)0 974 y FG(c)e Fr(#)f([)p FG(b)p Fr(])p FG(:t)c |
|
3539 FI(\(from)h FD(\003)p FI(\),)f(Lem.)g(4)g(and)h(6)p FE(\(i\))f |
|
3540 FI(gi)n(v)o(e)h Fr([)p FG(b)p Fr(])p FG(:t)k Fr(=)f(\()p |
|
3541 FG(c)13 b(a)p Fr(\))1684 983 y Fo(\001)1721 974 y Fr([)p |
|
3542 FG(b)p Fr(])p FG(:t)29 b Fr(=)f([\()p FG(c)14 b(a)p Fr(\))2131 |
|
3543 983 y Fo(\001)2168 974 y FG(b)p Fr(])p FG(:)p Fr(\(\()p |
|
3544 FG(c)g(a)p Fr(\))2421 983 y Fo(\001)2458 974 y FG(t)p |
|
3545 Fr(\))p FI(.)23 b(The)i(right-)0 1069 y(hand)33 b(side)e(is)g |
|
3546 Fr([)p FG(b)p Fr(])p FG(:)p Fr(\(\()p FG(c)13 b(a)p Fr(\))700 |
|
3547 1078 y Fo(\001)738 1069 y FG(t)p Fr(\))31 b FI(because)h |
|
3548 FG(c)42 b FD(6)p Fr(=)g FG(b)31 b FI(\(from)i FD(\003)p |
|
3549 FI(\))e(and)h FG(a)42 b FD(6)p Fr(=)g FG(b)31 b FI(by)h(assumption.)g |
|
3550 (Hence)g(by)0 1165 y(Lem.)d(6)p FE(\(ii\))g FI(we)f(can)h(infer)g(that) |
|
3551 g FG(t)36 b Fr(=)h(\()p FG(c)13 b(a)p Fr(\))1247 1174 |
|
3552 y Fo(\001)1285 1165 y FG(t)p FI(.)28 b(No)n(w)g FG(c)37 |
|
3553 b Fr(#)g FG(t)28 b FI(\(from)i FD(\003)p FI(\))f(implies)g(that)g |
|
3554 FG(c)37 b Fr(#)g(\()p FG(c)12 b(a)p Fr(\))2793 1174 y |
|
3555 Fo(\001)2831 1165 y FG(t)p FI(;)0 1260 y(and)31 b(mo)o(ving)h(the)f |
|
3556 (permutation)i(to)d(the)h(other)g(side)g(by)g(Lem.)f(3)p |
|
3557 FE(\(ii\))i FI(gi)n(v)o(es)e FG(a)40 b Fr(#)h FG(t)p |
|
3558 FI(.)30 b(The)g(direction)0 1356 y FE(\(i)i FD(\()p FE(\))f |
|
3559 FI(is)g(as)g(follo)n(ws:)h(from)g(\()p FD(\003)p FI(\),)g(we)g(ha)n(v)o |
|
3560 (e)g(that)g FG(c)42 b Fr(#)h([)p FG(b)p Fr(])p FG(:t)32 |
|
3561 b FI(and)g(therefore)h(by)f(Lem.)g(3)p FE(\(iii\))g FI(also)0 |
|
3562 1451 y Fr(\()p FG(a)12 b(c)p Fr(\))146 1460 y Fo(\001)185 |
|
3563 1451 y FG(c)25 b Fr(#)f(\()p FG(a)13 b(c)p Fr(\))478 |
|
3564 1460 y Fo(\001)516 1451 y Fr(\([)p FG(b)p Fr(])p FG(:t)p |
|
3565 Fr(\))p FI(,)21 b(which)i(implies)f(by)g(Lem.)g(6)p FE(\(i\))g |
|
3566 FI(that)g FG(a)i Fr(#)h([)p FG(b)p Fr(])p FG(:)p Fr(\(\()p |
|
3567 FG(a)13 b(c)p Fr(\))2198 1460 y Fo(\001)2236 1451 y FG(t)p |
|
3568 Fr(\))p FI(.)21 b(From)i(\()p FD(\003)p FI(\))f(we)g(also)0 |
|
3569 1547 y(ha)n(v)o(e)e FG(c)h Fr(#)h FG(t)c FI(and)i(from)g(the)f |
|
3570 (assumption)h FG(a)h Fr(#)g FG(t)p FI(;)d(then)i(Lem.)f(4)g(implies)f |
|
3571 (that)h FG(t)i Fr(=)h(\()p FG(a)12 b(c)p Fr(\))2424 1556 |
|
3572 y Fo(\001)2462 1547 y FG(t)p FI(,)18 b(and)i(we)e(can)0 |
|
3573 1642 y(conclude)j(with)f FG(a)h Fr(#)h([)p FG(b)p Fr(])p |
|
3574 FG(:t)p FI(.)125 1744 y(The)e(second)h(property)i(follo)n(ws)d(from)i |
|
3575 (the)e(\002rst:)g(we)g(ha)n(v)o(e)h FG(c)i Fr(#)f FG(t)e |
|
3576 FI(and)h FG(c)h FD(6)p Fr(=)g FG(a)d FI(\(both)j(from)f |
|
3577 FD(\003)p FI(\),)g(and)0 1840 y(can)c(use)g FE(\(i\))g |
|
3578 FI(to)f(infer)i FG(c)j Fr(#)h([)p FG(a)p Fr(])p FG(:t)p |
|
3579 FI(.)16 b(Further)m(,)i(from)f(Lem.)g(3)p FE(\(iii\))g |
|
3580 FI(it)g(holds)g(that)g Fr(\()p FG(c)c(a)p Fr(\))2210 |
|
3581 1849 y Fo(\001)2247 1840 y FG(c)22 b Fr(#)f(\()p FG(c)13 |
|
3582 b(a)p Fr(\))2534 1849 y Fo(\001)2572 1840 y Fr([)p FG(a)p |
|
3583 Fr(])p FG(:t)p FI(.)k(This)0 1935 y(is)k FG(a)j Fr(#)h([)p |
|
3584 FG(c)p Fr(])p FG(:)p Fr(\()p FG(c)14 b(a)p Fr(\))472 |
|
3585 1944 y Fo(\001)509 1935 y FG(t)22 b FI(by)g(Lem.)g(6)p |
|
3586 FE(\(i\))p FI(.)g(Since)f FG(c)k FD(6)p Fr(=)f FG(a)d |
|
3587 FI(and)i FG(c)h Fr(#)h FG(t)p FI(,)c(Lem.)g(6)p FE(\(ii\))i |
|
3588 FI(implies)e(that)h Fr([)p FG(c)p Fr(])p FG(:)p Fr(\()p |
|
3589 FG(c)14 b(a)p Fr(\))2731 1944 y Fo(\001)2769 1935 y FG(t)24 |
|
3590 b Fr(=)0 2031 y([)p FG(a)p Fr(])p FG(:t)p FI(.)c(Therefore,)h |
|
3591 FG(a)g Fr(#)h([)p FG(a)p Fr(])p FG(:t)p FI(.)79 b FD(u)-51 |
|
3592 b(t)0 2228 y FI(Note)18 b(that)g(taking)h(both)g(f)o(acts)f(of)g(Lem.)g |
|
3593 (7)g(together)i(implies)e(the)g(follo)n(wing)h(equation)g(for)g(the)f |
|
3594 (support)0 2324 y(of)i(abstraction)h(functions)988 2461 |
|
3595 y Fk(supp)6 b Fr(\([)p FG(a)p Fr(])p FG(:t)p Fr(\))21 |
|
3596 b(=)g Fk(supp)6 b Fr(\()p FG(t)p Fr(\))16 b FD(\000)h(f)p |
|
3597 FG(a)p FD(g)857 b FI(\(11\))0 2638 y(pro)o(vided)22 b |
|
3598 FG(t)d FI(is)h(\002nitely)g(supported.)125 2740 y(No)n(w)g(e)n(v)o |
|
3599 (erything)i(is)e(in)g(place)h(for)g(de\002ning)h(the)e(subset)g |
|
3600 Fs(lam)1833 2748 y Fp(\013)1880 2740 y FI(.)g(It)h(is)e(de\002ned)j |
|
3601 (inducti)n(v)o(ely)g(by)e(the)0 2835 y(three)g(rules:)p |
|
3602 375 3034 438 4 v 375 3107 a Fs(Am)q Fr(\()p FG(a)p Fr(\))g |
|
3603 FD(2)i Fs(lam)765 3115 y Fp(\013)1025 3002 y FG(t)1053 |
|
3604 3014 y Fq(1)1112 3002 y FD(2)f Fs(lam)1302 3010 y Fp(\013)1428 |
|
3605 3002 y FG(t)1456 3014 y Fq(2)1514 3002 y FD(2)h Fs(lam)1705 |
|
3606 3010 y Fp(\013)p 1025 3034 727 4 v 1108 3107 a Fs(Pr)q |
|
3607 Fr(\()p FG(t)1245 3119 y Fq(1)1281 3107 y FG(;)14 b(t)1344 |
|
3608 3119 y Fq(2)1381 3107 y Fr(\))21 b FD(2)g Fs(lam)1622 |
|
3609 3115 y Fp(\013)2086 3006 y FG(t)g FD(2)h Fs(lam)2325 |
|
3610 3014 y Fp(\013)p 1965 3034 530 4 v 1965 3107 a Fs(Se)p |
|
3611 Fr(\([)p FG(a)p Fr(])p FG(:t)p Fr(\))f FD(2)h Fs(lam)2447 |
|
3612 3115 y Fp(\013)2749 3065 y FI(\(12\))0 3316 y(using)f(in)f(the)g(third) |
|
3613 h(rule)f(the)g(abstraction)h(functions)g(gi)n(v)o(en)g(in)f(\(9\).)g(W) |
|
3614 -6 b(e)20 b(note:)p 0 TeXcolorgray 0 3521 a FJ(Lemma)f(8)p |
|
3615 0 TeXcolorgray 42 w FE(F)-8 b(or)20 b(the)g(set)f Fs(lam)830 |
|
3616 3529 y Fp(\013)897 3521 y FE(we)g(have)i(that:)p 0 TeXcolorgray |
|
3617 56 3687 a(\(i\))p 0 TeXcolorgray 42 w(all)f(its)f(elements)h(ar)m(e)g |
|
3618 (\002nitely)g(supported,)h(and)p 0 TeXcolorgray 34 3782 |
|
3619 a(\(ii\))p 0 TeXcolorgray 42 w(it)e(is)h(closed)g(under)h |
|
3620 (permutations,)f(that)h(is)e FG(t)i FD(2)h Fs(lam)1642 |
|
3621 3790 y Fp(\013)1709 3782 y FE(implies)e FG(\031)2004 |
|
3622 3791 y Fo(\001)2042 3782 y FG(t)h FD(2)g Fs(lam)2281 |
|
3623 3790 y Fp(\013)2328 3782 y FE(.)p 0 TeXcolorgray 0 3980 |
|
3624 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(Both)e(properties)i(follo)n(w)f(by) |
|
3625 g(routine)g(inductions)h(o)o(v)o(er)f(the)f(de\002nition)i(of)e |
|
3626 Fs(lam)2429 3988 y Fp(\013)2476 3980 y FI(.)g(F)o(or)h(the)f(\002rst)0 |
|
3627 4075 y(induction)j(we)d(use)h(the)g(equations)927 4279 |
|
3628 y Fk(supp)6 b Fr(\()p Fs(Am)p Fr(\()p FG(a)p Fr(\)\))24 |
|
3629 b(=)h FD(f)p FG(a)p FD(g)804 4398 y Fk(supp)5 b Fr(\()p |
|
3630 Fs(Pr)q Fr(\()p FG(t)1126 4410 y Fq(1)1163 4398 y FG(;)13 |
|
3631 b(t)1225 4410 y Fq(2)1262 4398 y Fr(\)\))24 b(=)h Fk(supp)6 |
|
3632 b Fr(\()p FG(t)1645 4410 y Fq(1)1681 4398 y Fr(\))17 |
|
3633 b FD([)h Fk(supp)5 b Fr(\()p FG(t)2010 4410 y Fq(2)2047 |
|
3634 4398 y Fr(\))835 4518 y Fk(supp)h Fr(\()p Fs(Se)p Fr(\([)p |
|
3635 FG(a)p Fr(])p FG(:t)p Fr(\)\))25 b(=)g Fk(supp)6 b Fr(\()p |
|
3636 FG(t)p Fr(\))16 b FD(\000)h(f)p FG(a)p FD(g)2749 4398 |
|
3637 y FI(\(13\))0 4727 y(where)27 b(the)g(last)f(follo)n(ws)h(from)h |
|
3638 (\(11\)\227)p FG(t)g FI(is)e(\002nitely)h(supported)i(by)e(induction)i |
|
3639 (hypothesis;)e(for)g(the)0 4823 y(second)21 b(we)e(use)h(Lem.)g(6)p |
|
3640 FE(\(i\))p FI(.)80 b FD(u)-51 b(t)p 0 TeXcolorgray 0 |
|
3641 TeXcolorgray eop end |
|
3642 %%Page: 12 12 |
|
3643 TeXDict begin 12 11 bop 0 TeXcolorgray 0 TeXcolorgray |
|
3644 0 71 2881 4 v 0 17 a FF(12)p 0 TeXcolorgray 125 228 a |
|
3645 FI(Ne)o(xt,)18 b(one)h(of)f(the)h(main)g(points)g(of)g(this)f(paper:)h |
|
3646 (there)g(is)f(a)g(bijection)h(between)g Fs(lam)2456 246 |
|
3647 y Fp(=)p Fl(\031)2564 228 y FI(and)g Fs(lam)2814 236 |
|
3648 y Fp(\013)2861 228 y FI(.)0 324 y(This)h(is)f(sho)n(wn)i(using)g(the)f |
|
3649 (follo)n(wing)h(mapping)h(from)f Fs(lam)f FI(to)g Fs(lam)1892 |
|
3650 332 y Fp(\013)1939 324 y FI(:)1035 510 y FG(q)s Fr(\()p |
|
3651 Fs(Var)p Fr(\()p FG(a)p Fr(\)\))1375 467 y Fn(def)1382 |
|
3652 510 y Fr(=)32 b Fs(Am)p Fr(\()p FG(a)p Fr(\))911 653 |
|
3653 y FG(q)s Fr(\()p Fs(App)q Fr(\()p FG(t)1154 665 y Fq(1)1191 |
|
3654 653 y FG(;)13 b(t)1253 665 y Fq(2)1290 653 y Fr(\)\))1375 |
|
3655 610 y Fn(def)1382 653 y Fr(=)32 b Fs(Pr)p Fr(\()p FG(q)s |
|
3656 Fr(\()p FG(t)1677 665 y Fq(1)1714 653 y Fr(\))p FG(;)13 |
|
3657 b(q)s Fr(\()p FG(t)1873 665 y Fq(2)1910 653 y Fr(\)\))973 |
|
3658 796 y FG(q)s Fr(\()p Fs(Lam)q Fr(\()p FG(a;)f(t)p Fr(\)\))1375 |
|
3659 753 y Fn(def)1382 796 y Fr(=)32 b Fs(Se)p Fr(\([)p FG(a)p |
|
3660 Fr(])p FG(:q)s Fr(\()p FG(t)p Fr(\)\))0 957 y FI(and)21 |
|
3661 b(the)f(lemma:)p 0 TeXcolorgray 0 1126 a FJ(Lemma)f(9)p |
|
3662 0 TeXcolorgray 42 w FG(t)387 1138 y Fq(1)445 1126 y FD(\031)i |
|
3663 FG(t)554 1138 y Fq(2)611 1126 y FE(if)f(and)h(only)f(if)g |
|
3664 FG(q)s Fr(\()p FG(t)1127 1138 y Fq(1)1164 1126 y Fr(\))h(=)g |
|
3665 FG(q)s Fr(\()p FG(t)1391 1138 y Fq(2)1428 1126 y Fr(\))p |
|
3666 FE(.)p 0 TeXcolorgray 0 1345 a(Pr)l(oof)p 0 TeXcolorgray |
|
3667 40 w FI(By)e(routine)i(induction)h(o)o(v)o(er)f(de\002nition)g(of)f |
|
3668 Fs(lam)1570 1353 y Fp(\013)1617 1345 y FI(.)79 b FD(u)-51 |
|
3669 b(t)p 0 TeXcolorgray 0 1514 a FJ(Theor)o(em)19 b(1)p |
|
3670 0 TeXcolorgray 42 w FE(Ther)m(e)h(is)f(a)h(bijection)h(between)f |
|
3671 Fs(lam)1430 1532 y Fp(=)p Fl(\031)1540 1514 y FE(and)h |
|
3672 Fs(lam)1795 1522 y Fp(\013)1843 1514 y FE(.)p 0 TeXcolorgray |
|
3673 0 1733 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)d(mapping)j |
|
3674 FG(q)g FI(needs)e(to)f(be)h(lifted)g(to)f(alpha-equi)n(v)n(alence)k |
|
3675 (classes)17 b(\(see)h(P)o(aulson)h([24]\).)g(F)o(or)0 |
|
3676 1828 y(this)24 b(de\002ne)g FG(q)391 1796 y Fl(0)414 |
|
3677 1828 y Fr(\([)p FG(t)p Fr(])514 1836 y Fp(\013)562 1828 |
|
3678 y Fr(\))f FI(as)g(follo)n(ws:)i(apply)f FG(q)j FI(to)d(e)n(v)o(ery)h |
|
3679 (element)f(of)g(the)g(set)f Fr([)p FG(t)p Fr(])2188 1836 |
|
3680 y Fp(\013)2260 1828 y FI(and)h(b)n(uild)h(the)f(union)0 |
|
3681 1924 y(of)i(the)g(results.)e(By)i(Lem.)f(9)h(this)f(must)h(yield)g(a)f |
|
3682 (singleton)i(set.)d(The)i(result)g(of)g FG(q)2320 1892 |
|
3683 y Fl(0)2343 1924 y Fr(\([)p FG(t)p Fr(])2443 1932 y Fp(\013)2490 |
|
3684 1924 y Fr(\))g FI(is)e(then)i(the)0 2019 y(singleton.)k(Surjecti)n |
|
3685 (vity)f(of)h FG(q)864 1987 y Fl(0)916 2019 y FI(is)e(sho)n(wn)h(by)h(a) |
|
3686 f(routine)h(induction)g(o)o(v)o(er)g(the)f(de\002nition)h(of)f |
|
3687 Fs(lam)2814 2027 y Fp(\013)2861 2019 y FI(.)0 2115 y(Injecti)n(vity)21 |
|
3688 b(of)f FG(q)464 2083 y Fl(0)507 2115 y FI(follo)n(ws)h(from)g(Lem.)f(9) |
|
3689 g(since)g Fr([)p FG(t)1409 2127 y Fq(1)1446 2115 y Fr(])1467 |
|
3690 2123 y Fp(\013)1536 2115 y Fr(=)h([)p FG(t)1666 2127 |
|
3691 y Fq(2)1703 2115 y Fr(])1724 2123 y Fp(\013)1792 2115 |
|
3692 y FI(for)f(all)g FG(t)2030 2127 y Fq(1)2088 2115 y FD(\031)h |
|
3693 FG(t)2197 2127 y Fq(2)2234 2115 y FI(.)79 b FD(u)-51 |
|
3694 b(t)125 2284 y FI(W)-6 b(e)19 b(de\002ned)i Fs(lam)617 |
|
3695 2292 y Fp(\013)683 2284 y FI(as)f(an)g(inducti)n(v)o(e)g(subset)g(of)g |
|
3696 Fs(phi)h FI(and)f(sho)n(wed)g(that)g(there)g(is)g(a)f(bijection)i(with) |
|
3697 0 2379 y Fs(lam)118 2397 y Fp(=)p Fl(\031)208 2379 y |
|
3698 FI(.)e(W)-6 b(e)20 b(can)g(no)n(w)g(apply)h(standard)g(HOL-techniques)g |
|
3699 (and)f(turn)h(the)f FE(set)h Fs(lam)2301 2387 y Fp(\013)2368 |
|
3700 2379 y FI(into)f(a)g FE(type)g Fs(lam)2834 2387 y Fp(\013)0 |
|
3701 2475 y FI(of)j(HOL)g(\(see)f(for)h(e)o(xample)h(the)e(Isabelle)h |
|
3702 (tutorial)g([21,)h(Sec.)d(8.5.2])j(or)f(Melham)g([19,)8 |
|
3703 b(20])24 b(for)g(more)0 2570 y(details\).)c(The)g(construction)i(we)d |
|
3704 (can)i(perform)g(in)f(HOL)g(is)f(illustrated)i(by)f(the)g(follo)n(wing) |
|
3705 i(picture:)p 0 TeXcolorgray 0 TeXcolorgray 436 3252 a |
|
3706 @beginspecial @setspecial |
|
3707 tx@Dict begin STP newpath 1.13809 SLW 0 setgray 0.2 true 142.26372 |
|
3708 0.0 219.08603 71.13185 .5 Frame gsave 1.13809 SLW 0 setgray 0 setlinecap |
|
3709 stroke grestore end |
|
3710 |
|
3711 @endspecial @beginspecial |
|
3712 @setspecial |
|
3713 tx@Dict begin STP newpath 0.85358 SLW 0 setgray 170.71646 42.67911 |
|
3714 17.07181 0 CLW mul sub 0 360 arc closepath gsave 0.85358 SLW 0 setgray |
|
3715 0 setlinecap stroke grestore end |
|
3716 |
|
3717 @endspecial @beginspecial @setspecial |
|
3718 tx@Dict begin STP newpath 1.13809 SLW 0 setgray 0.2 true 31.29819 |
|
3719 59.75093 65.44139 25.60728 0 Frame gsave 1.13809 SLW 0 setgray 0 |
|
3720 setlinecap stroke grestore end |
|
3721 |
|
3722 @endspecial |
|
3723 436 3252 a |
|
3724 tx@Dict begin tx@NodeDict begin {73.9773 42.67911 } false /N@@@A 10 |
|
3725 {InitPnode } NewNode end end |
|
3726 436 3252 a 436 3252 a |
|
3727 tx@Dict begin tx@NodeDict begin {136.57324 42.67911 } false /N@@@B |
|
3728 10 {InitPnode } NewNode end end |
|
3729 436 3252 a 436 3252 |
|
3730 a |
|
3731 tx@Dict begin gsave STV newpath 1.13809 SLW 0 setgray /ArrowA { |
|
3732 moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. |
|
3733 Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg |
|
3734 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine } if end gsave 1.13809 SLW |
|
3735 0 setgray 0 setlinecap stroke grestore grestore end |
|
3736 436 3252 a 436 3252 a |
|
3737 tx@Dict begin tx@NodeDict begin {62.59595 59.75093 } false /N@@@A |
|
3738 10 {InitPnode } NewNode end end |
|
3739 436 3252 a 436 3252 a |
|
3740 tx@Dict begin tx@NodeDict begin {170.71646 59.75093 } false /N@@@B |
|
3741 10 {InitPnode } NewNode end end |
|
3742 436 3252 |
|
3743 a 436 3252 a |
|
3744 tx@Dict begin gsave STV newpath 0.56905 SLW 0 setgray /ArrowA { |
|
3745 moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 |
|
3746 neg 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine } if end gsave 0.56905 |
|
3747 SLW 0 setgray 0 setlinecap stroke grestore grestore end |
|
3748 436 3252 a 436 3252 a |
|
3749 tx@Dict begin tx@NodeDict begin {62.59595 25.60728 } false /N@@@A |
|
3750 10 {InitPnode } NewNode end end |
|
3751 436 3252 a 436 3252 |
|
3752 a |
|
3753 tx@Dict begin tx@NodeDict begin {170.71646 25.60728 } false /N@@@B |
|
3754 10 {InitPnode } NewNode end end |
|
3755 436 3252 a 436 3252 a |
|
3756 tx@Dict begin gsave STV newpath 0.56905 SLW 0 setgray /ArrowA { |
|
3757 moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 |
|
3758 neg 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine } if end gsave 0.56905 |
|
3759 SLW 0 setgray 0 setlinecap stroke grestore grestore end |
|
3760 436 3252 a 2102 2747 a Fs(phi)1771 |
|
3761 2916 y(lam)1889 2924 y Fp(\013)2282 2758 y FI(e)o(xisting)2282 |
|
3762 2815 y(type)534 2887 y(ne)n(w)534 2945 y(type)1707 3124 |
|
3763 y(non-empty)1707 3181 y(subset)756 2916 y Fs(lam)873 |
|
3764 2924 y Fp(\013)1105 2857 y FI(isomorphism)0 3413 y(W)-6 |
|
3765 b(e)23 b(are)h(allo)n(wed)g(to)g(introduce)h(the)f(type)g |
|
3766 Fs(lam)1320 3421 y Fp(\013)1390 3413 y FI(by)g(means)g(of)g |
|
3767 (identifying)i(a)d(non-empty)j(subset)e(in)0 3508 y(the)i(e)o(xisting)g |
|
3768 (type)h Fs(phi)g FI(\(this)e(type)i(w)o(as)f(introduced)i(by)e(the)h |
|
3769 (datatype)f(declaration)i(in)e(\(7\)\))h(and)f(an)0 3603 |
|
3770 y(isomorphism,)e(which)g(we)e(write)h(here)g(as)g Fb(p)p |
|
3771 FD(\000)p Fb(q)p FI(.)g(The)g(properties)h(of)f(the)g(type)h |
|
3772 Fs(lam)2361 3611 y Fp(\013)2431 3603 y FI(are)f(then)h(gi)n(v)o(en)0 |
|
3773 3699 y(by)g(the)g(isomorphism)i(and)e(ho)n(w)h(the)f(subset)g |
|
3774 Fs(lam)1411 3707 y Fp(\013)1482 3699 y FI(is)g(de\002ned.)g(F)o(or)g(e) |
|
3775 o(xample)h(we)e(can)h(characterise)0 3794 y(term-constructors)e(of)e |
|
3776 (the)h(type)f Fs(lam)1051 3802 y Fp(\013)1118 3794 y |
|
3777 FI(as)f(follo)n(ws:)1040 3957 y Fb(p)p Fs(Var)1196 3965 |
|
3778 y Fp(\013)1243 3957 y Fr(\()p FG(a)p Fr(\))p Fb(q)25 |
|
3779 b FD(7!)g Fs(Am)p Fr(\()p FG(a)p Fr(\))916 4052 y Fb(p)p |
|
3780 Fs(App)1072 4073 y Fp(\013)1120 4052 y Fr(\()p FG(t)1178 |
|
3781 4064 y Fq(1)1215 4052 y FG(;)13 b(t)1277 4064 y Fq(2)1314 |
|
3782 4052 y Fr(\))p Fb(q)25 b FD(7!)g Fs(Pr)p Fr(\()p Fb(p)p |
|
3783 FG(t)1683 4064 y Fq(1)1720 4052 y Fb(q)p FG(;)14 b Fb(p)p |
|
3784 FG(t)1859 4064 y Fq(2)1896 4052 y Fb(q)p Fr(\))978 4148 |
|
3785 y Fb(p)p Fs(Lam)1134 4156 y Fp(\013)1181 4148 y Fr(\()p |
|
3786 FG(a;)f(t)p Fr(\))p Fb(q)25 b FD(7!)g Fs(Se)p Fr(\([)p |
|
3787 FG(a)p Fr(])p FG(:)p Fb(p)p FG(t)p Fb(q)p Fr(\))2749 |
|
3788 4052 y FI(\(14\))0 4308 y(with)20 b(the)g(follo)n(wing)i |
|
3789 (\223injection\224)e(principles)784 4471 y Fs(Var)901 |
|
3790 4479 y Fp(\013)949 4471 y Fr(\()p FG(a)p Fr(\))g(=)h |
|
3791 Fs(Var)1269 4479 y Fp(\013)1316 4471 y Fr(\()p FG(b)p |
|
3792 Fr(\))160 b FI(if)n(f)26 b FG(a)21 b Fr(=)g FG(b)648 |
|
3793 4566 y Fs(App)766 4587 y Fp(\013)813 4566 y Fr(\()p FG(t)871 |
|
3794 4578 y Fq(1)908 4566 y FG(;)13 b(t)970 4578 y Fq(2)1007 |
|
3795 4566 y Fr(\))21 b(=)g Fs(App)1257 4587 y Fp(\013)1304 |
|
3796 4566 y Fr(\()p FG(s)1370 4578 y Fq(1)1407 4566 y FG(;)13 |
|
3797 b(s)1477 4578 y Fq(2)1514 4566 y Fr(\))25 b FI(if)n(f)h |
|
3798 FG(t)1695 4578 y Fq(1)1753 4566 y Fr(=)21 b FG(s)1870 |
|
3799 4578 y Fq(1)1924 4566 y FD(^)c FG(t)2020 4578 y Fq(2)2079 |
|
3800 4566 y Fr(=)k FG(s)2196 4578 y Fq(2)684 4662 y Fs(Lam)802 |
|
3801 4670 y Fp(\013)849 4662 y Fr(\()p FG(a;)13 b(t)982 4674 |
|
3802 y Fq(1)1019 4662 y Fr(\))21 b(=)g Fs(Lam)1269 4670 y |
|
3803 Fp(\013)1316 4662 y Fr(\()p FG(b;)13 b(t)1441 4674 y |
|
3804 Fq(2)1478 4662 y Fr(\))61 b FI(if)n(f)26 b Fr([)p FG(a)p |
|
3805 Fr(])p FG(:t)1799 4674 y Fq(1)1858 4662 y Fr(=)21 b([)p |
|
3806 FG(b)p Fr(])p FG(:t)2063 4674 y Fq(2)2749 4566 y FI(\(15\))0 |
|
3807 4823 y(and)g(the)f(support)h(beha)n(ving)h(as)e(follo)n(ws:)p |
|
3808 0 TeXcolorgray 0 TeXcolorgray eop end |
|
3809 %%Page: 13 13 |
|
3810 TeXDict begin 13 12 bop 0 TeXcolorgray 0 TeXcolorgray |
|
3811 0 71 2881 4 v 2814 17 a FF(13)p 0 TeXcolorgray 822 304 |
|
3812 a Fk(supp)6 b Fr(\()p Fs(Var)1125 312 y Fp(\013)1173 |
|
3813 304 y Fr(\()p FG(a)p Fr(\)\))86 b(=)24 b FD(f)p FG(a)p |
|
3814 FD(g)761 399 y Fk(supp)5 b Fr(\()p Fs(App)1064 420 y |
|
3815 Fp(\013)1111 399 y Fr(\()p FG(t)1169 411 y Fq(1)1206 |
|
3816 399 y FG(;)13 b(t)1268 411 y Fq(2)1305 399 y Fr(\)\))25 |
|
3817 b(=)f Fk(supp)6 b Fr(\()p FG(t)1688 411 y Fq(1)1725 399 |
|
3818 y Fr(\))17 b FD([)g Fk(supp)6 b Fr(\()p FG(t)2054 411 |
|
3819 y Fq(2)2090 399 y Fr(\))791 495 y Fk(supp)g Fr(\()p Fs(Lam)1095 |
|
3820 503 y Fp(\013)1142 495 y Fr(\()p FG(a;)13 b(t)p Fr(\)\))55 |
|
3821 b(=)24 b Fk(supp)6 b Fr(\()p FG(t)p Fr(\))16 b FD(\000)h(f)p |
|
3822 FG(a)p FD(g)2749 399 y FI(\(16\))0 633 y(Since)27 b(by)h(Lem.)f(8)p |
|
3823 FE(\(ii\))g FI(the)h(permutation)h(operation)f(is)f(closed)g(on)h(the)f |
|
3824 (set)f Fs(lam)2286 641 y Fp(\013)2333 633 y FI(,)h(we)g(can)g(also)g |
|
3825 (lift)0 729 y(the)21 b(permutation)i(operation)g(de\002ned)e(o)o(v)o |
|
3826 (er)h Fs(phi)f FI(to)g(the)g(ne)n(w)h(type)f(so)g(that)g(the)g(follo)n |
|
3827 (wing)h(properties)0 824 y(hold:)993 901 y FG(\031)1040 |
|
3828 910 y Fo(\001)1078 901 y Fs(Var)1196 909 y Fp(\013)1243 |
|
3829 901 y Fr(\()p FG(a)p Fr(\))i(=)h Fs(Var)1570 909 y Fp(\013)1618 |
|
3830 901 y Fr(\()p FG(\031)1695 910 y Fo(\001)1732 901 y FG(a)p |
|
3831 Fr(\))870 996 y FG(\031)917 1005 y Fo(\001)954 996 y |
|
3832 Fs(App)1072 1017 y Fp(\013)1119 996 y Fr(\()p FG(t)1177 |
|
3833 1008 y Fq(1)1214 996 y FG(;)13 b(t)1276 1008 y Fq(2)1313 |
|
3834 996 y Fr(\))25 b(=)g Fs(App)1570 1017 y Fp(\013)1618 |
|
3835 996 y Fr(\()p FG(\031)1695 1005 y Fo(\001)1732 996 y |
|
3836 FG(t)1760 1008 y Fq(1)1797 996 y FG(;)14 b(\031)1879 |
|
3837 1005 y Fo(\001)1916 996 y FG(t)1944 1008 y Fq(2)1981 |
|
3838 996 y Fr(\))931 1092 y FG(\031)978 1101 y Fo(\001)1016 |
|
3839 1092 y Fs(Lam)1134 1100 y Fp(\013)1181 1092 y Fr(\()p |
|
3840 FG(a;)f(t)p Fr(\))24 b(=)h Fs(Lam)1570 1100 y Fp(\013)1618 |
|
3841 1092 y Fr(\()p FG(\031)1695 1101 y Fo(\001)1732 1092 |
|
3842 y FG(a;)13 b(\031)1854 1101 y Fo(\001)1892 1092 y FG(t)p |
|
3843 Fr(\))2749 996 y FI(\(17\))0 1230 y(W)-6 b(e)20 b(can)g(further)h(sho)n |
|
3844 (w)g(that:)p 0 TeXcolorgray 0 1400 a FJ(Lemma)e(10)p |
|
3845 0 TeXcolorgray 43 w FE(The)30 b(type)g Fs(lam)826 1408 |
|
3846 y Fp(\013)903 1400 y FE(is)g(a)g(\(i\))g(permutation)i(type)e(and)h |
|
3847 (\(ii\))g(all)f(its)f(elements)h(ar)m(e)g(\002nitely)0 |
|
3848 1496 y(supported.)p 0 TeXcolorgray 0 1716 a(Pr)l(oof)p |
|
3849 0 TeXcolorgray 40 w FI(By)23 b(routine)i(induction)g(the)f(o)o(v)o(er)h |
|
3850 (de\002nition)f(of)h Fs(lam)1712 1724 y Fp(\013)1760 |
|
3851 1716 y FI(.)e(F)o(or)h FE(\(i\))g FI(we)f(lift)g(the)h(property)i(of)e |
|
3852 Fs(phi)0 1812 y FI(being)d(a)f(permutation)i(type)e(to)g |
|
3853 Fs(lam)1005 1820 y Fp(\013)1072 1812 y FI(using)h(Lem.)f(8)p |
|
3854 FE(\(ii\))p FI(;)g(for)h FE(\(ii\))f FI(we)f(use)h(\(16\).)80 |
|
3855 b FD(u)-51 b(t)0 1982 y FI(The)16 b(crux)h(of)f(constructing)i(the)e |
|
3856 (ne)n(w)g(type)g Fs(lam)1307 1990 y Fp(\013)1370 1982 |
|
3857 y FI(is)f(that)h(we)g(no)n(w)g(ha)n(v)o(e)h(an)f(Isabelle/HOL-type)h |
|
3858 (where)0 2078 y(lambdas)k(are)f(equal)g(pro)o(vided)376 |
|
3859 2241 y Fs(Lam)493 2249 y Fp(\013)541 2241 y Fr(\()p FG(a;)12 |
|
3860 b(t)673 2253 y Fq(1)710 2241 y Fr(\))22 b(=)f Fs(Lam)960 |
|
3861 2249 y Fp(\013)1008 2241 y Fr(\()p FG(b;)13 b(t)1133 |
|
3862 2253 y Fq(2)1170 2241 y Fr(\))78 b FI(if)20 b(and)h(only)g(if)f(either) |
|
3863 612 2384 y FG(a)h Fr(=)g FG(b)c FD(^)g FG(t)901 2396 |
|
3864 y Fq(1)960 2384 y Fr(=)k FG(t)1069 2396 y Fq(2)1263 2384 |
|
3865 y FI(or)159 b FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g FG(t)1776 |
|
3866 2396 y Fq(1)1834 2384 y Fr(=)22 b(\()p FG(a)12 b(b)p |
|
3867 Fr(\))2062 2393 y Fo(\001)2100 2384 y FG(t)2128 2396 |
|
3868 y Fq(2)2182 2384 y FD(^)17 b FG(a)k Fr(#)g FG(t)2425 |
|
3869 2396 y Fq(2)2484 2384 y FG(:)2749 2312 y FI(\(18\))0 |
|
3870 2546 y(and)g(freshness)f(of)g(a)g(lambda)h(is)e(gi)n(v)o(en)i(by:)804 |
|
3871 2709 y FG(a)g Fr(#)h Fs(Lam)1069 2717 y Fp(\013)1117 |
|
3872 2709 y Fr(\()p FG(b;)12 b(t)p Fr(\))79 b FI(if)20 b(and)g(only)h(if)f |
|
3873 (either)1040 2852 y FG(a)h Fr(=)h FG(b)157 b FI(or)i |
|
3874 FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g FG(a)k Fr(#)g FG(t)g(:)2749 |
|
3875 2780 y FI(\(19\))0 3014 y(In)i(ef)n(fect)g(we)g(ha)n(v)o(e)h(achie)n(v) |
|
3876 o(ed)f(what)g(we)g(set)f(out)h(at)g(the)g(be)o(ginning)i(of)e(this)f |
|
3877 (section:)h(we)g(ha)n(v)o(e)h(a)e(for)n(-)0 3110 y(mal)d |
|
3878 (implementation)i(of)f(Barendre)o(gt')l(s)g(con)m(v)o(ention)h(about)f |
|
3879 (identifying)i(alpha-equi)n(v)n(alent)f(lambda-)0 3205 |
|
3880 y(terms.)0 3488 y FJ(4)28 b(Structural)20 b(Induction)g(Principles)0 |
|
3881 3677 y FI(The)27 b(inducti)n(v)o(e)h(de\002nition)g(of)f(the)g(set)f |
|
3882 Fs(lam)1242 3685 y Fp(\013)1316 3677 y FI(gi)n(v)o(en)i(in)e(\(12\))i |
|
3883 (comes)f(with)g(an)g(induction)i(principle.)0 3772 y(From)22 |
|
3884 b(this)f(induction)i(principle)g(we)e(can)g(deri)n(v)o(e)h(the)g(follo) |
|
3885 n(wing)g(structural)g(induction)h(principle)g(for)0 3868 |
|
3886 y(the)d(type)h Fs(lam)389 3876 y Fp(\013)437 3868 y FI(:)771 |
|
3887 4039 y FD(8)p FG(a:)42 b(P)32 b Fr(\()p Fs(Var)1146 4047 |
|
3888 y Fp(\013)1194 4039 y Fr(\()p FG(a)p Fr(\)\))771 4158 |
|
3889 y FD(8)p FG(t)842 4170 y Fq(1)891 4158 y FG(t)919 4170 |
|
3890 y Fq(2)956 4158 y FG(:)43 b(P)32 b(t)1129 4170 y Fq(1)1204 |
|
3891 4158 y FD(^)39 b FG(P)32 b(t)1403 4170 y Fq(2)1483 4158 |
|
3892 y FD(\))21 b FG(P)32 b Fr(\()p Fs(App)1809 4179 y Fp(\013)1857 |
|
3893 4158 y Fr(\()p FG(t)1915 4170 y Fq(1)1951 4158 y FG(;)14 |
|
3894 b(t)2014 4170 y Fq(2)2051 4158 y Fr(\)\))771 4277 y FD(8)p |
|
3895 FG(a)e(t)895 4289 y Fq(1)932 4277 y FG(:)43 b(P)32 b(t)1105 |
|
3896 4289 y Fq(1)1184 4277 y FD(\))43 b FG(P)32 b Fr(\()p |
|
3897 Fs(Lam)1532 4285 y Fp(\013)1580 4277 y Fr(\()p FG(a;)12 |
|
3898 b(t)1712 4289 y Fq(1)1749 4277 y Fr(\)\))p 771 4325 1340 |
|
3899 4 v 1386 4393 a FG(P)32 b(t)1254 b FI(\(20\))0 4536 y(Ho)n(we)n(v)o(er) |
|
3900 m(,)31 b(this)g(structural)h(induction)h(principle)f(is)f(not)h(v)o |
|
3901 (ery)g(con)m(v)o(enient)g(in)g(practice.)f(Consider)0 |
|
3902 4632 y(again)22 b(Fig.)f(1)h(sho)n(wing)g(a)f(typical)h(informal)h |
|
3903 (proof)g(in)m(v)n(olving)h(lambda-terms.)f(This)e(informal)i(proof)0 |
|
3904 4727 y(establishes)k(the)h(substitution)h(lemma)f(by)h(considering)h |
|
3905 (in)e(the)g(lambda-case)g(only)h(binders)g FG(z)i FI(that)0 |
|
3906 4823 y(ha)n(v)o(e)25 b(suitable)g(properties)h(\(namely)f(being)h |
|
3907 (fresh)f(for)g FG(x)p FI(,)e FG(y)s FI(,)h FG(N)32 b |
|
3908 FI(and)25 b FG(L)p FI(\).)g(If)g(one)g(w)o(ould)g(use)g(for)g(this)p |
|
3909 0 TeXcolorgray 0 TeXcolorgray eop end |
|
3910 %%Page: 14 14 |
|
3911 TeXDict begin 14 13 bop 0 TeXcolorgray 0 TeXcolorgray |
|
3912 0 71 2881 4 v 0 17 a FF(14)p 0 TeXcolorgray 0 228 a FI(proof)20 |
|
3913 b(the)f(induction)h(principle)f(gi)n(v)o(en)g(abo)o(v)o(e,)g(then)g |
|
3914 (one)g(w)o(ould)h(need)f(to)f(sho)n(w)h(the)g(lambda-case)g(for)0 |
|
3915 324 y FE(all)g FG(z)s FI(,)f(not)h(just)g(the)g(ones)g(being)h |
|
3916 (suitably)f(fresh.)g(This)f(w)o(ould)i(mean)g(one)f(has)g(to)g(rename)g |
|
3917 (binders)h(and)0 419 y(establish)g(a)f(number)j(of)f(auxiliary)g |
|
3918 (lemmas)f(concerning)i(such)e(renamings.)125 515 y(In)j(this)g(section) |
|
3919 h(we)f(will)f(deri)n(v)o(e)i(an)g(induction)h(principle)f(which)g(allo) |
|
3920 n(ws)f(a)g(similar)g(con)m(v)o(enient)0 610 y(reasoning)e(as)f(in)g |
|
3921 (Barendre)o(gt')l(s)g(informal)i(proof.)f(This)f(induction)i(principle) |
|
3922 f(is)e(as)h(follo)n(ws:)474 765 y FD(8)p FG(c)13 b(a:)43 |
|
3923 b(P)32 b Fr(\()p Fs(Var)896 773 y Fp(\013)944 765 y Fr(\()p |
|
3924 FG(a)p Fr(\)\))20 b FG(c)474 884 y FD(8)p FG(c)13 b(t)591 |
|
3925 896 y Fq(1)641 884 y FG(t)669 896 y Fq(2)706 884 y FG(:)43 |
|
3926 b Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)1034 896 y Fq(1)1092 |
|
3927 884 y FG(d)p Fr(\))38 b FD(^)h Fr(\()p FD(8)p FG(d:)21 |
|
3928 b(P)32 b(t)1554 896 y Fq(2)1612 884 y FG(d)p Fr(\))42 |
|
3929 b FD(\))21 b FG(P)32 b Fr(\()p Fs(App)2051 905 y Fp(\013)2098 |
|
3930 884 y Fr(\()p FG(t)2156 896 y Fq(1)2193 884 y FG(;)13 |
|
3931 b(t)2255 896 y Fq(2)2292 884 y Fr(\)\))21 b FG(c)474 |
|
3932 1003 y FD(8)p FG(c)13 b(a)f(t)644 1015 y Fq(1)681 1003 |
|
3933 y FG(:)43 b(a)21 b Fr(#)h FG(c)38 b FD(^)h Fr(\()p FD(8)p |
|
3934 FG(d:)21 b(P)32 b(t)1318 1015 y Fq(1)1376 1003 y FG(d)p |
|
3935 Fr(\))43 b FD(\))f FG(P)24 b Fr(\()p Fs(Lam)1828 1011 |
|
3936 y Fp(\013)1875 1003 y Fr(\()p FG(a;)13 b(t)2008 1015 |
|
3937 y Fq(1)2045 1003 y Fr(\)\))g FG(c)p 474 1051 1933 4 v |
|
3938 1367 1119 a(P)24 b(t)12 b(c)1236 b FI(\(21\))0 1277 y(where)26 |
|
3939 b(the)f(v)n(ariable)h FG(t)f FI(in)g(the)h(conclusion)g(stands)g(for)g |
|
3940 (a)f Fs(lam)1760 1285 y Fp(\013)1808 1277 y FI(-term)g(o)o(v)o(er)h |
|
3941 (which)g(the)f(induction)i(is)0 1372 y(done)18 b(and)f(the)g(v)n |
|
3942 (ariable)h FG(c)f FI(stands)f(for)i(the)f FE(conte)n(xt)i |
|
3943 FI(of)e(the)g(induction.)i(By)d(the)h(conte)o(xt)h(of)f(an)g(induction) |
|
3944 0 1468 y(we)k(mean)g(all)g(free)g(v)n(ariables)g(of)g(the)g(lemma)h(to) |
|
3945 f(be)g(sho)n(wn)g(by)h(induction,)g(e)o(xcept)f(the)g(v)n(ariable)h(o)o |
|
3946 (v)o(er)0 1563 y(which)i(the)h(induction)g(is)f(performed.)h(W)-6 |
|
3947 b(e)24 b(also)g(assume)g(that)g(the)g(conte)o(xt)h(is)e(of)i |
|
3948 (\002nitely)f(supported)0 1659 y(type.)c(In)h(case)e(of)i(the)f |
|
3949 (substitution)h(lemma)f(from)h(Fig.)f(1,)f(for)i(e)o(xample,)g(we)e(ha) |
|
3950 n(v)o(e)639 1816 y FG(M)8 b Fr([)p FG(x)21 b Fr(:=)h |
|
3951 FG(N)8 b Fr(][)p FG(y)25 b Fr(:=)c FG(L)p Fr(])h FD(\021)f |
|
3952 FG(M)8 b Fr([)p FG(y)24 b Fr(:=)e FG(L)p Fr(][)p FG(x)g |
|
3953 Fr(:=)f FG(N)8 b Fr([)p FG(y)25 b Fr(:=)c FG(L)p Fr(]])0 |
|
3954 1974 y FI(with)34 b FG(M)41 b FI(being)35 b(the)f(v)n(ariable)g(o)o(v)o |
|
3955 (er)g(which)g(the)g(induction)h(is)e(done.)i(So)e(in)h(this)f(case,)g |
|
3956 (the)h(con-)0 2069 y(te)o(xt)27 b FG(c)f FI(w)o(ould)i(be)f |
|
3957 (instantiated)g(with)f(the)h(other)h(free)f(v)n(ariables)g(in)g(this)f |
|
3958 (lemma,)h(namely)g(the)g(tuple)0 2165 y Fr(\()p FG(x;)13 |
|
3959 b(y)s(;)f(N)t(;)h(L)p Fr(\))p FI(\227which)22 b(is)f(of)h(\002nitely)g |
|
3960 (supported)h(type.)f(When)h(it)e(comes)g(to)h(pro)o(v)o(e)g(the)g |
|
3961 (lambda-case,)0 2260 y(that)e(is)973 2356 y FG(P)32 b |
|
3962 Fr(\()p Fs(Lam)1202 2364 y Fp(\013)1249 2356 y Fr(\()p |
|
3963 FG(z)s(;)13 b(M)1426 2368 y Fq(1)1463 2356 y Fr(\)\))21 |
|
3964 b(\()p FG(x;)13 b(y)s(;)f(N)t(;)i(L)p Fr(\))0 2490 y |
|
3965 FI(one)24 b(can)f(assume)g(in)g(\(21\))h(that)f(the)g(binder)h |
|
3966 FG(z)h FI(is)e(fresh)g(for)g Fr(\()p FG(x;)13 b(y)s(;)g(N)t(;)g(L)p |
|
3967 Fr(\))p FI(\227which)23 b(is)g(equi)n(v)n(alent)h(to)f |
|
3968 FG(z)0 2585 y FI(not)18 b(being)h(equal)f(to)f FG(x)g |
|
3969 FI(and)h FG(y)s FI(,)f(and)h(not)g(free)g(in)g FG(N)25 |
|
3970 b FI(and)18 b FG(L)p FI(.)g(As)f(we)g(shall)g(see)g(later)m(,)g(with)h |
|
3971 (this)f(induction)0 2681 y(principle)k(one)g(can)f(formalise)h |
|
3972 (Barendre)o(gt')l(s)f(slick)g(informal)h(proof)h(without)e(dif)n |
|
3973 (\002culties.)125 2776 y(In)f(the)g(follo)n(wing)i(we)d(shall)h |
|
3974 (establish)g(a)f(slightly)i(more)g(general)g(v)o(ersion)f(of)h(the)f |
|
3975 (induction)i(prin-)0 2872 y(ciple)c(gi)n(v)o(en)h(in)g(\(21\).)g(In)g |
|
3976 (the)f(generalised)h(v)o(ersion)g(we)f(require)i(that)e(the)h |
|
3977 (induction)h(conte)o(xt)f(is)e(\002nitely)0 2967 y(supported,)21 |
|
3978 b(b)n(ut)g(not)g(necessarily)f(has)g(\002nitely)g(supported)i(type.)p |
|
3979 0 TeXcolorgray 0 3126 a FJ(Theor)o(em)d(2)p 0 TeXcolorgray |
|
3980 42 w(\(Str)o(ong)27 b(Induction)f(Principle\))g FE(A)h(pr)l(operty)g |
|
3981 FG(P)44 b(t)33 b(c)26 b FE(holds)h(for)g(all)f FG(t)g |
|
3982 FE(terms)g(of)g(type)0 3222 y Fs(lam)118 3230 y Fp(\013)165 |
|
3983 3222 y FE(,)19 b(pr)l(o)o(vided)j(for)e(a)g(given)h FG(f)p |
|
3984 0 TeXcolorgray 56 3358 a FE(\(i\))p 0 TeXcolorgray 84 |
|
3985 w FD(8)p FG(c:)43 b Fk(\014nite)7 b Fr(\()p Fk(supp)e |
|
3986 Fr(\()p FG(f)21 b(c)p Fr(\)\))p FE(,)p 0 TeXcolorgray |
|
3987 34 3454 a(\(ii\))p 0 TeXcolorgray 84 w FD(8)p FG(c)13 |
|
3988 b(a:)43 b(P)32 b Fr(\()p Fs(Var)636 3462 y Fp(\013)684 |
|
3989 3454 y Fr(\()p FG(a)p Fr(\)\))20 b FG(c)p FE(,)p 0 TeXcolorgray |
|
3990 12 3549 a(\(iii\))p 0 TeXcolorgray 84 w FD(8)p FG(c)13 |
|
3991 b(t)331 3561 y Fq(1)381 3549 y FG(t)409 3561 y Fq(2)446 |
|
3992 3549 y FG(:)43 b Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)774 |
|
3993 3561 y Fq(1)832 3549 y FG(d)p Fr(\))38 b FD(^)h Fr(\()p |
|
3994 FD(8)p FG(d:)21 b(P)32 b(t)1294 3561 y Fq(2)1352 3549 |
|
3995 y FG(d)p Fr(\))43 b FD(\))21 b FG(P)32 b Fr(\()p Fs(App)1791 |
|
3996 3570 y Fp(\013)1839 3549 y Fr(\()p FG(t)1897 3561 y Fq(1)1933 |
|
3997 3549 y FG(;)13 b(t)1995 3561 y Fq(2)2032 3549 y Fr(\)\))22 |
|
3998 b FG(c)p FE(,)d(and)p 0 TeXcolorgray 21 3645 a(\(iv\))p |
|
3999 0 TeXcolorgray 84 w FD(8)p FG(c)13 b(a)g(t)385 3657 y |
|
4000 Fq(1)422 3645 y FG(:)43 b(a)21 b Fr(#)g FG(f)g(c)39 b |
|
4001 FD(^)f Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)1116 3657 y |
|
4002 Fq(1)1175 3645 y FG(d)p Fr(\))42 b FD(\))g FG(P)33 b |
|
4003 Fr(\()p Fs(Lam)1635 3653 y Fp(\013)1682 3645 y Fr(\()p |
|
4004 FG(a;)13 b(t)1815 3657 y Fq(1)1852 3645 y Fr(\)\))21 |
|
4005 b FG(c)0 3781 y FE(hold.)p 0 TeXcolorgray 0 3963 a(Pr)l(oof)p |
|
4006 0 TeXcolorgray 40 w FI(By)27 b(induction)i(o)o(v)o(er)f |
|
4007 FG(t)f FI(using)i(\(20\).)f(W)-6 b(e)27 b(strengthen)i(the)f(induction) |
|
4008 h(hypothesis)g(by)f(aiming)0 4059 y(to)c(pro)o(v)o(e)i |
|
4009 FD(8)p FG(\031)15 b(c:)30 b(P)23 b Fr(\()p FG(\031)622 |
|
4010 4068 y Fo(\001)660 4059 y FG(t)p Fr(\))12 b FG(c)p FI(.)24 |
|
4011 b(The)h(cases)f(for)h Fs(Var)1378 4067 y Fp(\013)1450 |
|
4012 4059 y FI(and)g Fs(App)1705 4080 y Fp(\013)1777 4059 |
|
4013 y FI(are)f(routine.)i(The)e(interesting)h(case)f(is)0 |
|
4014 4154 y Fs(Lam)118 4162 y Fp(\013)165 4154 y FI(:)e(we)g(need)g(to)h |
|
4015 (sho)n(w)f(that)g FG(P)i Fr(\()p FG(\031)1053 4163 y |
|
4016 Fo(\001)1091 4154 y Fs(Lam)1208 4162 y Fp(\013)1256 4154 |
|
4017 y Fr(\()p FG(a;)12 b(t)1388 4166 y Fq(1)1425 4154 y Fr(\)\))h |
|
4018 FG(c)p FI(,)22 b(where)g FG(\031)1834 4163 y Fo(\001)1872 |
|
4019 4154 y Fs(Lam)1990 4162 y Fp(\013)2037 4154 y Fr(\()p |
|
4020 FG(a;)13 b(t)2170 4166 y Fq(1)2207 4154 y Fr(\))25 b(=)g |
|
4021 Fs(Lam)2464 4162 y Fp(\013)2512 4154 y Fr(\()p FG(\031)2589 |
|
4022 4163 y Fo(\001)2626 4154 y FG(a;)13 b(\031)2748 4163 |
|
4023 y Fo(\001)2786 4154 y FG(t)2814 4166 y Fq(1)2851 4154 |
|
4024 y Fr(\))0 4250 y FI(by)35 b(\(17\).)f(Since)g(by)h FE(\(i\))f |
|
4025 FG(f)8 b(c)35 b FI(is)e(\002nitely)h(supported,)i(and)e(by)h(Lemmas)f |
|
4026 (4)h(and)f(10)h(also)f FG(\031)2655 4259 y Fo(\001)2693 |
|
4027 4250 y FG(a)f FI(and)0 4345 y FG(\031)47 4354 y Fo(\001)85 |
|
4028 4345 y FG(t)113 4357 y Fq(1)150 4345 y FI(,)26 b(we)g(can)g(use)h |
|
4029 (Prop.)f(1)h(to)f(obtain)i(a)e FG(b)g FI(with)g FG(b)33 |
|
4030 b Fr(#)g(\()p FG(f)21 b(c;)13 b(\031)1803 4354 y Fo(\001)1841 |
|
4031 4345 y FG(a;)g(\031)1963 4354 y Fo(\001)2001 4345 y FG(t)2029 |
|
4032 4357 y Fq(1)2066 4345 y Fr(\))p FI(.)25 b(From)i(this)f(we)g(can)h |
|
4033 (infer)0 4441 y(that)h FG(b)36 b FD(6)p Fr(=)f FG(\031)357 |
|
4034 4450 y Fo(\001)395 4441 y FG(a)28 b FI(and)g FG(b)36 |
|
4035 b Fr(#)g FG(\031)821 4450 y Fo(\001)859 4441 y FG(t)887 |
|
4036 4453 y Fq(1)924 4441 y FI(,)27 b(which)i(implies)f(by)g(\(18\))h(that)f |
|
4037 Fr(\()p FD(\003)p Fr(\))g Fs(Lam)2107 4449 y Fp(\013)2154 |
|
4038 4441 y Fr(\()p FG(b;)13 b Fr(\()p FG(b)38 b(\031)2399 |
|
4039 4450 y Fo(\001)2437 4441 y FG(a)p Fr(\))2508 4450 y Fo(\001)2546 |
|
4040 4441 y Fr(\()p FG(\031)2623 4450 y Fo(\001)2661 4441 |
|
4041 y FG(t)2689 4453 y Fq(1)2726 4441 y Fr(\)\))d(=)0 4536 |
|
4042 y Fs(Lam)118 4544 y Fp(\013)165 4536 y Fr(\()p FG(\031)242 |
|
4043 4545 y Fo(\001)280 4536 y FG(a;)12 b(\031)401 4545 y |
|
4044 Fo(\001)439 4536 y FG(t)467 4548 y Fq(1)504 4536 y Fr(\))p |
|
4045 FI(.)26 b(From)g(the)g(induction)i(hypothesis,)e(which)h(is)e |
|
4046 FD(8)p FG(\031)15 b(c:)f(P)23 b Fr(\()p FG(\031)2220 |
|
4047 4545 y Fo(\001)2258 4536 y FG(t)2286 4548 y Fq(1)2323 |
|
4048 4536 y Fr(\))12 b FG(c)p FI(,)26 b(we)g(obtain)g(the)0 |
|
4049 4632 y(f)o(act)i FD(8)p FG(c:)13 b(P)24 b Fr(\(\(\()p |
|
4050 FG(b)38 b(\031)536 4641 y Fo(\001)574 4632 y FG(a)p Fr(\)@)p |
|
4051 FG(\031)s Fr(\))782 4641 y Fo(\001)819 4632 y FG(t)847 |
|
4052 4644 y Fq(1)884 4632 y Fr(\))12 b FG(c)p FI(.)28 b(Then)h(we)f(can)g |
|
4053 (use)g(the)g(f)o(act)h FG(b)36 b Fr(#)g FG(f)21 b(c)28 |
|
4054 b FI(and)h FE(\(iv\))p FI(,)f(and)h(infer)g(that)0 4727 |
|
4055 y FG(P)23 b Fr(\()p Fs(Lam)220 4735 y Fp(\013)267 4727 |
|
4056 y Fr(\()p FG(b;)13 b Fr(\(\()p FG(b)38 b(\031)542 4736 |
|
4057 y Fo(\001)580 4727 y FG(a)p Fr(\)@)p FG(\031)s Fr(\))788 |
|
4058 4736 y Fo(\001)825 4727 y FG(t)853 4739 y Fq(1)890 4727 |
|
4059 y Fr(\)\))13 b FG(c)22 b FI(holds.)g(Moreo)o(v)o(er)h(this)f(is)f(by)i |
|
4060 (De\002nition)f(2)p FE(\(ii\))h FI(equal)f(to)g(the)g(f)o(act)0 |
|
4061 4823 y FG(P)h Fr(\()p Fs(Lam)220 4831 y Fp(\013)267 4823 |
|
4062 y Fr(\()p FG(b;)13 b Fr(\()p FG(b)38 b(\031)512 4832 |
|
4063 y Fo(\001)550 4823 y FG(a)p Fr(\))621 4832 y Fo(\001)659 |
|
4064 4823 y Fr(\()p FG(\031)736 4832 y Fo(\001)774 4823 y |
|
4065 FG(t)802 4835 y Fq(1)839 4823 y Fr(\)\)\))12 b FG(c)p |
|
4066 FI(.)20 b(By)f Fr(\()p FD(\003)p Fr(\))h FI(we)g(can)g(conclude)i(with) |
|
4067 e FG(P)j Fr(\()p Fs(Lam)2169 4831 y Fp(\013)2216 4823 |
|
4068 y Fr(\()p FG(\031)2293 4832 y Fo(\001)2331 4823 y FG(a;)12 |
|
4069 b(\031)2452 4832 y Fo(\001)2490 4823 y FG(t)2518 4835 |
|
4070 y Fq(1)2555 4823 y Fr(\)\))h FG(c)p FI(.)79 b FD(u)-51 |
|
4071 b(t)p 0 TeXcolorgray 0 TeXcolorgray eop end |
|
4072 %%Page: 15 15 |
|
4073 TeXDict begin 15 14 bop 0 TeXcolorgray 0 TeXcolorgray |
|
4074 0 71 2881 4 v 2814 17 a FF(15)p 0 TeXcolorgray 0 228 |
|
4075 a FI(If)22 b(we)f(set)g(in)h(Thm.)g(2)f FG(f)30 b FI(to)22 |
|
4076 b(the)f(identity-function)k(and)d(require)h(that)e FG(c)h |
|
4077 FI(has)f(\002nitely)h(supported)h(type,)0 324 y(we)c(can)g(dischar)o |
|
4078 (ge)h(condition)h FE(\(i\))e FI(in)g(and)h(obtain)g(the)g(structural)f |
|
4079 (induction)i(principle)g(stated)d(in)i(\(21\).)0 419 |
|
4080 y(The)f(adv)n(antage)i(of)e(\(21\))h(is)e(that)h(Isabelle')l(s)g |
|
4081 (axiomatic)h(type)f(classes)f(can)h(be)g(used)g(to)g(ensure)h(that)e |
|
4082 (the)0 515 y(induction)h(conte)o(xt)f(is)f(a)g(\002nitely)g(supported)i |
|
4083 (type,)f(while)f(the)g(induction)i(principle)g(pro)o(v)o(ed)f(in)g |
|
4084 (Thm.)f(2)0 610 y(requires)23 b(manual)g(reasoning)g(to)f(ensure)h(the) |
|
4085 f(\002nite)g(support)i(property)-5 b(.)23 b(Ho)n(we)n(v)o(er)m(,)g(we)e |
|
4086 (will)h(need)g(the)0 706 y(more)c(general)h(induction)g(principle)g(in) |
|
4087 f(the)g(ne)o(xt)g(section)g(where)g(we)f(deri)n(v)o(e)h(a)g(recursion)h |
|
4088 (combinator)0 801 y(for)i Fs(lam)229 809 y Fp(\013)277 |
|
4089 801 y FI(.)0 1082 y FJ(5)28 b(A)20 b(Recursion)f(Combinator)0 |
|
4090 1271 y FI(Before)24 b(we)f(can)g(formalise)h(Barendre)o(gt')l(s)g |
|
4091 (proof)g(of)g(the)f(substitution)i(lemma,)e(we)g(need)h(to)f(be)g(able) |
|
4092 0 1366 y(to)18 b(de\002ne)h(the)g(function)h(of)f(capture-a)n(v)n |
|
4093 (oiding)j(substitution.)d(This)f(can)h(be)g(done)g(by)g(\002rst)f |
|
4094 (considering)0 1462 y(an)h(appropriately)i(de\002ned)e(relation)g(and)h |
|
4095 (then)f(sho)n(wing)g(that)g(this)f(relation)i(beha)n(v)o(es)f(lik)o(e)g |
|
4096 (a)f(function.)0 1557 y(This)k(has)h(been)g(done)g(in)g(Urban)g(and)g |
|
4097 (T)-6 b(asson)23 b([36].)g(Ho)n(we)n(v)o(er)m(,)g(this)f(w)o(ay)h(is)e |
|
4098 (rather)j(inele)o(gant.)e(More)0 1653 y(ele)o(gant)e(is)f(a)h |
|
4099 (de\002nition)h(by)g(structural)f(recursion.)125 1748 |
|
4100 y(It)32 b(turns)h(out)g(that)g(de\002ning)h(functions)g(by)f(recursion) |
|
4101 h(o)o(v)o(er)f(the)g(structure)g(of)g(alpha-equated)0 |
|
4102 1844 y(lambda-terms)18 b(is)e(rather)h(subtle.)g(Let)g(us)f(assume)h |
|
4103 (we)f(w)o(ant)h(to)g(de\002ne)g(capture-a)n(v)n(oiding)k(substitution)0 |
|
4104 1939 y(by)g(the)f(follo)n(wing)h(three)g(clauses)p 0 |
|
4105 TeXcolorgray 0 TeXcolorgray 469 2096 a Fs(Var)586 2104 |
|
4106 y Fp(\013)634 2096 y Fr(\()p FG(x)p Fr(\)[)p FG(y)i Fr(:=)e |
|
4107 FG(t)950 2064 y Fl(0)973 2096 y Fr(])j(=)g(\()p FI(if)d |
|
4108 FG(x)g Fr(=)g FG(y)j FI(then)e FG(t)1594 2064 y Fl(0)1638 |
|
4109 2096 y FI(else)f Fs(Var)1900 2104 y Fp(\013)1947 2096 |
|
4110 y Fr(\()p FG(x)p Fr(\)\))348 2215 y Fs(App)466 2236 y |
|
4111 Fp(\013)513 2215 y Fr(\()p FG(t)571 2227 y Fq(1)608 2215 |
|
4112 y FG(;)13 b(t)670 2227 y Fq(2)707 2215 y Fr(\)[)p FG(y)24 |
|
4113 b Fr(:=)d FG(t)950 2184 y Fl(0)973 2215 y Fr(])j(=)g |
|
4114 Fs(App)1219 2236 y Fp(\013)1267 2215 y Fr(\()p FG(t)1325 |
|
4115 2227 y Fq(1)1362 2215 y Fr([)p FG(y)g Fr(:=)d FG(t)1575 |
|
4116 2184 y Fl(0)1598 2215 y Fr(])p FG(;)14 b(t)1682 2227 |
|
4117 y Fq(2)1719 2215 y Fr([)p FG(y)24 b Fr(:=)d FG(t)1932 |
|
4118 2184 y Fl(0)1955 2215 y Fr(]\))407 2334 y Fs(Lam)524 |
|
4119 2342 y Fp(\013)572 2334 y Fr(\()p FG(x;)12 b(t)p Fr(\)[)p |
|
4120 FG(y)24 b Fr(:=)d FG(t)950 2303 y Fl(0)973 2334 y Fr(])j(=)g |
|
4121 Fs(Lam)1219 2342 y Fp(\013)1267 2334 y Fr(\()p FG(x;)12 |
|
4122 b(t)p Fr([)p FG(y)24 b Fr(:=)d FG(t)1615 2303 y Fl(0)1639 |
|
4123 2334 y Fr(]\))208 b FI(pro)o(vided)22 b FG(x)f Fr(#)h(\()p |
|
4124 FG(y)s(;)12 b(t)2480 2303 y Fl(0)2503 2334 y Fr(\))0 |
|
4125 2490 y FI(where)18 b(the)f(side-condition)j(in)d(the)h(lambda-case)g |
|
4126 (amounts)h(to)e(the)h(usual)g(condition)h(about)f FG(x)j |
|
4127 FD(6)p Fr(=)g FG(y)f FI(and)0 2585 y FG(x)k FI(not)i(being)g(a)f(free)g |
|
4128 (atom)h(in)f FG(t)898 2554 y Fl(0)921 2585 y FI(.)f(Then)i(de\002ning)h |
|
4129 (it)d(o)o(v)o(er)i Fs(lam)1784 2593 y Fp(\013)1857 2585 |
|
4130 y FI(results)e(in)h(a)g(total)g(function,)i(while)0 2681 |
|
4131 y(de\002ning)e(it)e(o)o(v)o(er)g(\223ra)o(w\224)h(lambda-terms)g(of)g |
|
4132 (type)g Fs(lam)g FI(results)f(in)g(a)h(partial)f(function.)i |
|
4133 (Furthermore,)0 2776 y(attempting)30 b(to)f(de\002ne)g(the)h(functions) |
|
4134 g(that)f(return)h(the)f(set)f(of)h(bound)i(names)e(and)h(the)f |
|
4135 (immediate)0 2872 y(subterms)21 b(by)f(the)g(clauses)516 |
|
4136 3042 y FE(bn)q Fr(\()p Fs(Var)742 3050 y Fp(\013)790 |
|
4137 3042 y Fr(\()p FG(x)p Fr(\)\))34 b(=)h Fh(?)395 3197 |
|
4138 y FE(bn)q Fr(\()p Fs(App)622 3218 y Fp(\013)669 3197 |
|
4139 y Fr(\()p FG(t)727 3209 y Fq(1)764 3197 y FG(;)13 b(t)826 |
|
4140 3209 y Fq(2)863 3197 y Fr(\)\))35 b(=)g FE(bn)q Fr(\()p |
|
4141 FG(t)1190 3209 y Fq(1)1227 3197 y Fr(\))t FD([)t FI(bn)q |
|
4142 Fr(\()p FG(t)1453 3209 y Fq(2)1490 3197 y Fr(\))454 3351 |
|
4143 y FE(bn)q Fr(\()p Fs(Lam)680 3359 y Fp(\013)728 3351 |
|
4144 y Fr(\()p FG(x;)12 b(t)p Fr(\)\))35 b(=)g FE(bn)q Fr(\()p |
|
4145 FG(t)p Fr(\))t FD([)t(f)p FG(x)p FD(g)1712 3042 y FE(ist)o |
|
4146 Fr(\()p Fs(Var)1934 3050 y Fp(\013)1981 3042 y Fr(\()p |
|
4147 FG(x)p Fr(\)\))g(=)g Fh(?)1591 3197 y FE(ist)p Fr(\()p |
|
4148 Fs(App)1813 3218 y Fp(\013)1860 3197 y Fr(\()p FG(t)1918 |
|
4149 3209 y Fq(1)1955 3197 y FG(;)13 b(t)2017 3209 y Fq(2)2054 |
|
4150 3197 y Fr(\)\))36 b(=)f FD(f)p FG(t)2311 3209 y Fq(1)2348 |
|
4151 3197 y FG(;)13 b(t)2410 3209 y Fq(2)2447 3197 y FD(g)1650 |
|
4152 3351 y FE(ist)o Fr(\()p Fs(Lam)1872 3359 y Fp(\013)1919 |
|
4153 3351 y Fr(\()p FG(x;)g(t)p Fr(\)\))35 b(=)g FD(f)p FG(t)p |
|
4154 FD(g)2749 3220 y FI(\(22\))0 3535 y(results)15 b(in)h(an)g |
|
4155 (inconsistenc)o(y)h(when)f(de\002ned)g(o)o(v)o(er)h Fs(lam)1536 |
|
4156 3543 y Fp(\013)1584 3535 y FI(,)e(while)g(it)h(can)f(be)h(de\002ned)h |
|
4157 (without)f(problems)0 3631 y(o)o(v)o(er)27 b Fs(lam)q |
|
4158 FI(.)f(The)h(inconsistenc)o(y)g(with)g FE(bn)g FI(and)g |
|
4159 FE(ist)f FI(arises)g(by)h(the)g(principle)g(of)g(HOL)g(stating)f(that)h |
|
4160 (a)0 3726 y(function)22 b(has)d(to)i(return)g(the)f(\223same)f |
|
4161 (ouput\224)j(for)f(the)f(\223same)f(input\224.)i(Since)f(by)h(\(18\))g |
|
4162 (we)e(ha)n(v)o(e)822 3917 y Fs(Lam)939 3925 y Fp(\013)987 |
|
4163 3917 y Fr(\()p FG(x;)12 b Fs(Var)1212 3925 y Fp(\013)1259 |
|
4164 3917 y Fr(\()p FG(x)p Fr(\)\))21 b(=)g Fs(Lam)1612 3925 |
|
4165 y Fp(\013)1660 3917 y Fr(\()p FG(y)s(;)12 b Fs(Var)1882 |
|
4166 3925 y Fp(\013)1929 3917 y Fr(\()p FG(y)s Fr(\)\))0 4059 |
|
4167 y FI(for)k(all)f FG(x)f FI(and)i FG(y)s FI(,)e(we)h(can)h(assume)f |
|
4168 (that)g(this)g(equation)i(holds)f(for)g FG(x)21 b FD(6)p |
|
4169 Fr(=)g FG(y)s FI(.)14 b(Then)i FE(bn)q Fr(\()p Fs(Lam)2408 |
|
4170 4067 y Fp(\013)2456 4059 y Fr(\()p FG(x;)c Fs(Var)2681 |
|
4171 4067 y Fp(\013)2728 4059 y Fr(\()p FG(x)p Fr(\)\)\))0 |
|
4172 4154 y FI(must)20 b(be)f(equal)h(to)g FE(bn)q Fr(\()p |
|
4173 Fs(Lam)763 4162 y Fp(\013)810 4154 y Fr(\()p FG(y)s(;)13 |
|
4174 b Fs(Var)1033 4162 y Fp(\013)1080 4154 y Fr(\()p FG(y)s |
|
4175 Fr(\)\)\))p FI(,)18 b(which)i(implies)f(by)h(the)g(clauses)f(in)g |
|
4176 (\(22\))i(that)e FG(x)g FI(must)g(be)0 4250 y(equal)i(to)f |
|
4177 FG(y)i FI(gi)n(ving)f(a)f(contradiction)i(with)e(the)g(assumption)h |
|
4178 FG(x)g FD(6)p Fr(=)g FG(y)s FI(\227similar)e(with)h(the)g(function)i |
|
4179 FE(ist)o FI(.)125 4345 y(One)16 b(w)o(ay)g(around)i(the)e(problem)i |
|
4180 (with)e(the)g(inconsistencies)h(is)e(to)i(deri)n(v)o(e)f(a)g(recursion) |
|
4181 i(combinator)0 4441 y(for)27 b Fs(lam)236 4449 y Fp(\013)309 |
|
4182 4441 y FI(that)f(includes)h(certain)g(preconditions)h(for)f(binders)g |
|
4183 (ensuring)h(no)f(inconsistenc)o(y)g(can)f(be)0 4536 y(deri)n(v)o(ed.)f |
|
4184 (F)o(or)g(this)f(we)g(will)g(adapt)h(w)o(ork)g(by)g(Pitts)f([27])h(who) |
|
4185 g(introduced)i(such)d(preconditions.)j(W)-6 b(e)0 4632 |
|
4186 y(will)22 b(also)g(adapt)h(his)f(proof)i(establishing)g(the)e(e)o |
|
4187 (xistence)h(of)f(a)h(structural)g(recursion)g(combinator)i(for)0 |
|
4188 4727 y Fs(lam)118 4735 y Fp(\013)165 4727 y FI(.)20 b(The)g(main)h(dif) |
|
4189 n(ference)h(of)e(our)h(proof)h(is)e(that)g(we)g(gi)n(v)o(e)h(here)f(a)g |
|
4190 (direct)h(proof)h(for)f(the)f(e)o(xistence,)0 4823 y(because)31 |
|
4191 b(in)g(our)g(implementation)i(we)d(do)i(not)f(use)f(an)o(ywhere)i(the)f |
|
4192 (type)g Fs(lam)g FI(\(Pitts)f(uses)g Fs(lam)i FI(to)p |
|
4193 0 TeXcolorgray 0 TeXcolorgray eop end |
|
4194 %%Page: 16 16 |
|
4195 TeXDict begin 16 15 bop 0 TeXcolorgray 0 TeXcolorgray |
|
4196 0 71 2881 4 v 0 17 a FF(16)p 0 TeXcolorgray 0 228 a FI(deri)n(v)o(e)27 |
|
4197 b(a)e(structural)i(induction)g(principle\).)g(Another)g(dif)n(ference)g |
|
4198 (is)f(that)f(we)h(deri)n(v)o(e)g(the)g(recursion)0 324 |
|
4199 y(combinator)c(without)f(deri)n(ving)g(an)g(iteration)f(combinator)i |
|
4200 (\002rst.)1819 292 y Fv(6)125 419 y FI(While)i(in)g(\223e)n(v)o |
|
4201 (ery-day\224)i(formalisation,)f(Lem.)f(4)g(is)f(suf)n(\002cient)i(in)f |
|
4202 (nearly)g(all)g(situations)g(to)g(\002nd)0 515 y(out)19 |
|
4203 b(when)f(an)h(object)f(has)g(\002nite)g(support,)h(the)g(reasoning)g |
|
4204 (for)g(the)f(recursion)i(combinator)g(includes)f(in)0 |
|
4205 610 y(se)n(v)o(eral)24 b(places)h(proof)h(obligations)f(about)h |
|
4206 (ensuring)g(that)e(functions)i(ha)n(v)o(e)g(\002nite)e(support.)i(And)f |
|
4207 (for)0 706 y(functions)e(one)e(cannot)i(\002nd)e(out)h(whether)g(the)o |
|
4208 (y)g(ha)n(v)o(e)g(\002nite)f(support)i(by)f(just)f(looking)i(at)e |
|
4209 (their)g(type.)0 801 y(In)f(order)i(to)e(automate)g(such)h(proof)g |
|
4210 (obligations)g(we)f(use)g(the)g(auxiliary)h(notion)g(of)g |
|
4211 FE(supports)f FI([11].)p 0 TeXcolorgray 0 947 a FJ(De\002nition)g(5)p |
|
4212 0 TeXcolorgray 42 w FE(A)31 b(set)h FG(S)j FE(of)d(atoms)g |
|
4213 FI(supports)h FE(an)f FG(x)f FE(of)h(permutation)h(type)o(,)f(written)f |
|
4214 FG(S)17 b Fk(supp)l(orts)22 b FG(x)p FE(,)0 1043 y(pr)l(o)o(vided:)822 |
|
4215 1138 y FD(8)12 b FG(a)h(b:)21 b(a)g FD(62)h FG(S)34 b |
|
4216 FD(^)c FG(b)21 b FD(62)h FG(S)46 b FD(\))d Fr(\()p FG(a)12 |
|
4217 b(b)p Fr(\))1789 1147 y Fo(\001)1827 1138 y FG(x)21 b |
|
4218 Fr(=)g FG(x)g(:)0 1284 y FI(This)28 b(notion)h(allo)n(ws)e(us)h(to)g |
|
4219 (approximate)i(the)d(support)j(of)e(an)g FG(x)f FI(from)i(\223abo)o(v)o |
|
4220 (e\224,)f(because)g(we)f(can)0 1380 y(sho)n(w)20 b(that:)p |
|
4221 0 TeXcolorgray 0 1526 a FJ(Lemma)f(11)p 0 TeXcolorgray |
|
4222 43 w FE(If)g(a)i(set)e FG(S)24 b FE(is)19 b(\002nite)i(and)g |
|
4223 FG(S)c Fk(supp)l(orts)k FG(x)p FE(,)e(then)h Fk(supp)6 |
|
4224 b Fr(\()p FG(x)p Fr(\))21 b FD(\022)g FG(S)t FE(.)p 0 |
|
4225 TeXcolorgray 0 1709 a(Pr)l(oof)p 0 TeXcolorgray 40 w |
|
4226 FI(By)k(contradiction)k(we)d(assume)g Fk(supp)5 b Fr(\()p |
|
4227 FG(x)p Fr(\))32 b FD(6\022)g FG(S)t FI(,)26 b(then)h(there)g(e)o(xists) |
|
4228 e(an)h(atom)h FG(a)32 b FD(2)h Fk(supp)6 b Fr(\()p FG(x)p |
|
4229 Fr(\))0 1805 y FI(and)20 b FG(a)h FD(62)h FG(S)t FI(.)d(From)h |
|
4230 FG(S)d Fk(supp)l(orts)k FG(x)e FI(follo)n(ws)h(that)g(for)g(all)f |
|
4231 FG(b)i FD(62)h FG(S)h FI(we)d(ha)n(v)o(e)g Fr(\()p FG(a)12 |
|
4232 b(b)p Fr(\))2190 1814 y Fo(\001)2228 1805 y FG(x)21 b |
|
4233 Fr(=)g FG(x)p FI(.)e(Hence)h(the)f(set)0 1900 y FD(f)p |
|
4234 FG(b)j FD(j)f Fr(\()p FG(a)13 b(b)p Fr(\))282 1909 y |
|
4235 Fo(\001)320 1900 y FG(x)20 b FD(6)p Fr(=)i FG(x)p FD(g)16 |
|
4236 b FI(is)h(a)g(subset)g(of)h FG(S)t FI(,)f(and)h(since)f |
|
4237 FG(S)k FI(is)16 b(\002nite)h(by)h(assumption,)g(also)f |
|
4238 FD(f)p FG(b)22 b FD(j)g Fr(\()p FG(a)12 b(b)p Fr(\))2615 |
|
4239 1909 y Fo(\001)2653 1900 y FG(x)21 b FD(6)p Fr(=)g FG(x)p |
|
4240 FD(g)0 1996 y FI(must)f(be)g(\002nite.)g(But)g(this)f(implies)h(that)g |
|
4241 FG(a)h FD(62)h Fk(supp)5 b Fr(\()p FG(x)p Fr(\))19 b |
|
4242 FI(which)i(gi)n(v)o(es)f(the)g(contradiction.)81 b FD(u)-51 |
|
4243 b(t)0 2156 y FI(Lem.)23 b(11)g(gi)n(v)o(es)g(us)f(some)h(means)g(to)f |
|
4244 (decide)i(relati)n(v)o(ely)f(easily)f(whether)h(a)g(function)h(has)f |
|
4245 (\002nite)f(sup-)0 2252 y(port:)j(one)h(only)f(needs)g(to)g(\002nd)g(a) |
|
4246 g(\002nite)f(set)g(of)i(atoms)e(and)i(then)f(v)o(erify)h(whether)f |
|
4247 (this)g(set)f(supports)0 2347 y(the)c(function.)125 2443 |
|
4248 y(If)29 b(the)g(function)i(is)e(gi)n(v)o(en)h(as)e(a)h(lambda-term)i |
|
4249 (on)f(the)f(HOL-le)n(v)o(el,)h(then)f(for)h(\002nding)h(a)e(\002nite)0 |
|
4250 2538 y(set)d(we)h(use)g(the)g(heuristic)g(of)h(considering)h(the)e |
|
4251 (support)h(of)g(the)f(free)g(v)n(ariables)g(of)h(this)f(functions.)0 |
|
4252 2634 y(This)20 b(is)e(a)i(heuristic,)f(because)h(it)f(cannot)i(be)f |
|
4253 (established)g(as)f(a)g(lemma)h(inside)g(Isabelle/HOL\227it)f(is)g(a)0 |
|
4254 2729 y(property)k(about)g(HOL-functions.)f(Ne)n(v)o(ertheless)g(the)f |
|
4255 (heuristic)h(is)e(e)o(xtremely)j(helpful)f(for)g(deciding)0 |
|
4256 2825 y(whether)f(a)e(function)j(has)e(\002nite)g(support.)h(Consider)f |
|
4257 (the)g(follo)n(wing)i(tw)o(o)e(e)o(xamples:)p 0 TeXcolorgray |
|
4258 0 3006 a FE(Example)h(1)p 0 TeXcolorgray 42 w FI(Gi)n(v)o(en)30 |
|
4259 b(a)h(function)h Fk(fn)1068 2963 y Fn(def)1075 3006 y |
|
4260 Fr(=)47 b FG(f)1219 3018 y Fq(1)1270 3006 y FG(c)30 b |
|
4261 FI(where)h FG(f)1593 3018 y Fq(1)1661 3006 y FI(is)f(a)g(function)i(of) |
|
4262 f(type)g Fs(name)41 b FD(\))f FG(\013)p FI(.)31 b(W)-6 |
|
4263 b(e)0 3101 y(also)25 b(assume)g(that)g FG(f)589 3113 |
|
4264 y Fq(1)652 3101 y FI(has)g(\002nite)g(support.)h(The)g(question)g(is)f |
|
4265 (whether)h Fk(fn)k FI(has)c(\002nite)f(support?)h(The)0 |
|
4266 3197 y(free)31 b(v)n(ariables)g(of)g Fk(fn)37 b FI(are)30 |
|
4267 b FG(f)829 3209 y Fq(1)897 3197 y FI(and)i FG(c)p FI(.)e(According)j |
|
4268 (to)d(our)i(heuristic)f(we)g(ha)n(v)o(e)g(to)g(v)o(erify)h(whether)0 |
|
4269 3292 y Fk(supp)6 b Fr(\()p FG(f)223 3304 y Fq(1)260 3292 |
|
4270 y FG(;)13 b(c)p Fr(\))g Fk(supp)l(orts)21 b(fn)6 b FI(,)19 |
|
4271 b(which)i(amounts)g(to)f(sho)n(wing)h(that)518 3483 y |
|
4272 FD(8)p FG(a)13 b(b:)21 b(a)g FD(62)h Fk(supp)5 b Fr(\()p |
|
4273 FG(f)1047 3495 y Fq(1)1085 3483 y FG(;)13 b(c)p Fr(\))30 |
|
4274 b FD(^)g FG(b)21 b FD(62)h Fk(supp)5 b Fr(\()p FG(f)1642 |
|
4275 3495 y Fq(1)1680 3483 y FG(;)13 b(c)p Fr(\))34 b FD(\))43 |
|
4276 b Fr(\()p FG(a)12 b(b)p Fr(\))2077 3492 y Fo(\001)2115 |
|
4277 3483 y Fk(fn)27 b Fr(=)21 b Fk(fn)0 3618 y FI(T)-6 b(o)26 |
|
4278 b(do)h(so)f(we)g(can)h(assume)f(by)h(the)f(de\002nition)i(of)f |
|
4279 (freshness)f(\(Def.)g(3\))h(that)f FG(a)33 b Fr(#)g(\()p |
|
4280 FG(f)2451 3630 y Fq(1)2488 3618 y FG(;)13 b(c)p Fr(\))26 |
|
4281 b FI(and)h FG(b)33 b Fr(#)0 3714 y(\()p FG(f)67 3726 |
|
4282 y Fq(1)104 3714 y FG(;)14 b(c)p Fr(\))21 b FI(and)g(sho)n(w)h(that)f |
|
4283 Fr(\()p FG(a)12 b(b)p Fr(\))828 3723 y Fo(\001)866 3714 |
|
4284 y Fk(fn)30 b Fr(=)23 b Fk(fn)5 b FI(.)21 b(This)g(equation)i(follo)n |
|
4285 (ws)e(from)i(the)e(calculation)h(that)f(pushes)0 3809 |
|
4286 y(the)f(sw)o(apping)h Fr(\()p FG(a)13 b(b)p Fr(\))19 |
|
4287 b FI(inside)h Fk(fn)6 b FI(:)p 0 TeXcolorgray 0 TeXcolorgray |
|
4288 460 3989 a Fr(\()p FG(a)12 b(b)p Fr(\))606 3998 y Fo(\001)644 |
|
4289 3989 y Fk(fn)738 3946 y Fn(def)745 3989 y Fr(=)28 b(\()p |
|
4290 FG(a)13 b(b)p Fr(\))980 3998 y Fo(\001)1018 3989 y Fr(\()p |
|
4291 FG(f)1085 4001 y Fq(1)1135 3989 y FG(c)p Fr(\))1219 3941 |
|
4292 y Fv(by)g(\(3\))1256 3989 y Fr(=)58 b(\(\()p FG(a)12 |
|
4293 b(b)p Fr(\))1550 3998 y Fo(\001)1588 3989 y FG(f)1625 |
|
4294 4001 y Fq(1)1663 3989 y Fr(\))g(\(\()p FG(a)h(b)p Fr(\))1882 |
|
4295 3998 y Fo(\001)1920 3989 y FG(c)p Fr(\))2004 3939 y Fq(\()p |
|
4296 Fl(\003)p Fq(\))2017 3989 y Fr(=)34 b FG(f)2148 4001 |
|
4297 y Fq(1)2199 3989 y FG(c)2253 3946 y Fn(def)2260 3989 |
|
4298 y Fr(=)29 b Fk(fn)0 4133 y FI(where)23 b Fr(\()p FD(\003)p |
|
4299 Fr(\))f FI(follo)n(ws)h(because)g(we)g(kno)n(w)g(that)g |
|
4300 FG(a)i Fr(#)h FG(f)1508 4145 y Fq(1)1568 4133 y FI(and)d |
|
4301 FG(b)j Fr(#)g FG(f)1890 4145 y Fq(1)1928 4133 y FI(,)c(and)h(therefore) |
|
4302 h(by)f(Lem.)g(4)g(that)0 4228 y Fr(\()p FG(a)12 b(b)p |
|
4303 Fr(\))146 4237 y Fo(\001)184 4228 y FG(f)221 4240 y Fq(1)280 |
|
4304 4228 y Fr(=)21 b FG(f)398 4240 y Fq(1)455 4228 y FI(\(similarly)g(for)g |
|
4305 FG(c)p FI(\).)125 4324 y(W)-6 b(e)28 b(can)i(conclude)g(that)f |
|
4306 Fk(supp)6 b Fr(\()p Fk(fn)f Fr(\))29 b FI(is)f(a)h(subset)g(of)g |
|
4307 Fk(supp)6 b Fr(\()p FG(f)1860 4336 y Fq(1)1897 4324 y |
|
4308 FG(;)13 b(c)p Fr(\))p FI(,)29 b(because)g(the)h(latter)e(is)h(\002nite) |
|
4309 0 4419 y(\(since)21 b FG(f)246 4431 y Fq(1)303 4419 y |
|
4310 FI(has)g(\002nite)f(support)i(by)f(assumption)g(and)g |
|
4311 FG(c)g FI(is)f(\002nitely)g(supported)j(because)d(the)h(type)g |
|
4312 Fs(name)0 4515 y FI(is)e(a)h(\002nitely)g(supported)i(type\).)f(So)f |
|
4313 (by)g(Lem.)g(11,)g Fk(fn)26 b FI(must)20 b(ha)n(v)o(e)h(\002nite)f |
|
4314 (support.)80 b FD(u)-51 b(t)p 0 TeXcolorgray 0 4581 898 |
|
4315 4 v 62 4646 a Fu(6)125 4669 y FF(The)17 b(dif)n(ference)j(between)f(a)f |
|
4316 (recursion)h(and)e(an)h(iteration)i(combinator)f(is)f(that)g(in)g(the)g |
|
4317 (former)f(we)h(can)g(use)f(directly)0 4746 y(the)23 b(ar)o(guments)g |
|
4318 (of)f(the)g(term)h(constructor)m(,)h(while)f(in)g(the)f(latter)i(this)f |
|
4319 (can)g(only)f(be)h(achie)n(v)o(ed)i(via)d(an)h(encoding)h(of)e(the)0 |
|
4320 4823 y(recursion.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray |
|
4321 eop end |
|
4322 %%Page: 17 17 |
|
4323 TeXDict begin 17 16 bop 0 TeXcolorgray 0 TeXcolorgray |
|
4324 0 71 2881 4 v 2814 17 a FF(17)p 0 TeXcolorgray 0 TeXcolorgray |
|
4325 0 236 a FE(Example)21 b(2)p 0 TeXcolorgray 42 w FI(Let)f |
|
4326 Fk(fn)574 204 y Fl(0)619 193 y Fn(def)626 236 y Fr(=)29 |
|
4327 b FG(\025x:)12 b FI(if)22 b FG(x)f Fr(=)g FG(y)k FI(then)d |
|
4328 FG(t)1301 204 y Fl(0)1346 236 y FI(else)f Fr(\()p Fs(Var)1637 |
|
4329 244 y Fp(\013)1685 236 y Fr(\()p FG(x)p Fr(\)\))p FI(\227where)e |
|
4330 FG(x)g FI(and)i FG(y)i FI(are)d(of)g(type)h Fs(name)0 |
|
4331 332 y FI(and)f FG(t)161 300 y Fl(0)202 332 y FI(a)f Fs(lam)374 |
|
4332 340 y Fp(\013)421 332 y FI(-term.)g(The)g(free)h(v)n(ariables)f(of)g |
|
4333 (this)g(HOL-function)i(are)e FG(y)i FI(and)f FG(t)2236 |
|
4334 300 y Fl(0)2259 332 y FI(;)e(so)h(by)g(our)h(heuristic)0 |
|
4335 427 y(we)f(need)i(to)f(v)o(erify)g(whether)h Fk(supp)6 |
|
4336 b Fr(\()p FG(y)s(;)12 b(t)1129 395 y Fl(0)1152 427 y |
|
4337 Fr(\))h Fk(supp)l(orts)21 b(fn)1562 395 y Fl(0)1585 427 |
|
4338 y FI(.)e(This)h(holds)g(by)h(the)f(follo)n(wing)h(calculation:)p |
|
4339 0 TeXcolorgray 0 TeXcolorgray 442 582 a Fr(\()p FG(a)12 |
|
4340 b(b)p Fr(\))588 591 y Fo(\001)626 582 y Fr(\()p FG(\025x:)21 |
|
4341 b FI(if)h FG(x)f Fr(=)g FG(y)j FI(then)e FG(t)1250 550 |
|
4342 y Fl(0)1294 582 y FI(else)f Fs(Var)1556 590 y Fp(\013)1603 |
|
4343 582 y Fr(\()p FG(x)p Fr(\)\))268 658 y Fn(def)275 701 |
|
4344 y Fr(=)107 b FG(\025x:)21 b Fr(\()p FG(a)12 b(b)p Fr(\))719 |
|
4345 710 y Fo(\001)757 701 y Fr(\()p FI(if)22 b Fr(\()p FG(a)12 |
|
4346 b(b)p Fr(\))1003 669 y Fl(\000)p Fq(1)1092 710 y Fo(\001)1130 |
|
4347 701 y FG(x)21 b Fr(=)g FG(y)j FI(then)e FG(t)1523 669 |
|
4348 y Fl(0)1567 701 y FI(else)f Fs(Var)1829 709 y Fp(\013)1876 |
|
4349 701 y Fr(\(\()p FG(a)13 b(b)p Fr(\))2053 669 y Fl(\000)p |
|
4350 Fq(1)2142 710 y Fo(\001)2180 701 y FG(x)p Fr(\)\))275 |
|
4351 797 y(=)107 b FG(\025x:)13 b FI(if)21 b FG(x)g Fr(=)g(\()p |
|
4352 FG(a)12 b(b)p Fr(\))926 806 y Fo(\001)964 797 y FG(y)24 |
|
4353 b FI(then)e Fr(\()p FG(a)13 b(b)p Fr(\))1330 806 y Fo(\001)1368 |
|
4354 797 y FG(t)1396 765 y Fl(0)1440 797 y FI(then)22 b Fs(Var)1715 |
|
4355 805 y Fp(\013)1762 797 y Fr(\()p FG(x)p Fr(\))517 b FI(by)20 |
|
4356 b(\(10\))275 892 y Fr(=)107 b FG(\025x:)21 b FI(if)h |
|
4357 FG(x)e Fr(=)i FG(y)h FI(then)f FG(t)1035 860 y Fl(0)1080 |
|
4358 892 y FI(else)f Fs(Var)1342 900 y Fp(\013)1389 892 y |
|
4359 Fr(\()p FG(x)p Fr(\))1021 b(\()p FD(\003)p Fr(\))0 1053 |
|
4360 y FI(where)25 b Fr(\()p FD(\003)p Fr(\))g FI(follo)n(ws)g(by)g(Lem.)g |
|
4361 (4)g(and)h(the)e(assumption)i(that)f FG(a)30 b Fr(#)g(\()p |
|
4362 FG(y)s(;)12 b(t)2038 1022 y Fl(0)2061 1053 y Fr(\))25 |
|
4363 b FI(and)g FG(b)30 b Fr(#)g(\()p FG(y)s(;)12 b(t)2543 |
|
4364 1022 y Fl(0)2566 1053 y Fr(\))p FI(.)25 b(Since)f FG(y)0 |
|
4365 1149 y FI(and)d FG(t)162 1117 y Fl(0)204 1149 y FI(are)f(\002nitely)h |
|
4366 (supported)g(types,)f Fk(fn)1173 1117 y Fl(0)1216 1149 |
|
4367 y FI(must)g(then)h(ha)n(v)o(e)f(\002nite)g(support.)80 |
|
4368 b FD(u)-51 b(t)125 1322 y FI(As)19 b(the)i(e)o(xamples)g(indicate,)f |
|
4369 (by)h(using)g(the)g(heuristic,)g(one)g(can)f(infer)h(from)h(a)e |
|
4370 (decision)h(problem)0 1417 y(in)m(v)n(olving)31 b(permutations)f |
|
4371 (whether)f(or)g(not)g(a)f(function)i(has)e(\002nite)h(support.)g(The)g |
|
4372 (important)h(point)0 1513 y(here)17 b(is)f(that)h(the)g(decision)h |
|
4373 (procedure)h(in)m(v)n(olving)g(permutations)f(can)f(be)g(relati)n(v)o |
|
4374 (ely)h(easily)e(automated)0 1608 y(with)g(a)f(special)g(purpose)i |
|
4375 (tactic)f(analysing)g(permutations.)h(This)f(seems)f(much)i(more)f(con) |
|
4376 m(v)o(enient)h(than)0 1704 y(analysing)k(the)f(support)h(of)g(a)f |
|
4377 (function)h(directly)-5 b(.)125 1800 y(A)18 b(de\002nition)i(by)f |
|
4378 (structural)g(recursion)h(in)m(v)n(olv)o(es)g(in)f(case)f(of)h(the)g |
|
4379 (lambda-terms)h(three)f(functions)0 1896 y(\(one)h(for)g(each)f |
|
4380 (term-constructor\))j(that)d(specify)h(the)f(beha)n(viour)j(of)d(the)h |
|
4381 (function)g(to)g(be)f(de\002ned\227let)0 1991 y(us)28 |
|
4382 b(call)f(these)h(functions)h FG(f)787 2003 y Fq(1)825 |
|
4383 1991 y FI(,)e FG(f)909 2003 y Fq(2)947 1991 y FI(,)g |
|
4384 FG(f)1031 2003 y Fq(3)1096 1991 y FI(for)i(the)f(v)n(ariable-,)h |
|
4385 (application-)g(and)g(lambda-case,)f(respec-)0 2087 y(ti)n(v)o(ely)-5 |
|
4386 b(,)20 b(and)g(let)g(us)g(assume)g(the)o(y)g(ha)n(v)o(e)h(the)f(types:) |
|
4387 p 0 TeXcolorgray 0 TeXcolorgray 870 2231 a FG(f)907 2243 |
|
4388 y Fq(1)966 2231 y Fr(:)h Fs(name)h FD(\))g FG(\013)870 |
|
4389 2327 y(f)907 2339 y Fq(2)966 2327 y Fr(:)f Fs(lam)1126 |
|
4390 2335 y Fp(\013)1195 2327 y FD(\))g Fs(lam)1410 2335 y |
|
4391 Fp(\013)1479 2327 y FD(\))g FG(\013)h FD(\))f FG(\013)g |
|
4392 FD(\))h FG(\013)870 2422 y(f)907 2434 y Fq(3)966 2422 |
|
4393 y Fr(:)f Fs(name)h FD(\))g Fs(lam)1402 2430 y Fp(\013)1471 |
|
4394 2422 y FD(\))f FG(\013)h FD(\))f FG(\013)0 2565 y FI(with)f |
|
4395 FG(\013)h FI(being)g(a)f(permutation)i(type.)f(Then)g(the)g(\002rst)e |
|
4396 (condition)j(Pitts)e(introduced)i(in)f([27])g(states)f(that)0 |
|
4397 2661 y FG(f)37 2673 y Fq(3)75 2661 y FI(\227the)h(function)i(for)f(the) |
|
4398 g(lambda)g(case\227needs)f(to)h(satisfy)f(the)g FE(fr)m(eshness)g |
|
4399 (condition)i(for)e(binder)o(s)p FI(,)0 2756 y(or)f(short)h |
|
4400 FE(FCB)p FI(.)e(W)-6 b(e)20 b(formulate)i(this)d(condition)j(as:)1440 |
|
4401 2724 y Fv(7)p 0 TeXcolorgray 0 2930 a FJ(De\002nition)e(6)p |
|
4402 0 TeXcolorgray 42 w(\(Fr)o(eshness)e(Condition)i(f)n(or)h(Binders\))0 |
|
4403 3025 y FE(A)f(function)h FG(f)28 b FE(with)20 b(type)g |
|
4404 Fs(name)i FD(\))f Fs(lam)1112 3033 y Fp(\013)1181 3025 |
|
4405 y FD(\))g FG(\013)g FD(\))h FG(\013)e FE(satis\002es)f(the)h |
|
4406 FI(FCB)f FE(pr)l(o)o(vided:)666 3196 y FD(8)p FG(a)12 |
|
4407 b(t)h(r)n(:)21 b(a)g Fr(#)g FG(f)47 b FD(^)39 b Fk(\014nite)6 |
|
4408 b Fr(\()p Fk(supp)f Fr(\()p FG(r)r Fr(\)\))42 b FD(\))h |
|
4409 FG(a)21 b Fr(#)g FG(f)8 b(a)13 b(t)f(r)24 b(:)0 3369 |
|
4410 y FI(As)19 b(we)h(shall)g(see)g(later)g(on,)g(this)g(condition)i |
|
4411 (ensures)e(that)g(the)h(result)f(of)g FG(f)2067 3381 |
|
4412 y Fq(3)2125 3369 y FI(is)f(independent)k(of)d(which)0 |
|
4413 3465 y(particular)30 b(fresh)g(name)g(one)g(chooses)g(for)g(the)f |
|
4414 (binder)i FG(a)p FI(.)d(The)i(second)g(condition)h(states)d(that)h(the) |
|
4415 0 3560 y(functions)22 b FG(f)351 3572 y Fq(1)389 3560 |
|
4416 y FI(,)e FG(f)466 3572 y Fq(2)525 3560 y FI(and)i FG(f)697 |
|
4417 3572 y Fq(3)755 3560 y FI(all)f(must)g(ha)n(v)o(e)h(\002nite)f |
|
4418 (support.)h(This)f(condition)i(ensures)e(that)h(we)e(can)i(use)0 |
|
4419 3656 y(Prop.)e(1)h(when)f(choosing)i(a)d(fresh)i(name)f(for)h(the)f |
|
4420 FG(f)8 b FI(s.)125 3752 y(W)m(ith)22 b(these)f(tw)o(o)h(conditions)h |
|
4421 (we)f(can)g(deri)n(v)o(e)g(a)g(recursion)h(combinator)m(,)g(we)f(call)f |
|
4422 (it)h Fk(rfun)2663 3770 y Fp(f)2695 3778 y Fj(1)2727 |
|
4423 3770 y Fp(f)2759 3778 y Fj(2)2792 3770 y Fp(f)2824 3778 |
|
4424 y Fj(3)2861 3752 y FI(,)0 3847 y(with)e(the)g(follo)n(wing)i |
|
4425 (properties:)p 0 TeXcolorgray 0 4021 a FJ(Theor)o(em)d(3)p |
|
4426 0 TeXcolorgray 42 w(\(Recursion)i(Combinator\))42 b FE(If)21 |
|
4427 b FG(f)1380 4033 y Fq(1)1417 4021 y FE(,)g FG(f)1495 |
|
4428 4033 y Fq(2)1553 4021 y FE(and)h FG(f)1729 4033 y Fq(3)1787 |
|
4429 4021 y FE(have)g(\002nite)f(support)h(and)g FG(f)2573 |
|
4430 4033 y Fq(3)2631 4021 y FE(satis\002es)0 4117 y(the)e(FCB,)g(then)g |
|
4431 (ther)m(e)g(e)n(xists)f(a)h(r)m(ecur)o(sion)h(combinator)g |
|
4432 Fk(rfun)1739 4135 y Fp(f)1771 4143 y Fj(1)1804 4135 y |
|
4433 Fp(f)1836 4143 y Fj(2)1869 4135 y Fp(f)1901 4143 y Fj(3)1957 |
|
4434 4117 y FE(with)f(the)g(pr)l(operties:)p 0 TeXcolorgray |
|
4435 0 TeXcolorgray 362 4283 a Fk(rfun)508 4301 y Fp(f)540 |
|
4436 4309 y Fj(1)573 4301 y Fp(f)605 4309 y Fj(2)638 4301 |
|
4437 y Fp(f)670 4309 y Fj(3)720 4283 y Fr(\()p Fs(Var)867 |
|
4438 4291 y Fp(\013)915 4283 y Fr(\()p FG(a)p Fr(\)\))158 |
|
4439 b(=)35 b FG(f)1336 4295 y Fq(1)1386 4283 y FG(a)362 4379 |
|
4440 y Fk(rfun)508 4398 y Fp(f)540 4406 y Fj(1)573 4398 y |
|
4441 Fp(f)605 4406 y Fj(2)638 4398 y Fp(f)670 4406 y Fj(3)720 |
|
4442 4379 y Fr(\()p Fs(App)867 4400 y Fp(\013)915 4379 y Fr(\()p |
|
4443 FG(t)973 4391 y Fq(1)1009 4379 y FG(;)13 b(t)1071 4391 |
|
4444 y Fq(2)1108 4379 y Fr(\)\))36 b(=)f FG(f)1336 4391 y |
|
4445 Fq(2)1386 4379 y FG(t)1414 4391 y Fq(1)1464 4379 y FG(t)1492 |
|
4446 4391 y Fq(2)1542 4379 y Fr(\()p Fk(rfun)1718 4398 y Fp(f)1750 |
|
4447 4406 y Fj(1)1782 4398 y Fp(f)1814 4406 y Fj(2)1847 4398 |
|
4448 y Fp(f)1879 4406 y Fj(3)1929 4379 y FG(t)1957 4391 y |
|
4449 Fq(1)1994 4379 y Fr(\))13 b(\()p Fk(rfun)2212 4398 y |
|
4450 Fp(f)2244 4406 y Fj(1)2277 4398 y Fp(f)2309 4406 y Fj(2)2342 |
|
4451 4398 y Fp(f)2374 4406 y Fj(3)2424 4379 y FG(t)2452 4391 |
|
4452 y Fq(2)2489 4379 y Fr(\))362 4476 y Fk(rfun)508 4495 |
|
4453 y Fp(f)540 4503 y Fj(1)573 4495 y Fp(f)605 4503 y Fj(2)638 |
|
4454 4495 y Fp(f)670 4503 y Fj(3)720 4476 y Fr(\()p Fs(Lam)867 |
|
4455 4484 y Fp(\013)915 4476 y Fr(\()p FG(a;)f(t)p Fr(\)\))97 |
|
4456 b(=)35 b FG(f)1336 4488 y Fq(3)1386 4476 y FG(a)13 b(t)f |
|
4457 Fr(\()p Fk(rfun)1656 4495 y Fp(f)1688 4503 y Fj(1)1721 |
|
4458 4495 y Fp(f)1753 4503 y Fj(2)1786 4495 y Fp(f)1818 4503 |
|
4459 y Fj(3)1867 4476 y FG(t)p Fr(\))1700 4573 y FE(pr)l(o)o(vided)22 |
|
4460 b FG(a)f Fr(#)g(\()p FG(f)2210 4585 y Fq(1)2248 4573 |
|
4461 y FG(;)13 b(f)2319 4585 y Fq(2)2356 4573 y FG(;)h(f)2428 |
|
4462 4585 y Fq(3)2465 4573 y Fr(\))p 0 TeXcolorgray 0 4658 |
|
4463 898 4 v 62 4722 a Fu(7)125 4746 y FF(W)-5 b(e)22 b(use)g(a)h(dif)n |
|
4464 (ferent)j(v)o(ersion)d(of)g(the)g(FCB)g(than)h(actually)h(introduced)h |
|
4465 (by)c(Pitts.)h(W)-5 b(e)23 b(shall)g(sho)n(w)g(later)h(that)g(our)0 |
|
4466 4823 y(v)o(ersion)18 b(and)g(one)f(that)h(closely)h(resembles)f(his)f |
|
4467 (are)h(interderi)n(v)n(able.)p 0 TeXcolorgray 0 TeXcolorgray |
|
4468 0 TeXcolorgray eop end |
|
4469 %%Page: 18 18 |
|
4470 TeXDict begin 18 17 bop 0 TeXcolorgray 0 TeXcolorgray |
|
4471 0 71 2881 4 v 0 17 a FF(18)p 0 TeXcolorgray 0 228 a FI(T)-6 |
|
4472 b(o)15 b(gi)n(v)o(e)h(a)f(proof)i(of)e(this)g(theorem)i(we)e(start)g |
|
4473 (with)g(the)g(follo)n(wing)i(inducti)n(v)o(e)f(relation,)g(called)f |
|
4474 Fk(r)l(e)l(c)2690 243 y Fp(f)2722 251 y Fj(1)2755 243 |
|
4475 y Fp(f)2787 251 y Fj(2)2820 243 y Fp(f)2852 251 y Fj(3)0 |
|
4476 324 y FI(and)i(which)g(has)f(type)h Fr(\()p Fs(lam)760 |
|
4477 332 y Fp(\013)811 324 y FD(\002)t FG(\013)p Fr(\))c Fs(set)k |
|
4478 FI(where,)f(lik)o(e)h(abo)o(v)o(e,)g FG(\013)f FI(is)g(assumed)h(to)f |
|
4479 (be)h(a)f(permutation)i(type:)p 268 581 879 4 v 268 653 |
|
4480 a Fr(\()p Fs(Var)416 661 y Fp(\013)463 653 y Fr(\()p |
|
4481 FG(a)p Fr(\))p FG(;)13 b(f)635 665 y Fq(1)685 653 y FG(a)p |
|
4482 Fr(\))21 b FD(2)h Fk(r)l(e)l(c)949 668 y Fp(f)981 676 |
|
4483 y Fj(1)1014 668 y Fp(f)1046 676 y Fj(2)1078 668 y Fp(f)1110 |
|
4484 676 y Fj(3)1289 535 y Fr(\()p FG(t)1347 547 y Fq(1)1384 |
|
4485 535 y FG(;)13 b(r)1453 547 y Fq(1)1490 535 y Fr(\))21 |
|
4486 b FD(2)h Fk(r)l(e)l(c)1713 550 y Fp(f)1745 558 y Fj(1)1778 |
|
4487 550 y Fp(f)1810 558 y Fj(2)1842 550 y Fp(f)1874 558 y |
|
4488 Fj(3)1990 535 y Fr(\()p FG(t)2048 547 y Fq(2)2085 535 |
|
4489 y FG(;)13 b(r)2154 547 y Fq(2)2191 535 y Fr(\))21 b FD(2)h |
|
4490 Fk(r)l(e)l(c)2414 550 y Fp(f)2446 558 y Fj(1)2479 550 |
|
4491 y Fp(f)2511 558 y Fj(2)2543 550 y Fp(f)2575 558 y Fj(3)p |
|
4492 1289 581 1324 4 v 1314 653 a Fr(\()p Fs(App)1461 674 |
|
4493 y Fp(\013)1509 653 y Fr(\()p FG(t)1567 665 y Fq(1)1604 |
|
4494 653 y FG(;)13 b(t)1666 665 y Fq(2)1703 653 y Fr(\))p |
|
4495 FG(;)g(f)1804 665 y Fq(2)1854 653 y FG(t)1882 665 y Fq(1)1932 |
|
4496 653 y FG(t)1960 665 y Fq(2)2010 653 y FG(r)2045 665 y |
|
4497 Fq(1)2094 653 y FG(r)2129 665 y Fq(2)2166 653 y Fr(\))21 |
|
4498 b FD(2)h Fk(r)l(e)l(c)2389 668 y Fp(f)2421 676 y Fj(1)2454 |
|
4499 668 y Fp(f)2486 676 y Fj(2)2519 668 y Fp(f)2551 676 y |
|
4500 Fj(3)877 821 y FG(a)f Fr(#)g(\()p FG(f)1091 833 y Fq(1)1128 |
|
4501 821 y FG(;)13 b(f)1199 833 y Fq(2)1237 821 y FG(;)g(f)1308 |
|
4502 833 y Fq(3)1346 821 y Fr(\))78 b(\()p FG(t;)13 b(r)r |
|
4503 Fr(\))21 b FD(2)h Fk(r)l(e)l(c)1806 836 y Fp(f)1838 844 |
|
4504 y Fj(1)1871 836 y Fp(f)1903 844 y Fj(2)1935 836 y Fp(f)1967 |
|
4505 844 y Fj(3)p 877 867 1128 4 v 925 939 a Fr(\()p Fs(Lam)1073 |
|
4506 947 y Fp(\013)1120 939 y Fr(\()p FG(a;)13 b(t)p Fr(\))p |
|
4507 FG(;)f(f)1353 951 y Fq(3)1404 939 y FG(a)g(t)h(r)r Fr(\))21 |
|
4508 b FD(2)g Fk(r)l(e)l(c)1757 954 y Fp(f)1789 962 y Fj(1)1822 |
|
4509 954 y Fp(f)1854 962 y Fj(2)1887 954 y Fp(f)1919 962 y |
|
4510 Fj(3)2749 742 y FI(\(23\))125 1081 y(W)-6 b(e)26 b(shall)g(sho)n(w)h |
|
4511 (ne)o(xt)f(that)h(the)f(relation)h Fk(r)l(e)l(c)1413 |
|
4512 1096 y Fp(f)1445 1104 y Fj(1)1478 1096 y Fp(f)1510 1104 |
|
4513 y Fj(2)1543 1096 y Fp(f)1575 1104 y Fj(3)1638 1081 y |
|
4514 FI(de\002nes)g(a)f(function)i(in)e(the)h(sense)e(that)i(for)0 |
|
4515 1177 y(all)k(lambda-terms)h FG(t)f FI(there)h(e)o(xists)e(a)h(unique)i |
|
4516 FG(r)f FI(so)f(that)h Fr(\()p FG(t;)12 b(r)r Fr(\))42 |
|
4517 b FD(2)f Fk(r)l(e)l(c)2053 1192 y Fp(f)2085 1200 y Fj(1)2117 |
|
4518 1192 y Fp(f)2149 1200 y Fj(2)2182 1192 y Fp(f)2214 1200 |
|
4519 y Fj(3)2251 1177 y FI(.)31 b(From)h(this)e(we)h(can)0 |
|
4520 1272 y(again)19 b(use)g(standard)i(techniques)f(of)f(HOL)g(to)h(obtain) |
|
4521 g(a)f(function)h(from)h Fs(lam)2143 1280 y Fp(\013)2210 |
|
4522 1272 y FI(to)e FG(\013)g FI(\(see)g(for)h(e)o(xample)0 |
|
4523 1368 y(Slind)28 b([28]\).)h(W)-6 b(e)27 b(\002rst)g(sho)n(w)h(that)g |
|
4524 (in)g Fk(r)l(e)l(c)1205 1383 y Fp(f)1237 1391 y Fj(1)1270 |
|
4525 1383 y Fp(f)1302 1391 y Fj(2)1335 1383 y Fp(f)1367 1391 |
|
4526 y Fj(3)1431 1368 y FI(the)g(\223result\224)g FG(r)h FI(has)e(\002nite)h |
|
4527 (support)h(pro)o(vided)g(the)0 1463 y(functions)21 b |
|
4528 FG(f)350 1475 y Fq(1)388 1463 y FI(,)e FG(f)464 1475 |
|
4529 y Fq(2)521 1463 y FI(and)i FG(f)692 1475 y Fq(3)749 1463 |
|
4530 y FI(ha)n(v)o(e)g(\002nite)f(support.)p 0 TeXcolorgray |
|
4531 0 1609 a FJ(Lemma)f(12)p 0 TeXcolorgray 43 w(\(Finite)25 |
|
4532 b(Support\))g FE(If)g FG(f)1084 1621 y Fq(1)1122 1609 |
|
4533 y FE(,)g FG(f)1204 1621 y Fq(2)1266 1609 y FE(and)h FG(f)1446 |
|
4534 1621 y Fq(3)1509 1609 y FE(have)g(\002nite)g(support,)f(then)h |
|
4535 Fr(\()p FG(t;)13 b(r)r Fr(\))30 b FD(2)h Fk(r)l(e)l(c)2682 |
|
4536 1624 y Fp(f)2714 1632 y Fj(1)2747 1624 y Fp(f)2779 1632 |
|
4537 y Fj(2)2812 1624 y Fp(f)2844 1632 y Fj(3)0 1704 y FE(implies)20 |
|
4538 b(that)g FG(r)i FE(has)e(\002nite)g(support.)p 0 TeXcolorgray |
|
4539 0 1870 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(By)i(induction)j(o)o(v)o(er) |
|
4540 e(the)g(relation)h(de\002ned)f(in)g(\(23\).)h(In)f(the)g(v)n |
|
4541 (ariable-case)h(we)f(ha)n(v)o(e)g(to)g(sho)n(w)0 1965 |
|
4542 y(that)f FG(f)177 1977 y Fq(1)227 1965 y FG(a)f FI(has)h(\002nite)f |
|
4543 (support,)i(which)f(we)g(inferred)h(in)e(Example)i(1)f(using)g(our)h |
|
4544 (heuristic.)f(The)g(appli-)0 2061 y(cation)e(and)h(lambda-case)g(are)f |
|
4545 (by)h(similar)e(calculations.)80 b FD(u)-51 b(t)0 2206 |
|
4546 y FI(In)20 b(the)f(proof)h(of)g(Thm)g(3,)f(we)g(need)g(the)h(follo)n |
|
4547 (wing)g(lemma)g(establishing)g(that)f Fk(r)l(e)l(c)2303 |
|
4548 2221 y Fp(f)2335 2229 y Fj(1)2368 2221 y Fp(f)2400 2229 |
|
4549 y Fj(2)2432 2221 y Fp(f)2464 2229 y Fj(3)2520 2206 y |
|
4550 FI(is)g FE(equivari-)0 2302 y(ant)j FI(\(see)e(Pitts)f([26]\).)p |
|
4551 0 TeXcolorgray 0 2447 a FJ(Lemma)g(13)p 0 TeXcolorgray |
|
4552 43 w(\(Equi)o(v)o(ariance\))29 b FE(If)g Fr(\()p FG(t;)12 |
|
4553 b(r)r Fr(\))37 b FD(2)g Fk(r)l(e)l(c)1388 2462 y Fp(f)1420 |
|
4554 2470 y Fj(1)1453 2462 y Fp(f)1485 2470 y Fj(2)1518 2462 |
|
4555 y Fp(f)1550 2470 y Fj(3)1615 2447 y FE(holds)29 b(then)g(for)g(all)f |
|
4556 FG(\031)s FE(,)g(also)h Fr(\()p FG(\031)2542 2456 y Fo(\001)2579 |
|
4557 2447 y FG(t;)13 b(\031)2688 2456 y Fo(\001)2726 2447 |
|
4558 y FG(r)r Fr(\))37 b FD(2)0 2543 y FG(r)r(ec)106 2564 |
|
4559 y Fq(\()p Fp(\031)173 2573 y Fo(\001)211 2564 y Fp(f)243 |
|
4560 2572 y Fj(1)276 2564 y Fq(\)\()p Fp(\031)369 2573 y Fo(\001)407 |
|
4561 2564 y Fp(f)439 2572 y Fj(2)471 2564 y Fq(\)\()p Fp(\031)564 |
|
4562 2573 y Fo(\001)602 2564 y Fp(f)634 2572 y Fj(3)667 2564 |
|
4563 y Fq(\))717 2543 y FE(holds.)p 0 TeXcolorgray 0 2708 |
|
4564 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(By)17 b(induction)j(o)o(v)o(er)e |
|
4565 (the)g(rules)g(gi)n(v)o(en)h(in)f(\(23\).)h(All)e(cases)g(are)h |
|
4566 (routine)h(by)g(pushing)g(the)f(permu-)0 2804 y(tation)j |
|
4567 FG(\031)h FI(into)f FG(t)f FI(and)h FG(r)r FI(,)e(e)o(xcept)i(in)f(the) |
|
4568 h(lambda-case)g(where)f(we)g(ha)n(v)o(e)h(to)g(apply)g(Lem.)f(3)p |
|
4569 FE(\(iii\))h FI(in)f(order)0 2899 y(to)g(infer)h FG(\031)297 |
|
4570 2908 y Fo(\001)335 2899 y FG(a)g Fr(#)g(\()p FG(\031)559 |
|
4571 2908 y Fo(\001)597 2899 y FG(f)634 2911 y Fq(1)671 2899 |
|
4572 y FG(;)13 b(\031)752 2908 y Fo(\001)790 2899 y FG(f)827 |
|
4573 2911 y Fq(2)865 2899 y FG(;)g(\031)946 2908 y Fo(\001)983 |
|
4574 2899 y FG(f)1020 2911 y Fq(3)1058 2899 y Fr(\))20 b FI(from)h |
|
4575 FG(a)g Fr(#)g(\()p FG(f)1495 2911 y Fq(1)1532 2899 y |
|
4576 FG(;)13 b(f)1603 2911 y Fq(2)1641 2899 y FG(;)g(f)1712 |
|
4577 2911 y Fq(3)1750 2899 y Fr(\))p FI(.)78 b FD(u)-51 b(t)0 |
|
4578 3045 y FI(Ne)o(xt)20 b(we)g(can)g(sho)n(w)g(the)g(crucial)g(lemma)h |
|
4579 (about)g Fk(r)l(e)l(c)1476 3060 y Fp(f)1508 3068 y Fj(1)1541 |
|
4580 3060 y Fp(f)1573 3068 y Fj(2)1606 3060 y Fp(f)1638 3068 |
|
4581 y Fj(3)1694 3045 y FI(being)g(a)f(\223function\224.)p |
|
4582 0 TeXcolorgray 0 3191 a FJ(Lemma)f(14)p 0 TeXcolorgray |
|
4583 43 w(\(Existence)c(and)g(Uniqueness\))f FE(If)i FG(f)1430 |
|
4584 3203 y Fq(1)1467 3191 y FE(,)f FG(f)1539 3203 y Fq(2)1592 |
|
4585 3191 y FE(and)h FG(f)1762 3203 y Fq(3)1815 3191 y FE(have)g(\002nite)g |
|
4586 (support)g(and)g FG(f)2578 3203 y Fq(3)2631 3191 y FE(satis\002es)0 |
|
4587 3286 y(the)k(FCB,)g(then)g FD(9)p Fr(!)p FG(r)n(:)13 |
|
4588 b Fr(\()p FG(t;)f(r)r Fr(\))21 b FD(2)h Fk(r)l(e)l(c)942 |
|
4589 3301 y Fp(f)974 3309 y Fj(1)1007 3301 y Fp(f)1039 3309 |
|
4590 y Fj(2)1072 3301 y Fp(f)1104 3309 y Fj(3)1141 3286 y |
|
4591 FE(.)p 0 TeXcolorgray 0 3452 a(Pr)l(oof)p 0 TeXcolorgray |
|
4592 40 w FI(By)15 b(the)g(induction)i(principle)f(gi)n(v)o(en)h(in)e(Thm.)h |
|
4593 (2,)f(where)h(we)f(set)f(the)i(function)h FG(f)23 b FI(to)16 |
|
4594 b(the)f(constant)0 3547 y(function)22 b FG(\025)p 333 |
|
4595 3547 24 4 v 348 3547 V 44 w(:)p Fr(\()p FG(f)460 3559 |
|
4596 y Fq(1)497 3547 y FG(;)13 b(f)568 3559 y Fq(2)606 3547 |
|
4597 y FG(;)g(f)677 3559 y Fq(3)715 3547 y Fr(\))19 b FI(and)i(the)g |
|
4598 (induction)h(conte)o(xt)e FG(c)h FI(to)f Fs(unit)q FI(.)1895 |
|
4599 3515 y Fv(8)1946 3547 y FI(Condition)i FE(\(i\))e FI(of)h(Thm.)g(2)f |
|
4600 (holds)0 3643 y(because)i(by)g(assumption)g FG(f)788 |
|
4601 3655 y Fq(1)826 3643 y FI(,)e FG(f)903 3655 y Fq(2)962 |
|
4602 3643 y FI(and)i FG(f)1134 3655 y Fq(3)1193 3643 y FI(ha)n(v)o(e)g |
|
4603 (\002nite)f(support.)h(The)g(only)g(non-routine)j(case)20 |
|
4604 b(then)i(is)0 3738 y(the)j(lambda-case)g(with)g(sho)n(wing)g(that)g |
|
4605 FD(9)p Fr(!)p FG(r)n(:)13 b Fr(\()p Fs(Lam)1414 3746 |
|
4606 y Fp(\013)1461 3738 y Fr(\()p FG(a;)g(t)p Fr(\))p FG(;)g(r)r |
|
4607 Fr(\))29 b FD(2)h Fk(r)l(e)l(c)1934 3753 y Fp(f)1966 |
|
4608 3761 y Fj(1)1999 3753 y Fp(f)2031 3761 y Fj(2)2064 3753 |
|
4609 y Fp(f)2096 3761 y Fj(3)2157 3738 y FI(holds.)25 b(This)f(is)g(dif)n |
|
4610 (\002cult,)0 3834 y(because)g(for)g(lambdas)h(we)e(do)h(not)h(ha)n(v)o |
|
4611 (e)f(injecti)n(vity)h(\(see)e(\(18\)\).)i(The)f(proof)h(in)f(this)f |
|
4612 (case)h(proceeds)0 3929 y(as)19 b(follo)n(ws.)125 4025 |
|
4613 y(The)28 b(induction)i(principle)f(allo)n(ws)f(us)g(to)g(assume)g(that) |
|
4614 g FG(a)36 b Fr(#)g(\()p FG(f)1978 4037 y Fq(1)2015 4025 |
|
4615 y FG(;)13 b(f)2086 4037 y Fq(2)2124 4025 y FG(;)g(f)2195 |
|
4616 4037 y Fq(3)2232 4025 y Fr(\))p FI(,)28 b(therefore)h(the)f(\223e)o(x-) |
|
4617 0 4120 y(istential\224)f(part)g(of)h(the)f(lemma)h(is)e(immediate.)i |
|
4618 (In)g(the)f(\223uniqueness\224)h(part)g(we)f(ha)n(v)o(e)h(to)f(sho)n(w) |
|
4619 h(that)0 4216 y(if)h Fr(\()p Fs(Lam)225 4224 y Fp(\013)272 |
|
4620 4216 y Fr(\()p FG(a;)13 b(t)p Fr(\))p FG(;)f(f)505 4228 |
|
4621 y Fq(3)556 4216 y FG(a)g(t)h(r)r Fr(\))37 b FD(2)h Fk(r)l(e)l(c)942 |
|
4622 4231 y Fp(f)974 4239 y Fj(1)1007 4231 y Fp(f)1039 4239 |
|
4623 y Fj(2)1072 4231 y Fp(f)1104 4239 y Fj(3)1170 4216 y |
|
4624 FI(and)29 b(also)g Fr(\()p Fs(Lam)1616 4224 y Fp(\013)1663 |
|
4625 4216 y Fr(\()p FG(b;)13 b(t)1788 4184 y Fl(0)1811 4216 |
|
4626 y Fr(\))p FG(;)g(f)1912 4228 y Fq(3)1963 4216 y FG(b)f(t)2036 |
|
4627 4184 y Fl(0)2072 4216 y FG(r)2109 4184 y Fl(0)2132 4216 |
|
4628 y Fr(\))38 b FD(2)g Fk(r)l(e)l(c)2388 4231 y Fp(f)2420 |
|
4629 4239 y Fj(1)2453 4231 y Fp(f)2485 4239 y Fj(2)2518 4231 |
|
4630 y Fp(f)2550 4239 y Fj(3)2615 4216 y FI(with)29 b(the)0 |
|
4631 4311 y(equation)23 b Fs(Lam)411 4319 y Fp(\013)458 4311 |
|
4632 y Fr(\()p FG(a;)13 b(t)p Fr(\))24 b(=)h Fs(Lam)847 4319 |
|
4633 y Fp(\013)895 4311 y Fr(\()p FG(b;)13 b(t)1020 4279 y |
|
4634 Fl(0)1043 4311 y Fr(\))p FI(,)21 b(then)h FG(f)1308 4323 |
|
4635 y Fq(3)1358 4311 y FG(a)13 b(t)f(r)27 b Fr(=)d FG(f)1635 |
|
4636 4323 y Fq(3)1686 4311 y FG(b)12 b(t)1759 4279 y Fl(0)1795 |
|
4637 4311 y FG(r)1832 4279 y Fl(0)1877 4311 y FI(holds.)22 |
|
4638 b(By)g(rule)g(in)m(v)o(ersion)h(we)e(can)0 4406 y(assume)f(that)g |
|
4639 FG(b)i Fr(#)g(\()p FG(f)598 4418 y Fq(1)635 4406 y FG(;)13 |
|
4640 b(f)706 4418 y Fq(2)744 4406 y FG(;)g(f)815 4418 y Fq(3)852 |
|
4641 4406 y Fr(\))20 b FI(and)h(that)f(there)h(e)o(xists)e(an)h |
|
4642 FG(r)1681 4375 y Fl(0)1724 4406 y FI(such)h(that)f Fr(\()p |
|
4643 FG(t)2085 4375 y Fl(0)2108 4406 y FG(;)13 b(r)2179 4375 |
|
4644 y Fl(0)2202 4406 y Fr(\))22 b FD(2)g Fk(r)l(e)l(c)2426 |
|
4645 4421 y Fp(f)2458 4429 y Fj(1)2491 4421 y Fp(f)2523 4429 |
|
4646 y Fj(2)2555 4421 y Fp(f)2587 4429 y Fj(3)2624 4406 y |
|
4647 FI(;)e(further)0 4502 y(by)g(the)g(induction)h(we)e(kno)n(w)i(there)f |
|
4648 (is)f(a)g(unique)i FG(r)g FI(such)f(that)g Fr(\()p FG(t;)13 |
|
4649 b(r)r Fr(\))20 b FD(2)i Fk(r)l(e)l(c)2081 4517 y Fp(f)2113 |
|
4650 4525 y Fj(1)2146 4517 y Fp(f)2178 4525 y Fj(2)2211 4517 |
|
4651 y Fp(f)2243 4525 y Fj(3)2280 4502 y FI(.)d(No)n(w)g(we)h(sho)n(w)f(the) |
|
4652 0 4597 y(follo)n(wing)i(6)g(f)o(acts:)p 0 TeXcolorgray |
|
4653 0 4658 898 4 v 62 4722 a Fu(8)125 4746 y FF(F)o(or)e(this)g(induction)j |
|
4654 (we)d(cannot)i(use)e(the)h(more)g(con)m(v)o(enient)i(induction)g |
|
4655 (principle)g(sho)n(wn)d(in)h(\(21\),)f(because)i(func-)0 |
|
4656 4823 y(tions)d(do)f(not)g(ha)o(v)o(e)h(\002nitely)h(supported)f(type.)p |
|
4657 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end |
|
4658 %%Page: 19 19 |
|
4659 TeXDict begin 19 18 bop 0 TeXcolorgray 0 TeXcolorgray |
|
4660 0 71 2881 4 v 2814 17 a FF(19)p 0 TeXcolorgray 0 TeXcolorgray |
|
4661 59 228 a FI(\(i\))p 0 TeXcolorgray 39 w(From)33 b Fr(\()p |
|
4662 FG(t;)13 b(r)r Fr(\))44 b FD(2)h Fk(r)l(e)l(c)773 243 |
|
4663 y Fp(f)805 251 y Fj(1)838 243 y Fp(f)870 251 y Fj(2)902 |
|
4664 243 y Fp(f)934 251 y Fj(3)1004 228 y FI(and)33 b Fr(\()p |
|
4665 FG(t)1208 197 y Fl(0)1231 228 y FG(;)13 b(r)1302 197 |
|
4666 y Fl(0)1325 228 y Fr(\))45 b FD(2)f Fk(r)l(e)l(c)1595 |
|
4667 243 y Fp(f)1627 251 y Fj(1)1659 243 y Fp(f)1691 251 y |
|
4668 Fj(2)1724 243 y Fp(f)1756 251 y Fj(3)1826 228 y FI(we)32 |
|
4669 b(can)h(infer)h(by)f(Lem.)g(12)g(that)g FG(r)172 324 |
|
4670 y FI(and)25 b FG(r)347 292 y Fl(0)395 324 y FI(are)g(\002nitely)g |
|
4671 (supported.)i(Therefore)f(we)f(can)g(apply)h(Prop.)f(1)g(to)g(obtain)h |
|
4672 (a)f FG(c)g FI(with)f FG(c)31 b Fr(#)172 419 y(\()p FG(f)239 |
|
4673 431 y Fq(1)276 419 y FG(;)13 b(f)347 431 y Fq(2)385 419 |
|
4674 y FG(;)g(f)456 431 y Fq(3)493 419 y FG(;)h(t;)e(t)617 |
|
4675 388 y Fl(0)640 419 y FG(;)i(r)n(;)e(r)778 388 y Fl(0)801 |
|
4676 419 y FG(;)h(a;)g(b)p Fr(\))p FI(\227all)20 b(v)n(ariables)g(in)g(the)g |
|
4677 (tuple)h(ha)n(v)o(e)f(\002nite)g(support.)p 0 TeXcolorgray |
|
4678 37 515 a(\(ii\))p 0 TeXcolorgray 39 w(From)k(\(19\))i(we)d(ha)n(v)o(e)i |
|
4679 (that)f FG(a)29 b Fr(#)f Fs(Lam)1229 523 y Fp(\013)1276 |
|
4680 515 y Fr(\()p FG(a;)13 b(t)p Fr(\))23 b FI(and)i FG(b)k |
|
4681 Fr(#)f Fs(Lam)1872 523 y Fp(\013)1919 515 y Fr(\()p FG(b;)13 |
|
4682 b(t)2044 483 y Fl(0)2067 515 y Fr(\))p FI(.)24 b(W)m(ith)g(\(i\))g(we)g |
|
4683 (can)g(further)172 610 y(infer)30 b(that)g FG(c)39 b |
|
4684 Fr(#)g Fs(Lam)791 618 y Fp(\013)838 610 y Fr(\()p FG(a;)13 |
|
4685 b(t)p Fr(\))29 b FI(and)h FG(c)39 b Fr(#)g Fs(Lam)1466 |
|
4686 618 y Fp(\013)1513 610 y Fr(\()p FG(b;)13 b(t)1638 579 |
|
4687 y Fl(0)1661 610 y Fr(\))p FI(.)29 b(From)h(the)g(assumption)h |
|
4688 Fs(Lam)2573 618 y Fp(\013)2620 610 y Fr(\()p FG(a;)13 |
|
4689 b(t)p Fr(\))38 b(=)172 706 y Fs(Lam)289 714 y Fp(\013)337 |
|
4690 706 y Fr(\()p FG(b;)13 b(t)462 674 y Fl(0)485 706 y Fr(\))p |
|
4691 FI(,)28 b(we)h(can)g(then)h(use)e(Lem.)i(4)f(to)g(deri)n(v)o(e)h |
|
4692 Fr(\()p FG(a)12 b(c)p Fr(\))1841 715 y Fo(\001)1879 706 |
|
4693 y Fs(Lam)1997 714 y Fp(\013)2044 706 y Fr(\()p FG(a;)h(t)p |
|
4694 Fr(\))37 b(=)g(\()p FG(b)13 b(c)p Fr(\))2480 715 y Fo(\001)2518 |
|
4695 706 y Fs(Lam)2636 714 y Fp(\013)2683 706 y Fr(\()p FG(b;)g(t)2808 |
|
4696 674 y Fl(0)2831 706 y Fr(\))p FI(,)172 801 y(which)24 |
|
4697 b(implies)f(that)g Fs(Lam)902 809 y Fp(\013)949 801 y |
|
4698 Fr(\()p FG(c;)14 b Fr(\()p FG(a)e(c)p Fr(\))1193 810 |
|
4699 y Fo(\001)1231 801 y FG(t)p Fr(\))27 b(=)h Fs(Lam)1521 |
|
4700 809 y Fp(\013)1569 801 y Fr(\()p FG(c;)13 b Fr(\()p FG(a)f(c)p |
|
4701 Fr(\))1812 810 y Fo(\001)1850 801 y FG(t)1878 770 y Fl(0)1901 |
|
4702 801 y Fr(\))p FI(;)23 b(hence)h(by)g(\(18\))h(that)e |
|
4703 Fr(\()p FG(a)13 b(c)p Fr(\))2728 810 y Fo(\001)2766 801 |
|
4704 y FG(t)27 b Fr(=)172 897 y(\()p FG(b)12 b(c)p Fr(\))310 |
|
4705 906 y Fo(\001)349 897 y FG(t)377 865 y Fl(0)400 897 y |
|
4706 FI(.)p 0 TeXcolorgray 15 992 a(\(iii\))p 0 TeXcolorgray |
|
4707 39 w(From)22 b Fr(\()p FG(t;)13 b(r)r Fr(\))24 b FD(2)h |
|
4708 Fk(r)l(e)l(c)722 1007 y Fp(f)754 1015 y Fj(1)787 1007 |
|
4709 y Fp(f)819 1015 y Fj(2)852 1007 y Fp(f)884 1015 y Fj(3)921 |
|
4710 992 y FI(,)c Fr(\()p FG(t)1020 960 y Fl(0)1043 992 y |
|
4711 FG(;)13 b(r)1114 960 y Fl(0)1137 992 y Fr(\))25 b FD(2)g |
|
4712 Fk(r)l(e)l(c)1367 1007 y Fp(f)1399 1015 y Fj(1)1432 1007 |
|
4713 y Fp(f)1464 1015 y Fj(2)1497 1007 y Fp(f)1529 1015 y |
|
4714 Fj(3)1587 992 y FG(a)f Fr(#)h(\()p FG(f)1808 1004 y Fq(1)1846 |
|
4715 992 y FG(;)13 b(f)1917 1004 y Fq(2)1954 992 y FG(;)g(f)2025 |
|
4716 1004 y Fq(3)2063 992 y Fr(\))21 b FI(and)i FG(b)h Fr(#)h(\()p |
|
4717 FG(f)2463 1004 y Fq(1)2500 992 y FG(;)14 b(f)2572 1004 |
|
4718 y Fq(2)2609 992 y FG(;)f(f)2680 1004 y Fq(3)2718 992 |
|
4719 y Fr(\))p FI(,)21 b(we)172 1088 y(can)f(infer)g(by)g(Lem.)f(4)h(and)g |
|
4720 (13)g(that)g Fr(\(\()p FG(a)12 b(c)p Fr(\))1354 1097 |
|
4721 y Fo(\001)1393 1088 y FG(t;)g Fr(\()p FG(a)h(c)p Fr(\))1601 |
|
4722 1097 y Fo(\001)1639 1088 y FG(r)r Fr(\))21 b FD(2)h Fk(r)l(e)l(c)1899 |
|
4723 1103 y Fp(f)1931 1111 y Fj(1)1963 1103 y Fp(f)1995 1111 |
|
4724 y Fj(2)2028 1103 y Fp(f)2060 1111 y Fj(3)2116 1088 y |
|
4725 FI(and)f Fr(\(\()p FG(b)12 b(c)p Fr(\))2418 1097 y Fo(\001)2456 |
|
4726 1088 y FG(t)2484 1056 y Fl(0)2507 1088 y FG(;)i Fr(\()p |
|
4727 FG(b)e(c)p Fr(\))2680 1097 y Fo(\001)2718 1088 y FG(r)2755 |
|
4728 1056 y Fl(0)2778 1088 y Fr(\))22 b FD(2)172 1183 y Fk(r)l(e)l(c)271 |
|
4729 1198 y Fp(f)303 1206 y Fj(1)336 1198 y Fp(f)368 1206 |
|
4730 y Fj(2)401 1198 y Fp(f)433 1206 y Fj(3)469 1183 y FI(.)h(Since)h(by)g |
|
4731 (induction)h(hypothesis)f FD(9)p Fr(!)p FG(r)n(:)12 b |
|
4732 Fr(\()p FG(t;)h(r)r Fr(\))27 b FD(2)h Fk(r)l(e)l(c)1988 |
|
4733 1198 y Fp(f)2020 1206 y Fj(1)2053 1198 y Fp(f)2085 1206 |
|
4734 y Fj(2)2118 1198 y Fp(f)2150 1206 y Fj(3)2210 1183 y |
|
4735 FI(we)23 b(also)g(ha)n(v)o(e)h(the)f(f)o(act)172 1279 |
|
4736 y(that)d FD(9)p Fr(!)p FG(r)n(:)12 b Fr(\(\()p FG(a)h(c)p |
|
4737 Fr(\))617 1288 y Fo(\001)655 1279 y FG(t;)g(r)r Fr(\))21 |
|
4738 b FD(2)g Fk(r)l(e)l(c)977 1294 y Fp(f)1009 1302 y Fj(1)1041 |
|
4739 1294 y Fp(f)1073 1302 y Fj(2)1106 1294 y Fp(f)1138 1302 |
|
4740 y Fj(3)1175 1279 y FI(.)e(Thus)i(we)f(can)g(use)g(\(ii\))g(to)g(infer)g |
|
4741 (that)g Fr(\()p FG(a)13 b(c)p Fr(\))2408 1288 y Fo(\001)2446 |
|
4742 1279 y FG(r)23 b Fr(=)e(\()p FG(b)13 b(c)p Fr(\))2724 |
|
4743 1288 y Fo(\001)2762 1279 y FG(r)2799 1247 y Fl(0)2822 |
|
4744 1279 y FI(.)p 0 TeXcolorgray 21 1374 a(\(i)n(v\))p 0 |
|
4745 TeXcolorgray 40 w(Using)26 b(the)g(FCB)f(for)h FG(f)837 |
|
4746 1386 y Fq(3)900 1374 y FI(and)h(kno)n(wing)g(that)f FG(a)32 |
|
4747 b Fr(#)g FG(f)1689 1386 y Fq(3)1752 1374 y FI(and)27 |
|
4748 b FG(b)32 b Fr(#)g FG(f)2090 1386 y Fq(3)2153 1374 y |
|
4749 FI(as)25 b(well)h(as)f FG(r)i FI(and)g FG(r)2736 1342 |
|
4750 y Fl(0)2785 1374 y FI(are)172 1470 y(\002nitely)20 b(supported)i |
|
4751 (\(from)f(\(i\)\),)f(we)g(can)g(infer)h(that)f FG(a)h |
|
4752 Fr(#)g FG(f)1817 1482 y Fq(3)1867 1470 y FG(a)13 b(t)f(r)22 |
|
4753 b FI(and)f FG(b)g Fr(#)g FG(f)2328 1482 y Fq(3)2378 1470 |
|
4754 y FG(b)13 b(t)2452 1438 y Fl(0)2488 1470 y FG(r)2525 |
|
4755 1438 y Fl(0)2568 1470 y FI(hold.)p 0 TeXcolorgray 41 |
|
4756 1565 a(\(v\))p 0 TeXcolorgray 40 w(Since)19 b Fk(supp)6 |
|
4757 b Fr(\()p FG(f)589 1577 y Fq(3)626 1565 y FG(;)13 b(a;)g(t;)g(r)r |
|
4758 Fr(\))p Fk(supp)l(orts)8 b Fr(\()p FG(f)1212 1577 y Fq(3)1262 |
|
4759 1565 y FG(a)13 b(t)f(r)r Fr(\))19 b FI(and)i(since)e |
|
4760 FG(c)i Fr(#)h(\()p FG(f)1964 1577 y Fq(3)2001 1565 y |
|
4761 FG(;)13 b(a;)g(t;)g(r)r Fr(\))19 b FI(\(from)i(\(i\)\),)e(we)h(kno)n(w) |
|
4762 172 1661 y(by)g(Lem.)g(11)h(that)f FG(c)i Fr(#)f FG(f)868 |
|
4763 1673 y Fq(3)918 1661 y FG(a)13 b(t)f(r)22 b FI(holds.)e(Similarly)g(we) |
|
4764 g(can)g(infer)h(that)f FG(c)i Fr(#)f FG(f)2317 1673 y |
|
4765 Fq(3)2367 1661 y FG(b)13 b(t)2441 1629 y Fl(0)2477 1661 |
|
4766 y FG(r)2514 1629 y Fl(0)2556 1661 y FI(holds.)p 0 TeXcolorgray |
|
4767 19 1756 a(\(vi\))p 0 TeXcolorgray 40 w(Finally)-5 b(,)24 |
|
4768 b(in)h(order)g(to)g(sho)n(w)g(that)f FG(f)1164 1768 y |
|
4769 Fq(3)1214 1756 y FG(a)13 b(t)f(r)32 b Fr(=)d FG(f)1501 |
|
4770 1768 y Fq(3)1551 1756 y FG(b)13 b(t)1625 1724 y Fl(0)1661 |
|
4771 1756 y FG(r)1698 1724 y Fl(0)1745 1756 y FI(holds,)25 |
|
4772 b(it)f(suf)n(\002ces)g(by)h(Lem.)g(4)f(and)h(the)172 |
|
4773 1852 y(f)o(acts)19 b(deri)n(v)o(ed)i(in)f(\(i)n(v\))h(and)f(\(v\))h(to) |
|
4774 f(sho)n(w)g(that)g Fr(\()p FG(a)12 b(c)p Fr(\))1599 1861 |
|
4775 y Fo(\001)1637 1852 y Fr(\()p FG(f)1704 1864 y Fq(3)1754 |
|
4776 1852 y FG(a)h(t)f(r)r Fr(\))21 b(=)g(\()p FG(b)13 b(c)p |
|
4777 Fr(\))2156 1861 y Fo(\001)2194 1852 y Fr(\()p FG(f)2261 |
|
4778 1864 y Fq(3)2311 1852 y FG(b)g(t)2385 1820 y Fl(0)2421 |
|
4779 1852 y FG(r)2458 1820 y Fl(0)2481 1852 y Fr(\))19 b FI(holds.)i(This) |
|
4780 172 1947 y(in)e(turn)h(is)f(by)h(\(3\))g(equi)n(v)n(alent)g(to)f |
|
4781 FG(f)1139 1959 y Fq(3)1190 1947 y FG(c)13 b Fr(\(\()p |
|
4782 FG(a)f(c)p Fr(\))1412 1956 y Fo(\001)1450 1947 y FG(t)p |
|
4783 Fr(\))h(\(\()p FG(a)f(c)p Fr(\))1697 1956 y Fo(\001)1735 |
|
4784 1947 y FG(r)r Fr(\))21 b(=)g FG(f)1941 1959 y Fq(3)1992 |
|
4785 1947 y FG(c)13 b Fr(\(\()p FG(b)f(c)p Fr(\))2206 1956 |
|
4786 y Fo(\001)2244 1947 y FG(t)2272 1915 y Fl(0)2295 1947 |
|
4787 y Fr(\))h(\(\()p FG(b)g(c)p Fr(\))2507 1956 y Fo(\001)2545 |
|
4788 1947 y FG(r)2582 1915 y Fl(0)2605 1947 y Fr(\))p FI(.)18 |
|
4789 b(By)h(the)172 2042 y(f)o(acts)h(deri)n(v)o(ed)h(in)f(\(ii\))g(and)g |
|
4790 (\(iii\))h(we)e(ha)n(v)o(e)i(that)f(these)g(terms)g(are)g(indeed)h |
|
4791 (equal.)79 b FD(u)-51 b(t)0 2189 y FI(T)-6 b(o)18 b(pro)o(v)o(e)h(our)g |
|
4792 (theorem)h(about)f(structural)g(recursion)g(we)f(de\002ne)h |
|
4793 Fk(rfun)1981 2207 y Fp(f)2013 2215 y Fj(1)2045 2207 y |
|
4794 Fp(f)2077 2215 y Fj(2)2110 2207 y Fp(f)2142 2215 y Fj(3)2192 |
|
4795 2189 y FG(t)f FI(to)g(be)g(the)g(unique)i FG(r)g FI(so)0 |
|
4796 2284 y(that)g Fr(\()p FG(t;)12 b(r)r Fr(\))21 b FD(2)h |
|
4797 Fk(r)l(e)l(c)489 2299 y Fp(f)521 2307 y Fj(1)554 2299 |
|
4798 y Fp(f)586 2307 y Fj(2)619 2299 y Fp(f)651 2307 y Fj(3)688 |
|
4799 2284 y FI(.)d(This)g(is)g(a)h(standard)g(construction)i(in)d(HOL-based) |
|
4800 i(theorem)g(pro)o(v)o(ers;)f(it)f(in-)0 2380 y(v)n(olv)o(es)h(the)e |
|
4801 (HOL)-7 b(')l(s)18 b(de\002nite)h(description)h(operator)g(\(see)f |
|
4802 (Isabelle')l(s)f(tutorial)h([21,)g(Sec.)f(5.10.1]\).)i(The)0 |
|
4803 2475 y(characteristic)27 b(equations)h(for)g Fk(rfun)1041 |
|
4804 2494 y Fp(f)1073 2502 y Fj(1)1106 2494 y Fp(f)1138 2502 |
|
4805 y Fj(2)1170 2494 y Fp(f)1202 2502 y Fj(3)1266 2475 y |
|
4806 FI(are)f(then)h(determined)g(by)g(the)f(de\002nition)h(of)f |
|
4807 Fk(r)l(e)l(c)2682 2490 y Fp(f)2714 2498 y Fj(1)2747 2490 |
|
4808 y Fp(f)2779 2498 y Fj(2)2812 2490 y Fp(f)2844 2498 y |
|
4809 Fj(3)0 2571 y FI(gi)n(v)o(en)21 b(in)f(\(23\).)h(This)f(completes)g |
|
4810 (the)g(proof)i(of)e(Thm.)h(3.)125 2666 y(As)31 b(mentioned)i(earlier)m |
|
4811 (,)e(the)h(FCB)f(we)g(use)g(dif)n(fers)i(from)f(the)g(one)g(introduced) |
|
4812 i(by)e(Pitts.)f(He)0 2762 y(de\002nes)20 b(this)g(notion)h(as)f(follo)n |
|
4813 (ws:)940 2730 y Fv(9)p 0 TeXcolorgray 0 2908 a FJ(De\002nition)g(7)p |
|
4814 0 TeXcolorgray 42 w(\(FCB'\))c FE(A)g(function)i FG(f)24 |
|
4815 b FE(with)16 b(type)g Fs(name)22 b FD(\))f Fs(lam)1779 |
|
4816 2916 y Fp(\013)1848 2908 y FD(\))g FG(\013)g FD(\))g |
|
4817 FG(\013)c FE(satis\002es)e(the)h FI(FCB')g FE(pr)l(o-)0 |
|
4818 3003 y(vided:)600 3099 y FD(9)p FG(a:)21 b(a)g Fr(#)g |
|
4819 FG(f)47 b FD(^)39 b Fr(\()p FD(8)p FG(t)12 b(r)n(:)21 |
|
4820 b Fk(\014nite)6 b Fr(\()p Fk(supp)f Fr(\()p FG(r)r Fr(\)\))43 |
|
4821 b FD(\))f FG(a)21 b Fr(#)g FG(f)8 b(a)13 b(t)g(r)r Fr(\))21 |
|
4822 b FG(:)0 3245 y FI(It)g(can)f(be)h(sho)n(wn)g(that)g(in)g(all)f(cases)g |
|
4823 (where)h(the)g(recursion)g(combinator)i(is)d(applied)i(both)f(v)o |
|
4824 (ersions)g(of)0 3341 y(the)f(FCB)f(are)h(interderi)n(v)n(able.)p |
|
4825 0 TeXcolorgray 0 3487 a FJ(Lemma)f(15)p 0 TeXcolorgray |
|
4826 43 w FE(Pr)l(o)o(vided)e FG(f)24 b FE(is)15 b(\002nitely)h(supported,)h |
|
4827 (then)f(the)g(FCB)g(holds)g(if)f(an)i(only)f(if)g(the)f(FCB')h(holds.)p |
|
4828 0 TeXcolorgray 0 3653 a(Pr)l(oof)p 0 TeXcolorgray 40 |
|
4829 w Fr(\()p FD(\))p Fr(\))22 b FI(Since)h FG(f)32 b FI(is)22 |
|
4830 b(\002nitely)i(supported,)g(we)f(can)h(choose)f(using)h(Prop.)g(1)f(an) |
|
4831 h(atom)f FG(a)g FI(such)h(that)0 3749 y FG(a)d Fr(#)h |
|
4832 FG(f)8 b FI(.)20 b(W)m(ith)h(this)f(we)g(can)g(instantiate)g(the)h(FCB) |
|
4833 e(and)i(obtain)g FD(8)p FG(t)12 b(r)n(:)21 b Fk(\014nite)7 |
|
4834 b Fr(\()p Fk(supp)e Fr(\()p FG(r)r Fr(\)\))34 b FD(\))g |
|
4835 FG(a)22 b Fr(#)g FG(f)8 b(a)13 b(t)f(r)0 3844 y FI(as)25 |
|
4836 b(we)h(ha)n(v)o(e)h(to)f(sho)n(w)-5 b(.)25 b Fr(\()p |
|
4837 FD(\()p Fr(\))g FI(W)-6 b(e)26 b(ha)n(v)o(e)h(that)f |
|
4838 FG(a)31 b Fr(#)h FG(f)i FI(and)27 b Fk(\014nite)6 b Fr(\()p |
|
4839 Fk(supp)g Fr(\()p FG(r)r Fr(\)\))24 b FI(and)j(need)f(to)g(sho)n(w)h |
|
4840 (that)0 3940 y FG(a)d Fr(#)h FG(f)8 b(a)13 b(t)g(r)r |
|
4841 FI(.)21 b(By)h(the)g(FCB')f(we)g(ha)n(v)o(e)i(an)f(atom)g |
|
4842 FG(a)1398 3908 y Fl(0)1443 3940 y FI(such)g(that)g FG(a)1790 |
|
4843 3908 y Fl(0)1838 3940 y Fr(#)j FG(f)30 b FI(and)22 b |
|
4844 FD(8)p FG(t)13 b(r)n(:)24 b Fk(\014nite)6 b Fr(\()p Fk(supp)g |
|
4845 Fr(\()p FG(r)r Fr(\)\))24 b FD(\))0 4035 y FG(a)41 4003 |
|
4846 y Fl(0)106 4035 y Fr(#)42 b FG(f)8 b(a)298 4003 y Fl(0)334 |
|
4847 4035 y FG(t)13 b(r)r FI(.)31 b(Since)g Fk(\014nite)6 |
|
4848 b Fr(\()p Fk(supp)g Fr(\(\()p FG(a)12 b(a)1185 4003 y |
|
4849 Fl(0)1208 4035 y Fr(\))1238 4003 y Fl(\000)p Fq(1)1327 |
|
4850 4044 y Fo(\001)1365 4035 y FG(r)r Fr(\)\))31 b FI(if)g(an)h(only)h(if)e |
|
4851 Fk(\014nite)6 b Fr(\()p Fk(supp)g Fr(\()p FG(r)r Fr(\)\))p |
|
4852 FI(,)30 b(we)h(can)h(infer)0 4131 y FG(a)41 4099 y Fl(0)92 |
|
4853 4131 y Fr(#)27 b FG(f)8 b(a)269 4099 y Fl(0)306 4131 |
|
4854 y Fr(\(\()p FG(a)k(a)460 4099 y Fl(0)483 4131 y Fr(\))513 |
|
4855 4099 y Fl(\000)p Fq(1)602 4140 y Fo(\001)640 4131 y FG(t)p |
|
4856 Fr(\))g(\(\()p FG(a)h(a)865 4099 y Fl(0)888 4131 y Fr(\))918 |
|
4857 4099 y Fl(\000)p Fq(1)1007 4140 y Fo(\001)1045 4131 y |
|
4858 FG(r)r Fr(\))p FI(.)22 b(By)i(Lemma)g(3)p FE(\(iii\))g |
|
4859 FI(we)f(can)h(apply)h(on)f(both)g(sides)f(of)h Fr(#)f |
|
4860 FI(the)0 4226 y(sw)o(apping)e Fr(\()p FG(a)13 b(a)446 |
|
4861 4194 y Fl(0)469 4226 y Fr(\))19 b FI(and)i(obtain)699 |
|
4862 4373 y FG(a)g Fr(#)g FG(f)8 b(a)13 b Fr(\(\()p FG(a)f(a)1099 |
|
4863 4337 y Fl(0)1122 4373 y Fr(\))1152 4382 y Fo(\001)1191 |
|
4864 4373 y Fr(\()p FG(a)g(a)1315 4337 y Fl(0)1338 4373 y |
|
4865 Fr(\))1368 4337 y Fl(\000)p Fq(1)1457 4382 y Fo(\001)1495 |
|
4866 4373 y FG(t)p Fr(\))g(\(\()p FG(a)h(a)1720 4337 y Fl(0)1743 |
|
4867 4373 y Fr(\))1773 4382 y Fo(\001)1811 4373 y Fr(\()p |
|
4868 FG(a)f(a)1935 4337 y Fl(0)1958 4373 y Fr(\))1988 4337 |
|
4869 y Fl(\000)p Fq(1)2077 4382 y Fo(\001)2115 4373 y FG(r)r |
|
4870 Fr(\))0 4520 y FI(which)20 b(by)h(Lem.)f(1)p FE(\(i\))h |
|
4871 FI(is)e(equi)n(v)n(alent)i(to)f FG(a)h Fr(#)h FG(f)8 |
|
4872 b(a)13 b(t)f(r)r FI(\227the)20 b(f)o(act)g(we)g(had)g(to)g(sho)n(w)-5 |
|
4873 b(.)79 b FD(u)-51 b(t)p 0 TeXcolorgray 0 4581 898 4 v |
|
4874 62 4646 a Fu(9)125 4669 y FF(His)17 b(de\002nition)i(of)f(the)g(FCB)f |
|
4875 (does)h(not)g(actually)i(include)f Fg(\014nite)5 b Fy(\()p |
|
4876 Fg(supp)g Fy(\()p FA(r)r Fy(\)\))p FF(,)18 b(because)h(he)f(considers)h |
|
4877 (only)f(\002nitely)0 4746 y(supported)h(objects,)h(and)e(also)h(does)f |
|
4878 (not)g(include)i(the)f(quanti\002cation)i(o)o(v)o(er)e |
|
4879 FA(t)f FF(as)g(he)g(deri)n(v)o(es)i(an)e(iteration,)i(rather)g(than)e |
|
4880 (a)0 4823 y(recursion)h(combinator)l(.)p 0 TeXcolorgray |
|
4881 0 TeXcolorgray 0 TeXcolorgray eop end |
|
4882 %%Page: 20 20 |
|
4883 TeXDict begin 20 19 bop 0 TeXcolorgray 0 TeXcolorgray |
|
4884 0 71 2881 4 v 0 17 a FF(20)p 0 TeXcolorgray 0 228 a FI(The)32 |
|
4885 b(reason)g(that)f(we)g(prefer)i(our)f(v)o(ersion)g(of)g(the)f(FCB)g(is) |
|
4886 f(that)i(when)g(establishing)g(a)f(uni)n(v)o(ersal)0 |
|
4887 324 y(quanti\002ed)24 b(formula,)g(Isabelle/HOL)f(will)f(just)h |
|
4888 (introduce)h(an)f(eigen-v)n(ariable)i(and)e(then)g(proceed)i(to)0 |
|
4889 419 y(pro)o(v)o(e)e(the)f(\223rest\224.)f(This)h(is)f(in)h(practice)g |
|
4890 (easier)f(than)h(generating)i(a)d(fresh)i(atom)f(and)g(then)h |
|
4891 (instantiate)0 515 y(the)d(e)o(xistential)g(quanti\002er)h(in)f(the)g |
|
4892 (FCB'.)0 807 y FJ(6)28 b(Examples)0 996 y FI(Finally)-5 |
|
4893 b(,)30 b(we)g(can)g(start)f(to)h(formalise)h(Barendre)o(gt')l(s)g |
|
4894 (informal)g(proof)h(of)e(the)g(substitution)h(lemma)0 |
|
4895 1092 y(\(Fig.)22 b(1\).)g(All)f(the)h(constructions)h(of)f(the)g(pre)n |
|
4896 (vious)h(3)f(sections)g(w)o(ould,)g(due)h(to)f(their)g(comple)o(xity)-5 |
|
4897 b(,)22 b(be)0 1187 y(of)k(only)h(academic)g(v)n(alue,)f |
|
4898 FE(if)37 b FI(we)26 b(can)g(not)h(automate)g(them)f(and)h(hide)g(the)f |
|
4899 (comple)o(xities)g(from)h(the)0 1283 y(user)l(.)19 b(Ho)n(we)n(v)o(er)m |
|
4900 (,)i(we)e(can!)i(W)-6 b(e)20 b(shall)f(illustrate)h(this)g(ne)o(xt.)125 |
|
4901 1379 y(The)j(type)h Fs(lam)546 1387 y Fp(\013)616 1379 |
|
4902 y FI(can)f(be)h(de\002ned)g(in)f(Isabelle/HOL)g(using)g(the)h(nominal)g |
|
4903 (datatype)g(package)g(by)0 1475 y(the)c(tw)o(o)g(declarations:)p |
|
4904 0 TeXcolorgray 0 TeXcolorgray 628 1623 a Fs(atom)p 789 |
|
4905 1623 24 4 v 29 w(decl)i(name)628 1718 y(nominal)p 906 |
|
4906 1718 V 30 w(datatype)h(lam)1383 1726 y Fp(\013)1456 1718 |
|
4907 y Fr(=)h Fs(Var)1658 1726 y Fp(\013)1753 1718 y Fr(")p |
|
4908 Fs(name)p Fr(")1475 1814 y FD(j)44 b Fs(App)1658 1835 |
|
4909 y Fp(\013)1753 1814 y Fr(")p Fs(lam)1909 1822 y Fp(\013)1973 |
|
4910 1814 y FD(\002)17 b Fs(lam)2168 1822 y Fp(\013)2215 1814 |
|
4911 y Fr(")1475 1909 y FD(j)44 b Fs(Lam)1658 1917 y Fp(\013)1753 |
|
4912 1909 y Fr(")1791 1898 y Fa(h)-10 b(h)1830 1909 y Fs(name)1986 |
|
4913 1898 y Fa(i)g(i)2027 1909 y Fs(lam)2144 1917 y Fp(\013)2192 |
|
4914 1909 y Fr(")0 2071 y FI(where)20 b(the)h(\002rst)e(declaration)i |
|
4915 (establishes)f(the)g(type)h Fs(name)f FI(with)h(the)f(properties)h |
|
4916 (described)g(in)f(Sec.)g(2;)0 2166 y(in)h(the)h(second)g(declaration) |
|
4917 811 2155 y Fa(h)-10 b(h)863 2166 y FG(:)13 b(:)h(:)966 |
|
4918 2155 y Fa(i)-10 b(i)1026 2166 y FI(indicates)21 b(that)h(a)f(name)h(is) |
|
4919 e(bound)j(in)f Fs(Lam)2206 2174 y Fp(\013)2254 2166 y |
|
4920 FI(.)e(W)m(ith)i(this)f(informa-)0 2262 y(tion)g(the)f(nominal)i |
|
4921 (datatype)f(package)h(performs)g(automatically)f(the)g(construction)h |
|
4922 (we)e(described)i(in)0 2357 y(Sec.)d(3)h(and)g(also)g(automatically)h |
|
4923 (deri)n(v)o(es)f(the)g(structural)g(induction)i(principles)e(from)h |
|
4924 (Sec.)e(4)h(and)g(the)0 2453 y(recursion)j(combinator)h(from)f(Sec.)e |
|
4925 (5)h FE(without)h FI(an)o(y)f(user)g(interference.)h(Furthermore,)h |
|
4926 (this)d(package)0 2548 y(deri)n(v)o(es)f(this)g(reasoning)i |
|
4927 (infrastructure)f(e)n(v)o(en)g(for)g(more)g(complicated)g(term-calculi) |
|
4928 g(that)f(ha)n(v)o(e)h(more)0 2644 y(than)g(one)f(binder)h(and)g |
|
4929 (binders)g(may)f(ha)n(v)o(e)h(dif)n(ferent)h(types.)125 |
|
4930 2740 y(After)j(the)g(declaration,)h(we)f(can)g(then)h(use)f(the)g |
|
4931 (recursion)h(combinator)h(to)f(de\002ne)f(the)g(capture-)0 |
|
4932 2836 y(a)n(v)n(oiding)e(substitution)d(function)i(by)f(stating)f(the)g |
|
4933 (follo)n(wing)h(characteristic)f(equations:)815 3005 |
|
4934 y Fs(Var)933 3013 y Fp(\013)980 3005 y Fr(\()p FG(x)p |
|
4935 Fr(\)[)p FG(y)k Fr(:=)d FG(t)1297 2973 y Fl(0)1320 3005 |
|
4936 y Fr(])48 b(=)f(\()p Fs(if)21 b FG(x)g Fr(=)g FG(y)j |
|
4937 Fs(then)e FG(t)2039 2973 y Fl(0)2084 3005 y Fs(else)g(Var)2380 |
|
4938 3013 y Fp(\013)2427 3005 y Fr(\()p FG(x)p Fr(\)\))695 |
|
4939 3101 y Fs(App)813 3121 y Fp(\013)860 3101 y Fr(\()p FG(t)918 |
|
4940 3113 y Fq(1)955 3101 y FG(;)13 b(t)1017 3113 y Fq(2)1054 |
|
4941 3101 y Fr(\)[)p FG(y)24 b Fr(:=)d FG(t)1297 3069 y Fl(0)1320 |
|
4942 3101 y Fr(])48 b(=)f Fs(App)1614 3121 y Fp(\013)1661 |
|
4943 3101 y Fr(\()p FG(t)1719 3113 y Fq(1)1756 3101 y Fr([)p |
|
4944 FG(y)24 b Fr(:=)d FG(t)1969 3069 y Fl(0)1992 3101 y Fr(])p |
|
4945 FG(;)14 b(t)2076 3113 y Fq(2)2113 3101 y Fr([)p FG(y)24 |
|
4946 b Fr(:=)d FG(t)2326 3069 y Fl(0)2349 3101 y Fr(]\))209 |
|
4947 3196 y FG(x)g Fr(#)g(\()p FG(y)s(;)13 b(t)492 3164 y |
|
4948 Fl(0)515 3196 y Fr(\))42 b(=)-13 b FD(\))43 b Fs(Lam)871 |
|
4949 3204 y Fp(\013)919 3196 y Fr(\()p FG(x;)12 b(t)p Fr(\)[)p |
|
4950 FG(y)24 b Fr(:=)d FG(t)1297 3164 y Fl(0)1320 3196 y Fr(])48 |
|
4951 b(=)f Fs(Lam)1614 3204 y Fp(\013)1661 3196 y Fr(\()p |
|
4952 FG(x;)12 b(t)p Fr([)p FG(y)24 b Fr(:=)e FG(t)2010 3164 |
|
4953 y Fl(0)2033 3196 y Fr(]\))2749 3100 y FI(\(24\))0 3375 |
|
4954 y(where)d(in)g(the)g(clause)g(for)h Fs(Lam)850 3383 y |
|
4955 Fp(\013)916 3375 y FI(the)f(precondition)j FG(x)f Fr(#)g(\()p |
|
4956 FG(y)s(;)12 b(t)1731 3344 y Fl(0)1754 3375 y Fr(\))19 |
|
4957 b FI(corresponds)i(to)e(the)g(usual)g(condition)0 3471 |
|
4958 y(that)30 b FG(x)39 b FD(6)p Fr(=)g FG(y)33 b FI(and)d |
|
4959 FG(x)g FI(is)f(not)i(free)f(in)g FG(t)1102 3439 y Fl(0)1125 |
|
4960 3471 y FI(.)g(Internally)h(the)f(nominal)h(datatype)g(package)h(e)o |
|
4961 (xtracts)d(the)0 3566 y(follo)n(wing)21 b(functions)h(for)e(capture-a)n |
|
4962 (v)n(oiding)k(substitution:)p 0 TeXcolorgray 0 TeXcolorgray |
|
4963 693 3754 a FG(s)729 3766 y Fq(1)779 3754 y FG(y)15 b(t)860 |
|
4964 3722 y Fl(0)931 3711 y Fn(def)938 3754 y Fr(=)54 b FG(\025x:)21 |
|
4965 b Fs(if)h FG(x)f Fr(=)g FG(y)j Fs(then)e FG(t)1697 3722 |
|
4966 y Fl(0)1741 3754 y Fs(else)g(Var)2037 3762 y Fp(\013)2084 |
|
4967 3754 y Fr(\()p FG(x)p Fr(\))693 3873 y FG(s)729 3885 |
|
4968 y Fq(2)779 3873 y FG(y)15 b(t)860 3842 y Fl(0)931 3831 |
|
4969 y Fn(def)938 3873 y Fr(=)54 b FG(\025t)1125 3885 y Fq(1)1175 |
|
4970 3873 y FG(t)1203 3885 y Fq(2)1252 3873 y FG(r)1287 3885 |
|
4971 y Fq(1)1337 3873 y FG(r)1372 3885 y Fq(2)1409 3873 y |
|
4972 FG(:)22 b Fs(App)1569 3894 y Fp(\013)1617 3873 y Fr(\()p |
|
4973 FG(r)1682 3885 y Fq(2)1718 3873 y FG(;)14 b(r)1788 3885 |
|
4974 y Fq(1)1824 3873 y Fr(\))693 3993 y FG(s)729 4005 y Fq(3)779 |
|
4975 3993 y FG(y)h(t)860 3961 y Fl(0)931 3950 y Fn(def)938 |
|
4976 3993 y Fr(=)54 b FG(\025x)12 b(t)h(r)n(:)21 b Fs(Lam)1387 |
|
4977 4001 y Fp(\013)1434 3993 y Fr(\()p FG(x;)12 b(r)r Fr(\))0 |
|
4978 4154 y FI(In)33 b(order)g(to)f(apply)i(Thm.)e(3)h(with)f(the)g |
|
4979 (instantiation)h Fk(rfun)1738 4173 y Fq(\()p Fp(s)1795 |
|
4980 4181 y Fj(1)1839 4173 y Fp(y)13 b(t)1911 4156 y Fa(0)1933 |
|
4981 4173 y Fq(\))e(\()p Fp(s)2027 4181 y Fj(2)2071 4173 y |
|
4982 Fp(y)j(t)2144 4156 y Fa(0)2166 4173 y Fq(\))d(\()p Fp(s)2260 |
|
4983 4181 y Fj(3)2304 4173 y Fp(y)j(t)2377 4156 y Fa(0)2399 |
|
4984 4173 y Fq(\))2429 4154 y FI(,)32 b(Isabelle)g(\002rst)0 |
|
4985 4250 y(needs)g(to)g(determine)g(whether)h(the)e(result)h(type)g(of)g |
|
4986 (the)g(function)h(is)e(a)g(permutation)j(type.)e(Since)0 |
|
4987 4345 y(substitution)f(returns)f(a)g Fs(lam)828 4353 y |
|
4988 Fp(\013)876 4345 y FI(-term,)g(it)f(can)h(use)g(Lem.)g(10)p |
|
4989 FE(\(i\))h FI(and)f(automatically)h(determine)g(this)0 |
|
4990 4441 y(f)o(act.)25 b(Ne)o(xt)g(Isabelle)f(asks)h(the)g(user)g(to)g(v)o |
|
4991 (erify)h(the)f(preconditions)i(of)e(Thm.)g(3)g(about)h(the)f(functions) |
|
4992 0 4536 y Fr(\()p FG(s)66 4548 y Fq(1)116 4536 y FG(y)15 |
|
4993 b(t)197 4504 y Fl(0)220 4536 y Fr(\))p FI(,)g Fr(\()p |
|
4994 FG(s)351 4548 y Fq(2)401 4536 y FG(y)g(t)482 4504 y Fl(0)505 |
|
4995 4536 y Fr(\))g FI(and)i Fr(\()p FG(s)746 4548 y Fq(3)795 |
|
4996 4536 y FG(y)f(t)877 4504 y Fl(0)900 4536 y Fr(\))f FI(ha)n(ving)i |
|
4997 (\002nite)f(support.)h(It)e(turns)i(out)f(that)f(all)h(of)g(them)g(are) |
|
4998 g(supported)0 4632 y(by)j(the)g(set)g Fk(supp)5 b Fr(\()p |
|
4999 FG(y)s(;)13 b(t)607 4600 y Fl(0)630 4632 y Fr(\))p FI(,)18 |
|
5000 b(which)h(is)g(\002nitely)g(supported)i(because)e(of)g(Lem.)g(5)g |
|
5001 (\(this)g(can)g(be)g(determined)0 4727 y(automatically)24 |
|
5002 b(by)f(Isabelle\).)g(T)-6 b(o)23 b(v)o(erify)h(whether)f |
|
5003 Fk(supp)6 b Fr(\()p FG(y)s(;)12 b(t)1745 4695 y Fl(0)1769 |
|
5004 4727 y Fr(\))g Fk(supp)l(orts)21 b Fr(\()p FG(s)2171 |
|
5005 4739 y Fq(1)2221 4727 y FG(y)15 b(t)2302 4695 y Fl(0)2325 |
|
5006 4727 y Fr(\))23 b FI(holds,)g(the)g(tactic)0 4823 y Fs(finite)p |
|
5007 239 4823 V 30 w(guess)c FI(does)g(automatically)h(the)e(calculations)h |
|
5008 (sho)n(wn)h(in)e(Example)i(2)f(and)g(similar)f(ones)h(for)p |
|
5009 0 TeXcolorgray 0 TeXcolorgray eop end |
|
5010 %%Page: 21 21 |
|
5011 TeXDict begin 21 20 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5012 0 71 2881 4 v 2814 17 a FF(21)p 0 TeXcolorgray 0 228 |
|
5013 a FI(the)26 b(cases)g Fr(\()p FG(s)381 240 y Fq(2)430 |
|
5014 228 y FG(y)15 b(t)511 197 y Fl(0)535 228 y Fr(\))25 b |
|
5015 FI(and)i Fr(\()p FG(s)796 240 y Fq(3)846 228 y FG(y)15 |
|
5016 b(t)927 197 y Fl(0)950 228 y Fr(\))p FI(.)25 b(Ne)o(xt)h(Isabelle)h |
|
5017 (asks)e(the)i(user)f(to)g(v)o(erify)h(the)f(FCB)f(for)i |
|
5018 Fr(\()p FG(s)2697 240 y Fq(3)2747 228 y FG(y)15 b(t)2828 |
|
5019 197 y Fl(0)2851 228 y Fr(\))0 324 y FI(which)20 b(amounts)h(to)g(sho)n |
|
5020 (wing)g(that)499 492 y FD(8)12 b FG(a)h(t)f(r)n(:)21 |
|
5021 b(a)g Fr(#)h(\()p FG(s)937 504 y Fq(3)986 492 y FG(y)16 |
|
5022 b(t)1068 456 y Fl(0)1091 492 y Fr(\))38 b FD(^)g Fk(\014nite)7 |
|
5023 b Fr(\()p Fk(supp)e Fr(\()p FG(r)r Fr(\)\))42 b FD(\))h |
|
5024 FG(a)21 b Fr(#)g Fs(Lam)2164 500 y Fp(\013)2211 492 y |
|
5025 Fr(\()p FG(a;)13 b(r)r Fr(\))0 661 y FI(holds.)21 b(This)f(can)h(be)g |
|
5026 (done)g(by)g(a)f(simple)h(application)h(of)f(the)f(property)j(gi)n(v)o |
|
5027 (en)e(in)g(\(19\).)g(Last,)f(Isabelle)0 756 y(asks)f(the)h(user)f(to)h |
|
5028 (v)o(erify)g(that)g(the)f(precondition)j(of)e(the)g(recursion)g |
|
5029 (combinator)i(in)d(the)h(lambda-case,)0 852 y(namely)29 |
|
5030 b(that)f FG(x)35 b Fr(#)h(\()p FG(s)651 864 y Fq(1)700 |
|
5031 852 y FG(y)16 b(t)782 820 y Fl(0)805 852 y FG(;)d(s)875 |
|
5032 864 y Fq(2)925 852 y FG(y)i(t)1006 820 y Fl(0)1029 852 |
|
5033 y FG(;)e(s)1099 864 y Fq(3)1149 852 y FG(y)i(t)1230 820 |
|
5034 y Fl(0)1253 852 y Fr(\))28 b FI(is)f(implied)i(by)f(the)g(precondition) |
|
5035 j FG(x)k Fr(#)h(\()p FG(y)s(;)12 b(t)2628 820 y Fl(0)2651 |
|
5036 852 y Fr(\))28 b FI(gi)n(v)o(en)0 947 y(in)21 b(\(24\).)i(Since,)e(as)f |
|
5037 (indicated)j(earlier)m(,)e(all)g(these)g(functions)h(are)g(supported)h |
|
5038 (by)f Fk(supp)5 b Fr(\()p FG(y)s(;)13 b(t)2542 916 y |
|
5039 Fl(0)2565 947 y Fr(\))p FI(,)21 b(Isabelle)0 1043 y(can)j(determine)g |
|
5040 (this)f(automatically)i(with)e(the)h(help)g(of)g(a)f(tactic.)g(This)g |
|
5041 (completes)h(the)g(de\002nition)g(of)0 1138 y(capture-a)n(v)n(oiding)g |
|
5042 (substitution.)d(The)f(Isabelle)g(code)h(for)f(this)g(is:)p |
|
5043 0 TeXcolorgray 0 TeXcolorgray 144 1274 a FB(consts)215 |
|
5044 1351 y Ft(subst)36 b(::)g("lam)672 1359 y FC(\013)753 |
|
5045 1351 y Fz(\))f Ft(name)h Fz(\))f Ft(lam)1246 1359 y FC(\013)1326 |
|
5046 1351 y Fz(\))g Ft(lam)1537 1359 y FC(\013)1582 1351 y |
|
5047 Ft(")71 b(\("_[_:=_]")38 b([100,100,100])h(100\))144 |
|
5048 1504 y FB(nominal)p 379 1504 20 4 v 25 w(primr)o(ec)215 |
|
5049 1581 y Ft("Var)355 1589 y FC(\013)400 1581 y Ft(\(x\)[y:=t'])f(=)e |
|
5050 (\(if)g(x=y)g(then)g(t')g(else)h(Var)1705 1589 y FC(\013)1750 |
|
5051 1581 y Ft(\(x\)\)")215 1658 y("App)355 1666 y FC(\013)400 |
|
5052 1658 y Ft(\(t)470 1667 y Fx(1)505 1658 y Ft(,t)575 1667 |
|
5053 y Fx(2)610 1658 y Ft(\)[y:=t'])h(=)d(App)1103 1666 y |
|
5054 FC(\013)1149 1658 y Ft(\(t)1219 1667 y Fx(1)1254 1658 |
|
5055 y Ft([y:=t'],t)1569 1667 y Fx(2)1606 1658 y Ft([y:=t']\)")215 |
|
5056 1735 y("x)12 b Fy(#)g Ft(\(y,t'\))37 b Fy(=)-12 b Fz(\))34 |
|
5057 b Ft(Lam)868 1743 y FC(\013)914 1735 y Ft(\(x,t\)[y:=t'])k(=)e(Lam)1548 |
|
5058 1743 y FC(\013)1593 1735 y Ft(\(x,t[y:=t']\)")144 1812 |
|
5059 y FB(by)f Ft(\(finite_guess+,\(rule)41 b(TrueI\)+,)d(simp)e(add:)h |
|
5060 (abs_fresh,)h(fresh_guess+\))0 1956 y FI(where)26 b(in)g(the)g(\002rst) |
|
5061 g(tw)o(o)g(lines)f(we)h(declare)g(the)g(type)h(of)f(the)g(substitution) |
|
5062 h(function)g(and)g(introduce)0 2052 y(nicer)20 b(syntax)g(for)g |
|
5063 (writing)g(this)f(function.)i(The)f(line)f(starting)h(with)f |
|
5064 FJ(by)g FI(contains)i(the)e(proof)i(for)f(sho)n(w-)0 |
|
5065 2147 y(ing)28 b(that)f(the)g(characteristic)h(functions)g(of)g |
|
5066 (substitution)g(are)f(\002nitely)h(supported,)h(that)e(the)g(FCB)f(is)0 |
|
5067 2243 y(satis\002ed)k(and)i(that)f(the)g(precondition)i |
|
5068 Fs(x)22 b Fr(#)f(\()p Fs(y)p FG(;)13 b Fs(t)1427 2211 |
|
5069 y Fl(0)1451 2243 y Fr(\))30 b FI(is)h(suf)n(\002cient)g(for)h |
|
5070 (instantiating)f(the)g(recursion)0 2338 y(combinator)l(.)125 |
|
5071 2434 y(Ha)n(ving)g(the)e(substitution)i(function)g(at)e(our)i |
|
5072 (disposal,)e(we)h(can)g(no)n(w)g(formalise)g(Barendre)o(gt')l(s)0 |
|
5073 2529 y(proof)21 b(of)f(the)f(substitution)i(lemma.)e(First)g(we)g(ha)n |
|
5074 (v)o(e)h(to)g(formalise)g(the)f(f)o(act)h(that)g FG(x)g |
|
5075 FD(62)i FG(F)11 b(V)16 b Fr(\()p FG(L)p Fr(\))k FI(implies)0 |
|
5076 2625 y FG(L)p Fr([)p FG(x)h Fr(:=)h FG(P)11 b Fr(])21 |
|
5077 b(=)g FG(L)f FI(whose)g(proof)i(is)d(omitted)i(by)g(Barendre)o(gt.)p |
|
5078 0 TeXcolorgray 0 2797 a FJ(Lemma)e(16)p 0 TeXcolorgray |
|
5079 43 w(\(F)n(or)o(get\))i FE(If)f FG(x)h Fr(#)g FG(L)f |
|
5080 FE(then)h FG(L)p Fr([)p FG(x)g Fr(:=)h FG(P)11 b Fr(])21 |
|
5081 b(=)g FG(P)11 b FE(.)p 0 TeXcolorgray 0 2993 a(Pr)l(oof)p |
|
5082 0 TeXcolorgray 40 w FI(The)25 b(proof)h(proceeds)g(by)f(induction)h(o)o |
|
5083 (v)o(er)g FG(L)e FI(using)i(\(21\))g(with)e FG(c)h FI(instantiated)g |
|
5084 (to)g Fr(\()p FG(x;)12 b(P)f Fr(\))p FI(.)24 b(In)0 3089 |
|
5085 y(the)f(v)n(ariable)h(case)f(we)g(ha)n(v)o(e)h(to)g(sho)n(w)f(that)g |
|
5086 Fs(Var)1368 3097 y Fp(\013)1415 3089 y Fr(\()p FG(y)s |
|
5087 Fr(\)[)p FG(x)k Fr(:=)g FG(P)11 b Fr(])27 b(=)g Fs(Var)2029 |
|
5088 3097 y Fp(\013)2076 3089 y Fr(\()p FG(y)s Fr(\))c FI(under)h(the)g |
|
5089 (assumption)0 3184 y(that)h FG(x)30 b Fr(#)h Fs(Var)429 |
|
5090 3192 y Fp(\013)477 3184 y Fr(\()p FG(y)s Fr(\))p FI(.)23 |
|
5091 b(This)i(assumption)i(is)d(equi)n(v)n(alent)i(to)g FG(x)k |
|
5092 Fr(#)g FG(y)s FI(,)24 b(which)i(is)e(in)h(turn)h(equi)n(v)n(alent)h(to) |
|
5093 0 3280 y FG(x)21 b FD(6)p Fr(=)g FG(y)s FI(,)16 b(allo)n(wing)h(us)g |
|
5094 (to)g(apply)h(\(24\))g(to)f(pro)o(v)o(e)h(this)e(case.)g(In)i(the)f |
|
5095 (lambda-case)h(we)e(ha)n(v)o(e)i(the)f(induction)0 3375 |
|
5096 y(hypothesis)26 b FD(8)p FG(x)12 b(P)r(:)33 b(x)e Fr(#)g |
|
5097 FG(L)788 3387 y Fq(1)857 3375 y FD(\))h FG(L)1018 3387 |
|
5098 y Fq(1)1055 3375 y Fr([)p FG(x)g Fr(:=)f FG(P)11 b Fr(])32 |
|
5099 b(=)f FG(L)1520 3387 y Fq(1)1583 3375 y FI(and)c(ha)n(v)o(e)f(to)g(sho) |
|
5100 n(w)g(that)f Fs(Lam)2432 3383 y Fp(\013)2479 3375 y Fr(\()p |
|
5101 FG(y)s(;)13 b(L)2636 3387 y Fq(1)2673 3375 y Fr(\)[)p |
|
5102 FG(x)32 b Fr(:=)0 3471 y FG(P)11 b Fr(])40 b(=)f Fs(Lam)338 |
|
5103 3479 y Fp(\013)385 3471 y Fr(\()p FG(y)s(;)13 b(L)542 |
|
5104 3483 y Fq(1)579 3471 y Fr(\))30 b FI(under)i(the)e(assumption)h(that)g |
|
5105 FG(x)39 b Fr(#)h Fs(Lam)1817 3479 y Fp(\013)1865 3471 |
|
5106 y Fr(\()p FG(y)s(;)12 b(L)2021 3483 y Fq(1)2059 3471 |
|
5107 y Fr(\))29 b FI(holds.)i(The)g(induction)h(in)0 3566 |
|
5108 y(allo)n(ws)23 b(us)g(further)h(to)g(assume)f(that)g |
|
5109 FG(y)30 b Fr(#)d(\()p FG(x;)12 b(P)f Fr(\))p FI(\227)p |
|
5110 Fr(\()p FG(x;)h(P)f Fr(\))23 b FI(is)f(the)i(induction)h(conte)o(xt)f |
|
5111 (and)f(the)h(point)0 3662 y(of)e(\(21\))h(is)e(that)h(we)g(can)g |
|
5112 (assume)f(the)h(binder)h(is)f(fresh)g(w)-5 b(.r)l(.t.)20 |
|
5113 b(this)i(conte)o(xt.)g(Therefore)h(we)f(can)g(mo)o(v)o(e)0 |
|
5114 3757 y(the)e(substitution)h(under)g(the)f(binder)m(,)h(namely)f |
|
5115 Fs(Lam)1426 3765 y Fp(\013)1473 3757 y Fr(\()p FG(y)s(;)13 |
|
5116 b(L)1630 3769 y Fq(1)1667 3757 y Fr(\)[)p FG(x)21 b Fr(:=)h |
|
5117 FG(P)11 b Fr(])21 b(=)g Fs(Lam)2187 3765 y Fp(\013)2234 |
|
5118 3757 y Fr(\()p FG(y)s(;)13 b(L)2391 3769 y Fq(1)2428 |
|
5119 3757 y Fr([)p FG(x)21 b Fr(:=)h FG(P)11 b Fr(]\))p FI(,)19 |
|
5120 b(and)0 3853 y(also)i(infer)g(by)h(\(19\))g(that)e FG(x)j |
|
5121 Fr(#)g FG(L)913 3865 y Fq(1)950 3853 y FI(.)e(This)f(allo)n(ws)h(us)g |
|
5122 (to)g(apply)g(the)g(induction)i(hypothesis)f(and)f(we)g(are)0 |
|
5123 3948 y(done.)g(The)f(application)h(case)f(is)f(tri)n(vial.)79 |
|
5124 b FD(u)-51 b(t)0 4120 y FI(Using)20 b(Isabelle')l(s)g(automatic)h |
|
5125 (proof-tools)h(one)e(can)h(formalise)f(this)g(proof)h(with:)p |
|
5126 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray |
|
5127 373 4267 a FB(lemma)37 b Ft(forget:)443 4344 y FB(assumes)f |
|
5128 Ft(a:)g("x)12 b Fy(#)g Ft(L")443 4421 y FB(sho)o(ws)35 |
|
5129 b Ft("L[x:=P])j(=)e(L")373 4497 y FB(using)f Ft(a)h FB(by)f |
|
5130 Ft(\(nominal_induct)40 b(L)35 b(avoiding:)j(x)e(P)f(rule:)i(lam)2181 |
|
5131 4505 y FC(\013)2226 4497 y Ft(.induct\))735 4574 y(\(auto)g(simp)f |
|
5132 (add:)h(abs_fresh)h(fresh_atm\))0 4727 y FI(where)19 |
|
5133 b Fs(abs)p 333 4727 24 4 v 28 w(fresh)h FI(corresponds)g(to)e(the)g |
|
5134 (property)i(gi)n(v)o(en)f(in)f(\(19\))i(and)e(the)h(lemma)f |
|
5135 Fs(fresh)p 2545 4727 V 30 w(atm)g FI(to)g(the)0 4823 |
|
5136 y(f)o(act)j(that)g(for)g(atoms)g FG(x)f FI(and)h FG(y)s |
|
5137 FI(,)f FG(x)i Fr(#)g FG(y)h FI(holds)e(if)g(and)g(only)h(if)f |
|
5138 FG(x)h FD(6)p Fr(=)g FG(y)s FI(.)e(The)h(method)h Fs(nominal)p |
|
5139 2621 4823 V 29 w(induct)p 0 TeXcolorgray 0 TeXcolorgray |
|
5140 eop end |
|
5141 %%Page: 22 22 |
|
5142 TeXDict begin 22 21 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5143 0 71 2881 4 v 0 17 a FF(22)p 0 TeXcolorgray 0 228 a FI(\(see)21 |
|
5144 b(W)-6 b(enzel)22 b([38]\))h(brings)g(the)f(induction)h(principle,)g |
|
5145 (called)e Fs(lam)1888 236 y Fp(\013)1935 228 y Fs(.induct)p |
|
5146 FI(,)i(automatically)g(to)e(the)0 324 y(form)k(needed)g(in)e |
|
5147 (\(21\)\227we)i(only)g(ha)n(v)o(e)f(to)g(state)f(o)o(v)o(er)h(which)g |
|
5148 (v)n(ariable)h(the)f(induction)h(is)e(done)i(and)0 419 |
|
5149 y(what)20 b(the)g(induction)i(conte)o(xt)f(is,)e(that)h(is)f(the)h(v)n |
|
5150 (ariables)h(to)f(a)n(v)n(oid.)125 515 y(Ne)o(xt)28 b(we)h(need)g(to)g |
|
5151 (sho)n(w)g(a)f(lemma)h(whose)g(need)g(is)g(not)g(immediately)h |
|
5152 (apparent)g(by)f(looking)0 611 y(at)23 b(Barendre)o(gt')l(s)h(informal) |
|
5153 g(proof.)h(Ho)n(we)n(v)o(er)m(,)f(in)f(the)g(lambda-case)i(where)e |
|
5154 (Barendre)o(gt)i(pulls)e(out)h(a)0 706 y(substitution)d(from)g(under)g |
|
5155 (the)f(binder)m(,)h(namely)g(in)f(the)g(step)315 876 |
|
5156 y FG(\025z)s(:)p Fr(\()p FG(M)524 888 y Fq(1)562 876 |
|
5157 y Fr([)p FG(y)k Fr(:=)d FG(L)p Fr(][)p FG(x)h Fr(:=)f |
|
5158 FG(N)8 b Fr([)p FG(y)25 b Fr(:=)c FG(L)p Fr(]]\))i FD(\021)e |
|
5159 Fr(\()p FG(\025z)s(:M)1701 888 y Fq(1)1738 876 y Fr(\)[)p |
|
5160 FG(y)j Fr(:=)d FG(L)p Fr(][)p FG(x)h Fr(:=)g FG(N)8 b |
|
5161 Fr([)p FG(y)24 b Fr(:=)e FG(L)p Fr(]])0 1045 y FI(we)j(need)h(to)f(kno) |
|
5162 n(w)h(that)g FG(z)h FI(is)e(not)h(free)f(in)g FG(N)8 |
|
5163 b Fr([)p FG(y)35 b Fr(:=)30 b FG(L)p Fr(])p FI(.)c(But)e(by)i(the)g(v)n |
|
5164 (ariable)g(con)m(v)o(ention)h(we)e(only)0 1141 y(kno)n(w)32 |
|
5165 b(that)f FG(z)i FI(is)d(not)i(free)f(in)g FG(N)8 b FI(and)32 |
|
5166 b FG(L)p FI(.)e(In)h(a)g(formalisation,)h(this)e(f)o(act)h(needs)g(to)g |
|
5167 (be)g(established)0 1236 y(e)o(xplicitly)-5 b(.)20 b(It)g(can)g(be)g |
|
5168 (done)h(in)f(Isabelle)g(with)p 0 TeXcolorgray 0 TeXcolorgray |
|
5169 0 TeXcolorgray 0 TeXcolorgray 337 1384 a FB(lemma)37 |
|
5170 b Ft(fresh_fact:)408 1461 y FB(\002xes)f Ft(z::"name")408 |
|
5171 1538 y FB(assumes)g Ft(a:)f("z)13 b Fy(#)e Ft(N")36 b("z)12 |
|
5172 b Fy(#)g Ft(L")408 1615 y FB(sho)o(ws)35 b Ft("z)13 b |
|
5173 Fy(#)e Ft(N[y:=L]")337 1692 y FB(using)36 b Ft(a)f FB(by)h |
|
5174 Ft(\(nominal_induct)j(N)d(avoiding:)i(z)d(y)h(L)g(rule:)g(lam)2216 |
|
5175 1700 y FC(\013)2261 1692 y Ft(.induct\))700 1768 y(\(auto)h(simp)f |
|
5176 (add:)g(abs_fresh)i(fresh_atm\))0 1922 y FI(where)19 |
|
5177 b FG(z)h FI(needs)f(to)f(be)g(gi)n(v)o(en)h(an)g(e)o(xplicit)f |
|
5178 (type-annotation)j(so)d(that)g(Isabelle)g(can)h(determine)g(its)e |
|
5179 (type.)0 2017 y(The)j(substitution)h(lemma)g(can)f(no)n(w)g(be)h |
|
5180 (formalised)g(with:)p 0 TeXcolorgray 0 TeXcolorgray 302 |
|
5181 2178 a FB(lemma)37 b Ft(substitution_lemma:)373 2255 |
|
5182 y FB(assumes)e Ft(a:)h("x)p Fz(6)p Fy(=)p Ft(y")g("x)13 |
|
5183 b Fy(#)e Ft(L")373 2332 y FB(sho)o(ws)35 b Ft("M[x:=N][y:=L])k(=)d |
|
5184 (M[y:=L][x:=N[y:=L]]")302 2409 y FB(using)g Ft(a)f FB(by)h |
|
5185 Ft(\(nominal_induct)j(M)d(avoiding:)i(x)d(y)h(N)f(L)h(rule:)h(lam)2252 |
|
5186 2417 y FC(\013)2297 2409 y Ft(.induct\))665 2485 y(\(auto)f(simp)h |
|
5187 (add:)f(fresh_fact)i(forget\))2749 2335 y FI(\(25\))0 |
|
5188 2620 y(A)20 b(formalised)h(proof)g(of)g(this)e(lemma)i(mentioning)h |
|
5189 (much)f(more)g(details)e(is)h(sho)n(wn)g(in)g(Fig.)g(3.)125 |
|
5190 2716 y(Other)34 b(proofs)i(we)e(formalised)h(in)g(a)f(similar)g(f)o |
|
5191 (ashion)i(are)e(the)g(Church-Rosser)i(proof)g(from)0 |
|
5192 2812 y(Barendre)o(gt)20 b([5,)f(pp.)g(60\22662])i(and)e([29],)h(the)f |
|
5193 (strong)h(normalisation)g(proof)h(gi)n(v)o(en)e(in)g(Girard)h |
|
5194 FE(et)e(al)h FI([12,)0 2907 y(pp.)g(42\22646],)i(the)e(strong)h |
|
5195 (normalisation)g(proof)h(for)e(cut-elimination)i(from)f(Urban)g([31],)g |
|
5196 (the)f(correct-)0 3003 y(ness)f(proof)i(of)f(the)g(type-inference)i |
|
5197 (algorithm)f(W)f(from)g(Lero)o(y)h([18,)g(pp.)f(26\22631])h(and)g(the)e |
|
5198 (logical)h(re-)0 3098 y(lation)h(proof)h(for)f(algorithmic)g(equality)g |
|
5199 (between)g(simply-typed)i(lambda-terms)e(gi)n(v)o(en)g(in)g(Crary)f |
|
5200 ([7,)0 3194 y(pp.)f(223\226244])j(and)d(between)g(LF-terms)g(gi)n(v)o |
|
5201 (en)g(by)g(Harper)h(and)f(Pfenning)h(in)f([15].)g(These)g(proofs)h(are) |
|
5202 0 3289 y(more)25 b(complicated)h(than)f(the)g(proofs)h(we)e(ha)n(v)o(e) |
|
5203 h(gi)n(v)o(en)h(abo)o(v)o(e)f(and)g(need)g(some)g(manual)g(reasoning.)0 |
|
5204 3385 y(All)20 b(proofs)h(are)f(included)h(in)f(the)g(distrib)n(ution)i |
|
5205 (of)f(the)f(nominal)h(datatype)g(package)g(a)n(v)n(ailable)g(from)p |
|
5206 0 TeXcolorgray 0 TeXcolorgray 774 3532 a Fs |
|
5207 (http://isabelle.in.tum.de/nomin)q(al/)0 3869 y FJ(7)28 |
|
5208 b(Related)20 b(W)-6 b(ork)0 4058 y FI(There)22 b(are)g(man)o(y)h |
|
5209 (approaches)g(to)f(formal)h(treatments)f(of)g(binders;)h(this)e |
|
5210 (section)h(describes)g(the)g(ones)0 4154 y(from)f(which)f(we)g(ha)n(v)o |
|
5211 (e)g(dra)o(wn)h(inspiration)g(and)f(also)g(w)o(ork)g(reported)i(in)e |
|
5212 (Ambler)g FE(et)g(al)g FI([1],)g(A)-7 b(ydemir)0 4249 |
|
5213 y FE(et)20 b(al)g FI([2])g(and)h(Homeier)g([16].)125 |
|
5214 4345 y(Our)i(w)o(ork)i(uses)e(man)o(y)h(ideas)g(from)g(the)g(nominal)h |
|
5215 (logic)f(w)o(ork)g(by)g(Pitts)f FE(et)g(al)h FI([26,)8 |
|
5216 b(11,)g(27])r(.)23 b(The)0 4441 y(main)17 b(dif)n(ference)h(is)e(that)h |
|
5217 (by)g(constructing,)h(so)f(to)g(say)-5 b(,)16 b(an)h(e)o(xplicit)g |
|
5218 (model)g(of)g(the)g FG(\013)p FI(-equated)h(lambda-)0 |
|
5219 4536 y(terms)j(based)g(on)h(functions,)g(we)e(ha)n(v)o(e)i(no)f |
|
5220 (problem)i(with)e(the)g(axiom)h(of)f(choice.)g(This)g(is)f(important.)0 |
|
5221 4632 y(F)o(or)h(consider)h(the)f(alternati)n(v)o(e:)h(if)f(the)g |
|
5222 (axiom-of-choice)j(causes)c(inconsistencies,)h(then)h(one)g(cannot)0 |
|
5223 4727 y(b)n(uild)e(a)f(frame)n(w)o(ork)j(for)d(binding)i(on)f(top)g(of)f |
|
5224 (Isabelle/HOL)h(with)f(its)f(rich)i(reasoning)g(infrastructure.)0 |
|
5225 4823 y(One)27 b(w)o(ould)g(ha)n(v)o(e)g(to)g(base)f(the)h |
|
5226 (implementation)h(on)f(a)f(lo)n(wer)h(le)n(v)o(el)f(and)h(w)o(ould)g |
|
5227 (ha)n(v)o(e)h(to)e(redo)h(the)p 0 TeXcolorgray 0 TeXcolorgray |
|
5228 eop end |
|
5229 %%Page: 23 23 |
|
5230 TeXDict begin 23 22 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5231 0 71 2881 4 v 2814 17 a FF(23)p 0 TeXcolorgray 0 TeXcolorgray |
|
5232 0 149 V 0 3636 4 3487 v 28 218 a FB(lemma)37 b Ft(substitution_lemma:) |
|
5233 99 295 y FB(assumes)f Ft(a:)f("x)p Fz(6)p Fy(=)p Ft(y")i("x)12 |
|
5234 b Fy(#)g Ft(L")99 372 y FB(sho)o(ws)35 b Ft("M[x:=N][y:=L])k(=)d |
|
5235 (M[y:=L][x:=N[y:=L]]")28 449 y FB(using)g Ft(a)28 525 |
|
5236 y FB(pr)o(oof)g Ft(\(nominal_induct)k(M)35 b(avoiding:)j(x)e(y)f(N)h(L) |
|
5237 g(rule:)g(lam)1804 533 y FC(\013)1849 525 y Ft(.induct\))99 |
|
5238 602 y FB(case)g Ft(\(Var)392 610 y FC(\013)473 602 y |
|
5239 Ft(z\))1797 b Ff(\(Case)17 b(1:)g(variables\))99 679 |
|
5240 y FB(sho)o(w)35 b Ft("Var)417 687 y FC(\013)463 679 y |
|
5241 Ft(\(z\)[x:=N][y:=L])k(=)d(Var)1203 687 y FC(\013)1248 |
|
5242 679 y Ft(\(z\)[y:=L][x:=N[y:=L]]")41 b(\()p FB(is)36 |
|
5243 b Ft("?lhs=?rhs"\))99 756 y FB(pr)o(oof)g Ft(-)169 833 |
|
5244 y Fz(f)g FB(assume)71 b Ft("z=x")1884 b Ff(\(Case)17 |
|
5245 b(1.1\))240 909 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(N[y:=L]")h |
|
5246 FB(using)f Ft(`z=x`)h FB(by)e Ft(simp)240 986 y FB(ha)n(v)o(e)i |
|
5247 Ft(2:)f("?rhs)g(=)g(N[y:=L]")h FB(using)f Ft(`z=x`)h(`x)p |
|
5248 Fz(6)p Fy(=)p Ft(y`)f FB(by)g Ft(simp)240 1063 y FB(fr)o(om)g |
|
5249 Ft(1)g(2)f FB(ha)n(v)o(e)i Ft("?lhs)g(=)e(?rhs")72 b |
|
5250 FB(by)36 b Ft(simp)169 1140 y Fz(g)169 1217 y FB(mor)o(eo)o(v)o(er)169 |
|
5251 1293 y Fz(f)g FB(assume)g Ft("z=y")h FB(and)e Ft("z)p |
|
5252 Fz(6)p Fy(=)p Ft(x")1545 b Ff(\(Case)17 b(1.2\))240 1370 |
|
5253 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(L")459 b FB(using)36 |
|
5254 b Ft(`z)p Fz(6)p Fy(=)p Ft(x`)g(`z=y`)h FB(by)e Ft(simp)240 |
|
5255 1447 y FB(ha)n(v)o(e)i Ft(2:)f("?rhs)g(=)g(L[x:=N[y:=L]]")j |
|
5256 FB(using)d Ft(`z=y`)g FB(by)g Ft(simp)240 1524 y FB(ha)n(v)o(e)h |
|
5257 Ft(3:)f("L[x:=N[y:=L]])j(=)c(L")142 b FB(using)36 b Ft(`x)12 |
|
5258 b Fy(#)g Ft(L`)36 b FB(by)f Ft(\(simp)i(add:)f(forget\))240 |
|
5259 1601 y FB(fr)o(om)g Ft(1)g(2)f(3)h FB(ha)n(v)o(e)h Ft("?lhs)f(=)g |
|
5260 (?rhs")h FB(by)e Ft(simp)169 1677 y Fz(g)169 1754 y FB(mor)o(eo)o(v)o |
|
5261 (er)169 1831 y Fz(f)h FB(assume)g Ft("z)p Fz(6)p Fy(=)p |
|
5262 Ft(x")g FB(and)g Ft("z)p Fz(6)p Fy(=)p Ft(y")1525 b Ff(\(Case)17 |
|
5263 b(1.3\))240 1908 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(Var)899 |
|
5264 1916 y FC(\013)979 1908 y Ft(z")g FB(using)g Ft(`z)p |
|
5265 Fz(6)p Fy(=)p Ft(x`)g(`z)p Fz(6)p Fy(=)p Ft(y`)g FB(by)g |
|
5266 Ft(simp)240 1985 y FB(ha)n(v)o(e)h Ft(2:)f("?rhs)g(=)g(Var)899 |
|
5267 1993 y FC(\013)979 1985 y Ft(z")g FB(using)g Ft(`z)p |
|
5268 Fz(6)p Fy(=)p Ft(x`)g(`z)p Fz(6)p Fy(=)p Ft(y`)g FB(by)g |
|
5269 Ft(simp)240 2061 y FB(fr)o(om)g Ft(1)g(2)f FB(ha)n(v)o(e)i |
|
5270 Ft("?lhs)g(=)e(?rhs")i FB(by)f Ft(simp)169 2138 y Fz(g)169 |
|
5271 2215 y FB(ultimately)i(sho)o(w)e Ft("?lhs)h(=)e(?rhs")i |
|
5272 FB(by)e Ft(blast)99 2292 y FB(qed)28 2369 y(next)99 2445 |
|
5273 y(case)h Ft(\(Lam)392 2453 y FC(\013)473 2445 y Ft(z)f(M)578 |
|
5274 2454 y Fx(1)613 2445 y Ft(\))1714 b Ff(\(Case)18 b(2:)e(lambdas\))99 |
|
5275 2522 y FB(ha)n(v)o(e)37 b Ft(ih:)f(")p Fy([)-12 b([)o |
|
5276 Ft(x)p Fz(6)p Fy(=)p Ft(y;)36 b(x)13 b Fy(#)e Ft(L)p |
|
5277 Fy(])-12 b(])35 b(=)-12 b Fz(\))35 b Ft(M)1064 2531 y |
|
5278 Fx(1)1099 2522 y Ft([x:=N][y:=L])k(=)c(M)1663 2531 y |
|
5279 Fx(1)1698 2522 y Ft([y:=L][x:=N[y:=L]]")41 b FB(by)35 |
|
5280 b Ft(fact)99 2599 y FB(ha)n(v)o(e)i Ft(vc:)f("z)12 b |
|
5281 Fy(#)g Ft(x")35 b("z)13 b Fy(#)e Ft(y")36 b("z)13 b Fy(#)e |
|
5282 Ft(N")36 b("z)12 b Fy(#)g Ft(L")36 b FB(by)f Ft(fact)596 |
|
5283 b Ff(\(variable)19 b(con)m(vention\))99 2676 y FB(hence)36 |
|
5284 b Ft("z)13 b Fy(#)e Ft(N[y:=L]")38 b FB(by)d Ft(\(simp)i(add:)f |
|
5285 (fresh_fact\))99 2753 y FB(sho)o(w)f Ft("Lam)417 2761 |
|
5286 y FC(\013)463 2753 y Ft(\(z,M)603 2762 y Fx(1)638 2753 |
|
5287 y Ft(\)[x:=N][y:=L])k(=)d(Lam)1308 2761 y FC(\013)1353 |
|
5288 2753 y Ft(\(z,M)1493 2762 y Fx(1)1529 2753 y Ft(\)[y:=L][x:=N[y:=L]]") |
|
5289 41 b(\()p FB(is)36 b Ft("?lhs=?rhs"\))99 2829 y FB(pr)o(oof)g |
|
5290 Ft(-)169 2906 y FB(ha)n(v)o(e)h Ft("?lhs)g(=)e(Lam)722 |
|
5291 2914 y FC(\013)768 2906 y Ft(\(z,M)908 2915 y Fx(1)943 |
|
5292 2906 y Ft([x:=N][y:=L]\)")40 b FB(using)35 b Ft(vc)h |
|
5293 FB(by)f Ft(simp)169 2983 y FB(also)h(ha)n(v)o(e)h Ft(")p |
|
5294 FA(:)12 b(:)f(:)47 b Ft(=)35 b(Lam)821 2991 y FC(\013)866 |
|
5295 2983 y Ft(\(z,M)1006 2992 y Fx(1)1042 2983 y Ft([y:=L][x:=N[y:=L]]\)") |
|
5296 41 b FB(using)36 b Ft(ih)g(`x)p Fz(6)p Fy(=)p Ft(y`)g(`x)12 |
|
5297 b Fy(#)g Ft(L`)36 b FB(by)f Ft(simp)169 3060 y FB(also)h(ha)n(v)o(e)h |
|
5298 Ft(")p FA(:)12 b(:)f(:)47 b Ft(=)35 b(Lam)821 3068 y |
|
5299 FC(\013)866 3060 y Ft(\(z,M)1006 3069 y Fx(1)1042 3060 |
|
5300 y Ft([y:=L]\)[x:=N[y:=L]]")41 b FB(using)36 b Ft(vc)g(`z)12 |
|
5301 b Fy(#)g Ft(N[y:=L]`)37 b FB(by)f Ft(simp)169 3137 y |
|
5302 FB(also)g(ha)n(v)o(e)h Ft(")p FA(:)12 b(:)f(:)47 b Ft(=)35 |
|
5303 b(?rhs")i FB(using)71 b Ft(vc)36 b FB(by)f Ft(simp)169 |
|
5304 3213 y FB(\002nally)i(sho)o(w)e Ft("?lhs)i(=)f(?rhs")g |
|
5305 FB(by)g Ft(simp)99 3290 y FB(qed)28 3367 y(next)99 3444 |
|
5306 y(case)g Ft(\(App)392 3452 y FC(\013)473 3444 y Ft(M)508 |
|
5307 3453 y Fx(1)578 3444 y Ft(M)613 3453 y Fx(2)648 3444 |
|
5308 y Ft(\))1576 b Ff(\(Case)17 b(3:)g(applications\))99 |
|
5309 3521 y FB(thus)35 b Ft("App)396 3529 y FC(\013)441 3521 |
|
5310 y Ft(\(M)511 3530 y Fx(1)546 3521 y Ft(,M)616 3530 y |
|
5311 Fx(2)652 3521 y Ft(\)[x:=N][y:=L])k(=)c(App)1321 3529 |
|
5312 y FC(\013)1366 3521 y Ft(\(M)1436 3530 y Fx(1)1471 3521 |
|
5313 y Ft(,M)1541 3530 y Fx(2)1577 3521 y Ft(\)[y:=L][x:=N[y:=L]]")41 |
|
5314 b FB(by)35 b Ft(simp)28 3597 y FB(qed)p 2878 3636 V 0 |
|
5315 3639 2881 4 v 0 3755 a(Fig)o(.)18 b(3)33 b FF(A)18 b(formalised)i |
|
5316 (proof)f(of)g(Barendre)o(gt')l(s)i(substitution)g(lemma)e(using)g(the)g |
|
5317 (Isabelle')l(s)i(Isar)d(language.)j(This)d(proof)0 3832 |
|
5318 y(contains)g(all)f(reasoning)g(steps)g(gi)n(v)o(en)g(in)f(e)o(xtreme)h |
|
5319 (detail.)h(An)e(automated)i(v)o(ersion)f(of)f(this)g(proof,)g(gi)n(v)o |
|
5320 (en)h(in)f(\(25\),)g(is)g(only)0 3909 y(5)k(lines)h(long.)f(The)g |
|
5321 (crucial)j(point)e(in)f(both)h(proofs,)f(ho)n(we)n(v)o(er)m(,)i(is)e |
|
5322 (that)h(in)f(the)h(lambda-case)i(we)d(ha)o(v)o(e)h(the)f(assumptions)0 |
|
5323 3986 y(labelled)27 b(with)e Ft(vc)f FF(a)o(v)n(ailable.)j(The)o(y)d |
|
5324 (allo)n(w)h(us)f(to)g(easily)i(formalise)f(Barendre)o(gt')l(s)i(slick)e |
|
5325 (informal)h(proof,)e(sho)n(wn)g(in)0 4062 y(Fig.)17 b(1,)f(which)i |
|
5326 (uses)f(the)h(v)n(ariable)i(con)m(v)o(ention.)p 0 TeXcolorgray |
|
5327 0 4339 a FI(ef)n(fort)g(that)f(has)g(been)h(spend)g(to)f(de)n(v)o(elop) |
|
5328 i(Isabelle/HOL.)d(This)i(w)o(as)e(attempted)i(in)f(Gabbay)i([10],)f(b)n |
|
5329 (ut)0 4434 y(the)g(attempt)g(w)o(as)g(quickly)h(abandoned.)125 |
|
5330 4536 y(Closely)k(related)h(to)g(our)h(w)o(ork)g(is)e(Gordon)j(and)e |
|
5331 (Melham)h([14],)g(which)f(has)g(been)g(applied)h(and)0 |
|
5332 4632 y(much)21 b(further)h(de)n(v)o(eloped)h(by)e(Norrish)g([22,)8 |
|
5333 b(23].)22 b(Gordon)g(and)f(Melham')l(s)g(w)o(ork)g(states)f(\002)n(v)o |
|
5334 (e)g(axioms)0 4727 y(characterising)i FG(\013)p FI(-equi)n(v)n(alence)g |
|
5335 (and)g(then)f(sho)n(ws)f(that)h(a)f(model)i(based)f(on)g(de-Bruijn)h |
|
5336 (indices)e(satis-)0 4823 y(\002es)j(these)h(axioms.)g(This)g(is)f(some) |
|
5337 n(what)h(similar)g(to)g(our)g(approach)i(where)e(we)f(construct)i(e)o |
|
5338 (xplicitly)p 0 TeXcolorgray 0 TeXcolorgray eop end |
|
5339 %%Page: 24 24 |
|
5340 TeXDict begin 24 23 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5341 0 71 2881 4 v 0 17 a FF(24)p 0 TeXcolorgray 0 228 a FI(the)26 |
|
5342 b(set)f Fs(lam)353 236 y Fp(\013)400 228 y FI(.)g(In)h([14])h(Gordon)g |
|
5343 (and)g(Melham)f(gi)n(v)o(e)g(an)g(induction)i(principle)e(that)g |
|
5344 (requires)h(in)e(the)0 324 y(lambda-case)c(to)f(pro)o(v)o(e)h(\(using)g |
|
5345 (their)f(notation\))653 512 y FD(8)13 b FG(x)f(t:)21 |
|
5346 b Fr(\()p FD(8)13 b FG(v)s(:)21 b(P)j Fr(\()p FG(t)p |
|
5347 Fr([)p FG(x)d Fr(:=)g Fk(V)-8 b(AR)24 b FG(v)s Fr(]\)\))e(=)-13 |
|
5348 b FD(\))21 b FG(P)i Fr(\()p Fk(LAM)33 b FG(x)21 b(t)p |
|
5349 Fr(\))0 704 y FI(That)29 b(means)h(the)o(y)f(ha)n(v)o(e)h(to)f(pro)o(v) |
|
5350 o(e)h FG(P)11 b Fr(\()p Fk(LAM)49 b FG(x)37 b(t)p Fr(\))29 |
|
5351 b FI(for)g(a)g(v)n(ariable)h FG(x)e FI(for)i(which)f(nothing)i(can)e |
|
5352 (be)0 800 y(assumed;)20 b(e)o(xplicit)g FG(\013)p FI(-renamings)i(are)e |
|
5353 (then)g(often)h(necessary)f(in)g(order)h(to)f(get)g(proofs)h(through.)h |
|
5354 (This)0 895 y(incon)m(v)o(enience)27 b(has)e(been)h(alle)n(viated)g(by) |
|
5355 g(the)f(v)o(ersion)h(of)g(structural)f(induction)i(gi)n(v)o(en)f(in)g |
|
5356 ([13])g(and)0 991 y([23],)21 b(where)f(the)g(lambda-case)h(is)f(as)f |
|
5357 (follo)n(ws)523 1179 y FD(9)p FG(X)r(:)i Fs(FINITE)i |
|
5358 FG(X)h FD(^)17 b Fr(\()p FD(8)k FG(x)g(t:)g(x)g FD(62)g |
|
5359 FG(X)j FD(^)17 b FG(P)32 b(t)21 b Fr(=)-13 b FD(\))21 |
|
5360 b FG(P)32 b Fr(\()p FG(LAM)d(x)21 b(t)p Fr(\)\))0 1371 |
|
5361 y FI(F)o(or)26 b(this)f(principle)i(one)f(has)g(to)g(pro)o(vide)h(a)e |
|
5362 (\002nite)h(set)f FG(X)32 b FI(and)26 b(then)g(has)g(to)g(sho)n(w)g |
|
5363 (the)g(lambda-case)0 1466 y(for)d(all)e(binders)i(not)f(in)g(this)g |
|
5364 (set.)f(This)h(is)f(v)o(ery)i(similar)e(to)h(our)h(induction)h |
|
5365 (principle)f(where)f(we)g(ha)n(v)o(e)0 1562 y(to)g(specify)g(an)g |
|
5366 (induction)h(conte)o(xt,)f(b)n(ut)g(we)g(claim)f(that)h(our)g(v)o |
|
5367 (ersion)h(based)f(on)g(freshness)g(\002ts)e(better)0 |
|
5368 1657 y(with)e(informal)i(practice)f(\(recall)f(Fig.)g(1)h(where)f |
|
5369 (Barendre)o(gt)i(states)d(that)h FG(z)k FI(is)17 b(fresh)i(w)-5 |
|
5370 b(.r)l(.t.)17 b FG(x)p FI(,)g FG(y)s FI(,)g FG(N)27 b |
|
5371 FI(and)0 1753 y FG(L)p FI(\))18 b(and)h(can)f(mak)o(e)h(better)g(use)e |
|
5372 (of)i(the)f(automatic)h(infrastructure)h(of)e(Isabelle)g(\(namely)i |
|
5373 (the)e(axiomatic)0 1848 y(type-classes)i(enforce)h(the)f |
|
5374 (\002nite-support)i(property\).)125 1947 y(Gordon)k(and)g(Melham)f |
|
5375 ([14])i(do)e(not)h(consider)g(the)f(case)f(of)i(rule)f(inductions)i(o)o |
|
5376 (v)o(er)e(inducti)n(v)o(ely)0 2043 y(de\002ned)17 b(predicates.)g(This) |
|
5377 g(has)f(been)h(done)h(in)f([33,)8 b(34].)17 b(It)g(turns)g(out)g(that)g |
|
5378 (while)f(the)h(v)n(ariable)g(con)m(v)o(en-)0 2138 y(tion)h(can)f(be)h |
|
5379 (b)n(uilt)g(into)g(e)n(v)o(ery)g(structural)g(induction)h(principle,)f |
|
5380 (lik)o(e)g(our)g(Thm.)g(2,)f(this)g(is)g(not)h(the)f(case)0 |
|
5381 2234 y(for)i(rule)f(induction)i(principles.)e(In)h([33])g(the)f |
|
5382 (authors)h(gi)n(v)o(e)f(an)g(e)o(xample)h(where)f(the)g(v)n(ariable)h |
|
5383 (con)m(v)o(en-)0 2329 y(tion)f(can)f(lead)g(to)g(f)o(aulty)h |
|
5384 (reasoning.)h(The)e(nominal)h(datatype)h(package)f(pre)n(v)o(ents)g |
|
5385 (this)e(by)i(introducing)0 2425 y(conditions)24 b(for)g(when)f(an)g |
|
5386 (inducti)n(v)o(e)h(de\002nition)g(is)e(compatible)i(with)f(the)g(v)n |
|
5387 (ariable)g(con)m(v)o(ention)i(and)0 2520 y(only)c(deri)n(v)o(es)f(a)g |
|
5388 (strong)h(rule)f(induction)i(principle)f(for)g(those)f(that)g(satisfy)g |
|
5389 (these)f(conditions.)125 2619 y(Lik)o(e)27 b(our)g Fs(lam)544 |
|
5390 2627 y Fp(\013)591 2619 y FI(,)f(HO)m(AS)g(uses)g(functions)i(to)f |
|
5391 (encode)g(lambda-abstractions;)i(it)d(comes)h(in)f(tw)o(o)0 |
|
5392 2715 y(\003a)n(v)n(ours:)e FE(weak)f FI(HO)m(AS)f([8])g(and)h |
|
5393 FE(full)f FI(HO)m(AS)g([25].)h(The)f(adv)n(antage)i(of)e(full)g(HO)m |
|
5394 (AS)g(o)o(v)o(er)h(our)g(w)o(ork)0 2810 y(is)g(that)h(notions)h(such)f |
|
5395 (as)f(capture-a)n(v)n(oiding)28 b(substitution)d(come)f(for)h(free.)e |
|
5396 (W)-6 b(e,)24 b(on)g(the)g(other)h(hand,)0 2906 y(load)18 |
|
5397 b(the)f(w)o(ork)h(of)g(making)h(such)e(de\002nitions)h(onto)g(the)g |
|
5398 (user)l(.)f(The)g(adv)n(antage)i(of)f(our)g(w)o(ork)g(is)f(that)g(we)0 |
|
5399 3001 y(ha)n(v)o(e)25 b(no)h(dif)n(\002culties)e(with)h(notions)h(such)e |
|
5400 (as)g(simultaneous-substitution)j(\(a)e(crucial)g(notion)h(in)e(the)0 |
|
5401 3097 y(usual)19 b(strong)g(normalisation)h(proofs)g(based)f(on)g |
|
5402 (logical)g(relation)g(ar)o(guments\),)g(which)h(in)e(full)h(HO)m(AS)0 |
|
5403 3192 y(seem)26 b(rather)h(dif)n(\002cult)f(to)h(encode)g(when)f(one)h |
|
5404 (at)f(the)g(same)g(time)g(w)o(ants)g(to)g(reap)h(the)f(bene\002ts)g(of) |
|
5405 h(a)0 3288 y(HO)m(AS-representation.)d(Another)g(adv)n(antage)h(we)d |
|
5406 (see)h(is)f(that)h(by)g(inducti)n(v)o(ely)i(de\002ning)f |
|
5407 Fs(lam)2677 3296 y Fp(\013)2725 3288 y FI(,)e(one)0 3383 |
|
5408 y(has)g(induction)i(for)g(\223free\224,)e(whereas)h(induction)h |
|
5409 (requires)f(considerable)h(ef)n(fort)f(in)g(full)f(HO)m(AS.)g(The)0 |
|
5410 3479 y(w)o(ork)d(by)f(Ambler)g FE(et)f(al)h FI([1])g(on)g(the)g |
|
5411 (Hybrid-system)h(pro)o(vides)g(full)e(HO)m(AS)h(on)g(top)g(of)g |
|
5412 (Isabelle/HOL.)0 3574 y(F)o(or)26 b(this)g(the)o(y)h(use)f(a)g |
|
5413 (de-Bruijn)i(encoding)g(and)f(construct)g(a)f(type)h(corresponding)i |
|
5414 (to)e(full)f(HO)m(AS.)0 3670 y(This)j(construction)h(is)e(some)n(what)h |
|
5415 (similar)g(to)g(our)g(subset-construction)i(from)f(Sect.)e(3.)g(Ho)n |
|
5416 (we)n(v)o(er)m(,)0 3765 y(their)h(construction)i(is)e(done)h(manually)g |
|
5417 (and)g(only)g(for)g(one)g(datatype,)g(while)f(we)g(ha)n(v)o(e)h |
|
5418 (automatic)0 3861 y(support)21 b(to)f(do)h(the)f(subset)g(construction) |
|
5419 i(for)e(an)o(y)h(nominal)g(datatype.)125 3960 y(The)16 |
|
5420 b(main)h(dif)n(ference)h(of)f(our)g(w)o(ork)h(with)e(weak)h(HO)m(AS)f |
|
5421 (is)g(that)g(we)h(use)f FE(some)g FI(speci\002c)g(functions)0 |
|
5422 4055 y(to)j(represent)i(lambda-abstractions;)g(in)e(contrast,)h(weak)f |
|
5423 (HO)m(AS)g(uses)g(the)g FE(full)h FI(function)h(space.)e(This)0 |
|
5424 4151 y(causes)h(problems)h(kno)n(wn)g(by)g(the)f(term)g(\223e)o(xotic)h |
|
5425 (terms\224\227essentially)e(junk)i(in)f(the)h(model.)125 |
|
5426 4250 y(Recently)-5 b(,)15 b(Homeier)i([16])g(introduced)h(a)d(quotient) |
|
5427 j(package)f(for)f(HOL4)g(that)g(helps)g(with)g(de\002ning)0 |
|
5428 4345 y(alpha-equi)n(v)n(alence)22 b(classes)c(\(this)i(package)g |
|
5429 (supports)g(quotients)h(by)f(an)o(y)g(equi)n(v)n(alence)h(relation\))f |
|
5430 (and)0 4441 y(with)h(lifting)g(theorems)g(from)h(the)e(\223ra)o(w\224)h |
|
5431 (v)o(ersion)g(of)g(the)g(datatype)g(to)g(the)f(quotient.)i(Norrish)f |
|
5432 (mak)o(es)0 4536 y(use)h(of)g(this)g(package)h(in)f([23].)h(This)f |
|
5433 (package)h(w)o(ould)g(help)g(us)f(with)g(the)g(construction)i(of)e |
|
5434 Fs(lam)2693 4544 y Fp(\013)2740 4536 y FI(,)g(b)n(ut)0 |
|
5435 4632 y(w)o(ould)f(ha)n(v)o(e)g(only)g(little)e(impact)h(on)h(obtaining) |
|
5436 h(the)e(strong)g(induction)i(principles)f(and)f(the)g(recursion)0 |
|
5437 4727 y(combinator)l(.)h(Ne)n(v)o(ertheless)f(we)f(look)i(forw)o(ard)h |
|
5438 (to)e(a)f(port)i(of)f(Homeier')l(s)g(package)h(to)f(Isabelle/HOL.)0 |
|
5439 4823 y(It)g(will)f(simplify)i(our)g(w)o(ork)g(when)f(we)g(consider)h |
|
5440 (more)g(complicated)g(binding)h(structures.)p 0 TeXcolorgray |
|
5441 0 TeXcolorgray eop end |
|
5442 %%Page: 25 25 |
|
5443 TeXDict begin 25 24 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5444 0 71 2881 4 v 2814 17 a FF(25)p 0 TeXcolorgray 125 228 |
|
5445 a FI(A)-7 b(ydemir)19 b FE(et)f(al)h FI([2])g(reported)h(w)o(ork)g(in)f |
|
5446 (progress)g(for)h(pro)o(viding)h(nominal)f(reasoning)g(techniques)0 |
|
5447 324 y(in)f(Coq.)f(Essentially)-5 b(,)18 b(the)o(y)h(deri)n(v)o(e)h |
|
5448 (more)f(or)g(less)f(automatically)i(from)f(a)g(speci\002cation)g(of)g |
|
5449 (a)f(nominal)0 419 y(datatype)24 b(an)f(axiomatisation)g(of)h(nominal)g |
|
5450 (concepts)f(in)g(Coq)g(and)g(in)g(case)f(of)h(the)g(lambda-calculus)0 |
|
5451 515 y(use)i(a)g(Gordon-Melham)k(representation)e(to)e(justify)h(their)g |
|
5452 (axiomatisation.)g(Ho)n(we)n(v)o(er)m(,)g(this)f(justi\002-)0 |
|
5453 610 y(cation)c(needs)h(to)f(be)g(done)h(manually)-5 b(,)22 |
|
5454 b(while)f(with)g(our)h(constructions)g(we)f(pro)o(vide)h(the)f |
|
5455 (justi\002cation)0 706 y(completely)f(automatically)-5 |
|
5456 b(.)19 b(Judging)h(from)f(recent)g(w)o(ork,)g(the)g(authors)g(seem)f |
|
5457 (to)h(ha)n(v)o(e)g(\223abandoned\224)0 801 y(this)g(w)o(ork)h(in)f(f)o |
|
5458 (a)n(v)n(our)j(of)d(w)o(orking)i(with)e(a)g(locally)g(nameless)g |
|
5459 (representation)h(of)g FG(\013)p FI(-equated)g(lambda-)0 |
|
5460 897 y(terms)g([3].)0 1195 y FJ(8)28 b(Conclusion)0 1386 |
|
5461 y FI(The)e(paper)g([4],)g(which)g(sets)e(out)i(some)g(challenges)g(for) |
|
5462 g(automated)h(proof)g(assistants,)c(claims)j(that)0 1481 |
|
5463 y(theorem)21 b(pro)o(ving)h(technologies)g(ha)n(v)o(e)f(almost)f |
|
5464 (reached)h(the)f(threshold)i(where)e(the)o(y)g(can)h(be)f(used)g |
|
5465 FE(by)0 1577 y(the)27 b(masses)g FI(for)h(formal)g(reasoning)h(about)f |
|
5466 (programming)j(languages.)d(W)-6 b(e)27 b(hope)i(to)e(ha)n(v)o(e)h |
|
5467 (pushed)0 1672 y(with)19 b(this)g(paper)h(the)g(boundary)h(of)f(the)f |
|
5468 (state-of-the-art)i(in)e(formal)i(reasoning)f(closer)g(to)f(this)g |
|
5469 (thresh-)0 1768 y(old.)h(W)-6 b(e)19 b(sho)n(wed)h(all)f(our)i(results) |
|
5470 e(for)h(the)g(lambda-calculus.)h(But)e(the)h(lambda-calculus)h(is)e |
|
5471 (only)h FE(one)0 1863 y FI(e)o(xample.)25 b(The)h(nominal)g(datatype)g |
|
5472 (package)g(has)e(no)i(problems)g(with)f(generalising)h(the)f(results)f |
|
5473 (re-)0 1959 y(ported)c(here)g(to)f(more)g(complicated)h(term-calculi.)g |
|
5474 (F)o(or)f(e)o(xample,)g(there)h(is)e(already)i(w)o(ork)g(by)f(Bengt-)0 |
|
5475 2054 y(son)f(using)h(the)f(nominal)h(datatype)g(package)g(for)g |
|
5476 (formalising)g(the)f FG(\031)s FI(-calculus)g([6];)h(T)-6 |
|
5477 b(obin-Hochstadt)0 2150 y(and)21 b(Felleisen)e(used)h(it)g(to)g(v)o |
|
5478 (erify)h(their)f(w)o(ork)h(on)g(T)-6 b(yped)21 b(Scheme)f([30].)125 |
|
5479 2247 y(There)27 b(has)g(also)g(been)h(w)o(ork)g(on)g(e)o(xtending)h |
|
5480 (strong)f(induction)h(principles)e(to)h(rule)f(inductions)0 |
|
5481 2342 y([33,)8 b(34].)28 b(The)f(real)g(challenge)h(has)f(been)g(and)g |
|
5482 (still)f(is)h(to)f(generalise)i(all)e(the)h(necessary)g(reasoning)0 |
|
5483 2438 y(infrastructure)c(to)e(more)h(general)g(binding)h(structures.)e |
|
5484 (While)h(there)g(is)e(no)i(problem)h(in)e(the)g(nominal)0 |
|
5485 2533 y(datatype)h(package)f(with)g(iterated)g(binders,)g(as)g(in)f |
|
5486 Fs(Foo)1555 2522 y Fa(h)-10 b(h)1594 2533 y FI(name)1765 |
|
5487 2522 y Fa(i)g(i)o(h)g(h)1844 2533 y FI(name)2015 2522 |
|
5488 y Fa(i)g(i)p 2059 2533 24 4 v 2074 2533 V 2098 2533 a |
|
5489 FI(,)20 b(and)i(binders)f(of)g(dif)n(ferent)0 2629 y(type,)30 |
|
5490 b(as)g(in)g Fs(Bar)503 2618 y Fa(h)-10 b(h)542 2629 y |
|
5491 FI(name)713 2618 y Fa(i)g(i)p 757 2629 V 773 2629 V 56 |
|
5492 w(h)g(h)849 2629 y FI(coname)1094 2618 y Fa(i)g(i)p 1138 |
|
5493 2629 V 1154 2629 V 1177 2629 a FI(,)30 b(it)g(is)f(not)i(yet)g |
|
5494 (possible)f(to)g(ha)n(v)o(e,)h(for)g(e)o(xample,)g(a)f(\002nite)0 |
|
5495 2724 y(set)22 b(of)h(binders)h(in)f(a)f(term-constructor)l(.)i(A)f |
|
5496 (typical)g(e)o(xample)g(where)h(such)f(a)f(generalisation)i(is)e(v)o |
|
5497 (ery)0 2820 y(helpful)31 b(is)e(the)h(Hindle)o(y-Milner)h |
|
5498 (typing-algorithm)i(where)d(one)g(has)g(type-schemes)h(of)f(the)g(form) |
|
5499 0 2915 y FD(8f)p FG(a)122 2927 y Fq(1)159 2915 y FG(;)13 |
|
5500 b(:)g(:)g(:)h(;)f(a)371 2923 y Fp(n)416 2915 y FD(g)p |
|
5501 FG(:ty)s FI(.)23 b(Such)i(type-schemes)g(can)f(at)g(the)h(moment)g |
|
5502 (only)g(be)g(represented)g(by)g(encoding)0 3011 y(them)h(as)f(an)g |
|
5503 (iterated)h(list)e(of)i(single)g(binders.)g(T)-6 b(o)25 |
|
5504 b(w)o(ork)i(out)f(the)f(details)g(for)h(the)g(generalisation)g(of)0 |
|
5505 3106 y(binding)32 b(structures)e(and)h(to)f(implement)h(them)g(is)e |
|
5506 (future)i(w)o(ork.)g(Future)g(w)o(ork)g(also)f(includes)g(the)0 |
|
5507 3202 y(generalisation)23 b(of)e(our)i(recursion)f(combinator)h(to)f(w)o |
|
5508 (ork)g(with)g(v)n(arying)h(parameters.)e(This)h(has)f(been)0 |
|
5509 3297 y(treated)f(in)g([23,)8 b(27],)22 b(b)n(ut)f(it)e(seems)h(dif)n |
|
5510 (\002cult)g(to)g(adapt)h(their)f(results)g(to)g(our)h(setting.)0 |
|
5511 3448 y FJ(Ackno)o(wledgements:)27 b FI(I)f(am)h(v)o(ery)g(grateful)h |
|
5512 (to)f(Andy)h(Pitts)d(and)i(Michael)g(Norrish)h(for)f(the)g(man)o(y)0 |
|
5513 3543 y(discussions)h(with)h(them)f(on)h(the)f(subject)h(of)g(the)f |
|
5514 (paper)l(.)g(Stef)o(an)h(Ber)o(ghofer)g(and)g(Markus)g(W)-6 |
|
5515 b(enzel)0 3639 y(ha)n(v)o(e)31 b(been)g(helpful)g FE(be)n(yond)h |
|
5516 (measur)m(e)e FI(with)g(implementing)i(the)e(w)o(ork)i(reported)f |
|
5517 (here.)g(Christine)0 3734 y(T)-6 b(asson)19 b(helped)i(with)f(the)f |
|
5518 (early)i(parts)e(of)h(the)g(w)o(ork.)g(Julien)g(Narboux)i(pro)o(vided)f |
|
5519 (helpful)g(comments.)0 4033 y FJ(Refer)o(ences)p 0 TeXcolorgray |
|
5520 33 4205 a FF(1.)p 0 TeXcolorgray 38 w(S.)d(J.)f(Ambler)m(,)i(R.)f(L.)f |
|
5521 (Crole,)i(and)g(A.)e(Momigliano.)31 b(Combining)19 b(Higher)h(Order)f |
|
5522 (Abstract)g(Syntax)h(with)f(Tactical)121 4281 y(Theorem)e(Pro)o(ving)g |
|
5523 (and)f(\(Co\)Induction.)24 b(In)16 b Ff(Pr)m(oc.)g(of)g(the)g(15th)h |
|
5524 (International)i(Confer)n(ence)f(on)e(Theor)n(em)h(Pr)m(o)o(ving)121 |
|
5525 4358 y(in)h(Higher)f(Or)n(der)g(Lo)o(gics)h(\(TPHOLs\))p |
|
5526 FF(,)e(v)o(olume)h(2410)h(of)f Ff(LNCS)p FF(,)f(pages)i(13\22630,)g |
|
5527 (2002.)p 0 TeXcolorgray 33 4437 a(2.)p 0 TeXcolorgray |
|
5528 38 w(B.)f(A)-6 b(ydemir)m(,)18 b(A.)e(Bohannon,)j(and)e(S.)g(W)-5 |
|
5529 b(eihrich.)25 b(Nominal)19 b(Reasoning)g(T)-5 b(echniques)19 |
|
5530 b(in)e(Coq)h(\(w)o(ork)g(in)f(progress\).)121 4514 y(In)g |
|
5531 Ff(Pr)m(oc.)e(of)i(the)g(International)j(W)-6 b(orkshop)17 |
|
5532 b(on)f(Lo)o(gical)i(F)l(r)o(ame)o(works)f(and)g(Meta-Langua)o(g)o(es:)j |
|
5533 (Theory)d(and)g(Pr)o(ac-)121 4590 y(tice)i(\(LFMTP\))p |
|
5534 FF(,)d(ENTCS,)f(pages)j(60\22668,)f(2006.)p 0 TeXcolorgray |
|
5535 33 4669 a(3.)p 0 TeXcolorgray 38 w(B.)g(A)-6 b(ydemir)m(,)18 |
|
5536 b(A.)e(Char)o(gu)t(\264)-26 b(eraud,)19 b(B.)e(C.)f(Pierce,)i(R.)f |
|
5537 (Pollack,)h(and)g(S.)e(W)-5 b(eirich.)26 b(Engineering)19 |
|
5538 b(Formal)e(Metatheory)l(.)121 4746 y(In)i Ff(Pr)m(oc.)g(of)g(the)h(35r) |
|
5539 n(d)e(Symposium)j(on)e(Principles)h(of)g(Pr)m(o)o(gr)o(amming)f(Langua) |
|
5540 o(g)o(es)i(\(POPL\))p FF(,)d(pages)i(3\22615.)f(A)m(CM,)121 |
|
5541 4823 y(2008.)p 0 TeXcolorgray 0 TeXcolorgray eop end |
|
5542 %%Page: 26 26 |
|
5543 TeXDict begin 26 25 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5544 0 71 2881 4 v 0 17 a FF(26)p 0 TeXcolorgray 0 TeXcolorgray |
|
5545 33 228 a(4.)p 0 TeXcolorgray 38 w(B.)17 b(E.)e(A)-6 b(ydemir)m(,)18 |
|
5546 b(A.)e(Bohannon,)i(M.)e(F)o(airbairn,)j(J.)d(N.)g(F)o(oster)m(,)h(B.)g |
|
5547 (C.)f(Pierce,)i(P)-7 b(.)16 b(Se)n(well,)i(D.)e(Vytiniotis,)j(G.)d(W)-5 |
|
5548 b(ash-)121 305 y(b)o(urn,)17 b(S.)g(W)-5 b(eirich,)18 |
|
5549 b(and)g(S.)f(Zdance)n(wic.)27 b(Mechanized)21 b(Metatheory)f(for)e(the) |
|
5550 g(Masses:)g(The)f(Popl)q(Mark)h(Challenge.)121 382 y(In)i |
|
5551 Ff(Pr)m(oc.)f(of)h(the)h(18th)f(International)j(Confer)n(ence)f(on)e |
|
5552 (Theor)n(em)g(Pr)m(o)o(ving)h(in)f(Higher)o(-Or)n(der)g(Lo)o(gics)h |
|
5553 (\(TPHOLs\))p FF(,)121 459 y(v)o(olume)d(3603)f(of)g |
|
5554 Ff(LNCS)p FF(,)g(pages)h(50\22665,)f(2005.)p 0 TeXcolorgray |
|
5555 33 535 a(5.)p 0 TeXcolorgray 38 w(H.)e(Barendre)o(gt.)24 |
|
5556 b Ff(The)16 b(Lambda)g(Calculus:)i(Its)e(Syntax)h(and)f(Semantics)p |
|
5557 FF(,)h(v)o(olume)g(103)f(of)f Ff(Studies)j(in)e(Lo)o(gic)h(and)f(the) |
|
5558 121 612 y(F)-7 b(oundations)19 b(of)e(Mathematics)p FF(.)27 |
|
5559 b(North-Holland,)19 b(1981.)p 0 TeXcolorgray 33 688 a(6.)p |
|
5560 0 TeXcolorgray 38 w(J.)25 b(Bengtson)h(and)g(J.)e(P)o(arro)n(w)l(.)51 |
|
5561 b(F)o(ormalising)26 b(the)g(pi-Calculus)i(using)e(Nominal)g(Logic.)51 |
|
5562 b(In)25 b Ff(Pr)m(oc.)f(of)i(the)g(10th)121 765 y(International)21 |
|
5563 b(Confer)n(ence)f(on)e(F)-7 b(oundations)19 b(of)f(Softwar)n(e)h |
|
5564 (Science)h(and)e(Computation)i(Structur)n(es)f(\(FOSSA)n(CS\))p |
|
5565 FF(,)121 842 y(v)o(olume)f(4423)f(of)g Ff(LNCS)p FF(,)g(pages)h |
|
5566 (63\22677,)f(2007.)p 0 TeXcolorgray 33 918 a(7.)p 0 TeXcolorgray |
|
5567 38 w(K.)d(Crary)l(.)k(Logical)e(Relations)h(and)e(a)f(Case)h(Study)g |
|
5568 (in)f(Equi)n(v)n(alence)k(Checking.)i(In)14 b(B.)g(C.)g(Pierce,)h |
|
5569 (editor)m(,)h Ff(Advanced)121 995 y(T)-6 b(opics)18 b(in)f(T)-5 |
|
5570 b(ypes)18 b(and)f(Pr)m(o)o(gr)o(amming)h(Langua)o(g)o(es)p |
|
5571 FF(,)g(pages)g(223\226244.)g(MIT)e(Press,)g(2005.)p 0 |
|
5572 TeXcolorgray 33 1071 a(8.)p 0 TeXcolorgray 38 w(J.)h(Despe)o(yroux,)h |
|
5573 (A.)f(Felty)l(,)h(and)g(A.)e(Hirscho)n(witz.)28 b(Higher)o(-Order)19 |
|
5574 b(Abstract)g(Syntax)f(in)g(Coq.)25 b(In)18 b Ff(Pr)m(oc.)e(of)i(the)g |
|
5575 (2nd)121 1148 y(International)28 b(Confer)n(ence)e(on)e(T)-5 |
|
5576 b(yped)25 b(Lambda)g(Calculi)h(and)f(Applications)h(\(TLCA\))p |
|
5577 FF(,)d(v)o(olume)i(902)f(of)h Ff(LNCS)p FF(,)121 1225 |
|
5578 y(pages)18 b(124\226138,)g(1995.)p 0 TeXcolorgray 33 |
|
5579 1301 a(9.)p 0 TeXcolorgray 38 w(G.)d(Do)n(wek,)i(T)-5 |
|
5580 b(.)14 b(Hardin,)j(and)f(C.)g(Kirchner)l(.)23 b(Higher)o(-Order)18 |
|
5581 b(Uni\002cation)g(via)f(Explicit)h(Substitutions.)24 |
|
5582 b Ff(Information)121 1378 y(and)18 b(Computation)p FF(,)h |
|
5583 (157:183\226235,)g(2000.)p 0 TeXcolorgray 0 1454 a(10.)p |
|
5584 0 TeXcolorgray 38 w(M.)g(J.)g(Gabbay)l(.)34 b Ff(A)19 |
|
5585 b(Theory)i(of)f(Inductive)i(De\002nitions)g(With)f FA(\013)p |
|
5586 Ff(-Equivalence)p FF(.)37 b(PhD)19 b(thesis,)h(Uni)n(v)o(ersity)j(of)c |
|
5587 (Cam-)121 1531 y(bridge,)f(2001.)p 0 TeXcolorgray 0 1607 |
|
5588 a(11.)p 0 TeXcolorgray 38 w(M.)23 b(J.)e(Gabbay)j(and)g(A.)e(M.)g |
|
5589 (Pitts.)43 b(A)23 b(Ne)n(w)g(Approach)h(to)f(Abstract)i(Syntax)f(with)f |
|
5590 (Variable)i(Binding.)45 b Ff(F)-7 b(ormal)121 1684 y(Aspects)18 |
|
5591 b(of)f(Computing)p FF(,)i(13:341\226363,)f(2001.)p 0 |
|
5592 TeXcolorgray 0 1760 a(12.)p 0 TeXcolorgray 38 w(J.-Y)-9 |
|
5593 b(.)19 b(Girard,)i(Y)-9 b(.)19 b(Lafont,)h(and)g(P)-7 |
|
5594 b(.)18 b(T)-5 b(aylor)l(.)34 b Ff(Pr)m(oofs)19 b(and)h(Types)p |
|
5595 FF(,)g(v)o(olume)g(7)g(of)f Ff(Cambridg)o(e)j(T)l(r)o(acts)e(in)g |
|
5596 (Theor)n(etical)121 1837 y(Computer)f(Science)p FF(.)26 |
|
5597 b(Cambridge)19 b(Uni)n(v)o(ersity)g(Press,)e(1989.)p |
|
5598 0 TeXcolorgray 0 1913 a(13.)p 0 TeXcolorgray 38 w(A.)h(D.)g(Gordon.)29 |
|
5599 b(A)18 b(Mechanisation)k(of)c(Name-carrying)k(Syntax)d(up)g(to)f |
|
5600 (Alpha-Con)m(v)o(ersion.)33 b(In)18 b Ff(Pr)m(oc.)g(of)h(the)g(6th)121 |
|
5601 1990 y(International)25 b(W)-6 b(orkshop)22 b(on)f(Higher)o(-or)n(der)h |
|
5602 (Lo)o(gic)h(Theor)n(em)e(Pr)m(o)o(ving)i(and)e(its)h(Applications)h |
|
5603 (\(HUG\))p FF(,)e(v)o(olume)121 2067 y(780)d(of)f Ff(LNCS)p |
|
5604 FF(,)g(pages)g(414\226426,)h(1994.)p 0 TeXcolorgray 0 |
|
5605 2143 a(14.)p 0 TeXcolorgray 38 w(A.)23 b(D.)g(Gordon)h(and)g(T)-5 |
|
5606 b(.)22 b(Melham.)46 b(Fi)n(v)o(e)24 b(Axioms)g(of)f(Alpha)h(Con)m(v)o |
|
5607 (ersion.)47 b(In)24 b Ff(Pr)m(oc.)e(of)i(the)g(9th)g(International)121 |
|
5608 2220 y(Confer)n(ence)19 b(on)e(Theor)n(em)g(Pr)m(o)o(ving)g(in)g |
|
5609 (Higher)h(Or)n(der)e(Lo)o(gics)h(\(TPHOLs\))p FF(,)e(v)o(olume)j(1125)f |
|
5610 (of)f Ff(LNCS)p FF(,)h(pages)g(173\226)121 2297 y(190,)g(1996.)p |
|
5611 0 TeXcolorgray 0 2373 a(15.)p 0 TeXcolorgray 38 w(R.)h(Harper)i(and)f |
|
5612 (F)-5 b(.)17 b(Pfenning.)30 b(On)19 b(Equi)n(v)n(alence)j(and)d |
|
5613 (Canonical)i(Forms)d(in)h(the)g(LF)f(Type)g(Theory)l(.)29 |
|
5614 b Ff(A)n(CM)18 b(T)l(r)o(ans-)121 2450 y(actions)h(on)e(Computational)j |
|
5615 (Lo)o(gic)p FF(,)e(6\(1\):61\226101,)h(2005.)p 0 TeXcolorgray |
|
5616 0 2526 a(16.)p 0 TeXcolorgray 38 w(P)-7 b(.)18 b(Homeier)l(.)30 |
|
5617 b(A)18 b(Design)h(Structure)h(for)f(Higher)g(Order)g(Quotients.)31 |
|
5618 b(In)18 b Ff(Pr)m(oc.)g(of)h(the)g(18th)g(International)j(Confer)o(-) |
|
5619 121 2603 y(ence)h(on)e(Theor)n(em)h(Pr)m(o)o(ving)g(in)g(Higher)g(Or)n |
|
5620 (der)e(Lo)o(gics)j(\(TPHOLs\))p FF(,)d(v)o(olume)i(3603)f(of)g |
|
5621 Ff(LNCS)p FF(,)h(pages)g(130\226146,)121 2680 y(2005.)p |
|
5622 0 TeXcolorgray 0 2756 a(17.)p 0 TeXcolorgray 38 w(S.)h(C.)g(Kleene.)47 |
|
5623 b(Disjunction)26 b(and)e(Existence)h(Under)f(Implication)j(in)d |
|
5624 (Elementary)h(Intuitionistic)j(Formalisms.)121 2833 y |
|
5625 Ff(J)n(ournal)19 b(of)e(Symbolic)i(Lo)o(gic)p FF(,)f(27\(1\):11\22618,) |
|
5626 h(1962.)p 0 TeXcolorgray 0 2909 a(18.)p 0 TeXcolorgray |
|
5627 38 w(X.)14 b(Lero)o(y)l(.)j Ff(Polymorphic)f(Typing)f(of)f(an)g |
|
5628 (Algorithmic)i(Langua)o(g)o(e)p FF(.)j(PhD)14 b(thesis,)g(Uni)n(v)o |
|
5629 (ersity)j(P)o(aris)d(7,)g(1992.)j(INRIA)121 2986 y(Research)i(Report,)f |
|
5630 (No)f(1778.)p 0 TeXcolorgray 0 3062 a(19.)p 0 TeXcolorgray |
|
5631 38 w(T)-5 b(.)24 b(Melham.)50 b(Automating)26 b(Recursi)n(v)o(e)i(Type) |
|
5632 c(De\002nitions)j(in)e(Higher)h(Order)f(Logic.)49 b(T)-5 |
|
5633 b(echnical)28 b(Report)e(146,)121 3139 y(Computer)19 |
|
5634 b(Laboratory)l(,)f(Uni)n(v)o(ersity)h(of)e(Cambridge,)h(September)h |
|
5635 (1988.)p 0 TeXcolorgray 0 3215 a(20.)p 0 TeXcolorgray |
|
5636 38 w(T)-5 b(.)26 b(Melham.)56 b(Automating)29 b(Recursi)n(v)o(e)h(Type) |
|
5637 c(De\002nitions)j(in)e(Higher)h(Order)f(Logic.)56 b(In)27 |
|
5638 b Ff(Curr)n(ent)g(T)l(r)n(ends)g(in)121 3292 y(Har)n(dwar)n(e)17 |
|
5639 b(V)-7 b(eri\002cation)19 b(and)e(A)o(utomated)h(Theor)n(em)g(Pr)m(o)o |
|
5640 (ving)p FF(,)f(pages)h(341\226386.)g(Springer)o(-V)-7 |
|
5641 b(erlag,)19 b(1989.)p 0 TeXcolorgray 0 3368 a(21.)p 0 |
|
5642 TeXcolorgray 38 w(T)-5 b(.)22 b(Nipk)o(o)n(w)l(,)g(L.)f(C.)h(P)o |
|
5643 (aulson,)h(and)f(M.)g(W)-5 b(enzel.)42 b Ff(Isabelle)24 |
|
5644 b(HOL:)d(A)h(Pr)m(oof)g(Assistant)h(for)f(Higher)o(-Or)n(der)h(Lo)o |
|
5645 (gic)p FF(,)121 3445 y(v)o(olume)18 b(2283)f(of)g Ff(LNCS)p |
|
5646 FF(.)25 b(Springer)o(-V)-7 b(erlag,)19 b(2002.)p 0 TeXcolorgray |
|
5647 0 3521 a(22.)p 0 TeXcolorgray 38 w(M.)h(Norrish.)37 b(Recursi)n(v)o(e) |
|
5648 23 b(Function)f(De\002nition)h(for)e(Types)f(with)i(Binders.)37 |
|
5649 b(In)20 b Ff(Pr)m(oc.)g(of)h(the)h(17th)f(International)121 |
|
5650 3598 y(Confer)n(ence)c(Theor)n(em)d(Pr)m(o)o(ving)h(in)f(Higher)h(Or)n |
|
5651 (der)e(Lo)o(gics)j(\(TPHOLs\))p FF(,)c(v)o(olume)j(3223)f(of)g |
|
5652 Ff(LNCS)p FF(,)g(pages)h(241\226256,)121 3675 y(2004.)p |
|
5653 0 TeXcolorgray 0 3751 a(23.)p 0 TeXcolorgray 38 w(M.)j(Norrish.)29 |
|
5654 b(Mechanising)21 b FA(\025)p FF(-Calculus)g(Using)e(a)f(Classical)j |
|
5655 (First)e(Order)g(Theory)f(of)h(Terms)e(with)j(Permutation.)121 |
|
5656 3828 y Ff(Higher)e(Or)n(der)f(and)g(Symbolic)i(Computation)p |
|
5657 FF(,)g(19:169\226195,)g(2006.)p 0 TeXcolorgray 0 3904 |
|
5658 a(24.)p 0 TeXcolorgray 38 w(L.)h(P)o(aulson.)39 b(De\002ning)22 |
|
5659 b(Functions)h(on)e(Equi)n(v)n(alence)k(Classes.)38 b |
|
5660 Ff(A)n(CM)21 b(T)l(r)o(ansactions)i(on)e(Computational)k(Lo)o(gic)p |
|
5661 FF(,)121 3981 y(7\(4\),)17 b(2006.)p 0 TeXcolorgray 0 |
|
5662 4057 a(25.)p 0 TeXcolorgray 38 w(F)-5 b(.)14 b(Pfenning)i(and)f(C.)f |
|
5663 (Elliott.)21 b(Higher)o(-Order)16 b(Abstract)g(Syntax.)k(In)15 |
|
5664 b Ff(Pr)m(oc.)f(of)h(the)g(10th)h(Confer)n(ence)g(on)f(Confer)n(ence) |
|
5665 121 4134 y(on)i(Pr)m(o)o(gr)o(amming)h(Langua)o(g)o(e)h(Design)f(and)f |
|
5666 (Implementation)k(\(PLDI\))p FF(,)16 b(pages)h(199\226208.)h(A)m(CM)f |
|
5667 (Press,)g(1989.)p 0 TeXcolorgray 0 4210 a(26.)p 0 TeXcolorgray |
|
5668 38 w(A.)d(M.)f(Pitts.)19 b(Nominal)d(Logic,)e(A)g(First)h(Order)g |
|
5669 (Theory)f(of)h(Names)f(and)h(Binding.)20 b Ff(Information)c(and)e |
|
5670 (Computation)p FF(,)121 4287 y(186:165\226193,)19 b(2003.)p |
|
5671 0 TeXcolorgray 0 4363 a(27.)p 0 TeXcolorgray 38 w(A.)e(M.)f(Pitts.)25 |
|
5672 b(Alpha-Structural)20 b(Recursion)f(and)f(Induction.)26 |
|
5673 b Ff(J)n(ournal)19 b(of)e(the)h(A)n(CM)p FF(,)e(53:459\226506,)j(2006.) |
|
5674 p 0 TeXcolorgray 0 4440 a(28.)p 0 TeXcolorgray 38 w(K.)h(Slind.)36 |
|
5675 b(W)-5 b(ellfounded)23 b(Schematic)g(De\002nitions.)37 |
|
5676 b(In)20 b Ff(Pr)m(oc.)g(of)h(the)g(17th)g(International)j(Confer)n |
|
5677 (ence)f(on)e(A)o(uto-)121 4516 y(mated)d(Deduction)i(\(CADE\))p |
|
5678 FF(,)c(v)o(olume)h(1831)g(of)g Ff(LNCS)p FF(,)g(pages)h(45\22663,)f |
|
5679 (2000.)p 0 TeXcolorgray 0 4593 a(29.)p 0 TeXcolorgray |
|
5680 38 w(M.)d(T)-5 b(akahashi.)19 b(Parallel)e(Reductions)f(in)f |
|
5681 (Lambda-Calculus.)20 b Ff(Information)d(and)d(Computation)p |
|
5682 FF(,)i(118\(1\):120\226127,)121 4670 y(1995.)p 0 TeXcolorgray |
|
5683 0 4746 a(30.)p 0 TeXcolorgray 38 w(S.)f(T)-5 b(obin-Hochstadt)18 |
|
5684 b(and)f(M.)e(Felleisen.)23 b(The)16 b(Design)h(and)f(Implementation)j |
|
5685 (of)d(Typed)g(Scheme.)22 b(In)16 b Ff(Pr)m(oc.)f(of)h(the)121 |
|
5686 4823 y(35r)n(d)h(Symposium)h(on)f(Principles)i(of)e(Pr)m(o)o(gr)o |
|
5687 (amming)h(Langua)o(g)o(es)h(\(POPL\))p FF(,)c(pages)j(395\226406.)g(A)m |
|
5688 (CM,)e(2008.)p 0 TeXcolorgray 0 TeXcolorgray eop end |
|
5689 %%Page: 27 27 |
|
5690 TeXDict begin 27 26 bop 0 TeXcolorgray 0 TeXcolorgray |
|
5691 0 71 2881 4 v 2814 17 a FF(27)p 0 TeXcolorgray 0 TeXcolorgray |
|
5692 0 228 a(31.)p 0 TeXcolorgray 38 w(C.)17 b(Urban.)24 b |
|
5693 Ff(Classical)19 b(Lo)o(gic)g(and)e(Computation)p FF(.)26 |
|
5694 b(PhD)17 b(thesis,)g(Cambridge)i(Uni)n(v)o(ersity)l(,)g(October)f |
|
5695 (2000.)p 0 TeXcolorgray 0 305 a(32.)p 0 TeXcolorgray |
|
5696 38 w(C.)30 b(Urban)g(and)h(S.)e(Ber)o(ghofer)l(.)67 b(A)30 |
|
5697 b(Recursion)i(Combinator)f(for)f(Nominal)h(Datatypes)i(Implemented)f |
|
5698 (in)e(Is-)121 382 y(abelle/HOL.)59 b(In)27 b Ff(Pr)m(oc.)g(of)h(the)g |
|
5699 (3r)n(d)e(International)31 b(J)n(oint)e(Confer)n(ence)g(on)e(A)o |
|
5700 (utomated)i(Reasoning)f(\(IJCAR\))p FF(,)121 459 y(v)o(olume)18 |
|
5701 b(4130)f(of)g Ff(LN)n(AI)p FF(,)g(pages)g(498\226512,)h(2006.)p |
|
5702 0 TeXcolorgray 0 536 a(33.)p 0 TeXcolorgray 38 w(C.)26 |
|
5703 b(Urban,)g(S.)f(Ber)o(ghofer)m(,)j(and)e(M.)f(Norrish.)54 |
|
5704 b(Barendre)o(gt')l(s)29 b(Variable)f(Con)m(v)o(ention)h(in)d(Rule)h |
|
5705 (Inductions.)55 b(In)121 612 y Ff(Pr)m(oc.)23 b(of)h(the)h(21th)f |
|
5706 (International)j(Confer)n(ence)f(on)e(A)o(utomated)h(Deduction)h |
|
5707 (\(CADE\))p FF(,)c(v)o(olume)i(4603)h(of)e Ff(LN)n(AI)p |
|
5708 FF(,)121 689 y(pages)18 b(35\22650,)g(2007.)p 0 TeXcolorgray |
|
5709 0 766 a(34.)p 0 TeXcolorgray 38 w(C.)j(Urban)g(and)h(M.)e(Norrish.)37 |
|
5710 b(A)20 b(F)o(ormal)i(T)n(reatment)g(of)f(the)g(Barendre)o(gt)j(V)-7 |
|
5711 b(ariable)23 b(Con)m(v)o(ention)g(in)f(Rule)g(Induc-)121 |
|
5712 843 y(tions.)g(In)16 b Ff(Pr)m(oc.)e(of)i(the)h(3r)n(d)e(International) |
|
5713 j(A)n(CM)e(W)-6 b(orkshop)16 b(on)g(Mec)o(hanized)i(Reasoning)f(about)f |
|
5714 (Langua)o(g)o(es)h(with)121 920 y(V)-7 b(ariable)18 b(Binding)g(and)f |
|
5715 (Names)p FF(,)g(pages)h(25\22632,)f(2005.)p 0 TeXcolorgray |
|
5716 0 996 a(35.)p 0 TeXcolorgray 38 w(C.)i(Urban,)h(A.)f(M.)g(Pitts,)h(and) |
|
5717 g(M.)f(J.)f(Gabbay)l(.)33 b(Nominal)21 b(Uni\002cation.)34 |
|
5718 b Ff(Theor)n(etical)22 b(Computer)f(Science)p FF(,)h(323\(1-)121 |
|
5719 1073 y(2\):473\226497,)d(2004.)p 0 TeXcolorgray 0 1150 |
|
5720 a(36.)p 0 TeXcolorgray 38 w(C.)26 b(Urban)g(and)g(C.)g(T)-5 |
|
5721 b(asson.)51 b(Nominal)27 b(Techniques)g(in)f(Isabelle/HOL.)54 |
|
5722 b(In)26 b Ff(Pr)m(oc.)f(of)h(the)h(20th)f(International)121 |
|
5723 1227 y(Confer)n(ence)20 b(on)d(A)o(utomated)h(Deduction)h(\(CADE\))p |
|
5724 FF(,)d(v)o(olume)i(3632)f(of)g Ff(LNCS)p FF(,)g(pages)h(38\22653,)f |
|
5725 (2005.)p 0 TeXcolorgray 0 1304 a(37.)p 0 TeXcolorgray |
|
5726 38 w(M.)g(W)-5 b(enzel.)25 b Ff(Using)17 b(Axiomatic)i(Type)f(Classes)f |
|
5727 (in)g(Isabelle)p FF(.)26 b(Manual)19 b(in)e(the)h(Isabelle)h(distrib)o |
|
5728 (ution.)p 0 TeXcolorgray 0 1380 a(38.)p 0 TeXcolorgray |
|
5729 38 w(M.)d(W)-5 b(enzel.)24 b(Structured)19 b(Induction)g(Proofs)d(in)h |
|
5730 (Isabelle/Isar)l(.)26 b(In)17 b Ff(Pr)m(oc.)f(of)h(the)g(5th)g |
|
5731 (International)j(Confer)n(ence)e(on)121 1457 y(Mathematical)j(Knowledg) |
|
5732 o(e)f(Mana)o(g)o(ement)g(\(MKM\))p FF(,)d(v)o(olume)h(4108)f(of)g |
|
5733 Ff(LN)n(AI)p FF(,)f(pages)i(17\22630,)g(2006.)p 0 TeXcolorgray |
|
5734 0 TeXcolorgray eop end |
|
5735 %%Trailer |
|
5736 |
|
5737 userdict /end-hook known{end-hook}if |
|
5738 %%EOF |