%!PS-Adobe-2.0+ −
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software+ −
%%Title: Main-jv.dvi+ −
%%Pages: 27+ −
%%PageOrder: Ascend+ −
%%BoundingBox: 0 0 595 842+ −
%%DocumentFonts: Times-Bold Times-Roman Times-Italic+ −
%%DocumentPaperSizes: a4+ −
%%EndComments+ −
%DVIPSWebPage: (www.radicaleye.com)+ −
%DVIPSCommandLine: dvips Main-jv.dvi -o Main-jv.ps+ −
%DVIPSParameters: dpi=600+ −
%DVIPSSource: TeX output 2008.02.08:1222+ −
%%BeginProcSet: tex.pro 0 0+ −
%!+ −
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S+ −
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72+ −
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0+ −
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{+ −
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize+ −
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[+ −
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round+ −
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{+ −
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]+ −
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin+ −
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array+ −
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2+ −
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N+ −
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A+ −
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get+ −
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}+ −
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr+ −
1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S+ −
/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy+ −
setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask+ −
restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn+ −
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put+ −
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{+ −
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A+ −
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{+ −
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{+ −
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X+ −
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4+ −
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N+ −
/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{+ −
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)+ −
(LaserWriter 16/600)]{A length product length le{A length product exch 0+ −
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse+ −
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask+ −
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}+ −
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round+ −
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto+ −
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p+ −
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}+ −
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{+ −
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+ −
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: pstricks.pro 0 0+ −
%!+ −
% PostScript prologue for pstricks.tex.+ −
% Version 97 patch 4, 04/05/10+ −
% For distribution, see pstricks.tex.+ −
%+ −
/tx@Dict 200 dict def tx@Dict begin+ −
/ADict 25 dict def+ −
/CM { matrix currentmatrix } bind def+ −
/SLW /setlinewidth load def+ −
/CLW /currentlinewidth load def+ −
/CP /currentpoint load def+ −
/ED { exch def } bind def+ −
/L /lineto load def+ −
/T /translate load def+ −
/TMatrix { } def+ −
/RAngle { 0 } def+ −
/Atan { /atan load stopped { pop pop 0 } if } def+ −
/Div { dup 0 eq { pop } { div } ifelse } def+ −
/NET { neg exch neg exch T } def+ −
/Pyth { dup mul exch dup mul add sqrt } def+ −
/PtoC { 2 copy cos mul 3 1 roll sin mul } def+ −
/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def }+ −
def+ −
/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def+ −
} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ }+ −
/pathforall load stopped { pop pop pop pop } if z } def+ −
/STP { .996264 dup scale } def+ −
/STV { SDict begin normalscale end STP } def+ −
%+ −
%%-------------- DG begin patch 15 ---------------%%+ −
%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def+ −
%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y+ −
%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul+ −
%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]+ −
%0 } ifelse setdash stroke } def+ −
/DashLine {+ −
dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse+ −
/b ED /x1 ED /y1 ED /x ED /y ED + −
/z y x add y1 add x1 add def+ −
/Coef b a .5 sub 2 mul y mul sub z Div round + −
z mul a .5 sub 2 mul y mul add b exch Div def + −
/y y Coef mul def /x x Coef mul def /y1 y1 Coef mul def /x1 x1 Coef mul def+ −
x1 0 gt y1 0 gt x 0 gt y 0 gt and { [ y x y1 x1 ] 1 a sub y mul}+ −
{ [ 1 0] 0 } ifelse setdash stroke+ −
} def+ −
%%-------------- DG end patch 15 ---------------%%+ −
/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt+ −
{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add+ −
def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if+ −
] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1+ −
setlinecap stroke } def+ −
/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch+ −
2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25+ −
% DG/SR modification begin - Dec. 12, 1997 - Patch 2+ −
%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a+ −
itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a+ −
% DG/SR modification end+ −
Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict+ −
/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1+ −
% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)+ −
% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }+ −
% def+ −
a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore+ −
pop pop } def+ −
% DG/SR modification end+ −
/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg+ −
exch 3 index sub exch Atan rotate newpath } def+ −
/EndArrow { @mtrx setmatrix CP grestore end } def+ −
/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1+ −
scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill+ −
grestore } def+ −
/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0+ −
CLW moveto } def+ −
/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2+ −
div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0+ −
CLW moveto } def+ −
/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW+ −
2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0+ −
curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto }+ −
def+ −
/SD { 0 360 arc fill } def+ −
/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS+ −
CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def+ −
/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {+ −
/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto+ −
load } if ] cvx newpath 3 1 roll T exec } def+ −
/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch+ −
cvi def } def+ −
/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if+ −
f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def+ −
/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub+ −
def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def+ −
/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 }+ −
ifelse { pop } repeat a } def+ −
/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq+ −
and { pop pop /n n 1 sub def } if } def+ −
/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }+ −
repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1+ −
ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1+ −
moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto+ −
Lineto pop pop closepath } ifelse } def+ −
/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul+ −
neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add+ −
def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2+ −
div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx+ −
setmatrix } def+ −
% DG modification begin - Jan. 15, 1997+ −
%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {+ −
%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2+ −
%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0+ −
%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx+ −
%setmatrix } def+ −
/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup+ −
CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2+ −
div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0+ −
d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx+ −
% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)+ −
% setmatrix } def+ −
setmatrix pop } def+ −
% DG/SR modification end+ −
/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth+ −
def } def+ −
/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth+ −
def } def+ −
/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1+ −
def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp+ −
mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos+ −
abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def+ −
/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul+ −
m mul neg def } def+ −
/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if }+ −
ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def }+ −
def+ −
/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def+ −
/NC { CC x1 y1 x2 y2 x y curveto } def+ −
/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def+ −
/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def+ −
/NAC { x2 y2 x y curveto CC x1 y1 } def+ −
/EAC { x2 y2 x y ArrowB curveto pop pop } def+ −
/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def+ −
n { NC } repeat EOC } ifelse } def+ −
/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload+ −
/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop+ −
pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def+ −
/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt {+ −
CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC }+ −
repeat closepath pop pop } ifelse } def+ −
/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def+ −
/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def+ −
/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore }+ −
def+ −
/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix+ −
rotate matrix concatmatrix exch findfont exch makefont setfont } def+ −
/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto+ −
x1 y1 lineto closepath } def+ −
/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1+ −
y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div+ −
exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse+ −
/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto+ −
x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath }+ −
ifelse } def+ −
/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add+ −
/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq {+ −
pop pop Rect } { OvalFrame } ifelse } def+ −
/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop+ −
} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ]+ −
aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def+ −
/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6+ −
2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto }+ −
ifelse } def+ −
/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv {+ −
6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def+ −
/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1+ −
sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore }+ −
def+ −
/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1+ −
sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA+ −
x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0+ −
y0 x0 2 mul x1 sub y1 ] def } def+ −
/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 }+ −
if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if+ −
/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div+ −
round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div+ −
round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub+ −
0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def+ −
/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def }+ −
if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def }+ −
{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add+ −
exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n+ −
div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1+ −
dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt {+ −
dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {+ −
pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup+ −
stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}+ −
{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i+ −
w add def } repeat grestore gsave n 0 gt+ −
% DG/SR modification begin - Nov. 7, 1997 - Patch 1+ −
%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }+ −
{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }+ −
% DG/SR modification end+ −
{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul+ −
n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n+ −
div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop+ −
1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs+ −
dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt+ −
{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g+ −
exch t L stroke /i i h add def } repeat grestore } def+ −
/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0+ −
1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add+ −
exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c+ −
mul neg d } def+ −
/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def+ −
/Rot { CP CP translate 3 -1 roll neg rotate NET } def+ −
/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }+ −
def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle+ −
dup a add ] cvx def } def+ −
/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]+ −
cvx def } def+ −
/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def+ −
/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def+ −
/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def+ −
/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s+ −
abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b+ −
div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } {+ −
h1 abs h sub dup s mul abs } ifelse } def+ −
/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s+ −
mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q+ −
{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add+ −
exch } def+ −
/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible+ −
/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def+ −
} if } ifelse } def+ −
/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def+ −
/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit+ −
neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def+ −
/IfVisible true def } def+ −
end+ −
% END pstricks.pro+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: pst-dots.pro 0 0+ −
%!PS-Adobe-2.0+ −
%%Title: Dot Font for PSTricks+ −
%%Creator: Timothy Van Zandt <tvz@Princeton.EDU>+ −
%%Creation Date: May 7, 1993+ −
%% Version 97 patch 1, 99/12/16+ −
%% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999+ −
%% to add /Diamond, /SolidDiamond and /BoldDiamond+ −
10 dict dup begin+ −
/FontType 3 def+ −
/FontMatrix [ .001 0 0 .001 0 0 ] def+ −
/FontBBox [ 0 0 0 0 ] def+ −
/Encoding 256 array def+ −
0 1 255 { Encoding exch /.notdef put } for+ −
Encoding+ −
dup (b) 0 get /Bullet put+ −
dup (c) 0 get /Circle put+ −
dup (C) 0 get /BoldCircle put+ −
dup (u) 0 get /SolidTriangle put+ −
dup (t) 0 get /Triangle put+ −
dup (T) 0 get /BoldTriangle put+ −
dup (r) 0 get /SolidSquare put+ −
dup (s) 0 get /Square put+ −
dup (S) 0 get /BoldSquare put+ −
dup (q) 0 get /SolidPentagon put+ −
dup (p) 0 get /Pentagon put+ −
dup (P) 0 get /BoldPentagon put+ −
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga+ −
dup (l) 0 get /SolidDiamond put+ −
dup (d) 0 get /Diamond put+ −
(D) 0 get /BoldDiamond put+ −
% DG/SR modification end+ −
/Metrics 13 dict def+ −
Metrics begin+ −
/Bullet 1000 def+ −
/Circle 1000 def+ −
/BoldCircle 1000 def+ −
/SolidTriangle 1344 def+ −
/Triangle 1344 def+ −
/BoldTriangle 1344 def+ −
/SolidSquare 886 def+ −
/Square 886 def+ −
/BoldSquare 886 def+ −
/SolidPentagon 1093.2 def+ −
/Pentagon 1093.2 def+ −
/BoldPentagon 1093.2 def+ −
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga+ −
/SolidDiamond 1008 def+ −
/Diamond 1008 def+ −
/BoldDiamond 1008 def+ −
% DG/SR modification end+ −
/.notdef 0 def+ −
end+ −
/BBoxes 13 dict def+ −
BBoxes begin+ −
/Circle { -550 -550 550 550 } def+ −
/BoldCircle /Circle load def+ −
/Bullet /Circle load def+ −
/Triangle { -571.5 -330 571.5 660 } def+ −
/BoldTriangle /Triangle load def+ −
/SolidTriangle /Triangle load def+ −
/Square { -450 -450 450 450 } def+ −
/BoldSquare /Square load def+ −
/SolidSquare /Square load def+ −
/Pentagon { -546.6 -465 546.6 574.7 } def+ −
/BoldPentagon /Pentagon load def+ −
/SolidPentagon /Pentagon load def+ −
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga+ −
/Diamond { -428.5 -742.5 428.5 742.5 } def+ −
/BoldDiamond /Diamond load def+ −
/SolidDiamond /Diamond load def+ −
% DG/SR modification end+ −
/.notdef { 0 0 0 0 } def+ −
end+ −
/CharProcs 20 dict def+ −
CharProcs begin+ −
/Adjust {+ −
2 copy dtransform floor .5 add exch floor .5 add exch idtransform+ −
3 -1 roll div 3 1 roll exch div exch scale+ −
} def+ −
/CirclePath { 0 0 500 0 360 arc closepath } def+ −
/Bullet { 500 500 Adjust CirclePath fill } def+ −
/Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath+ −
eofill } def+ −
/BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath+ −
eofill } def+ −
/BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def+ −
/TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto+ −
closepath } def+ −
/SolidTriangle { TrianglePath fill } def+ −
/Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def+ −
/BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def+ −
/SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto+ −
-450 -450 lineto closepath } def+ −
/SolidSquare { SquarePath fill } def+ −
/Square { SquarePath .89 .89 scale SquarePath eofill } def+ −
/BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def+ −
/PentagonPath {+ −
-337.8 -465 moveto+ −
337.8 -465 lineto+ −
546.6 177.6 lineto+ −
0 574.7 lineto+ −
-546.6 177.6 lineto+ −
closepath+ −
} def+ −
/SolidPentagon { PentagonPath fill } def+ −
/Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def+ −
/BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def+ −
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga+ −
/DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto+ −
428.5 0 lineto closepath } def+ −
/SolidDiamond { DiamondPath fill } def+ −
/Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def+ −
/BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def+ −
% DG/SR modification end+ −
/.notdef { } def+ −
end+ −
/BuildGlyph {+ −
exch+ −
begin+ −
Metrics 1 index get exec 0+ −
BBoxes 3 index get exec+ −
setcachedevice+ −
CharProcs begin load exec end+ −
end+ −
} def+ −
/BuildChar {+ −
1 index /Encoding get exch get+ −
1 index /BuildGlyph get exec+ −
} bind def+ −
end+ −
/PSTricksDotFont exch definefont pop+ −
%END pst-dots.pro+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: pst-node.pro 0 0+ −
%!+ −
% PostScript prologue for pst-node.tex.+ −
% Version 97 patch 1, 97/05/09.+ −
% For distribution, see pstricks.tex.+ −
%+ −
/tx@NodeDict 400 dict def tx@NodeDict begin+ −
tx@Dict begin /T /translate load def end+ −
/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def }+ −
if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end+ −
grestore } def+ −
/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def+ −
} def+ −
/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch+ −
Sin mul } def } def+ −
/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def+ −
} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def }+ −
ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx+ −
dup Sin mul Cos Div } ifelse } def+ −
/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub+ −
/u ED /NodePos { GetRnodePos } def } def+ −
/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup+ −
Cos mul exch Sin mul } def+ −
/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h+ −
mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul+ −
} ifelse } def+ −
/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d+ −
ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d+ −
sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan+ −
sin def /NodePos { TriNodePos } def } def+ −
/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos+ −
hh mul Atan dup cos ww mul exch sin hh mul } def+ −
/GetCenter { begin X Y NodeMtrx transform CM itransform end } def+ −
/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist+ −
Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg }+ −
{ 0 Dist Sin mul } ifelse } ifelse Do } def+ −
/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform+ −
exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx+ −
dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop+ −
XYPos } ifelse } def+ −
/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1+ −
roll sin mul sub exch } ifelse } def+ −
/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA+ −
AddOffset yA add /yA1 ED xA add /xA1 ED } def+ −
/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB+ −
AddOffset yB add /yB1 ED xB add /xB1 ED } def+ −
/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA+ −
AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED+ −
ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED+ −
} ifelse } def+ −
/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB+ −
AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED+ −
ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED+ −
} ifelse } def+ −
/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED+ −
/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b+ −
known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA+ −
ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def+ −
/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub+ −
mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def+ −
/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt+ −
{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop+ −
} repeat LPutLine cleartomark } def+ −
/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED+ −
/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3+ −
mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx+ −
sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul+ −
add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add+ −
y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul+ −
mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def+ −
/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def+ −
} def+ −
/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def+ −
/NAngle yyB yyA sub xxB xxA sub Atan def } def+ −
/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def+ −
/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def+ −
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit+ −
} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd + −
} def+ −
/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def+ −
} def+ −
/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def+ −
/NAngle yyB yyA sub xxB xxA sub Atan def } def+ −
/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def+ −
/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def+ −
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {+ −
exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark+ −
VPosEnd } def+ −
/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2+ −
roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx+ −
def grestore exec /LPutVar /SaveLPutVar load def } def+ −
/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def+ −
GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {+ −
LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {+ −
LPutVar VPutLine } def LPutVar } def+ −
/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop+ −
end } def+ −
/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub+ −
Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan+ −
/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1+ −
yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {+ −
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }+ −
ifelse } def+ −
/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1+ −
roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA+ −
GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict+ −
begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]+ −
cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines+ −
} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def+ −
/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate+ −
def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx+ −
itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2+ −
yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1+ −
yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def+ −
/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def+ −
/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2+ −
yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform+ −
/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1+ −
tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ]+ −
cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {+ −
VPutLines } def } def+ −
/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def+ −
xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx+ −
transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def }+ −
{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB+ −
0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict+ −
begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx+ −
def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {+ −
VPutLines } def } def+ −
/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if+ −
xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end+ −
/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {+ −
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }+ −
def+ −
/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED+ −
GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin+ −
false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {+ −
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }+ −
def+ −
/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate+ −
def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2+ −
mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3+ −
mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2+ −
xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false+ −
Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ]+ −
cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {+ −
VPutLines } def } def+ −
% DG/SR modification begin - May 9, 1997 - Patch 1+ −
%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r+ −
%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add+ −
%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360+ −
%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED+ −
/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r+ −
r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add+ −
exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360+ −
mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED+ −
% DG/SR modification end+ −
} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add+ −
AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r+ −
Div def /y ED /x ED } def+ −
/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB+ −
180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos+ −
mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def+ −
/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy+ −
add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos+ −
{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar+ −
tx@Dict begin false Polygon end } def+ −
/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan+ −
def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2+ −
mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def+ −
/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div+ −
def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def+ −
GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul+ −
sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0+ −
eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }+ −
{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def+ −
0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2+ −
roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0+ −
0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2+ −
roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }+ −
ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos+ −
{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {+ −
r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }+ −
{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add+ −
add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub+ −
mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t+ −
sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse+ −
y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {+ −
LPutPos } def } def+ −
/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB+ −
sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1+ −
ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB+ −
w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos+ −
{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }+ −
{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }+ −
def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin+ −
/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def+ −
/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg+ −
exch X sub neg exch moveto setmatrix CP grestore } def+ −
/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0+ −
def } ifelse LPutCoor } def+ −
/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg }+ −
if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop }+ −
ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED }+ −
def+ −
/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if+ −
r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop }+ −
ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED }+ −
def+ −
end+ −
% END pst-node.pro+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: 8r.enc 0 0+ −
% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30+ −
%+ −
% @@psencodingfile@{+ −
% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,+ −
% W. Schmidt, P. Lehman",+ −
% version = "2.0",+ −
% date = "30 October 2002",+ −
% filename = "8r.enc",+ −
% email = "tex-fonts@@tug.org",+ −
% docstring = "This is the encoding vector for Type1 and TrueType+ −
% fonts to be used with TeX. This file is part of the+ −
% PSNFSS bundle, version 9"+ −
% @}+ −
% + −
% The idea is to have all the characters normally included in Type 1 fonts+ −
% available for typesetting. This is effectively the characters in Adobe+ −
% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,+ −
% MacRoman, and some extra characters from Lucida.+ −
% + −
% Character code assignments were made as follows:+ −
% + −
% (1) the Windows ANSI characters are almost all in their Windows ANSI+ −
% positions, because some Windows users cannot easily reencode the+ −
% fonts, and it makes no difference on other systems. The only Windows+ −
% ANSI characters not available are those that make no sense for+ −
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen+ −
% (173). quotesingle and grave are moved just because it's such an+ −
% irritation not having them in TeX positions.+ −
% + −
% (2) Remaining characters are assigned arbitrarily to the lower part+ −
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.+ −
% + −
% (3) Y&Y Lucida Bright includes some extra text characters; in the+ −
% hopes that other PostScript fonts, perhaps created for public+ −
% consumption, will include them, they are included starting at 0x12.+ −
% These are /dotlessj /ff /ffi /ffl.+ −
% + −
% (4) hyphen appears twice for compatibility with both ASCII and Windows.+ −
%+ −
% (5) /Euro was assigned to 128, as in Windows ANSI+ −
%+ −
% (6) Missing characters from MacRoman encoding incorporated as follows:+ −
%+ −
% PostScript MacRoman TeXBase1+ −
% -------------- -------------- --------------+ −
% /notequal 173 0x16+ −
% /infinity 176 0x17+ −
% /lessequal 178 0x18+ −
% /greaterequal 179 0x19+ −
% /partialdiff 182 0x1A+ −
% /summation 183 0x1B+ −
% /product 184 0x1C+ −
% /pi 185 0x1D+ −
% /integral 186 0x81+ −
% /Omega 189 0x8D+ −
% /radical 195 0x8E+ −
% /approxequal 197 0x8F+ −
% /Delta 198 0x9D+ −
% /lozenge 215 0x9E+ −
%+ −
/TeXBase1Encoding [+ −
% 0x00+ −
/.notdef /dotaccent /fi /fl+ −
/fraction /hungarumlaut /Lslash /lslash+ −
/ogonek /ring /.notdef /breve+ −
/minus /.notdef /Zcaron /zcaron+ −
% 0x10+ −
/caron /dotlessi /dotlessj /ff+ −
/ffi /ffl /notequal /infinity+ −
/lessequal /greaterequal /partialdiff /summation+ −
/product /pi /grave /quotesingle+ −
% 0x20+ −
/space /exclam /quotedbl /numbersign+ −
/dollar /percent /ampersand /quoteright+ −
/parenleft /parenright /asterisk /plus+ −
/comma /hyphen /period /slash+ −
% 0x30+ −
/zero /one /two /three+ −
/four /five /six /seven+ −
/eight /nine /colon /semicolon+ −
/less /equal /greater /question+ −
% 0x40+ −
/at /A /B /C+ −
/D /E /F /G+ −
/H /I /J /K+ −
/L /M /N /O+ −
% 0x50+ −
/P /Q /R /S+ −
/T /U /V /W+ −
/X /Y /Z /bracketleft+ −
/backslash /bracketright /asciicircum /underscore+ −
% 0x60+ −
/quoteleft /a /b /c+ −
/d /e /f /g+ −
/h /i /j /k+ −
/l /m /n /o+ −
% 0x70+ −
/p /q /r /s+ −
/t /u /v /w+ −
/x /y /z /braceleft+ −
/bar /braceright /asciitilde /.notdef+ −
% 0x80+ −
/Euro /integral /quotesinglbase /florin+ −
/quotedblbase /ellipsis /dagger /daggerdbl+ −
/circumflex /perthousand /Scaron /guilsinglleft+ −
/OE /Omega /radical /approxequal+ −
% 0x90+ −
/.notdef /.notdef /.notdef /quotedblleft+ −
/quotedblright /bullet /endash /emdash+ −
/tilde /trademark /scaron /guilsinglright+ −
/oe /Delta /lozenge /Ydieresis+ −
% 0xA0+ −
/.notdef /exclamdown /cent /sterling+ −
/currency /yen /brokenbar /section+ −
/dieresis /copyright /ordfeminine /guillemotleft+ −
/logicalnot /hyphen /registered /macron+ −
% 0xD0+ −
/degree /plusminus /twosuperior /threesuperior+ −
/acute /mu /paragraph /periodcentered+ −
/cedilla /onesuperior /ordmasculine /guillemotright+ −
/onequarter /onehalf /threequarters /questiondown+ −
% 0xC0+ −
/Agrave /Aacute /Acircumflex /Atilde+ −
/Adieresis /Aring /AE /Ccedilla+ −
/Egrave /Eacute /Ecircumflex /Edieresis+ −
/Igrave /Iacute /Icircumflex /Idieresis+ −
% 0xD0+ −
/Eth /Ntilde /Ograve /Oacute+ −
/Ocircumflex /Otilde /Odieresis /multiply+ −
/Oslash /Ugrave /Uacute /Ucircumflex+ −
/Udieresis /Yacute /Thorn /germandbls+ −
% 0xE0+ −
/agrave /aacute /acircumflex /atilde+ −
/adieresis /aring /ae /ccedilla+ −
/egrave /eacute /ecircumflex /edieresis+ −
/igrave /iacute /icircumflex /idieresis+ −
% 0xF0+ −
/eth /ntilde /ograve /oacute+ −
/ocircumflex /otilde /odieresis /divide+ −
/oslash /ugrave /uacute /ucircumflex+ −
/udieresis /yacute /thorn /ydieresis+ −
] def+ −
+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: texps.pro 0 0+ −
%!+ −
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2+ −
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll+ −
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0+ −
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{+ −
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get+ −
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type+ −
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end+ −
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup+ −
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll+ −
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[+ −
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}+ −
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def+ −
end+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: special.pro 0 0+ −
%!+ −
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N+ −
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N+ −
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N+ −
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{+ −
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho+ −
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B+ −
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{+ −
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known+ −
{userdict/md get type/dicttype eq{userdict begin md length 10 add md+ −
maxlength ge{/md md dup length 20 add dict copy def}if end md begin+ −
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S+ −
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{+ −
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll+ −
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll+ −
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf+ −
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}+ −
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1+ −
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3+ −
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip+ −
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub+ −
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{+ −
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop+ −
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get+ −
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr+ −
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr+ −
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4+ −
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S+ −
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{+ −
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale+ −
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState+ −
save N userdict maxlength dict begin/magscale true def normalscale+ −
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts+ −
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x+ −
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx+ −
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub+ −
TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def+ −
@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll+ −
newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto+ −
closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N+ −
/@beginspecial{SDict begin/SpecialSave save N gsave normalscale+ −
currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}+ −
N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs+ −
neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate+ −
rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse+ −
scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg+ −
lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx+ −
ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N+ −
/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{+ −
pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave+ −
restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B+ −
/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1+ −
setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY+ −
moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix+ −
matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc+ −
savematrix setmatrix}N end+ −
+ −
%%EndProcSet+ −
%%BeginProcSet: color.pro 0 0+ −
%!+ −
TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop+ −
setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll+ −
}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def+ −
/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{+ −
setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{+ −
/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch+ −
known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC+ −
/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC+ −
/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0+ −
setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0+ −
setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61+ −
0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC+ −
/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0+ −
setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87+ −
0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{+ −
0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{+ −
0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC+ −
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0+ −
setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0+ −
setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90+ −
0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC+ −
/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0+ −
setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0+ −
0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{+ −
0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{+ −
0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC+ −
/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0+ −
setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC+ −
/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0+ −
0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1+ −
0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11+ −
0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0+ −
setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0+ −
0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC+ −
/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0+ −
setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0+ −
0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0+ −
1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC+ −
/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0+ −
setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{+ −
0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}+ −
DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70+ −
setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0+ −
setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1+ −
setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end+ −
+ −
%%EndProcSet+ −
TeXDict begin 39139632 55387786 1000 600 600 (Main-jv.dvi)+ −
@start+ −
%DVIPSBitmapFont: Fa cmsy5 5 3+ −
/Fa 3 106 df<038007C007C007C00F800F800F800F001F001E001E003E003C003C0038+ −
007800780070007000E000E0000A157D9612>48 D<0030007000F000E001E001C003C003+ −
80078007000F000E000E001E001C003C00380078007000F000E000F0007000780038003C+ −
001C001E000E000E000F0007000780038003C001C001E000E000F0007000300C297A9E19+ −
>104 D<E000E000F0007000780038003C001C001E000E000F00070007000780038003C0+ −
01C001E000E000F0007000F000E001E001C003C003800780070007000F000E001E001C00+ −
3C00380078007000F000E000E0000C297B9E19>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fb msam9 9 2+ −
/Fb 2 114 df<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF0F0000000F0000000F0000000F0+ −
000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0+ −
000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0+ −
000000F0000000F0000000600000001D1D7CB326>112 D<7FFFFFF0FFFFFFF8FFFFFFF8+ −
7FFFFFF80000007800000078000000780000007800000078000000780000007800000078+ −
000000780000007800000078000000780000007800000078000000780000007800000078+ −
00000078000000780000007800000078000000780000007800000078000000301D1D7CB3+ −
26>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fc cmtt8 7 3+ −
/Fc 3 110 df<FFFC0000FFFC0000FFFC0000FFFC00000F8000000F8000000F8000000F+ −
8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F+ −
8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F+ −
8000000F8007C00F8007C00F8007C00F8007C00F8007C00F8007C0FFFFFFC0FFFFFFC0FF+ −
FFFFC0FFFFFF801A247EA31F>76 D<0FFE00003FFF80007FFFE0007FFFF0007E03F8007E+ −
01FC003C00FC0000007C000007FC0000FFFC0007FFFC001FFFFC003FFC7C007F807C00FE+ −
007C00FC007C00F8007C00F8007C00FC00FC00FC00FC007F07FC003FFFFFC01FFFFFE00F+ −
FFBFE003FC0FC01B197D981F>97 D<7C7C1F00FFFE7F80FFFFFFC07FFFFFE01FCFF3E01F+ −
87E1E01F07C1E01F07C1E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E+ −
0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E07F87E1F8FFCFF3FCFF+ −
CFF3FC7F87E1F81E1980981F>109 D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fd cmtt8 6 7+ −
/Fd 7 115 df<007C00007C0000FE0000FE0000FE0000EE0000EE0001EF0001EF0001EF+ −
0001C70001C70003C78003C78003C78003C7800783C00783C00783C00783C007FFC00FFF+ −
E00FFFE00FFFE00F01E00F01E01E00F07F83FCFFC7FEFFC7FE7F83FC171F7F9E1A>65+ −
D<7FF000FFF800FFF8007FF0000F00000F00000F00000F00000F00000F00000F00000F00+ −
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F003C0F003C0F00+ −
3C0F003C0F003C7FFFFCFFFFFCFFFFFC7FFFFC161E7F9D1A>76 D<FF83FEFF83FEFF83FE+ −
FF83FE1E00F01E00F01E00F00F01E00F01E00F01E00F01E00F83E00783C00783C00783C0+ −
0783C003C78003C78003C78003C78001C70001EF0001EF0001EF0001EF0000EE0000FE00+ −
00FE0000FE00007C00007C00171F7F9D1A>86 D<0FF8001FFF003FFF803FFFC03E0FE01C+ −
03E00001E000FFE007FFE01FFFE07FF1E07E01E0F801E0F001E0F001E0F803E0FC0FE07F+ −
FFFE3FFFFE1FFCFE07F07E17157E941A>97 D<7CF87C00FFFDFE00FFFFFE007FFFFF001F+ −
1F8F001E0F07001E0F07001C0E07001C0E07001C0E07001C0E07001C0E07001C0E07001C+ −
0E07001C0E07001C0E07001C0E07007F1F8FC0FFBFDFE0FFBFDFE07F1F8FC01B1581941A+ −
>109 D<7F1FC0FF7FE0FFFFF07FFFF80FE0FC0F807C0F003C0F003E0F001E0F001E0F00+ −
1E0F001E0F001E0F803E0F803C0FC07C0FE1F80FFFF80FFFF00F7FE00F1F800F00000F00+ −
000F00000F00000F00000F00000F00007FE000FFF000FFF0007FE000172080941A>112+ −
D<7FC3F8FFCFFCFFDFFE7FFFFE03FE3E03F81C03F00003E00003E00003C00003C00003C0+ −
0003C00003C00003C00003C00003C0007FFF80FFFF80FFFF807FFF8017157F941A>114+ −
D E+ −
%EndDVIPSBitmapFont+ −
/Fe 169[46 1[39 4[46 46 4[21 3[39 69[{TeXBase1Encoding ReEncodeFont}6+ −
63.0966 /Times-Roman rf /Ff 133[26 29 29 44 29 33 18+ −
26 26 33 33 33 33 48 18 29 1[18 33 33 18 29 33 29 33+ −
33 9[55 41 48 37 33 41 1[41 48 44 55 37 44 29 22 48 48+ −
41 41 48 44 41 41 6[22 33 33 33 33 33 1[33 33 33 33 1[17+ −
22 3[22 22 37[33 2[{TeXBase1Encoding ReEncodeFont}62+ −
66.4176 /Times-Italic rf+ −
%DVIPSBitmapFont: Fg cmti8 8 8+ −
/Fg 8 118 df<0000003FF800000001FFFE00000003F00F8000000FC003C000001F0003+ −
C000001F000FC000003E000FC000003E000FC000007E000FC000007C00070000007C0000+ −
0000007C0000000000FC0000000000F80000000000F80000000000F80000000000F80000+ −
000000F8000000007FFFFFFE00007FFFFFFE000001F0007E000001F0007C000001F0007C+ −
000003F0007C000003E000FC000003E000F8000003E000F8000003E000F8000007E001F8+ −
000007C001F0000007C001F0000007C001F0000007C003F000000FC003E000000F8003E0+ −
00000F8003E000000F8007E180000F8007C380001F8007C380001F8007C380001F0007C3+ −
80001F0007C780001F00078700003F00078700003E00078E00003E0003DE00003E0001FC+ −
00003E0000F800007E00000000007C00000000007C00000000007C0000000038F8000000+ −
00FCF800000000FCF800000000FCF000000000FDF000000000F1E000000000F3C0000000+ −
007F80000000001E00000000002A3D81AE28>12 D<0003F800000FFE00003E0F0000F807+ −
0001F0038003E0038007C003800FC007801F8007001F800F003F001E003F003C007F03F8+ −
007FFFE0007FFE00007E000000FE000000FC000000FC000000FC000000FC0000007C0000+ −
007C0001807C0003C07C0007803E000F003E001E001F007C000F83F00003FFC00000FE00+ −
001A1F799D21>101 D<000E00001F00003F80003F80001F00000E000000000000000000+ −
0000000000000000000000000000000000000003E0000FF0001E78001C7C00387C00787C+ −
00707C0070FC00F0F800E0F800E1F800C1F00001F00003F00003E00007E00007C00007C0+ −
000FC0000F83000F87001F87001F07001F0F003F0E003E0E001E1C001E3C001E38000FF0+ −
0003C000112E7AAC16>105 D<07801FC0001FE07FF0003DF1E0F80038F3C0780078FF00+ −
7C0070FE007C0070FE007C00F1FC007C00E1F8007C00E1F8007C00E1F0007C00C3F000FC+ −
0003F000F80003E000F80003E000F80007E001F80007E001F00007C001F00007C003F000+ −
0FC003E0C00FC003E1C00F8007E1C00F8007C1C01F8007C3C01F800FC3801F000F83801F+ −
000787003F000787003F00078E003E0003FC001C0000F000221F7A9D28>110+ −
D<003C01F00000FF07FC0001E79E1E0001C7BC0F0003C7F80F800387F007800387E007C0+ −
078FC007C0070FC007C0070F8007C0070F8007C0061F800FC0001F800FC0001F000FC000+ −
1F000FC0003F001FC0003F001F80003E001F80003E001F80007E003F00007E003F00007C+ −
003E00007C007E0000FC007C0000FC00F80000FE01F80000FE01F00001FF03E00001FF0F+ −
800001F3FE000001F0F8000003F000000003F000000003E000000003E000000007E00000+ −
0007E000000007C000000007C00000000FC00000000FC0000000FFFC000000FFFC000000+ −
222B7F9D24>112 D<000FC0007FF000F03C01E01C03C01E07801E07803E07803E0F803C+ −
0F80180FC0000FF8000FFF0007FFC003FFE001FFF0007FF00007F00003F00001F07800F0+ −
FC00F0FC00F0FC01F0F801E0E001E0E003C0F00780781F001FFC0007F000171F7A9D1D>+ −
115 D<001C00003E00003E00007E00007E00007C00007C0000FC0000FC0000F80000F800+ −
01F80001F800FFFFE0FFFFE003F00003F00003E00003E00007E00007E00007C00007C000+ −
0FC0000FC0000F80000F80001F80001F80001F00001F00003F00C03F01C03E01C03E03C0+ −
3E03803E07803C07003C0E003C1E001E3C000FF00007C000132B7AA918>I<03C000000F+ −
F000381E78007C1C7C00FC387C00F8787C00F8707C00F870FC01F8F0F801F0E0F801F0E1+ −
F801F0C1F003F001F003E003F003E003E003E003E007E007E007C007C007C007C007C007+ −
C00FC30FC00F870F800F870F800F870F801F870F801F8F07803F0E07807F0E07C07F1C03+ −
E1E7BC01FF83F8007E01E0201F7A9D26>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fh msbm9 9 1+ −
/Fh 1 64 df<000007FC0000C000007FFFC003E00001FFFFF007E00003FFFFF80FC0000F+ −
FC07FE1F80001FC0007F3F00003F00001FFE00007E00000FFC0000FC000007F00001F800+ −
0007F00003F000000FF80003E000001FF80007C000007F7C0007C00000FE7C0007800001+ −
F83C000F800003F03E000F800007E03E000F00000FC01E000F00003F801E000F00007F00+ −
1E000F0000FC001E000F0001F8001F000F0003F0001F000F0007E0001E000F001FC0001E+ −
000F003F80001E000F007E00001E000F80FC00003E000F81F800003E000783F000003C00+ −
07CFE000007C0007DFC000007C0003FF000000F80003FE000001F80001FC000003F00001+ −
FC000007E00007FE00000FC0000FFF00001F80001F9FC0007F00003F0FFC07FE00007E03+ −
FFFFF80000FC01FFFFF00000F8007FFFC00000600007FC000000332C7CAB3C>63+ −
D E+ −
%EndDVIPSBitmapFont+ −
/Fi 153[16 26 29 100[{TeXBase1Encoding ReEncodeFont}3+ −
58.1154 /Times-Italic rf+ −
%DVIPSBitmapFont: Fj cmr5 5 3+ −
/Fj 3 52 df<00600001E0000FE000FFE000F1E00001E00001E00001E00001E00001E000+ −
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000+ −
01E00001E00001E00001E0007FFF807FFF80111C7B9B1C>49 D<03FC000FFF003C0FC070+ −
03E07801F0FC00F0FC00F8FC00F8FC00787800780000F80000F00000F00001E00003C000+ −
0780000F00001C0000380000E00001C0180380180600180C00383FFFF07FFFF0FFFFF0FF+ −
FFF0151C7D9B1C>I<01FC000FFF801E07C03001E07C01F07C00F07E00F07C01F03801E0+ −
0003E00007C0001F8003FE0003FC000007800003C00001E00000F00000F83000F87800F8+ −
FC00F8FC00F8FC00F07801F07003E03C07C00FFF0003FC00151D7D9B1C>I+ −
E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fk cmti9 9 20+ −
/Fk 20 118 df<00000003FF800000001FFFF00000003F00F8000000F8003C000001F000+ −
3E000003E0007E000003E000FE000007C000FE000007C000FC000007C0003800000F8000+ −
0000000F80000000000F80000000001F80000000001F00000000001F00000000001F0000+ −
0000001F00000000001F00000000003F00000000003E000000001FFFFFFFE0001FFFFFFF+ −
E0001FFFFFFFC000007E0007C000007C0007C000007C000FC000007C000F8000007C000F+ −
800000FC000F800000F8001F800000F8001F000000F8001F000000F8001F000001F8003F+ −
000001F0003E000001F0003E000001F0003E000001F0007E000003F0007C000003E0007C+ −
000003E0007C180003E000FC1C0003E000F83C0007E000F8380007C000F8380007C000F8+ −
780007C000F8700007C000F070000FC000F0F0000F8000F8E0000F800079E0000F80003F+ −
C0001F80000F00001F80000000001F00000000001F00000000001F00000000003E000000+ −
00003E00000000383E000000007E3C000000007E7C00000000FE7800000000FC78000000+ −
00F8F00000000079E0000000003FC0000000000F00000000002F4582B42B>12+ −
D<000000001C00000000003C00000000003C00000000007C0000000000FC0000000000FC+ −
0000000001FC0000000001FE0000000003FE0000000003FE00000000077E000000000F7E+ −
000000000E7E000000001C7E000000001C7E00000000387E00000000387E00000000707E+ −
00000000F07E00000000E07E00000001C07E00000001C07E00000003807F00000003803F+ −
00000007003F00000007003F0000000E003F0000001E003F0000001C003F00000038003F+ −
00000038003F00000070003F00000070003F000000E0003F000001FFFFFF000001FFFFFF+ −
000003FFFFFF00000380003F00000700001F80000700001F80000E00001F80001E00001F+ −
80001C00001F80003C00001F80003800001F80007000001F8000F000001F8000E000001F+ −
8001E000001F8003E000001F800FF000003FC0FFFE0007FFFEFFFE0007FFFEFFFE0007FF+ −
FE2F367BB539>65 D<0007FFFFC000000FFFFFC000000FFFFFC00000003FC0000000003F+ −
80000000003F80000000003F00000000003F00000000007F00000000007F00000000007E+ −
00000000007E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC+ −
0000000001FC0000000001F80000000001F80000000003F80000000003F80000000003F0+ −
0000000003F00000000007F00000000007F00000000007E00000000007E0000000000FE0+ −
000000000FE0000000000FC0000000000FC00000E0001FC00001E0001FC00001C0001F80+ −
0001C0001F800003C0003F80000380003F80000780003F00000780003F00000F00007F00+ −
000F00007F00001F00007E00003E00007E00003E0000FE00007C0000FE0001FC0000FC00+ −
03FC0001FC001FF8007FFFFFFFF800FFFFFFFFF800FFFFFFFFF0002B337CB230>76+ −
D<0007FFC00000007FFC000FFFC0000000FFFC000FFFE0000000FFFC00003FE0000001FF+ −
0000003FE0000001FE0000003FE0000003FE0000003BE00000077C0000003BE00000077C+ −
0000007BE000000EFC0000007BE000000EF800000073E000001CF800000073E0000038F8+ −
000000F1F0000039F8000000F1F0000071F0000000E1F0000071F0000000E1F00000E1F0+ −
000001E1F00001C3F0000001E1F00001C3E0000001C1F0000383E0000001C1F0000703E0+ −
000003C1F0000707E0000003C1F0000E07C000000380F8000E07C000000380F8001C07C0+ −
00000780F800380FC000000780F800380F8000000700F800700F8000000700F800700F80+ −
00000F00F800E01F8000000F00F801C01F0000000E00F801C01F0000000E00F803801F00+ −
00001E007C03803F0000001E007C07003E0000001C007C0E003E0000001C007C0E003E00+ −
00003C007C1C007E0000003C007C1C007C00000038007C38007C00000038007C70007C00+ −
000078007C7000FC00000078003EE000F800000070003EE000F800000070003FC000F800+ −
0000F0003F8001F8000000F0003F8001F0000001F0003F0001F0000007F8003F0003F000+ −
007FFF803E00FFFFC000FFFF803C01FFFFC000FFFF801C01FFFFC00046337BB245>I<00+ −
07FF80003FFFC0000FFFC0007FFFC0000FFFC0007FFFC000001FC00003F80000003FE000+ −
01F00000003FE00001E00000003FE00001C00000003BF00001C00000007BF00003C00000+ −
007BF000038000000071F800038000000071F8000380000000F1F8000780000000F0FC00+ −
0700000000E0FC000700000000E0FC000700000001E07E000F00000001E07E000E000000+ −
01C07E000E00000001C03F000E00000003C03F001E00000003C03F801C00000003801F80+ −
1C00000003801F801C00000007801FC03C00000007800FC03800000007000FC038000000+ −
07000FE0380000000F0007E0780000000F0007E0700000000E0007F0700000000E0003F0+ −
700000001E0003F0F00000001E0003F8E00000001C0001F8E00000001C0001F8E0000000+ −
3C0001FDE00000003C0000FDC0000000380000FDC0000000380000FFC00000007800007F+ −
C00000007800007F800000007000003F800000007000003F80000000F000003F80000000+ −
F000001F00000001F000001F00000007F800001F0000007FFF80000F000000FFFF80000E+ −
000000FFFF80000E0000003A337BB239>I<0007FFFFFE0000000FFFFFFFC000000FFFFF+ −
FFF00000003F8007F80000003F8001FC0000003F80007E0000003F00007F0000003F0000+ −
3F0000007F00003F0000007F00003F8000007E00003F8000007E00003F800000FE00003F+ −
800000FE00007F000000FC00007F000000FC00007F000001FC0000FE000001FC0000FC00+ −
0001F80001FC000001F80001F8000003F80003F0000003F8000FC0000003F0001F800000+ −
03F000FE00000007FFFFF000000007FFFFC000000007E003E000000007E001F80000000F+ −
E000FC0000000FE0007C0000000FC0007E0000000FC0007E0000001FC0007E0000001FC0+ −
007E0000001F80007E0000001F80007E0000003F8000FE0000003F8000FE0000003F0000+ −
FE0000003F0000FE0000007F0001FE0000007F0001FC0000007E0001FC0000007E0001FC+ −
01C000FE0001FC03C000FE0001FC038000FC0001FC038001FC0001FC07807FFFF000FC07+ −
00FFFFF000FE0E00FFFFF0007E1C00000000001FF8000000000007E00032357BB238>82+ −
D<000001FC018000000FFF038000003FFFC78000007E07EF800001F801FF000003F000FF+ −
000003E0007F000007C0007F00000F80003E00001F80003E00001F00003E00003F00003E+ −
00003E00003C00003E00003C00003E00003C00007E00003C00007E00003800007E000038+ −
00007E00000000007F00000000007F00000000003F80000000003FE0000000003FFE0000+ −
00001FFFC00000000FFFF800000007FFFC00000001FFFE000000007FFF000000000FFF80+ −
00000000FF80000000003F80000000001FC0000000000FC0000000000FC0000000000FC0+ −
000000000FC0000E00000FC0000E00000FC0001E00000F80001C00000F80001C00000F80+ −
001C00001F80003C00001F00003C00001F00003E00003E00003E00007C00007E00007C00+ −
007F0000F800007F8001F000007FC007E00000F3F80FC00000F0FFFF000000E03FFC0000+ −
00C00FF000000029377AB42B>I<FFFFC0003FFF80FFFFC0003FFF80FFFFC0003FFF8007+ −
F8000007F80007F0000003E00007F0000003C00003F0000007800003F0000007000003F0+ −
00000F000003F000000E000003F000001C000003F000001C000003F0000038000003F000+ −
0078000003F0000070000003F00000E0000003F80000E0000001F80001C0000001F80003+ −
C0000001F8000380000001F8000700000001F8000700000001F8000E00000001F8001E00+ −
000001F8001C00000001F8003800000001FC003800000001FC007000000000FC00F00000+ −
0000FC00E000000000FC01C000000000FC01C000000000FC038000000000FC0380000000+ −
00FC070000000000FC0E0000000000FC0E0000000000FE1C00000000007E1C0000000000+ −
7E3800000000007E7800000000007E7000000000007EE000000000007EE000000000007F+ −
C000000000007FC000000000007F8000000000007F0000000000007F0000000000003E00+ −
00000000003E0000000000003C000000000000380000000000313570B239>86+ −
D<0000FC000007FF00001F0780003E03C000FC01C001F803C003F007C007E00FC007C00F+ −
C00FC00FC01F8007001F8000003F0000003F0000003F0000007F0000007E0000007E0000+ −
007E000000FE000000FC000000FC000000FC000000FC0000007C0000C07C0001E07C0001+ −
E07C0003C03E000F803E001F001F007C000F81F00003FFC00000FE00001B2278A023>99+ −
D<0003F800000FFE00003E0F0000F8078001F0038003E0038007C003800FC003801F8003+ −
801F8007803F0007003F000F007E003E007E03F8007FFFE000FFFE0000FC000000FC0000+ −
00FC000000FC000000F8000000F8000000F8000000F8000000F8000180F80003C0F80003+ −
C07C0007807C001F003C003E001E00F8000F03E00007FF800001FC00001A2277A023>+ −
101 D<0000001F000000007FC0000000F0E0000001F0F0000003E3F0000003E3F0000007+ −
C3F0000007C3E0000007C1C000000FC00000000F800000000F800000000F800000000F80+ −
0000001F800000001F000000001F000000001F000000001F000000003F000000003E0000+ −
001FFFFE00001FFFFE00001FFFFE0000007E000000007C000000007C000000007C000000+ −
007C00000000FC00000000F800000000F800000000F800000000F800000000F800000001+ −
F800000001F000000001F000000001F000000001F000000003F000000003E000000003E0+ −
00000003E000000003E000000007E000000007C000000007C000000007C00000000FC000+ −
00000FC00000000F800000000F800000000F800000001F800000001F000000001F000000+ −
001F000000003F000000003E000000383E0000007E3C0000007E3C000000FE78000000FC+ −
78000000F8F000000078E00000003FC00000000F00000000244582B418>I<0001800007+ −
E00007E0000FE00007C00003800000000000000000000000000000000000000000000000+ −
0000000000000000000001F00003FC000F1E000E1E001C1E003C1E00381E00783E00703E+ −
00703E00707E00F07C0060FC0000F80000F80001F80001F00001F00003F00003E00003E0+ −
0007E0C007C1E00FC1C00F81C00F81C00F83C00F03800F07800F07000F0E000F1E0007F8+ −
0001F00013337AB118>105 D<03C003F8007F00000FF00FFE01FFC0001E783C1F07C1E0+ −
001C7CF00F8F01F0003C3DE0079E00F000383FC007FC00F800387F8007F800F800707F00+ −
07F000F800707F0007E000F800707E0007E000F800F0FC000FC001F800E0FC000FC001F0+ −
0060F8000F8001F00000F8000F8001F00001F8001F8003F00001F8001F8003E00001F000+ −
1F0003E00001F0001F0003E00003F0003F0007E00003F0003F0007C00003E0003E000FC0+ −
0003E0003E000F818007E0007E000F83C007E0007E001F838007C0007C001F038007C000+ −
7C001F03800FC000FC001F07800FC000FC003E07000F8000F8003E0F000F8000F8001E0E+ −
001F8001F8001E1C001F8001F8001E3C001F0001F0000FF0000E0000E00003E0003A227A+ −
A03F>109 D<03C007F0000FF01FFC001E787C1E001C7CF01F003C3DE00F00383FC00F80+ −
387F800F80787F000F80707E000F80707E000F80F0FC001F80E0FC001F0060F8001F0000+ −
F8001F0001F8003F0001F8003E0001F0003E0001F0003E0003F0007E0003F0007C0003E0+ −
00FC0003E000F81807E000F83C07E001F83807C001F03807C001F0380FC001F0780FC001+ −
E0700F8001E0F00F8001E0E01F8001E1C01F8001E3C01F0000FF000E00003E0026227AA0+ −
2B>I<0000FC000007FF00001F07C0003E03E000FC01F001F801F003F000F807E000F807+ −
C000F80FC000F81F8000FC1F8000FC3F0000FC3F0000FC3F0001FC7F0001F87E0001F87E+ −
0001F87E0003F8FE0003F0FC0003F0FC0003F0FC0007E0FC0007E07C000FC07C000F807C+ −
001F807C003F003E007E003E00FC001F01F0000F83E00003FF800000FC00001E2278A027+ −
>I<001E007C00007F81FF0000F3C387C000E3EF03E001E1FE01E001C1FC01F001C3F801+ −
F003C3F001F00383F001F80383E001F80787E001F80707E001F80307C001F80007C001F8+ −
000FC003F8000FC003F0000F8003F0000F8003F0001F8007F0001F8007E0001F0007E000+ −
1F0007E0003F000FC0003F000FC0003E001F80003E001F80007E003F00007F003E00007F+ −
007C00007F00F80000FF81F00000FDC3E00000F8FF800000F87E000001F800000001F800+ −
000001F000000001F000000003F000000003F000000003E000000003E000000007E00000+ −
0007E000000007C0000000FFFF000000FFFF000000FFFF00000025307FA027>I<03C00F+ −
C00FF03FF01E78F0781C7DE03C3C3FC0FC383F80FC387F00FC787F00F8707E0070707E00+ −
00F0FC0000E0FC000060F8000000F8000001F8000001F8000001F0000001F0000003F000+ −
0003F0000003E0000003E0000007E0000007E0000007C0000007C000000FC000000FC000+ −
000F8000000F8000001F8000001F8000001F0000000E0000001E227AA020>114+ −
D<0003F0001FFC003C1E00780F00F00701E00701E00F03E01F03C01F03C01F03E00403E0+ −
0003F00003FF8003FFE001FFF000FFF8007FFC0007FC0000FE00007E00003E38003EFC00+ −
3CFC003CFC003CFC007CF00078E000F0F001F07803E03C0F801FFE0003F80018227AA01F+ −
>I<000300000F80000F80000F80001F80001F80001F00001F00003F00003F00003E0000+ −
3E00007E00007E00007C007FFFF87FFFF8FFFFF800F80000F80001F80001F80001F00001+ −
F00003F00003F00003E00003E00007E00007E00007C00007C0000FC0000FC0000F80000F+ −
80601F80F01F80E01F00E01F01E01F01C01F03C01E03801E07001E0F000F1E0007F80001+ −
E00015307AAE19>I<01F000000003FC0007000F1E000F000E1E001F001C1E001F003C1E+ −
001F00381E003F00783E003E00703E003E00703E003E00707E007E00F07C007C0060FC00+ −
7C0000F8007C0000F800FC0001F800F80001F000F80001F000F80001F001F80003F001F0+ −
0003E001F00003E001F06003E003F07003E003E0F007C003E0E007C003E0E003C007E1E0+ −
03C007E1C003E00FC1C003E01FC3C001E03FE38001F071E780007FE0FF00001F803C0024+ −
227AA029>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fl cmsy7 7 5+ −
/Fl 5 49 df<FFFFFFFFFEFFFFFFFFFEFFFFFFFFFE27037A8F34>0+ −
D<00380000380000380000380000380060380CF8383EFC387EFE38FE3FBBF807FFC001FF+ −
00007C0001FF0007FFC03FBBF8FE38FEFC387EF8383E60380C0038000038000038000038+ −
0000380017197B9A22>3 D<01FE0000006007FF800000600FFFE00000601FFFF0000060+ −
3F03F80000E03C00FE0000E078003F0001C070001F8003C0E0000FE00780E00003F81F80+ −
C00001FFFF00C00000FFFE00C000003FFC00C000000FF000000000000000000000000000+ −
01FE0000006007FF800000600FFFE00000601FFFF00000603F03F80000E03C00FE0000E0+ −
78003F0001C070001F8003C0E0000FE00780E00003F81F80C00001FFFF00C00000FFFE00+ −
C000003FFC00C000000FF0002B1E7C9D34>25 D<00000000380000000000000038000000+ −
000000003C000000000000001C000000000000001E000000000000000F00000000000000+ −
0700000000000000078000000000000003C00000FFFFFFFFFFE00000FFFFFFFFFFF80000+ −
FFFFFFFFFFFC000000000000001E000000000000000F8000000000000007E00000000000+ −
0001FC000000000000007F800000000000003F80000000000000FC00000000000003F000+ −
000000000007C00000000000001F000000000000003E0000FFFFFFFFFFF80000FFFFFFFF+ −
FFF00000FFFFFFFFFFE000000000000003C0000000000000078000000000000007000000+ −
000000000F000000000000001E000000000000001C000000000000003C00000000000000+ −
38000000000000003800000039237C9F42>41 D<00E001F003F803F803F807F007F007F0+ −
07E007E00FE00FC00FC00FC01F801F801F001F003F003E003E003E007C007C007C007800+ −
F800F800F00010000D1E7D9F13>48 D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fm cmex9 9 3+ −
/Fm 3 61 df<00000F8000003F8000007F800001FF800003FF800007FF00000FFC00001F+ −
F800003FF000007FE00000FFC00001FF800001FF800003FF000007FE000007FE00000FFC+ −
00000FFC00001FF800001FF800003FF000003FF000003FF000007FE000007FE000007FE0+ −
00007FE00000FFE00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0+ −
0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0+ −
0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0+ −
0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0+ −
0000FFC00000FFC00000FFC00000FFC00000FFC000001943637E44>56+ −
D<FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000+ −
00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000+ −
00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000+ −
00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000+ −
00FFC00000FFC00000FFC00000FFE000007FE000007FE000007FE000007FE000003FF000+ −
003FF000003FF000001FF800001FF800000FFC00000FFC000007FE000007FE000003FF00+ −
0001FF800001FF800000FFC000007FE000003FF000001FF800000FFC000007FF000003FF+ −
800001FF8000007F8000003F8000000F801943638044>58 D<0000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00001FFC00001FF800001FF800001FF800001FF800003FF000003FF000003FF000003FE+ −
000007FE000007FE00000FFC00000FFC00001FF800001FF000003FF000003FE000007FE0+ −
00007FC00000FF800001FF000003FE000007FC00000FF800001FF000003FE000007FC000+ −
00FF000000FE000000FE000000FF0000007FC000003FE000001FF000000FF8000007FC00+ −
0003FE000001FF000000FF8000007FC000007FE000003FE000003FF000001FF000001FF8+ −
00000FFC00000FFC000007FE000007FE000003FE000003FF000003FF000003FF000001FF+ −
800001FF800001FF800001FF800001FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF+ −
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC01A88738044>60+ −
D E+ −
%EndDVIPSBitmapFont+ −
/Fn 153[19 26 29 100[{TeXBase1Encoding ReEncodeFont}3+ −
58.1154 /Times-Roman rf+ −
%DVIPSBitmapFont: Fo cmbsy10 14.4 1+ −
/Fo 1 2 df<03F8000FFE001FFF003FFF807FFFC07FFFC0FFFFE0FFFFE0FFFFE0FFFFE0+ −
FFFFE0FFFFE0FFFFE07FFFC07FFFC03FFF801FFF000FFE0003F800131377A726>1+ −
D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fp cmmi7 7 8+ −
/Fp 8 122 df<000FE00000003FF8000000F83E000001E01F006003C00F80C007800780+ −
C00F0007C0C01E0007C1803E0007C1803C0007E3007C0003E3007C0003E600F80003E600+ −
F80003EC00F80003EC00F80003F800F00003F000F00003E000F00003E000F00003E000F0+ −
0003E00078000FE00078001DE0C03C0079F1801E03E0F3800FFF807F0003FC003C00231B+ −
7C992B>11 D<01FFFFFF8007FFFFFFC00FFFFFFF801FFFFFFF003C0C060000700C060000+ −
C00C060000C01C0E000000180E000000180E000000380E000000380E000000701E000000+ −
701E000000701E000000F01E000000E01E000001E01E000001E01F000003E01F000003C0+ −
1F000007C01F800007C01F80000F800F80000F800F80000700070000221A7D9827>25+ −
D<000001800000038000000780000007000000070000000F0000000E0000001E0000001C+ −
0000001C0000003C00000038000000780000007000000070000000F0000000E0000000E0+ −
000001E0000001C0000003C00000038000000380000007800000070000000F0000000E00+ −
00000E0000001E0000001C0000003C00000038000000380000007800000070000000F000+ −
0000E0000000E0000001E0000001C0000003C00000038000000380000007800000070000+ −
00070000000F0000000E0000001E0000001C0000001C0000003C00000038000000780000+ −
007000000070000000F0000000E0000000E0000000193B7CAB22>61+ −
D<000003E000000FF000001E3800003C3C00003C7C00007CFC000078FC0000F8F80000F8+ −
700000F8000000F8000001F0000001F0000001F0000001F0000001F00000FFFFE000FFFF+ −
E00003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C0000007C0+ −
00000F8000000F8000000F8000000F8000000F8000000F8000001F0000001F0000001F00+ −
00001F0000001F0000003E0000003E0000003E0000003E0000003C0000007C00003C7C00+ −
007C7800007E780000FC700000FCF0000078E0000071C000003F8000001E0000001E357C+ −
A820>102 D<07801FC0000FE07FF00018F0E0F80030F1807C0030FB007C0060FE003C00+ −
60FC003C0060F8003C00C1F8007C00C1F0007C0001F0007C0001F0007C0003E000F80003+ −
E000F80003E000F80003E001F00007C001F00007C001F06007C003E06007C003E0600F80+ −
07C0C00F8007C0C00F8007C1800F8003C3001F0003C7001F0001FE000E0000F800231B7D+ −
9929>110 D<000FE0007FF800F03C01C00E03C01E07803E07803E07803C0F80180FE000+ −
07FF0007FFC003FFE001FFF000FFF80007F80001F83C00F87E00787E0078FC00F0F800F0+ −
7001E07003C03C0F801FFE0007F800171B7C991F>115 D<001C00003E00003E00007C00+ −
007C00007C00007C0000F80000F80000F80000F80001F000FFFFE0FFFFE001F00003E000+ −
03E00003E00003E00007C00007C00007C00007C0000F80000F80000F80000F80001F0000+ −
1F00601F00601F00C03E00C03E01803E03001E06001F1C000FF80003E00013267EA419>+ −
I<03E0000007F000700C7800F8187C00F8307C01F0307C01F0607C01F060F801F0C0F803+ −
E0C0F803E001F003E001F003E001F007C003E007C003E007C003E007C007C00F8007C00F+ −
8007C00F8007C00F8007C01F0007C01F0007C03F0003C07F0001E0FE0000FFBE00003F3E+ −
0000003E0000007C001E007C003F00F8003F00F0007E01E0003C03C000300780001C1F00+ −
000FFC000007F000001D267D9922>121 D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fq cmr7 7 5+ −
/Fq 5 52 df<0006000C00180030006000E001C00380038007000F000E001E001E001C00+ −
3C003C003C0078007800780078007800F800F000F000F000F000F000F000F000F000F000+ −
F000F000F800780078007800780078003C003C003C001C001E001E000E000F0007000380+ −
038001C000E0006000300018000C00060F3B7AAB1A>40 D<C0006000300018000C000E00+ −
07000380038001C001E000E000F000F00070007800780078003C003C003C003C003C003E+ −
001E001E001E001E001E001E001E001E001E001E001E003E003C003C003C003C003C0078+ −
00780078007000F000F000E001E001C00380038007000E000C00180030006000C0000F3B+ −
7DAB1A>I<00380000780001F8001FF800FEF800E0F80000F80000F80000F80000F80000+ −
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000+ −
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000+ −
F80001FC00FFFFF8FFFFF815267BA521>49 D<00FF000003FFE0000E03F0001800F80030+ −
007C0060007E0078003F00FC003F00FE001F80FE001F80FE001F80FE001F807C001F8000+ −
001F8000001F0000003F0000003E0000007E0000007C000000F8000001F0000003E00000+ −
03C00000078000000E0000001C0000003800000070018000E00180018001800300030006+ −
0003000C0003001FFFFF003FFFFF007FFFFE00FFFFFE00FFFFFE0019267DA521>I<00FF+ −
000003FFE0000F01F8001C007C0030007E003C003E007E003F007E003F007E003F007E00+ −
3F003C003F0000003E0000007E0000007C000000F8000001F0000007E00001FF800001FF+ −
00000001E0000000F00000007C0000003E0000003F0000001F0000001F8000001F803800+ −
1F807C001F80FE001F80FE001F80FE001F00FC003F0078003E0070007C003800F8001F01+ −
F00007FFC00000FF000019277DA521>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fr cmr9 9 10+ −
/Fr 10 94 df<3C7EFFFFFFFFFFFFFFFF7E7E7E7E7E7E7E7E7E7E7E3E3C3C3C3C3C3C3C+ −
3C3C3C3C181818181818000000000000003C7EFFFFFFFF7E3C08367AB515>33+ −
D<3C00F07E01F8FF03FCFF03FCFF83FEFF83FE7F81FE3D80F60180060180060180060180+ −
0603800E03000C03000C07001C0600180E00380C00301C00703800E07001C06001801717+ −
7EB326>I<0000003000180000000078003C0000000078003C00000000F8007C00000000+ −
F8007C00000000F0007800000000F0007800000000F0007800000001F000F800000001F0+ −
00F800000001E000F000000001E000F000000003E001F000000003E001F000000003C001+ −
E000000003C001E000000003C001E000000007C003E000000007C003E0000000078003C0+ −
000000078003C0000000078003C00000000F8007C0007FFFFFFFFFFFFCFFFFFFFFFFFFFE+ −
FFFFFFFFFFFFFE7FFFFFFFFFFFFC00003E001F000000003E001F000000003C001E000000+ −
003C001E000000003C001E000000007C003E000000007C003E0000000078003C00000000+ −
78003C0000000078003C00000000F8007C00000000F8007C00007FFFFFFFFFFFFCFFFFFF+ −
FFFFFFFEFFFFFFFFFFFFFE7FFFFFFFFFFFFC0003E001F000000003C001E000000003C001+ −
E000000007C003E000000007C003E0000000078003C0000000078003C00000000F8007C0+ −
0000000F8007C00000000F0007800000000F0007800000001F000F800000001F000F8000+ −
00001E000F000000001E000F000000003E001F000000003E001F000000003C001E000000+ −
003C001E000000007C003E000000007C003E0000000078003C0000000078003C00000000+ −
30001800000037437CB340>I<0000C00001C0000380000F00000E00001C00003C000078+ −
0000F00000F00001E00003C00003C00007C0000780000F80000F00001F00001F00001E00+ −
003E00003E00003E00003C00007C00007C00007C00007C00007C0000F80000F80000F800+ −
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800+ −
00F800007C00007C00007C00007C00007C00003C00003E00003E00003E00001E00001F00+ −
001F00000F00000F800007800007C00003C00003C00001E00000F00000F000007800003C+ −
00001C00000E00000F000003800001C00000C0124A79B71E>40 D<C00000E00000700000+ −
3C00001C00000E00000F000007800003C00003C00001E00000F00000F00000F800007800+ −
007C00003C00003E00003E00001E00001F00001F00001F00000F00000F80000F80000F80+ −
000F80000F800007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0+ −
0007C00007C00007C00007C00007C00007C0000F80000F80000F80000F80000F80000F00+ −
001F00001F00001F00001E00003E00003E00003C00007C0000780000F80000F00000F000+ −
01E00003C00003C0000780000F00000E00001C00003C0000700000E00000C00000124A7C+ −
B71E>I<3C7EFFFFFFFF7E3C000000000000000000000000000000003C7EFFFFFFFF7E3C+ −
08207A9F15>58 D<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE07FFFFFFFFFFFC0+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
0000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE07FFFFF+ −
FFFFFFC033147C9C3C>61 D<000007FC00000000007FFFC000000001F803F00000000780+ −
003C0000001E00000F0000003800000380000070000001C00000E0000000E00001C00000+ −
00700003800000003800070003F8001C000E001FFE000E000C007E078006001C00F801C0+ −
07001801F000E003003803F0007003803007E0003F01803007C0003F8180700FC0001F81+ −
C0601F80001F80C0601F80001F80C0E01F80001F80E0C03F80001F8060C03F00001F8060+ −
C03F00001F8060C03F00001F8060C03F00001F8060C03F00001F8060C03F00001F8060C0+ −
3F00001F8060C03F00001F8060C03F80001F8060E01F80001F8060601F80001F8060601F+ −
80001F8060700FC0001F80E03007C0003F80C03007E0003F80C03803F0007F80C01801F0+ −
00FF81C01C00F801CFC1800C007E0787C3800E001FFE03FF00070003F800FC0003800000+ −
00000001C0000000000000E00000000000007000000003E000380000000FE0001E000000+ −
7F800007800003FC000001F8007FE00000007FFFFE0000000007FF80000033367CB43C>+ −
64 D<FFF0FFF0FFF0FFF0F000F000F000F000F000F000F000F000F000F000F000F000F0+ −
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0+ −
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0+ −
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0+ −
00FFF0FFF0FFF0FFF00C4B79B715>91 D<FFF0FFF0FFF0FFF000F000F000F000F000F000+ −
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000+ −
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000+ −
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000+ −
F000F000F000F000F000F000F000F0FFF0FFF0FFF0FFF00C4B7FB715>93+ −
D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fs cmtt9 9 35+ −
/Fs 35 122 df<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A728927>46+ −
D<000000380000007C000000FC000000FC000001FC000001F8000003F8000003F0000007+ −
F0000007E000000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F+ −
0000007E000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0+ −
00000FE000000FC000000FC000001FC000001F8000003F8000003F0000007F0000007E00+ −
0000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F0000007E000+ −
000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E000000FE0000+ −
00FC000000FC000000F8000000780000001E3A7CB327>I<1E007F807F80FFC0FFC0FFC0+ −
FFC07F807F801E000000000000000000000000000000000000000000000000001E007F80+ −
7F80FFC0FFC0FFC0FFC07F807F801E000A20729F27>58 D<0003F000000007F800000007+ −
F80000000FFC0000000FFC0000000FFC0000000FFC0000000F3C0000001F3E0000001F3E+ −
0000001F3E0000001F3E0000001F3E0000003F3F0000003F3F0000003F3F0000003E1F00+ −
00003E1F0000007E1F8000007E1F8000007E1F8000007E1F800000FC0FC00000FC0FC000+ −
00FC0FC00000FC0FC00000FC0FC00001F807E00001F807E00001F807E00001FFFFE00001+ −
FFFFE00003FFFFF00003FFFFF00003FFFFF00003F003F00003F003F00007E001F80007E0+ −
01F80007E001F80007E001F8000FE001FC007FFC0FFF80FFFC0FFFC0FFFE1FFFC0FFFC0F+ −
FFC07FFC0FFF80222F7EAE27>65 D<7FFFFF0000FFFFFFC000FFFFFFE000FFFFFFF8007F+ −
FFFFF80007E003FC0007E000FE0007E0007E0007E0007F0007E0003F0007E0003F0007E0+ −
003F0007E0003F0007E0003F0007E0003F0007E0007E0007E0007E0007E000FC0007E003+ −
FC0007E00FF80007FFFFF00007FFFFC00007FFFFF00007FFFFF80007FFFFFC0007E000FE+ −
0007E0007F0007E0003F8007E0001F8007E0001F8007E0000FC007E0000FC007E0000FC0+ −
07E0000FC007E0000FC007E0000FC007E0001FC007E0001F8007E0003F8007E0007F0007+ −
E001FF007FFFFFFE00FFFFFFFC00FFFFFFF800FFFFFFE0007FFFFF8000222E7FAD27>I<+ −
7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFFC007E0000FC007E0000FC007+ −
E0000FC007E0000FC007E0000FC007E0000FC007E000078007E000000007E000000007E0+ −
00000007E000000007E007800007E00FC00007E00FC00007E00FC00007FFFFC00007FFFF+ −
C00007FFFFC00007FFFFC00007FFFFC00007E00FC00007E00FC00007E00FC00007E00780+ −
0007E000000007E000000007E000000007E000000007E00003C007E00007E007E00007E0+ −
07E00007E007E00007E007E00007E007E00007E007E00007E07FFFFFFFE0FFFFFFFFE0FF+ −
FFFFFFE0FFFFFFFFE07FFFFFFFC0232E7FAD27>69 D<7FFFFFFF80FFFFFFFFC0FFFFFFFF+ −
C0FFFFFFFFC07FFFFFFFC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0+ −
07E0000FC007E000078007E000000007E000000007E000000007E000000007E007800007+ −
E00FC00007E00FC00007E00FC00007FFFFC00007FFFFC00007FFFFC00007FFFFC00007FF+ −
FFC00007E00FC00007E00FC00007E00FC00007E007800007E000000007E000000007E000+ −
000007E000000007E000000007E000000007E000000007E000000007E000000007E00000+ −
0007E000000007E00000007FFF800000FFFFC00000FFFFC00000FFFFC000007FFF800000+ −
222E7EAD27>I<7FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE0001F8000001F800000+ −
1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000+ −
1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000+ −
1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000+ −
1F8000001F8000001F8000001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FF+ −
FFFFF0FFFFFFF07FFFFFE01C2E7BAD27>73 D<7FFFC000007FFFE00000FFFFE000007FFF+ −
E000007FFFC0000003F000000003F000000003F000000003F000000003F000000003F000+ −
000003F000000003F000000003F000000003F000000003F000000003F000000003F00000+ −
0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000+ −
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003+ −
F000000003F000078003F0000FC003F0000FC003F0000FC003F0000FC003F0000FC003F0+ −
000FC003F0000FC07FFFFFFFC07FFFFFFFC0FFFFFFFFC07FFFFFFFC07FFFFFFF80222E7F+ −
AD27>76 D<7FF003FFE0FFF807FFF0FFF807FFF0FFFC07FFF07FFC03FFE007FC003E0007+ −
DE003E0007DE003E0007DE003E0007CF003E0007CF003E0007CF003E0007CF803E0007C7+ −
803E0007C7C03E0007C7C03E0007C3C03E0007C3E03E0007C3E03E0007C1E03E0007C1F0+ −
3E0007C1F03E0007C1F03E0007C0F83E0007C0F83E0007C0F83E0007C0783E0007C07C3E+ −
0007C07C3E0007C03C3E0007C03E3E0007C03E3E0007C01E3E0007C01F3E0007C00F3E00+ −
07C00F3E0007C00F3E0007C007BE0007C007BE0007C007BE0007C003FE007FFC03FE00FF+ −
FE03FE00FFFE01FE00FFFE01FE007FFC00FC00242E7FAD27>78 D<7FFFFF0000FFFFFFE0+ −
00FFFFFFF000FFFFFFF8007FFFFFFC0007E003FE0007E000FF0007E0007F0007E0003F80+ −
07E0001F8007E0001FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007+ −
E0000FC007E0001FC007E0001F8007E0003F8007E0007F0007E000FF0007E003FE0007FF+ −
FFFC0007FFFFF80007FFFFF00007FFFFE00007FFFF000007E000000007E000000007E000+ −
000007E000000007E000000007E000000007E000000007E000000007E000000007E00000+ −
0007E000000007E000000007E00000007FFE000000FFFF000000FFFF000000FFFF000000+ −
7FFE000000222E7FAD27>80 D<007FC0E001FFF1F007FFFFF00FFFFFF01FFFFFF03FE0FF+ −
F03F801FF07F000FF07E0007F0FE0007F0FC0007F0FC0003F0FC0003F0FC0003F0FC0001+ −
E0FE0000007E0000007F0000003FC000003FF800001FFF80000FFFF80007FFFE0003FFFF+ −
8000FFFFC0000FFFE00000FFF000000FF0000007F8000003F8000001F8000001FC000000+ −
FC780000FCFC0000FCFC0000FCFC0000FCFC0000FCFE0001F8FE0001F8FF0003F8FF8007+ −
F0FFF01FE0FFFFFFE0FFFFFFC0FFFFFF00F8FFFE00701FF8001E307CAE27>83+ −
D<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FC03F00FC0FC03F00FC0+ −
FC03F00FC0FC03F00FC0FC03F00FC0FC03F00FC07803F007800003F000000003F0000000+ −
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003+ −
F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0+ −
00000003F000000003F000000003F000000003F000000003F000000003F000000003F000+ −
000003F000000003F000000003F000000003F000000003F0000000FFFFC00001FFFFE000+ −
01FFFFE00001FFFFE00000FFFFC000222E7EAD27>I<7FFC03FFE07FFE07FFE0FFFE07FF+ −
F07FFE07FFE07FFC03FFE007E0007E0007E0007E0007E0007E0007E0007E0003F000FC00+ −
03F000FC0003F000FC0003F000FC0003F801FC0001F801F80001F801F80001F801F80001+ −
F801F80000FC03F00000FC03F00000FC03F00000FC03F000007E07E000007E07E000007E+ −
07E000007E07E000007E07E000003F0FC000003F0FC000003F0FC000003F0FC000001F0F+ −
8000001F9F8000001F9F8000001F9F8000000F9F0000000F9F0000000F9F0000000F9F00+ −
00000F9F00000007FE00000007FE00000007FE00000007FE00000003FC00000003FC0000+ −
0001F80000242F7FAD27>86 D<03FFC000000FFFF000001FFFFC00003FFFFF00003FFFFF+ −
80003F80FF80003F801FC0001F000FC00004000FE000000007E000000007E000000FFFE0+ −
00007FFFE00003FFFFE0000FFFFFE0001FFFFFE0003FFC07E0007FC007E0007F0007E000+ −
FE0007E000FC0007E000FC0007E000FC0007E000FC0007E000FE000FE0007F001FE0007F+ −
C0FFE0003FFFFFFF801FFFFFFFC00FFFFFFFC003FFF1FFC000FF807F8022207C9F27>97+ −
D<7FE0000000FFF0000000FFF0000000FFF00000007FF000000003F000000003F0000000+ −
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003+ −
F0FF000003F3FFC00003FFFFF00003FFFFF80003FFFFFC0003FF81FE0003FE00FF0003FC+ −
003F8003F8001F8003F8001FC003F0000FC003F0000FC003F0000FE003F00007E003F000+ −
07E003F00007E003F00007E003F00007E003F00007E003F0000FE003F0000FC003F8000F+ −
C003F8001FC003FC003F8003FC007F8003FE00FF0003FF83FE0003FFFFFC0003FFFFF800+ −
03FFFFF00003F3FFC00001E0FE0000232E7FAD27>I<000FFF00007FFFC001FFFFE003FF+ −
FFF007FFFFF00FF807F01FE007F03FC003E03F8000807F0000007E0000007E000000FE00+ −
0000FC000000FC000000FC000000FC000000FC000000FC000000FE0000007E0000007E00+ −
00007F0000F03F8001F83FC001F81FE003F80FF80FF007FFFFF003FFFFE001FFFFC0007F+ −
FF00000FF8001D207B9F27>I<00003FF00000007FF80000007FF80000007FF80000003F+ −
F800000001F800000001F800000001F800000001F800000001F800000001F800000001F8+ −
00000001F800000001F800000FE1F800007FFDF80001FFFFF80003FFFFF80007FFFFF800+ −
0FF83FF8001FE00FF8003FC007F8003F8003F8007F0003F8007E0001F8007E0001F800FE+ −
0001F800FC0001F800FC0001F800FC0001F800FC0001F800FC0001F800FC0001F800FE00+ −
01F8007E0003F8007E0003F8007F0003F8003F0007F8003F800FF8001FE01FF8000FF03F+ −
F80007FFFFFFC003FFFFFFE001FFFDFFE0007FF9FFE0001FE0FFC0232E7EAD27>I<000F+ −
F800003FFE0000FFFF8003FFFFC007FFFFE00FFC0FF01FE003F81FC001F83F8001FC7F00+ −
00FC7E0000FC7E00007EFE00007EFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFCFC00+ −
0000FE0000007E0000007F0000003F00003C3F80007E1FC0007E1FF000FE0FFC07FC07FF+ −
FFFC01FFFFF800FFFFF0003FFFC00007FE001F207D9F27>I<00001FF00000FFF80001FF+ −
FC0003FFFE0007FFFE000FF0FE000FC0FE001FC07C001F8000001F8000001F8000001F80+ −
00001F8000001F80007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF0001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F80003FFFFFC07FFFFFE07FFFFFE07FFFFFE03FFFFFC01F2E7EAD27>I<+ −
0000003F00001FC0FF80007FF3FFC001FFFFFFE003FFFFFFE007FFFFEFE00FF07F87E01F+ −
C01FC3C01FC01FC0001F800FC0003F0007E0003F0007E0003F0007E0003F0007E0003F00+ −
07E0003F0007E0001F800FC0001FC01FC0001FC01FC0000FF07F80000FFFFF00000FFFFE+ −
00001FFFFC00001F7FF000001F1FC000001F000000001F000000001F800000000FFFFF00+ −
000FFFFFE0000FFFFFF8001FFFFFFE003FFFFFFF003F8001FF007E00003F807C00000F80+ −
FC00000FC0F8000007C0F8000007C0F8000007C0F8000007C0FC00000FC07C00000F807F+ −
00003F803F80007F003FF807FF001FFFFFFE0007FFFFF80003FFFFF00000FFFFC000000F+ −
FC000023337EA027>I<7FE0000000FFF0000000FFF0000000FFF00000007FF000000003+ −
F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0+ −
00000003F000000003F07F000003F1FFC00003F7FFF00003FFFFF00003FFFFF80003FFC1+ −
F80003FF01FC0003FE00FC0003FC00FC0003F800FC0003F800FC0003F000FC0003F000FC+ −
0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC00+ −
03F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC007F+ −
FF83FFE0FFFFC7FFF0FFFFC7FFF0FFFFC7FFF07FFF83FFE0242E7FAD27>I<000F000000+ −
1F8000003FC000003FC000003FC000003FC000001F8000000F0000000000000000000000+ −
000000000000000000000000000000000000003FFF80007FFFC0007FFFC0007FFFC0003F+ −
FFC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000+ −
0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000+ −
0FC000000FC000000FC000000FC000000FC0007FFFFFF0FFFFFFF0FFFFFFF8FFFFFFF07F+ −
FFFFF01D2F7BAE27>I<7FFF8000FFFFC000FFFFC000FFFFC0007FFFC000000FC000000F+ −
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F+ −
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F+ −
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F+ −
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FFFF+ −
FFFCFFFFFFFCFFFFFFFC7FFFFFF81E2E7CAD27>108 D<7F07C01F0000FF9FF07FC000FF+ −
FFF9FFE000FFFFFFFFF0007FFFFFFFF0000FFC7FF1F8000FF03FC0F8000FE03F80F8000F+ −
C03F00F8000FC03F00F8000FC03F00F8000F803E00F8000F803E00F8000F803E00F8000F+ −
803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F+ −
803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F+ −
803E00F8007FF0FFC3FF00FFF8FFE3FF80FFF9FFE7FF80FFF8FFE3FF807FF0FFC3FF0029+ −
20819F27>I<7FE07F0000FFF1FFC000FFF7FFF000FFFFFFF0007FFFFFF80003FFC1F800+ −
03FF01FC0003FE00FC0003FC00FC0003F800FC0003F800FC0003F000FC0003F000FC0003+ −
F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F0+ −
00FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC007FFF83+ −
FFE0FFFFC7FFF0FFFFC7FFF0FFFFC7FFF07FFF83FFE024207F9F27>I<001FE000007FF8+ −
0001FFFE0003FFFF0007FFFF800FF03FC01FC00FE03F8007F03F0003F07F0003F87E0001+ −
F87E0001F8FC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFE0001+ −
FC7E0001F87E0001F87F0003F83F8007F03F8007F01FE01FE00FF03FC007FFFF8003FFFF+ −
0001FFFE00007FF800001FE0001E207C9F27>I<7FE0FF0000FFF3FFC000FFFFFFF000FF+ −
FFFFF8007FFFFFFC0003FF81FE0003FE00FF0003FC003F8003F8001F8003F8001FC003F0+ −
000FC003F0000FC003F0000FE003F00007E003F00007E003F00007E003F00007E003F000+ −
07E003F00007E003F0000FE003F0000FC003F8000FC003F8001FC003FC003F8003FC007F+ −
8003FE00FF0003FF83FE0003FFFFFC0003FFFFF80003FFFFF00003F3FFC00003F0FE0000+ −
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003+ −
F000000003F000000003F000000003F000000003F00000007FFF800000FFFFC00000FFFF+ −
C00000FFFFC000007FFF80000023317F9F27>I<7FFC03FC00FFFE0FFF00FFFE3FFF80FF+ −
FE7FFFC07FFEFFFFC0007FFE1FC0007FF81FC0007FF00F80007FE00200007FC00000007F+ −
800000007F800000007F000000007F000000007E000000007E000000007E000000007E00+ −
0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000+ −
00007E000000007E0000007FFFFF8000FFFFFFC000FFFFFFC000FFFFFFC0007FFFFF8000+ −
22207E9F27>114 D<00FFF38007FFFFC01FFFFFC03FFFFFC07FFFFFC07F803FC0FC000F+ −
C0F8000FC0F8000FC0F8000780FC0000007F8000007FFC00003FFFF0001FFFFC0007FFFF+ −
0001FFFF80000FFFC000003FE0000007E0780003F0FC0001F0FC0001F0FE0001F0FE0003+ −
F0FF0007E0FFE01FE0FFFFFFC0FFFFFF80FFFFFF00FBFFFC00707FF0001C207B9F27>I<+ −
003C0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000+ −
7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF0007E0000007E0000007E0000007E0000+ −
007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000+ −
007E0000007E0018007E007E007E007E007E007E007E007E007E00FE003F00FC003F83FC+ −
003FFFF8001FFFF0000FFFE00003FFC00000FF001F297EA827>I<7FE01FF800FFF03FFC+ −
00FFF03FFC00FFF03FFC007FF01FFC0003F000FC0003F000FC0003F000FC0003F000FC00+ −
03F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003+ −
F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F0+ −
01FC0003F001FC0003F003FC0003FC0FFC0001FFFFFFE001FFFFFFF000FFFFFFF0003FFE+ −
FFF0000FF87FE024207F9F27>I<7FFC0FFF80FFFE1FFFC0FFFE1FFFC0FFFE1FFFC07FFC+ −
0FFF8007C000F80007E001F80003E001F00003E001F00003F003F00001F003E00001F003+ −
E00001F807E00000F807C00000F807C00000F807C000007C0F8000007C0F8000007C0F80+ −
00003E1F0000003E1F0000003E1F0000003F3F0000001F3E0000001F3E0000001FFE0000+ −
000FFC0000000FFC0000000FFC00000007F800000007F800000003F0000022207E9F27>+ −
I<3FFC1FFF007FFE3FFF007FFE3FFF807FFE3FFF003FFC1FFF0001F807E00000FC0FC000+ −
00FC1F8000007E1F0000003F3F0000001F7E0000001FFC0000000FF800000007F8000000+ −
03F000000003E000000003F000000007F80000000FF80000001FFC0000001F3E0000003E+ −
3F0000007E1F0000007C0F800000F80FC00001F807E00003F003E0007FFE1FFF807FFE1F+ −
FF80FFFF3FFFC07FFE1FFF807FFE1FFF8022207E9F27>120 D<7FFC0FFF80FFFE1FFFC0+ −
FFFE1FFFC0FFFE1FFFC07FFC0FFF8007E000F80003E001F80003E001F00003F001F00001+ −
F003F00001F803E00000F803E00000F803E00000FC07C000007C07C000007C07C000007E+ −
0F8000003E0F8000003E0F8000001F0F0000001F1F0000001F1F0000000F1F0000000F9E+ −
0000000FBE00000007BE00000007FC00000003FC00000003FC00000003F800000001F800+ −
000001F800000001F000000001F000000003F000000003E000000003E000000007E00000+ −
0007C000000807C000003E0FC000007F0F8000007F1F8000007E7F0000007FFE0000003F+ −
FC0000003FF80000001FF000000007C000000022317E9F27>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Ft cmtt8 8 51+ −
/Ft 51 123 df<7801E0FC03F0FE07F0FE07F0FE07F0FE07F0FC03F0FC03F0FC03F0FC03+ −
F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F07C03E07C03E03000C0141479A923+ −
>34 D<0F003F803FC03FC03FE03FE00FE003E003E003E007E007E007C00FC01FC03F807F+ −
00FF00FE00F80070000B1574A823>39 D<000380000FC0001FC0003F8000FF0000FE0001+ −
F80003F80007F0000FE0000FC0001F80001F80003F00003F00003E00007E00007E00007C+ −
00007C0000FC0000FC0000F80000F80000F80000F80000F80000F80000F80000F80000FC+ −
0000FC00007C00007C00007E00007E00003E00003F00003F00001F80001F80000FC0000F+ −
E00007F00003F80001F80000FE0000FF00003F80001FC0000FC0000380123476AD23>I<+ −
700000FC0000FE00007F00003FC0001FC00007E00007F00003F80001FC0000FC00007E00+ −
007E00003F00003F00001F00001F80001F80000F80000F80000FC0000FC00007C00007C0+ −
0007C00007C00007C00007C00007C00007C0000FC0000FC0000F80000F80001F80001F80+ −
001F00003F00003F00007E00007E0000FC0001FC0003F80007F00007E0001FC0003FC000+ −
7F0000FE0000FC000070000012347AAD23>I<00078000000FC000000FC000000FC00000+ −
0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FF+ −
FFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC000000FC00000+ −
0FC000000FC000000FC000000FC000000FC000000FC000000FC000000780001E1E7EA223+ −
>43 D<1F003F807FC07FE07FE07FE07FE03FE01FE007E007E00FC01FC07F80FF00FE00FC+ −
0070000B12748823>I<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A06+ −
7C9623>I<3E007F00FF80FF80FF80FF80FF807F003E000909738823>I<00000380000007+ −
C000000FC000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E+ −
000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E0+ −
00000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F0000007E00+ −
0000FE000000FC000001FC000001F8000001F8000003F8000003F0000007F0000007E000+ −
000FE000000FC000001FC000001F8000001F8000003F8000003F0000007F0000007E0000+ −
00FE000000FC000000FC000000F8000000780000001A347CAD23>I<001F8000007FE000+ −
01FFF80003FFFC0007FFFE0007F0FE000FC03F001F801F801F000F803F000FC03E0007C0+ −
3E0007C07C0003E07C0003E07C0003E0780001E0F80001F0F80001F0F80001F0F80001F0+ −
F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F07C0003E07C0003E0+ −
7C0003E07E0007E03E0007C03E0007C03F000FC01F801F801F801F800FC03F0007F0FE00+ −
07FFFE0003FFFC0001FFF800007FE000001F80001C2B7DA923>I<001800003C00007C00+ −
007C0000FC0001FC0003FC0007FC007FFC00FFFC00FFFC00FF7C007C7C00007C00007C00+ −
007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00+ −
007C00007C00007C00007C00007C00007C00007C00007C00007C00007C007FFFFC7FFFFE+ −
7FFFFE7FFFFE7FFFFC172A7AA923>I<007FC00003FFF00007FFFC001FFFFE003FFFFF80+ −
7F80FF807E003FC0FE000FE0FC0007E0FE0003F0FE0003F0FE0003F0FE0001F07C0001F0+ −
380001F0000001F0000003F0000003F0000007E0000007E000000FC000001FC000003F80+ −
00003F000000FE000001FE000003F8000007F000000FE000003FC000007F800000FE0000+ −
01FC000003F800000FF000E01FE001F03F8001F07FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0+ −
7FFFFFE01C2A7DA923>I<007FC00001FFF00007FFFC000FFFFE001FFFFF003FE07F803F+ −
801FC03F800FC03F8007C03F8007C03F8007C00E0007C000000FC000000FC000001F8000+ −
003F800001FF00007FFE0000FFFC0000FFF80000FFFC00007FFF0000007F8000001FC000+ −
000FE0000007E0000003F0000003F0000001F0000001F07C0001F0FE0001F0FE0003F0FE+ −
0003F0FE0007E0FC000FE0FE001FC07FC07FC03FFFFF801FFFFF000FFFFC0003FFF80000+ −
7FC0001C2B7DA923>I<3E007F00FF80FF80FF80FF80FF807F003E000000000000000000+ −
00000000000000000000000000003E007F00FF80FF80FF80FF80FF807F003E00091D739C+ −
23>58 D<1F003F807FC07FC07FC07FC07FC03F801F000000000000000000000000000000+ −
00000000000000001E003F807F807FC07FC07FC07FC03FC01FC00FC00FC01F803F807F00+ −
FF00FE00F80070000A26749C23>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC3F+ −
FFFFF80000000000000000000000000000000000000000000000003FFFFFF8FFFFFFFCFF+ −
FFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E127E9C23>61 D<01FFC00007FFF8001FFFFE003F+ −
FFFF007FFFFF80FF007FC0FE000FC0FE0007C0FE0007C0FE000FC07C001FC038007F8000+ −
00FF800003FF000007FC00000FF000001FE000001FC000003F8000003F8000003F000000+ −
3F0000003F0000003F0000003F0000003F0000003E000000000000000000000000000000+ −
000000000000000000000000000000001C0000007F0000007F0000007F0000007F000000+ −
7F0000001C00001A297CA823>63 D<000FC000000FC000001FE000001FE000001FE00000+ −
1FE000003CF000003CF000003CF000003CF000003CF000007CF800007CF800007CF80000+ −
78780000F87C0000F87C0000F87C0000F87C0000F87C0001F03E0001F03E0001F03E0001+ −
F03E0003F03F0003E01F0003E01F0003FFFF0003FFFF0007FFFF8007FFFF8007FFFF8007+ −
C00F800FC00FC00F8007C00F8007C00F8007C07FF03FF8FFF03FFCFFF03FFCFFF03FFC7F+ −
F03FF81E2A7EA923>65 D<FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE007C00007C00007C0000+ −
7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000+ −
7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000+ −
7C00007C00007C00007C00FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE17297AA823>73+ −
D<7FFE0000FFFF0000FFFF0000FFFF00007FFE000007C0000007C0000007C0000007C000+ −
0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000+ −
0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000+ −
0007C0000007C0000007C0007C07C0007C07C0007C07C0007C07C0007C07C0007C07C000+ −
7C7FFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E297EA823>76+ −
D<FF8001FFFF8001FFFFC003FFFFC003FFFFC003FF1EE007781EE007781EE007781EF00F+ −
781E700E781E700E781E781E781E781E781E381C781E3C3C781E3C3C781E1C38781E1E78+ −
781E1E78781E0E70781E0E70781E0E70781E07E0781E07E0781E07E0781E03C0781E03C0+ −
781E0000781E0000781E0000781E0000781E0000781E0000781E0000781E0000781E0000+ −
78FFC003FFFFC003FFFFC003FFFFC003FFFFC003FF20297FA823>I<7FC01FF8FFC03FFC+ −
FFE03FFCFFE03FFC7FF01FF80F7003C00F7003C00F7803C00F3803C00F3803C00F3C03C0+ −
0F3C03C00F1C03C00F1E03C00F1E03C00F0E03C00F0F03C00F0F03C00F0F03C00F0783C0+ −
0F0783C00F0783C00F03C3C00F03C3C00F03C3C00F01C3C00F01E3C00F01E3C00F00E3C0+ −
0F00F3C00F00F3C00F0073C00F0073C00F007BC00F003BC00F003BC07FE03FC0FFF01FC0+ −
FFF01FC0FFF00FC07FE00F801E297EA823>I<FFFFF000FFFFFE00FFFFFF00FFFFFF80FF+ −
FFFFC00F801FE00F8007F00F8003F00F8001F00F8001F80F8000F80F8000F80F8000F80F+ −
8000F80F8000F80F8001F80F8001F00F8003F00F8007F00F801FE00FFFFFC00FFFFF800F+ −
FFFF000FFFFE000FFFF0000F8000000F8000000F8000000F8000000F8000000F8000000F+ −
8000000F8000000F8000000F8000000F800000FFF80000FFFC0000FFFC0000FFFC0000FF+ −
F800001D297EA823>80 D<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFCF807C07CF8+ −
07C07CF807C07CF807C07CF807C07C7007C0380007C0000007C0000007C0000007C00000+ −
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000+ −
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000+ −
07C0000007C0000007C00000FFFE0001FFFF0001FFFF0001FFFF0000FFFE001E297EA823+ −
>84 D<7FF00FFEFFF00FFFFFF00FFFFFF00FFF7FF00FFE0F8001F00F8001F007C003E007+ −
C003E007C003E007C003E003E007C003E007C003E007C003E007C003F00FC001F00F8001+ −
F00F8001F00F8001F00F8000F81F0000F81F0000F81F0000F81F00007C3E00007C3E0000+ −
7C3E00007C3E00003C3C00003E7C00003E7C00003E7C00001E7800001E7800001E780000+ −
1E7800001FF800000FF000000FF000000FF0000007E0000007E000202A7FA823>86+ −
D<7FFFC0FFFFE0FFFFE0FFFFE0FFFFC0F80000F80000F80000F80000F80000F80000F800+ −
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800+ −
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800+ −
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000FFFF+ −
C0FFFFE0FFFFE0FFFFE07FFFC0133473AD23>91 D<7FFFC0FFFFE0FFFFE0FFFFE07FFFE0+ −
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0+ −
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0+ −
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0+ −
0003E00003E00003E00003E00003E00003E07FFFE0FFFFE0FFFFE0FFFFE07FFFC013347E+ −
AD23>93 D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C7E23>95+ −
D<01C003E00FE01FE01FC03F807F007E007C00FC00FC00F800F800F800FE00FF80FF807F+ −
807F803F801E000B1574AD23>I<03FF80000FFFE0001FFFF8003FFFFC003FFFFE003F80+ −
FF003F803F801F001F8000001F8000000F800000FF80007FFF8003FFFF800FFFFF801FFF+ −
FF807FF00F807F000F80FC000F80FC000F80F8000F80F8001F80FC001F80FE003F807F81+ −
FF807FFFFFFC3FFFFFFE1FFFFFFE07FFC7FE01FE01FC1F1D7D9C23>I<FF800000FFC000+ −
00FFC00000FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007C000+ −
0007C0000007C1FC0007C7FF0007DFFFC007FFFFE007FFFFF007FE0FF807F803F807F001+ −
FC07E000FC07E000FC07C0007E07C0007E07C0003E07C0003E07C0003E07C0003E07C000+ −
3E07C0007E07E0007E07E000FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFF+ −
E007DFFF8007CFFF000383F8001F297FA823>I<003FF00000FFFC0003FFFF0007FFFF00+ −
0FFFFF001FE07F003F807F007F003E007E0000007E000000FC000000FC000000F8000000+ −
F8000000F8000000F8000000F8000000FC000000FC0000007E0007007F000F807F001F80+ −
3FC01F801FF07F000FFFFF0007FFFE0003FFFC0000FFF000003FC000191D7B9C23>I<00+ −
00FF800000FFC00000FFC00000FFC00000FFC0000007C0000007C0000007C0000007C000+ −
0007C0000007C0000007C0007F87C001FFE7C003FFF7C00FFFFFC01FFFFFC01FE0FFC03F+ −
803FC07F001FC07E000FC07E000FC0FC0007C0FC0007C0F80007C0F80007C0F80007C0F8+ −
0007C0F80007C0FC000FC0FC000FC07E000FC07E001FC07F003FC03F807FC03FE0FFC01F+ −
FFFFFE0FFFFFFE03FFF7FE01FFC7FE007F03FE1F297EA823>I<003FC00000FFF80003FF+ −
FC0007FFFF000FFFFF801FF07F803F801FC03F000FC07E0007C07E0007E0FC0007E0FFFF+ −
FFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFC0F8000000FC000000FC0000007E0001C07F00+ −
03E03F8007E03FE007E01FF81FC00FFFFFC007FFFF8001FFFE00007FFC00001FE0001B1D+ −
7D9C23>I<00007F000001FFC00007FFE0000FFFE0001FFFE0003FCFE0003F0FE0003E07+ −
C0003E0000003E0000003E0000003E00007FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF+ −
80003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00+ −
00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00+ −
00003E00003FFFFE007FFFFF007FFFFF007FFFFF003FFFFE001B297EA823>I<000001F0+ −
003F07FC00FFDFFE03FFFFFE07FFFFFE0FFFFF7E1FE1FE7E1F807E183F003F003F003F00+ −
3E001F003E001F003E001F003E001F003F003F003F003F001F807E001FE1FE000FFFFC00+ −
1FFFF8001FFFF0001EFFC0001E3F00001E0000001F0000001F4000000FFFFC000FFFFF80+ −
1FFFFFC03FFFFFF07E0007F87C0000F8F800007CF800007CF000003CF000003CF000003C+ −
F800007CFC0000FC7F0003F87FE01FF83FFFFFF00FFFFFC007FFFF8001FFFE00003FF000+ −
1F2E7E9D23>I<FF800000FFC00000FFC00000FFC00000FFC0000007C0000007C0000007+ −
C0000007C0000007C0000007C0000007C0000007C1FC0007C7FF0007DFFF8007FFFFC007+ −
FFFFC007FE0FE007F807E007F003E007E003E007E003E007E003E007C003E007C003E007+ −
C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007+ −
C003E007C003E0FFFE1FFFFFFE3FFFFFFE3FFFFFFE3FFFFFFE1FFF20297FA823>I<0038+ −
0000FE0000FE0000FE0000FE0000FE000038000000000000000000000000000000000000+ −
007FFC00FFFE00FFFE00FFFE007FFE00003E00003E00003E00003E00003E00003E00003E+ −
00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E+ −
007FFFFEFFFFFFFFFFFFFFFFFF7FFFFE182A7AA923>I<7FFE0000FFFF0000FFFF0000FF+ −
FF00007FFF0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000+ −
1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000+ −
1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000+ −
1F0000001F0000001F0000001F0000001F0000001F00007FFFFFC0FFFFFFE0FFFFFFE0FF+ −
FFFFE07FFFFFC01B297CA823>108 D<7E1F01F000FF7FC7FC00FFFFEFFE00FFFFFFFE00+ −
7FFFFFFF000FE1FE1F000FC1FC1F000FC0FC0F000F80F80F000F80F80F000F00F00F000F+ −
00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00+ −
F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F007FE3FE3FE0FFF3FF+ −
3FF0FFF3FF3FF0FFF3FF3FF07FE3FE3FE0241D819C23>I<FF81FC00FFC7FF00FFDFFF80+ −
FFFFFFC0FFFFFFC007FE0FE007F807E007F003E007E003E007E003E007E003E007C003E0+ −
07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0+ −
07C003E007C003E007C003E0FFFE1FFFFFFE3FFFFFFE3FFFFFFE3FFFFFFE1FFF201D7F9C+ −
23>I<003F000001FFE00003FFF00007FFF8000FFFFC001FC0FE003F807F003E001F007E+ −
001F807C000F80FC000FC0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0FC+ −
000FC0FC000FC07C000F807E001F803F003F003F807F001FE1FE000FFFFC0007FFF80003+ −
FFF00001FFE000003F00001A1D7C9C23>I<FF81FC00FFC7FF00FFDFFFC0FFFFFFE0FFFF+ −
FFF007FE0FF807F803F807F001FC07E000FC07E000FC07C0007E07C0007E07C0003E07C0+ −
003E07C0003E07C0003E07C0003E07C0007E07E0007E07E000FC07F000FC07F001FC07F8+ −
03F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF0007C3F80007C0000007C0000007C0+ −
000007C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFE0000FFFE+ −
0000FFFE0000FFFE0000FFFE00001F2C7F9C23>I<7FF00FE0FFF87FF8FFF8FFFCFFFBFF+ −
FC7FFFFFFC00FFF8FC00FFC07800FF800000FF000000FE000000FE000000FC000000FC00+ −
0000FC000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800+ −
0000F8000000F800007FFFFC00FFFFFE00FFFFFE00FFFFFE007FFFFC001E1D7E9C23>+ −
114 D<01FF9C0FFFFE1FFFFE7FFFFE7FFFFEFF00FEFC007EF8003EF8003EFC001CFE0000+ −
7FF0003FFF800FFFE007FFF8007FFC0001FE00007F70003FF8001FFC001FFC003FFE003F+ −
FF80FFFFFFFEFFFFFCFFFFF8FFFFF070FF80181D7B9C23>I<0070000000F8000000F800+ −
0000F8000000F8000000F8000000F8000000F800007FFFFF80FFFFFFC0FFFFFFC0FFFFFF+ −
C07FFFFF8000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800+ −
0000F8000000F8000000F8000000F8000000F801C000F803E000F803E000F803E000FC07+ −
E000FC0FE000FE1FC0007FFFC0007FFF80003FFE00000FFC000007F0001B257EA423>I<+ −
FF807FC0FFC07FE0FFC07FE0FFC07FE0FFC07FE007C003E007C003E007C003E007C003E0+ −
07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0+ −
07C003E007C003E007C003E007C007E007C00FE007E03FE007FFFFFF03FFFFFF03FFFFFF+ −
00FFF3FF003FC1FF201D7F9C23>I<FFF03FFCFFF03FFCFFF03FFCFFF03FFCFFF03FFC0F+ −
8007C0078007800780078007C00F8003C00F0003C00F0003E01F0001E01E0001E01E0001+ −
F03E0000F03C0000F03C0000F87C000078780000787800007CF800003CF000003CF00000+ −
3FF000001FE000001FE000001FE000000FC000000780001E1D7E9C23>I<7FF07FF0FFF8+ −
FFF8FFF8FFF8FFF8FFF87FF07FF003E03E0001F03C0000F87C000078F800007CF000003F+ −
E000001FE000000FC000000F800000078000000FC000001FE000003DE000003CF0000078+ −
780000F07C0001F03C0001E01E0003C01F007FF03FF8FFF87FFCFFF87FFCFFF87FFC7FF0+ −
3FF81E1D7E9C23>120 D<FFF03FFCFFF03FFCFFF03FFCFFF03FFCFFF03FFC078007C007+ −
80078007C0078003C00F8003C00F0001E00F0001E01F0001F01E0000F01E0000F01E0000+ −
F83C0000783C0000783C00003C7800003C7800003C7800001E7000001EF000000EF00000+ −
0FE000000FE0000007E0000007C0000007C0000007C0000007800000078000000F800000+ −
0F0000000F00003E1F00007F1E00007F3E00007CFC00007FFC00007FF800003FF000001F+ −
E000000F8000001E2C7E9C23>I<3FFFFFF07FFFFFF87FFFFFF87FFFFFF87FFFFFF87C00+ −
0FF07C001FE07C003FC038007F800000FF000001FC000003F8000007F000000FE000001F+ −
C000003F8000007F000000FE000001FC000007F800700FF000F81FE000F83FC000F87F80+ −
00F8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D1D7E9C23>I+ −
E+ −
%EndDVIPSBitmapFont+ −
/Fu 198[25 25 25 25 25 25 25 25 25 49[{TeXBase1Encoding ReEncodeFont}9+ −
49.8132 /Times-Roman rf /Fv 134[28 22[28 40[28 28 28+ −
28 28 28 28 28 28 7[18 18 40[{TeXBase1Encoding ReEncodeFont}13+ −
55.2093 /Times-Roman rf+ −
%DVIPSBitmapFont: Fw msam8 8 1+ −
/Fw 1 4 df<FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C+ −
E0000000001CE0000000001CE0000000001CFFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFFC+ −
2E2F7CAE37>3 D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fx cmr6 6 2+ −
/Fx 2 51 df<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E000+ −
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000+ −
01E00001E00001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217A+ −
A01E>49 D<01FC0007FF801C0FC03003E06001F06000F8F800F8FC00FCFC00FCFC007C78+ −
007C3000FC0000FC0000F80000F80001F00003E00003C0000780000F00001E0000380000+ −
700000E00001C00C03800C0600180C00181800183FFFF87FFFF8FFFFF0FFFFF016217CA0+ −
1E>I E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fy cmr8 8 7+ −
/Fy 7 94 df<000001C001C000000001C001C000000001C001C000000003C003C0000000+ −
038003800000000380038000000003800380000000078007800000000700070000000007+ −
000700000000070007000000000F000F000000000E000E000000000E000E000000000E00+ −
0E000000001E001E000000001C001C000000001C001C000000001C001C000000003C003C+ −
0000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0000070007000000000F000F000+ −
000000E000E000000000E000E000000000E000E000000000E000E000000001E001E00000+ −
0001C001C000000001C001C000000001C001C000000001C001C000000003C003C0000000+ −
038003800000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0000F000F000000000E+ −
000E000000000E000E000000000E000E000000001E001E000000001C001C000000001C00+ −
1C000000001C001C000000003C003C000000003800380000000038003800000000380038+ −
0000000078007800000000700070000000007000700000000070007000000000F000F000+ −
000000E000E000000000E000E000000000E000E0000000323B7CAD3B>35+ −
D<00030007000E001C0038007000F001E001C003C0078007800F000F001E001E001E003C+ −
003C003C003C0078007800780078007800F800F800F000F000F000F000F000F000F000F0+ −
00F000F000F000F800F800780078007800780078003C003C003C003C001E001E001E000F+ −
000F000780078003C001C001E000F000700038001C000E0007000310437AB11B>40+ −
D<C000E000700038001C000E000F000780038003C001E001E000F000F000780078007800+ −
3C003C003C003C001E001E001E001E001E001F001F000F000F000F000F000F000F000F00+ −
0F000F000F000F001F001F001E001E001E001E001E003C003C003C003C00780078007800+ −
F000F001E001E003C0038007800F000E001C0038007000E000C00010437CB11B>I<3C7E+ −
FFFFFFFF7E3C000000000000000000000000003C7EFFFFFFFF7E3C081D7A9C14>58+ −
D<FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC0000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
00000000000000000000000000000000000000000000000000FFFFFFFFFFFCFFFFFFFFFF+ −
FCFFFFFFFFFFFC2E137C9937>61 D<FFE0FFE0FFE0E000E000E000E000E000E000E000E0+ −
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0+ −
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0+ −
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000FF+ −
E0FFE0FFE00B4379B114>91 D<FFE0FFE0FFE000E000E000E000E000E000E000E000E000+ −
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000+ −
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000+ −
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0FFE0FF+ −
E0FFE00B437FB114>93 D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: Fz cmsy8 8 8+ −
/Fz 8 104 df<FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02A037A9137>0+ −
D<FFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFFC0000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
00000000000000000000000000000000000000000000000000FFFFFFFFFFFCFFFFFFFFFF+ −
FCFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
000000000000000000000000007FFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC2E237CA137+ −
>17 D<00FE0000000C03FF8000000C07FFE000000C0FFFF000000C1F83FC00000C3E00FE+ −
00001C3C003F00001C78001F800038700007E00078E00003F000F0E00001FC01F0C00000+ −
FF07E0C000003FFFC0C000001FFF80C0000007FF00C0000001FC00000000000000000000+ −
00000000FE0000000C03FF8000000C07FFE000000C0FFFF000000C1F83FC00000C3E00FE+ −
00001C3C003F00001C78001F800038700007E00078E00003F000F0E00001FC01F0C00000+ −
FF07E0C000003FFFC0C000001FFF80C0000007FF00C0000001FC002E227CA137>25+ −
D<0000000004000000000000000E000000000000000F0000000000000007800000000000+ −
00078000000000000003C000000000000001C000000000000001E000000000000000F000+ −
00000000000078000000000000003C0000FFFFFFFFFFFE0000FFFFFFFFFFFF0000FFFFFF+ −
FFFFFF8000000000000003E000000000000001F0000000000000007C000000000000003F+ −
000000000000000FE000000000000003FC00000000000001FC00000000000007E0000000+ −
0000001F800000000000007E00000000000000F800000000000001E000000000000003C0+ −
00FFFFFFFFFFFF8000FFFFFFFFFFFF0000FFFFFFFFFFFE000000000000003C0000000000+ −
00007800000000000000F000000000000001E000000000000001C000000000000003C000+ −
0000000000078000000000000007000000000000000F000000000000000E000000000000+ −
00040000003E297CA447>41 D<0000FFFFC00007FFFFC0001FFFFFC0007F80000000FC00+ −
000001F000000003C000000007800000000F000000000E000000001E000000003C000000+ −
003800000000780000000070000000007000000000F000000000E000000000E000000000+ −
E000000000FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0E000000000E000000000E000000000F0+ −
0000000070000000007000000000780000000038000000003C000000001E000000000E00+ −
0000000F00000000078000000003C000000001F000000000FC000000007F800000001FFF+ −
FFC00007FFFFC00000FFFFC0222B7AA52F>50 D<00000001C000000001C000000003C000+ −
00000380000000078000000007000000000F000000000E000000001E000000003C000000+ −
00380000000078000000007000000000F000000000E000000001E000000001C000000003+ −
C00000000380000000078000000007000000000F000000000E000000001E000000003C00+ −
000000380000000078000000007000000000F000000000E000000001E000000001C00000+ −
0003C00000000380000000078000000007000000000F000000001E000000001C00000000+ −
3C00000000380000000078000000007000000000F000000000E000000001E000000001C0+ −
00000003C00000000380000000078000000007000000000F000000001E000000001C0000+ −
00003C00000000380000000078000000007000000000F000000000E00000000060000000+ −
00223D76AE00>54 D<00001F0000FF0003F0000FC0001F80001F00003F00003E00003E00+ −
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00+ −
003E00003E00003E00003E00003E00003E00007E00007C0000FC0001F80003F0007FC000+ −
FF00007FC00003F00001F80000FC00007C00007E00003E00003E00003E00003E00003E00+ −
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00+ −
003E00003E00003E00003F00001F00001F80000FC00003F00000FF00001F18437BB123>+ −
102 D<FC0000FF80000FE00001F00000FC00007C00007E00003E00003E00003E00003E00+ −
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00+ −
003E00003E00003E00003E00003E00001F00001F80000F800007E00001FE00007F0001FE+ −
0007E0000F80001F80001F00003E00003E00003E00003E00003E00003E00003E00003E00+ −
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00+ −
003E00007E00007C0000FC0001F0000FE000FF8000FC000018437BB123>I+ −
E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: FA cmmi8 8 17+ −
/FA 17 123 df<0001FC0000000FFF0000003F07C000007C03E00001F801F00C03F001F0+ −
0C07E000F80C0FC000F81C0F8000FC181F80007C183F00007C383F00007C307F00007C70+ −
7E00007C607E00007CE07E00007CC0FE00007DC0FC00007F80FC00007F00FC00007E00FC+ −
00007E00FC00007C00FC00007C007C00007C007C0000FE007C0003FE0C3E00073E0C1F00+ −
1E3E1C0F81F81F3803FFE00FF000FE0003C0261F7D9D2D>11 D<00FC00000000FF000000+ −
001FC00000000FC000000007E000000007E000000007E000000003F000000003F0000000+ −
01F000000001F800000001F800000000FC00000000FC00000000FC000000007E00000000+ −
7E000000003F000000003F000000003F000000001F800000001F800000000F800000000F+ −
C00000000FC00000001FE00000003FE00000007FE0000000F3F0000001E3F0000003C1F0+ −
00000781F800000F81F800001F00FC00003E00FC00007C00FC0000F8007E0001F0007E00+ −
03E0003F0007E0003F000FC0003F001F80001F803F00001F807E00001F80FC00000FC0F8+ −
000007E070000003E0232F7DAD29>21 D<3C7EFFFFFFFF7E3C08087A8714>58+ −
D<3C007E00FF00FF00FF80FF807F803D80018001800180038003000300070006000E001C+ −
0038007000600009157A8714>I<003FFFFFFFFF003FFFFFFFFF0000FE00007F0000FE00+ −
001F0000FC00000F0000FC00000F0001FC0000070001FC0000060001F80000060001F800+ −
00060003F80000060003F80000060003F00000060003F00030060007F00070060007F000+ −
70000007E00060000007E000E000000FE000E000000FE001E000000FC007C000000FFFFF+ −
C000001FFFFFC000001FC007C000001F80038000001F80038000003F80038000003F8003+ −
8000003F00030000003F00030000007F00030000007F00000000007E00000000007E0000+ −
000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC0000+ −
000001F80000000001F80000000003F800000000FFFFF0000000FFFFF0000000302D7DAC+ −
2D>70 D<003FFFFE0000003FFFFE00000000FF0000000000FE0000000000FC0000000000+ −
FC0000000001FC0000000001FC0000000001F80000000001F80000000003F80000000003+ −
F80000000003F00000000003F00000000007F00000000007F00000000007E00000000007+ −
E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001F+ −
C0000000001F80000000001F80000000003F80000000003F80000000003F00000180003F+ −
00000180007F00000380007F00000300007E00000700007E0000060000FE00000E0000FE+ −
00000E0000FC00001C0000FC00003C0001FC00003C0001FC0000780001F80001F80001F8+ −
0003F00003F8001FF000FFFFFFFFF000FFFFFFFFE000292D7DAC30>76+ −
D<003FFE00000001FFF0003FFE00000003FFF00000FF00000003F8000000FF00000007F8+ −
000000DF0000000DF0000000DF0000000DF0000001DF0000001BF0000001DF00000033E0+ −
0000018F80000033E00000018F80000063E00000038F800000C7E00000038F800000C7C0+ −
0000030F80000187C00000030F80000307C000000707C000030FC000000707C000060F80+ −
00000607C0000C0F8000000607C0000C0F8000000E07C000181F8000000E07C000301F00+ −
00000C03E000301F0000000C03E000601F0000001C03E000C03F0000001C03E000C03E00+ −
00001803E001803E0000001803E003003E0000003801F003007E0000003801F006007C00+ −
00003001F00C007C0000003001F00C007C0000007001F01800FC0000007001F03000F800+ −
00006001F03000F80000006000F86000F8000000E000F8C001F8000000E000F8C001F000+ −
0000C000F98001F0000000C000FB0001F0000001C000FB0003F0000001C0007E0003E000+ −
000180007C0003E0000003C0007C0003E000000FE000780007E00000FFFE007001FFFF80+ −
00FFFE003001FFFF8000442D7CAC44>I<003FFE0000FFFF003FFE0000FFFF0000FF0000+ −
07E00000FF000007C00000FF800003800000DF800003000001DFC00007000001CFC00006+ −
0000018FE0000600000187E0000600000387F0000E00000387F0000C00000303F0000C00+ −
000303F8000C00000701F8001C00000701FC001800000600FC001800000600FE00180000+ −
0E007E003800000E007F003000000C003F003000000C003F003000001C003F807000001C+ −
001F8060000018001FC060000018000FC060000038000FE0E00000380007E0C000003000+ −
07F0C00000300003F0C00000700003F1C00000700003F9800000600001F9800000600001+ −
FD800000E00000FF800000E00000FF000000C000007F000000C000007F000001C000003F+ −
000001C000003E0000018000003E000003C000001E00000FE000001E0000FFFE00000C00+ −
00FFFE00000C0000382D7CAC38>I<FFFFC0000FFFC0FFFFC0000FFFC007F8000001FC00+ −
03F0000000F00003F0000000E00003F0000001C00003F0000001800003F8000003000001+ −
F8000003000001F8000006000001F800000C000001F800000C000001F8000018000001FC+ −
000030000000FC000030000000FC000060000000FC0000C0000000FC0000C0000000FC00+ −
0180000000FE000300000000FE0003000000007E0006000000007E000C000000007E000C+ −
000000007E0018000000007F0030000000007F0030000000003F0060000000003F00C000+ −
0000003F00C0000000003F0180000000003F8300000000003F8300000000001F86000000+ −
00001F8C00000000001F8C00000000001F9800000000001FF000000000001FF000000000+ −
000FE000000000000FC000000000000FC000000000000F8000000000000F000000000000+ −
0F000000000000060000000000322E7CAC29>86 D<0007E000001FF800007C1CE000F80D+ −
E001F00FE003E007E007C007E00FC007E01F8007C01F8007C03F0007C03F000FC07F000F+ −
807E000F807E000F807E001F80FE001F00FC001F00FC001F00FC003F02FC003E06FC003E+ −
06F8003E06F8007E0E7C00FE0C7C00FC0C7C01FC1C3E07BE181F0E1E380FFC0FF003F003+ −
C01F1F7D9D25>97 D<00F800001FF800001FF8000001F8000001F8000001F0000001F000+ −
0003F0000003F0000003E0000003E0000007E0000007E0000007C0000007C000000FC000+ −
000FC7E0000F9FF8000FB83C001FF01E001FE01F001FC01F001F800F803F000F803F000F+ −
803E000F803E000F807E001F807E001F807C001F807C001F807C003F80FC003F00F8003F+ −
00F8003F00F8007E00F8007E00F8007C00F800FC00F800F8007801F0007803F0007807E0+ −
003C0F80001E1F00000FFC000003F00000192F7DAD1E>I<07C01F000FF07FC01CF8E0E0+ −
3879C1E0307B87E0707F07E0607E07E060FC07E0E0FC0380C0F80000C0F8000081F80000+ −
01F8000001F0000001F0000003F0000003F0000003E0000003E0000007E0000007E00000+ −
07C0000007C000000FC000000FC000000F8000000F8000001F8000001F8000001F000000+ −
0E0000001B1F7E9D20>114 D<0007E0003FF800781E00F00601E00703C00F03C01F03C0+ −
1F07C01E07C00C07E00007F80007FF8003FFE001FFF000FFF8003FFC0001FC0000FC0000+ −
7C78003CFC003CFC003CFC007CF80078E000F8E000F06001E07807C01FFF0007F800181F+ −
7C9D21>I<000E00001F00001F00003F00003F00003E00003E00007E00007E00007C0000+ −
7C0000FC0000FC00FFFFF8FFFFF801F80001F80001F00001F00003F00003F00003E00003+ −
E00007E00007E00007C00007C0000FC0000FC0000F80000F80001F80101F80301F00301F+ −
00701F00601F00E01E01C01E03801F07000F0E0007FC0001F000152B7EA919>I<003F00+ −
7C0000FFC1FF0001C1E383800380F703C00700F60FC00E00FE0FC01C00FC0FC01800FC0F+ −
C03800FC07003000F800003000F800002001F800000001F000000001F000000001F00000+ −
0003F000000003E000000003E000000003E000000007E001000007E003000007C0030038+ −
07C007007C0FC00600FC0FC00E00FC1FC00C00FC1BC01C00F03BE038007071E0F0003FE0+ −
FFC0000F803F0000221F7E9D28>120 D<01E0000007F8000E0E3C001F1C3E003F383E00+ −
3E303E003E703E003E607E007EE07C007CC07C007CC0FC007C80F800FC00F800F801F800+ −
F801F000F801F001F803F001F003E001F003E001F003E003F007E003E007C003E007C003+ −
E007C007E007C007C003C00FC003E01FC003E03FC001F07F80007FEF80001F8F8000001F+ −
8000001F0000001F003E003E003E003E007E007C007E00F8007C01F0007003E0003007C0+ −
003C0F80000FFE000003F00000202C7E9D23>I<001E0030003F803000FFC07001FFE0E0+ −
01FFF1C003C0FFC003803F800300070007000E0000001C0000003800000070000000E000+ −
0001C0000003800000070000001E0000003800000070000000E0004001C000C0038000C0+ −
070001C00E0003800FE007801FF81F00387FFF00703FFE00601FFC00E00FF000C003C000+ −
1C1F7D9D21>I E+ −
%EndDVIPSBitmapFont+ −
/FB 134[33 33 48 33 37 22 26 29 37 37 33 37 55 18 2[18+ −
37 33 22 29 37 29 37 33 13[37 2[41 3[44 5[41 2[48 8[22+ −
6[33 33 33 2[17 43[37 2[{TeXBase1Encoding ReEncodeFont}34+ −
66.4176 /Times-Bold rf+ −
%DVIPSBitmapFont: FC cmmi6 6 2+ −
/FC 2 64 df<000FC000007FF00001F07C0003C01E0307801E060F000F061E000F063E00+ −
0F8C3E00078C7C0007987C0007987C0007B0F80007E0F80007E0F80007C0F80007807800+ −
078078000FC078001FC23C0073C31E03E1C60FFF81FC01FC007820177E9528>11+ −
D<00080000000800000008000000080000001C0000001C0000001C0000001C0000001C00+ −
00C01C01807FBEFF001FFFFC0007FFF00001FFC000007F0000007F000000FF800000F780+ −
0001E3C00001C1C0000380E0000300600006003000040010000800080019197D9820>63+ −
D E+ −
%EndDVIPSBitmapFont+ −
%DVIPSBitmapFont: FD cmsy9 9 24+ −
/FD 24 118 df<7FFFFFFFFFFCFFFFFFFFFFFEFFFFFFFFFFFE7FFFFFFFFFFC2F047A943C+ −
>0 D<3C7EFFFFFFFF7E3C08087A9615>I<6000000030F8000000F8FC000001F87E000003+ −
F03F000007E01F80000FC00FC0001F8007E0003F0003F0007E0001F800FC0000FC01F800+ −
007E03F000003F07E000001F8FC000000FDF80000007FF00000003FE00000001FC000000+ −
01FC00000003FE00000007FF0000000FDF8000001F8FC000003F07E000007E03F00000FC+ −
01F80001F800FC0003F0007E0007E0003F000FC0001F801F80000FC03F000007E07E0000+ −
03F0FC000001F8F8000000F86000000030252475A43C>I<000E0000001F0000001F0000+ −
001F0000001F0000001F0000001F0000700E01C0F80E03E0FE0E0FE0FF0E1FE07F8E3FC0+ −
1FEEFF0003FFF80000FFE000003F8000003F800000FFE00003FFF8001FEEFF007F8E3FC0+ −
FF0E1FE0FE0E0FE0F80E03E0700E01C0001F0000001F0000001F0000001F0000001F0000+ −
001F0000000E00001B207BA226>I<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE0+ −
7FFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFF+ −
FFFFFFE07FFFFFFFFFFFC000000000000000000000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
00000000000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFF+ −
E0FFFFFFFFFFFFE07FFFFFFFFFFFC033247CA43C>17 D<00003FFFFFFC0001FFFFFFFE00+ −
07FFFFFFFE001FFFFFFFFC003FE000000000FF0000000001FC0000000003F00000000007+ −
E0000000000FC0000000000F80000000001F00000000003F00000000003E00000000007C+ −
00000000007C0000000000780000000000780000000000F80000000000F80000000000F0+ −
0000000000F00000000000F00000000000F00000000000F00000000000F00000000000F8+ −
0000000000F800000000007800000000007800000000007C00000000007C00000000003E+ −
00000000003F00000000001F00000000000F80000000000FC00000000007E00000000003+ −
F00000000001FC0000000000FF00000000003FE0000000001FFFFFFFFC0007FFFFFFFE00+ −
01FFFFFFFE00003FFFFFFC00000000000000000000000000000000000000000000000000+ −
000000000000000000000000000000000000000000000000000000000000000000000000+ −
00000000000000000000001FFFFFFFFFFC3FFFFFFFFFFE3FFFFFFFFFFE1FFFFFFFFFFC2F+ −
3E7AB03C>I<003F000000004001FFE0000000E003FFF8000000E007FFFC000000E00FFF+ −
FF000000E01FFFFF800000E03FC0FFC00001E03E001FE00001C07C0007F80003C0780003+ −
FC0007C0700000FF000F80F000007FE07F80E000003FFFFF00E000001FFFFE00E0000007+ −
FFFC00E0000003FFF800E0000000FFF000400000001F800033127C9B3C>24+ −
D<007F800000004001FFE0000000E007FFF8000000E00FFFFE000000E01FFFFF800000E0+ −
3FFFFFC00001E03F807FF00001C07E001FFC0003C0780007FF000FC0700001FFC03F80F0+ −
00007FFFFF80E000003FFFFF00E000000FFFFE00E0000003FFFC00E0000000FFF0004000+ −
00003FC00000000000000000000000000000000000000000000000000000000000007F80+ −
0000004001FFE0000000E007FFF8000000E00FFFFE000000E01FFFFF800000E03FFFFFC0+ −
0001E03F807FF00001C07E001FFC0003C0780007FF000FC0700001FFC03F80F000007FFF+ −
FF80E000003FFFFF00E000000FFFFE00E0000003FFFC00E0000000FFF000400000003FC0+ −
0033247CA43C>I<000000000000700000000000000000F00000000000000000F0000000+ −
0000000000F800000000000000007800000000000000007800000000000000007C000000+ −
00000000003C00000000000000003E00000000000000001F00000000000000001F000000+ −
00000000000F800000000000000007C00000000000000007E00000000000000003F00000+ −
000000000001F80000000000000000FC00000000000000007F007FFFFFFFFFFFFFFFC0FF+ −
FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFC0000000000000007F0000+ −
000000000000FC0000000000000001F80000000000000003F00000000000000007E00000+ −
000000000007C0000000000000000F80000000000000001F00000000000000001F000000+ −
00000000003E00000000000000003C00000000000000007C000000000000000078000000+ −
0000000000780000000000000000F80000000000000000F00000000000000000F0000000+ −
000000000070000044287CA64D>33 D<000000F00000000000000000F000000000000000+ −
01F00000000000000003E00000000000000003C00000000000000007C000000000000000+ −
0F80000000000000000F80000000000000001F00000000000000003E0000000000000000+ −
7C0000000000000000FFFFFFFFFFFFE00001FFFFFFFFFFFFF00003FFFFFFFFFFFFF0000F+ −
FFFFFFFFFFFFE0001F80000000000000007F0000000000000000FC0000000000000007F8+ −
000000000000001FE000000000000000FF8000000000000000FF80000000000000001FE0+ −
0000000000000007F80000000000000000FC00000000000000007F00000000000000001F+ −
80000000000000000FFFFFFFFFFFFFE00003FFFFFFFFFFFFF00001FFFFFFFFFFFFF00000+ −
FFFFFFFFFFFFE000007C00000000000000003E00000000000000001F0000000000000000+ −
0F80000000000000000F800000000000000007C00000000000000003C000000000000000+ −
03E00000000000000001F00000000000000000F00000000000000000F00000000000442A+ −
7CA74D>40 D<0000000000F00000000000000000F00000000000000000F8000000000000+ −
00007C00000000000000003C00000000000000003E00000000000000001F000000000000+ −
00001F00000000000000000F800000000000000007C00000000000000003E000007FFFFF+ −
FFFFFFF00000FFFFFFFFFFFFF80000FFFFFFFFFFFFFC00007FFFFFFFFFFFFF0000000000+ −
0000001F80000000000000000FE00000000000000003F00000000000000001FE00000000+ −
000000007F80000000000000001FF0000000000000001FF0000000000000007F80000000+ −
00000001FE0000000000000003F0000000000000000FE0000000000000001F80007FFFFF+ −
FFFFFFFF0000FFFFFFFFFFFFFC0000FFFFFFFFFFFFF800007FFFFFFFFFFFF00000000000+ −
000003E00000000000000007C0000000000000000F80000000000000001F000000000000+ −
00001F00000000000000003E00000000000000003C00000000000000007C000000000000+ −
0000F80000000000000000F00000000000000000F0000000442A7CA74D>I<00003FFFF8+ −
0001FFFFFC0007FFFFFC001FFFFFF8003FE0000000FF00000001FC00000003F000000007+ −
E00000000FC00000000F800000001F000000003F000000003E000000007C000000007C00+ −
00000078000000007800000000F800000000F800000000F000000000FFFFFFFFF8FFFFFF+ −
FFFCFFFFFFFFFCFFFFFFFFF8F000000000F800000000F800000000780000000078000000+ −
007C000000007C000000003E000000003F000000001F000000000F800000000FC0000000+ −
07E000000003F000000001FC00000000FF000000003FE00000001FFFFFF80007FFFFFC00+ −
01FFFFFC00003FFFF8262E7AA933>50 D<0000000030000000007800000000F800000000+ −
F800000001F000000001F000000003E000000003E000000007C000000007C00000000F80+ −
0000000F800000001F000000001F000000003E000000003E000000007C000000007C0000+ −
0000F800000000F800000001F000000001F000000003E000000003E000000007C0000000+ −
07C00000000F800000000F800000001F000000001F000000003E000000003E000000007C+ −
000000007C00000000F800000000F800000001F000000001F000000003E000000003E000+ −
000007C000000007C00000000F800000000F800000001F000000001F000000003E000000+ −
003E000000007C000000007C00000000F800000000F800000001F000000001F000000003+ −
E000000003E000000007C000000007C00000000F800000000F800000001F000000001F00+ −
0000003E000000003E000000007C000000007C00000000F800000000F800000000F00000+ −
00006000000000254675B500>54 D<F0F0F0F0F0F0F0F0F0F0F0F0F8FCFCF8F0F0F0F0F0+ −
F0F0F0F0F0F0F0061C7CA000>I<600000000180F000000003C0F800000007C0F8000000+ −
07C07800000007807C0000000F807C0000000F803C0000000F003E0000001F003E000000+ −
1F001F0000003E001F0000003E000F0000003C000F8000007C000F8000007C0007C00000+ −
F80007C00000F80003C00000F00003FFFFFFF00003FFFFFFF00001FFFFFFE00001FFFFFF+ −
E00001F00003E00000F80007C00000F80007C000007800078000007C000F8000007C000F+ −
8000003C000F0000003E001F0000003E001F0000001F003E0000001F003E0000000F003C+ −
0000000F807C0000000F807C00000007807800000007C0F800000007C0F800000003E1F0+ −
00000003E1F000000001E1E000000001F3E000000001F3E000000000FFC000000000FFC0+ −
000000007F80000000007F80000000007F80000000003F00000000003F00000000003F00+ −
000000001E00000000000C0000002A3680B32B>I<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0+ −
7FFFFFFFC000000003C000000003C000000003C000000003C000000003C000000003C000+ −
000003C000000003C000000003C000000003C000000003C000000003C000000003C00000+ −
0003C000000003C000000003C000000003C000000003C000000003C000000003C03FFFFF+ −
FFC07FFFFFFFC07FFFFFFFC03FFFFFFFC000000003C000000003C000000003C000000003+ −
C000000003C000000003C000000003C000000003C000000003C000000003C000000003C0+ −
00000003C000000003C000000003C000000003C000000003C000000003C000000003C000+ −
000003C000000003C07FFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022347CB32B>I<+ −
7FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC07FFFFFFFFFC00000000003C00000000003C0+ −
0000000003C00000000003C00000000003C00000000003C00000000003C00000000003C0+ −
0000000003C00000000003C00000000003C00000000003C00000000003C00000000003C0+ −
0000000003C00000000003C00000000001802A157C9A33>I<600000000180F000000003+ −
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003+ −
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003+ −
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003+ −
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003+ −
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003+ −
C0F000000003C0F000000003C0F800000007C0F800000007C07C0000000F807C0000000F+ −
803E0000001F003F0000003F001F8000007E000FE00001FC0007F80007F80001FF807FE0+ −
0000FFFFFFC000003FFFFF0000000FFFFC00000000FFC000002A307CAD33>91+ −
D<00000C00000000001E00000000003F00000000003F00000000007F80000000007F8000+ −
0000007F8000000000FFC000000000FFC000000001F3E000000001F3E000000003E1F000+ −
000003E1F000000003C0F000000007C0F800000007C0F80000000F807C0000000F807C00+ −
00001F003E0000001F003E0000001E001E0000003E001F0000003E001F0000007C000F80+ −
00007C000F800000F80007C00000F80007C00000F00003C00001F00003E00001F00003E0+ −
0003E00001F00003E00001F00007C00000F80007C00000F8000780000078000F8000007C+ −
000F8000007C001F0000003E001F0000003E003E0000001F003E0000001F003C0000000F+ −
007C0000000F807C0000000F80F800000007C0F800000007C0F000000003C06000000001+ −
802A307CAD33>94 D<000007E000003FE00000FE000003F8000007F000000FE000000FC0+ −
00001FC000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F0000007E00+ −
0000FC000003F800007FE00000FF0000007FE0000003F8000000FC0000007E0000003F00+ −
00003F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001FC000000FC000000FE0+ −
000007F0000003F8000000FE0000003FE0000007E01B4B7BB726>102+ −
D<FC000000FFC0000007F0000001FC000000FE0000007F0000003F0000003F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001FC000000FC0000007E0000003F0000001FC+ −
0000007FC000001FE000007FC00001FC000003F0000007E000000FC000001FC000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80+ −
00001F8000001F8000001F8000001F8000003F8000003F0000007F000000FE000001FC00+ −
0007F00000FFC00000FC0000001B4B7BB726>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0+ −
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0+ −
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F060044B78B715>106+ −
D<6000000006F00000000FF00000000FF00000000FF00000000FF00000000FF00000000F+ −
F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0+ −
0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000+ −
00000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000+ −
000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000+ −
0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FFFFFFFFFFF+ −
FFFFFFFFFFFFFFFFFFFF7FFFFFFFFE282E7BAD33>116 D<7FFFFFFFFEFFFFFFFFFFFFFF+ −
FFFFFFFFFFFFFFFFF00000000FF00000000FF00000000FF00000000FF00000000FF00000+ −
000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000+ −
0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F+ −
F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0+ −
0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000+ −
00000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F600000+ −
0006282E7BAD33>I E+ −
%EndDVIPSBitmapFont+ −
/FE 134[35 35 53 35 39 22 31 31 39 39 39 39 57 22 35+ −
22 22 39 39 22 35 39 35 39 39 12[44 3[48 6[26 1[57 48+ −
48 1[53 48 48 6[26 7[39 39 2[20 26 20 2[26 26 26 36[39+ −
2[{TeXBase1Encoding ReEncodeFont}44 78.8709 /Times-Italic+ −
rf /FF 75[22 29[33 1[29 29 24[29 33 33 48 33 33 18 26+ −
22 33 33 33 33 52 18 33 18 18 33 33 22 29 33 29 33 29+ −
3[22 1[22 41 48 48 63 48 48 41 37 44 48 37 48 48 59 41+ −
48 26 22 48 48 37 41 48 44 44 48 61 5[18 33 33 33 33+ −
33 33 33 33 33 33 18 17 22 17 2[22 22 22 36[37 2[{+ −
TeXBase1Encoding ReEncodeFont}78 66.4176 /Times-Roman+ −
rf+ −
%DVIPSBitmapFont: FG cmmi9 9 31+ −
/FG 31 123 df<00007F0000000003FFE00000000FC0F80000003F007C0000007C007E00+ −
6000F8003F006001F0003F00E003E0001F80C007E0001F80C00FC0001F81C00FC0001FC1+ −
801F80000FC1803F80000FC3803F00000FC3003F00000FC7007F00000FC6007E00000FCE+ −
007E00000FDC007E00000FD8007E00000FF800FC00000FF000FC00000FE000FC00000FC0+ −
007C00000FC0007C00000FC0007C00000FC0007C00001FC0003E00003FC0003E000077C0+ −
C01F0001E7E0C00F800783E1C007C07E03E38001FFF801FF00007F80007C002B227EA031+ −
>11 D<007C000000007F800000001FE00000000FE000000007F000000007F000000003F8+ −
00000003F800000003F800000001FC00000001FC00000001FC00000000FE00000000FE00+ −
000000FF000000007F000000007F000000003F800000003F800000003F800000001FC000+ −
00001FC00000001FE00000000FE00000000FE000000007F000000007F000000007F00000+ −
0007F80000000FF80000001FF80000003DFC00000079FC000000F8FE000001F0FE000003+ −
E0FE000007C07F00000F807F00001F007F00003E003F80007E003F8000FC003FC001F800+ −
1FC003F0001FC007E0000FE01FC0000FE03FC0000FE07F800007F0FF000007F0FE000007+ −
F8FC000003F8F8000001FCF0000000FC26357CB32D>21 D<003FFFFFFF8000FFFFFFFFC0+ −
03FFFFFFFFC007FFFFFFFF800FFFFFFFFF001F00C01800001C00C03800003801C0380000+ −
7001C0300000600180300000E00380300000000380700000000380700000000700700000+ −
000700700000000F00700000000F00F00000000E00F00000001E00F00000001E00F00000+ −
003E00F80000003C00F80000007C00F80000007C00F8000000FC00F8000000F800FC0000+ −
00F800FC000001F800FE000001F800FE000003F000FE000003F0007E000003F0007E0000+ −
01C0003800002A217E9F2C>25 D<3C7EFFFFFFFF7E3C08087A8715>58+ −
D<3C007E00FF00FF00FF80FF807F803D800180018001800180038003000300070006000E+ −
000C001C0038007000600009177A8715>I<000030000000003000000000300000000030+ −
000000003000000000780000000078000000007800000000780000000078000000007800+ −
0000007800000000780000F00078003CFF807807FC1FFCFCFFE007FFFFFF8001FFFFFE00+ −
007FFFF800001FFFE0000003FF00000003FF00000003FF00000007FF80000007FF800000+ −
0FCFC000000F87C000001F03E000003E01F000003C00F0000078007800007000380000F0+ −
003C0001E0001E0001C0000E000180000600262480A426>63 D<00000000030000000000+ −
00070000000000000F0000000000000F0000000000001F8000000000001F800000000000+ −
3F8000000000007F8000000000007F800000000000FF800000000000FF800000000001BF+ −
8000000000033F8000000000033FC000000000063FC000000000061FC0000000000C1FC0+ −
00000000181FC000000000181FC000000000301FC000000000701FC000000000601FC000+ −
000000C01FC000000000C01FE000000001801FE000000003800FE000000003000FE00000+ −
0006000FE000000006000FE00000000C000FE00000001C000FE000000018000FE0000000+ −
30000FF000000030000FF00000007FFFFFF0000000FFFFFFF0000000FFFFFFF000000180+ −
0007F0000001800007F0000003000007F0000006000007F0000006000007F800000C0000+ −
07F800000C000003F8000018000003F8000030000003F8000070000003F8000060000003+ −
F80000E0000003F80001E0000003F80007F0000007FC00FFFF0001FFFFF0FFFF0001FFFF+ −
F0FFFE0001FFFFF034367DB53A>65 D<000FFFFFFFFFFC000FFFFFFFFFFC000FFFFFFFFF+ −
F800003FC00007F800003FC00000F800003FC000007800003F8000007800003F80000038+ −
00007F8000003800007F8000003000007F0000003000007F000000300000FF0000003000+ −
00FF000000300000FE000000300000FE000600300001FE000E00700001FE000C00600001+ −
FC000C00000001FC000C00000003FC001C00000003FC003800000003F8003800000003F8+ −
00F800000007FFFFF800000007FFFFF800000007FFFFF000000007F001F00000000FF000+ −
F00000000FF000600000000FE000600000000FE000600000001FE000E00000001FE000C0+ −
0000001FC000C00000001FC000C00000003FC000000000003FC000000000003F80000000+ −
00003F8000000000007F8000000000007F8000000000007F0000000000007F0000000000+ −
00FF000000000000FF000000000000FE000000000001FF0000000000FFFFFF00000000FF+ −
FFFF00000000FFFFFF0000000036337DB231>70 D<000FFFFFF000000FFFFFF000000FFF+ −
FFF00000003FE0000000003FC0000000003FC0000000003F80000000003F80000000007F+ −
80000000007F80000000007F00000000007F0000000000FF0000000000FF0000000000FE+ −
0000000000FE0000000001FE0000000001FE0000000001FC0000000001FC0000000003FC+ −
0000000003FC0000000003F80000000003F80000000007F80000000007F80000000007F0+ −
0000000007F0000000000FF0000000000FF0000000000FE0000000000FE000000C001FE0+ −
00001C001FE0000018001FC0000018001FC0000038003FC0000030003FC0000070003F80+ −
000070003F800000E0007F800000E0007F800001E0007F000003C0007F000007C000FF00+ −
000F8000FF00001F8000FE00007F8001FE0003FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFF+ −
FFFE002E337DB234>76 D<000FFFE00000000FFFC0000FFFE00000001FFFC0000FFFE000+ −
00003FFFC000003FE00000003FE00000003FE00000007FC00000003FE0000000DFC00000+ −
0033F0000000DF8000000033F00000019F8000000073F00000033F8000000073F0000003+ −
3F0000000063F00000063F0000000063F000000C3F00000000E3F000000C7F00000000E1+ −
F80000187E00000000C1F80000187E00000000C1F80000307E00000001C1F8000060FE00+ −
000001C1F8000060FC0000000181F80000C0FC0000000181F8000180FC0000000381F800+ −
0181FC0000000380FC000301F80000000300FC000301F80000000300FC000601F8000000+ −
0700FC000C03F80000000700FC000C03F00000000600FC001803F00000000600FC003003+ −
F00000000E007E003007F00000000E007E006007E00000000C007E00C007E00000000C00+ −
7E00C007E00000001C007E01800FE00000001C007E01800FC000000018007E03000FC000+ −
000018007E06000FC000000038003F06001FC000000038003F0C001F8000000030003F18+ −
001F8000000030003F18001F8000000070003F30003F8000000070003F30003F00000000+ −
60003F60003F0000000060001FC0003F00000000E0001FC0007F00000000E0001F80007E+ −
00000001E0001F00007E00000007F0001F0000FE000000FFFF801E007FFFFC0000FFFF80+ −
1C007FFFFC0000FFFF800C007FFFFC00004A337CB24A>I<000FFFE00001FFFF000FFFE0+ −
0001FFFF000FFFF00001FFFF00001FF000000FE000003FF80000078000003FF800000700+ −
000033FC00000600000033FC00000600000071FE00000E00000071FE00000C00000060FE+ −
00000C00000060FF00000C000000E07F00001C000000E07F800018000000C03F80001800+ −
0000C03FC00018000001C03FC00038000001C01FE00030000001801FE00030000001800F+ −
F00030000003800FF000700000038007F800600000030007F800600000030003F8006000+ −
00070003FC00E00000070001FC00C00000060001FE00C00000060000FE00C000000E0000+ −
FF01C000000E0000FF018000000C00007F818000000C00007F818000001C00003FC38000+ −
001C00003FC30000001800001FE30000001800001FE30000003800000FF7000000380000+ −
0FF600000030000007F600000030000007FE00000070000003FE00000070000003FC0000+ −
0060000001FC00000060000001FC000000E0000001FC000000E0000000F8000001E00000+ −
00F8000007F0000000780000FFFF800000780000FFFF800000300000FFFF800000300000+ −
40337DB23D>I<000FFFFFFFF000000FFFFFFFFE00000FFFFFFFFF0000003FC0007FC000+ −
003FC0001FE000003FC00007F000003F800007F000003F800003F800007F800003F80000+ −
7F800003F800007F000003FC00007F000003FC0000FF000003FC0000FF000007F80000FE+ −
000007F80000FE000007F80001FE000007F00001FE00000FF00001FC00000FE00001FC00+ −
001FC00003FC00003F800003FC00007F000003F80000FE000003F80003FC000007F8001F+ −
F0000007FFFFFFC0000007FFFFFE00000007F000000000000FF000000000000FF0000000+ −
00000FE000000000000FE000000000001FE000000000001FE000000000001FC000000000+ −
001FC000000000003FC000000000003FC000000000003F8000000000003F800000000000+ −
7F8000000000007F8000000000007F0000000000007F000000000000FF000000000000FF+ −
000000000000FE000000000001FE0000000000FFFFFC00000000FFFFFC00000000FFFFFC+ −
0000000036337DB231>80 D<000000FF0018000007FFE03800001FFFF87800007F00FCF8+ −
0000FC001FF00001F0000FF00003E00007F00007C00003F0000F800003E0000F800003E0+ −
001F000001E0001F000001E0003E000001C0003E000001C0003E000001C0007E000001C0+ −
007E00000180007E00000180007F00000000007F80000000007FC0000000003FF0000000+ −
003FFF000000003FFFF00000001FFFFE0000000FFFFF80000007FFFFC0000003FFFFE000+ −
0000FFFFF00000000FFFF800000000FFF8000000000FF80000000007FC0000000003FC00+ −
00000001FC0000000000FC0000000000FC000C000000FC000C000000FC001C000000F800+ −
18000000F80018000000F80018000001F80038000001F0003C000003F0003C000003E000+ −
3C000007C0007E00000F80007F00001F80007F80003F00007BE0007C0000F9FC03F80000+ −
F07FFFE00000E01FFF800000C003FE0000002D377CB42F>83 D<FFFFF00001FFFCFFFFF0+ −
0001FFFCFFFFF00001FFFC03FE0000003F8003FC0000001E0003FC0000001C0003FC0000+ −
00380001FC000000300001FC000000700001FC000000600001FC000000C00001FC000000+ −
C00001FC000001800001FE000003000000FE000003000000FE000006000000FE00000C00+ −
0000FE00000C000000FE000018000000FE000038000000FF000030000000FF0000600000+ −
007F0000E00000007F0000C00000007F0001800000007F0001800000007F000300000000+ −
7F8006000000007F8006000000003F800C000000003F8018000000003F8018000000003F+ −
8030000000003F8070000000003FC060000000003FC0C0000000001FC1C0000000001FC1+ −
80000000001FC300000000001FC300000000001FC600000000001FEC00000000001FEC00+ −
000000000FF800000000000FF800000000000FF000000000000FE000000000000FE00000+ −
0000000FC000000000000F80000000000007800000000000070000000000000600000000+ −
0036357CB22D>86 D<0003FFFFC007FFFC0007FFFFC007FFFC0007FFFFC007FFFC00000F+ −
FC0000FF8000000FF80000FC00000007F80000F000000007F80000E000000003FC0001C0+ −
00000003FC00038000000001FC00070000000001FE000E0000000001FE001C0000000000+ −
FF00380000000000FF007000000000007F806000000000007F80C000000000003F818000+ −
000000003FC30000000000003FC60000000000001FEC0000000000001FF8000000000000+ −
0FF00000000000000FF000000000000007F000000000000007F800000000000007F80000+ −
0000000007FC0000000000000FFC0000000000001DFE00000000000039FE000000000000+ −
70FE000000000000E0FF000000000001C0FF000000000003807F800000000003007F8000+ −
00000006003FC0000000000C003FC00000000018001FC00000000030001FE00000000060+ −
001FE000000000C0000FF00000000180000FF000000003000007F800000006000007F800+ −
00000E000003F80000003C000003FC0000007C000003FC000003FE000007FE0000FFFFC0+ −
007FFFFC00FFFFC0007FFFFC00FFFFC0007FFFF8003E337EB23F>88+ −
D<0001F800000007FE0000001F071C00007C03FE0000F801FE0001F001FE0003F000FE00+ −
07E000FC0007C000FC000FC000FC001F8001FC001F8001F8003F0001F8003F0001F8003F+ −
0003F8007F0003F0007E0003F0007E0003F0007E0007F000FE0007E000FC0007E000FC00+ −
07E040FC000FE060FC000FC0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F+ −
81803E00EF83801E01C7C3000F0787C70007FE03FE0000F800F80023227EA029>97+ −
D<003F00001FFF00001FFF00001FFE000000FE000000FE000000FE000000FC000000FC00+ −
0001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F0000007F000+ −
0007F0000007E0F80007E3FF000FEF07800FFC03C00FF803E00FF001E01FE001F01FC001+ −
F01F8001F01F8001F83F8001F83F8001F83F0001F83F0001F87F0003F87F0003F07E0003+ −
F07E0003F07E0007F0FE0007E0FC0007E0FC0007E0FC000FC0FC000FC0FC001F807C001F+ −
007C003F007C007E003C007C003E00F8001E01F0000F07C00007FF000000FC00001D357E+ −
B321>I<00007F000003FFC0000FC0F0003F0038007C003800F800F801F001F803E003F8+ −
07E003F80FC003F80F8001F01F8000003F8000003F0000003F0000007F0000007E000000+ −
7E0000007E0000007E000000FC000000FC000000FC0000007C0000007C00000C7C00001C+ −
7C0000383E0000703E0000E01F0003C00F800F0007C07E0001FFF000007F80001E227EA0+ −
21>I<00000001F8000000FFF8000000FFF8000000FFF000000007F000000007F0000000+ −
07F000000007E000000007E00000000FE00000000FE00000000FC00000000FC00000001F+ −
C00000001FC00000001F800000001F800000003F800000003F800001F83F000007FE3F00+ −
001F077F00007C03FF0000F801FE0001F001FE0003F000FE0007E000FE0007C000FC000F+ −
C000FC001F8001FC001F8001FC003F0001F8003F0001F8003F0003F8007F0003F8007E00+ −
03F0007E0003F0007E0007F000FE0007F000FC0007E000FC0007E040FC000FE060FC000F+ −
E0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F81803E00EF83801E01C7C3+ −
000F0787C70007FE03FE0000F800F80025357EB328>I<0000FE000007FF80001F03C000+ −
7C01E001F800E003F000E007E000E00FC000E01F8000E01F8001E03F0001C03F0003C07E+ −
000F807E00FE007FFFF800FFFF8000FC000000FC000000FC000000FC000000F8000000F8+ −
000000F8000000F8000000F8000018FC0000387C0000707C0000E03C0001C03E0007801F+ −
001E000F80FC0003FFE00000FF00001D227DA024>I<0000000F800000003FE000000078+ −
70000001F0F8000001E3F8000003E3F8000003E3F8000007E3F0000007E3F000000FC1C0+ −
00000FC00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000+ −
001F800000001F800000003F800000003F0000001FFFFF80003FFFFF80003FFFFF000000+ −
7F000000007E000000007E000000007E000000007E00000000FE00000000FC00000000FC+ −
00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800+ −
000001F800000003F800000003F000000003F000000003F000000003F000000007F00000+ −
0007E000000007E000000007E000000007E00000000FE00000000FC00000000FC0000000+ −
0FC00000000FC00000000F800000001F800000001F800000001F0000001C1F0000007F1E+ −
0000007F3E0000007F3E000000FE3C000000FE78000000787800000070F00000003FC000+ −
00000F8000000025457CB425>I<0001C00007E00007F0000FF0000FE00007E000038000+ −
000000000000000000000000000000000000000000000000000000000000F00003FC0007+ −
1E000E1F001C1F00381F00301F80303F00703F00603F00607F00E07E0040FE0000FE0000+ −
FC0001FC0001F80001F80003F80003F00007F00007F02007E0700FE0600FC0600FC0E00F+ −
C0C01F80C00F81C00F83800F8700078E0003FC0000F00014337EB11A>105+ −
D<001F001F00007FC07FE000E3E1E0F000C3E3807801C1F7007C0181FE003C0183FC003E+ −
0383F8003E0303F0003E0303F0003F0707F0003F0607F0003F0207E0003F0007E0003F00+ −
0FE0007F000FE0007E000FC0007E000FC0007E001FC000FE001FC000FC001F8000FC001F+ −
8000FC003F8001F8003F8001F8003F0003F0003F0003E0007F0007E0007F000FC0007F80+ −
0F80007F801F0000FFC03E0000FEE0F80000FC7FE00000FC1F800001FC00000001FC0000+ −
0001F800000001F800000003F800000003F800000003F000000003F000000007F0000000+ −
07F000000007E0000000FFFF800000FFFF800000FFFF800000283083A027>112+ −
D<0001F8030007FE07001F071F007C03BF00F801BE01F001FE03F000FE07E000FE07C000+ −
FC0FC000FC1F8000FC1F8001FC3F0001F83F0001F83F0001F87F0003F87E0003F07E0003+ −
F07E0003F0FE0007F0FC0007E0FC0007E0FC0007E0FC000FE0FC000FC07C000FC07C001F+ −
C07C003FC03C007F803E00FF801E01DF800F07BF8007FE3F0000F83F0000003F0000007F+ −
0000007E0000007E0000007E000000FE000000FC000000FC000001FC000001FC000001F8+ −
00007FFFE000FFFFE000FFFFE020307EA022>I<03E003E00FF81FF81C7C3C1C187C703E+ −
383EE0FE303FC0FE307F80FE707F00FC607E00FC607E0070E07E0000C0FE000040FC0000+ −
00FC000000FC000001FC000001F8000001F8000001F8000003F8000003F0000003F00000+ −
03F0000007F0000007E0000007E0000007E000000FE000000FC000000FC000000FC00000+ −
1FC000001F800000070000001F227EA023>I<0001FC00000FFF00003E03C0007800E000+ −
F0006001E001E001E003E003E007E003C007E003E007E003E0038003F0000003FF000003+ −
FFF00003FFFC0001FFFE0000FFFF00007FFF80000FFF8000007FC000001FC000000FC07E+ −
0007C0FE000780FE000780FE000780FE000F00FC000F00C0001E00E0003C00700078003C+ −
01F0000FFFC00003FE00001B227CA024>I<000380000FC0000FC0000FC0001FC0001FC0+ −
001F80001F80003F80003F80003F00003F00007F00007F00007E007FFFFE7FFFFEFFFFFE+ −
00FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F000+ −
07E00007E0000FE0000FE0000FC0000FC0081FC01C1FC0181F80181F80381F80701F8060+ −
1F00E01F01C00F83800F870007FE0001F80017307FAE1C>I<00F0000E0003FC001F0007+ −
1E003F800E1F003F801C1F003F80381F801F80301F800F80303F800780703F000780603F+ −
000380607F000380E07E000300407E00030000FE00030000FC00070001FC00060001F800+ −
060001F800060001F8000E0003F8000C0003F0000C0003F0001C0003F000180003F00038+ −
0003E000300003E000700003E000600003F000E00003F001C00001F003800001F8070000+ −
00FC1E0000003FF800000007E0000021227EA025>118 D<001F801F80007FE07FE000E0+ −
F0E07001C0F9C0F803807D83F807007F83F80E007F03F80C007F03F01C007E03F018007E+ −
01C01800FE00003800FC00001000FC00000000FC00000001FC00000001F800000001F800+ −
000001F800000003F800000003F800000003F000000003F000400007F000E00007F000C0+ −
1C07E000C07E07E001C07E0FE00180FE0FE00380FE1FE00700FE1BE00E00F839F01C0070+ −
70F878003FE07FE0000F801F800025227EA02C>120 D<00F000000003FC0001C0071E00+ −
03E00E1F0007E01C1F0007E0381F8007E0301F800FE0303F800FC0703F000FC0603F000F+ −
C0607F001FC0E07E001F80407E001F8000FE001F8000FC003F8001FC003F0001F8003F00+ −
01F8003F0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0003F000FC0003+ −
E000FC0003E000FC0003E001FC0003E001F80003F003F80003F007F80001F00FF80000F8+ −
3FF000003FFBF000000FC3F000000007F000000007E000000007E00007000FE0001F800F+ −
C0003F801F80003F801F80003F803F00003F007E00003E007C00003800F800001803F000+ −
001E07C0000007FF00000001F800000023317EA026>I<00078003001FE007003FF00600+ −
7FF80E00FFFC1C01FFFE7801E03FF0038001F0030000E0030001C0000003800000070000+ −
000E0000003C00000070000000E0000001C0000003800000070000000E0000003C000000+ −
70000C00E0001C01C0001803800038070000780EC000F00FFE03F01F3FFFE0381FFFC070+ −
0FFF806007FF00E003FE00C000F00020227DA024>I E+ −
%EndDVIPSBitmapFont+ −
/FH 138[60 1[42 1[60 1[54 60 90 30 2[30 60 2[48 1[48+ −
60 54 12[72 4[84 78 1[72 2[42 84 24[30 47[{+ −
TeXBase1Encoding ReEncodeFont}20 107.929 /Times-Bold+ −
rf /FI 87[26 16[79 39 1[35 35 24[35 39 39 57 39 39 22+ −
31 26 39 39 39 39 61 22 39 22 22 39 39 26 35 39 35 39+ −
35 3[26 1[26 3[74 1[57 48 44 53 1[44 57 57 70 48 57 31+ −
26 57 57 44 48 57 53 53 57 1[35 3[22 22 39 39 39 39 39+ −
39 39 39 39 39 22 20 26 20 2[26 26 26 5[26 15[22 13[44+ −
44 2[{TeXBase1Encoding ReEncodeFont}78 78.8709 /Times-Roman+ −
rf /FJ 134[39 39 57 39 44 26 31 35 44 44 39 44 66 22+ −
44 1[22 44 39 26 35 44 35 44 39 9[79 1[57 53 44 57 1[48+ −
1[57 1[53 61 1[31 2[48 53 57 57 53 57 6[26 39 39 39 39+ −
39 39 39 39 39 39 1[20 26 20 2[26 26 26 36[44 2[{+ −
TeXBase1Encoding ReEncodeFont}58 78.8709 /Times-Bold+ −
rf end+ −
%%EndProlog+ −
%%BeginSetup+ −
%%Feature: *Resolution 600dpi+ −
TeXDict begin+ −
%%PaperSize: A4+ −
end+ −
%%EndSetup+ −
%%Page: 1 1+ −
TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray+ −
1 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray 0 TeXcolorgray 0.25 TeXcolorgray 0 TeXcolorgray+ −
0.5 TeXcolorgray 0 TeXcolorgray 0 -175 2881 4 v 0 35+ −
4 211 v 28 -96 a FJ(Noname)20 b(manuscript)g(No.)28 -7+ −
y FI(\(will)g(be)g(inserted)h(by)f(the)g(editor\))p 2878+ −
35 V 0 38 2881 4 v 0 154 2881 9 v 0 514 a FH(Nominal)27+ −
b(T)-10 b(echniques)27 b(in)g(Isabelle/HOL)1709 478 y+ −
FG(?)0 753 y FJ(Christian)20 b(Urban)0 1495 y FF(Recei)n(v)o(ed:)h+ −
(date)d(/)f(Accepted:)j(date)p 0 TeXcolorgray 0 1760+ −
a FJ(Abstract)p 0 TeXcolorgray 39 w FI(This)g(paper)h(describes)f(a)g+ −
(formalisation)i(of)e(the)h(lambda-calculus)g(in)g(a)e(HOL-based)i+ −
(the-)0 1855 y(orem)d(pro)o(v)o(er)h(using)f(nominal)h(techniques.)g+ −
(Central)e(to)h(the)f(formalisation)i(is)e(an)h(inducti)n(v)o(e)h(set)e+ −
(that)g(is)0 1951 y(bijecti)n(v)o(e)24 b(with)g(the)g(alpha-equated)i+ −
(lambda-terms.)f(Unlik)o(e)f(de-Bruijn)h(indices,)f(ho)n(we)n(v)o(er)m+ −
(,)h(this)e(in-)0 2046 y(ducti)n(v)o(e)d(set)f(includes)h(names)g(and)g+ −
(reasoning)h(about)g(it)e(is)g(v)o(ery)h(similar)f(to)h(informal)h+ −
(reasoning)g(with)0 2141 y(\223pencil)f(and)h(paper\224.)f(T)-6+ −
b(o)20 b(sho)n(w)g(this)f(we)h(pro)o(vide)h(a)e(structural)i(induction)+ −
g(principle)g(that)f(requires)h(to)0 2237 y(pro)o(v)o(e)d(the)e+ −
(lambda-case)i(for)f(fresh)h(binders)f(only)-5 b(.)17+ −
b(Furthermore,)i(we)d(adapt)i(w)o(ork)f(by)h(Pitts)d(pro)o(viding)0+ −
2332 y(a)20 b(recursion)h(combinator)h(for)f(the)f(inducti)n(v)o(e)h+ −
(set.)e(The)h(main)h(technical)f(no)o(v)o(elty)h(of)g(this)e(w)o(ork)i+ −
(is)f(that)0 2428 y(it)h(is)g(compatible)i(with)e(the)h(axiom)h(of)f+ −
(choice)g(\(unlik)o(e)h(earlier)f(nominal)h(logic)f(w)o(ork)g(by)g+ −
(Pitts)f FE(et)g(al)p FI(\);)0 2523 y(thus)k(we)f(were)h(able)g(to)g+ −
(implement)g(all)g(results)f(in)h(Isabelle/HOL)f(and)i(use)e(them)h(to)+ −
g(formalise)g(the)0 2619 y(standard)f(proofs)g(for)g(Church-Rosser)m(,)+ −
f(strong-normalisation)j(of)d(beta-reduction,)i(the)e(correctness)0+ −
2714 y(of)d(the)h(type-inference)h(algorithm)f(W)-7 b(,)20+ −
b(typical)g(proofs)h(from)g(SOS)f(and)g(much)h(more.)0+ −
2866 y FJ(K)n(eyw)o(ords)40 b FI(Lambda-calculus)22 b+ −
FD(\001)e FI(nominal)i(logic)e(w)o(ork)h FD(\001)f FI(theorem)h(pro)o+ −
(v)o(ers.)0 3167 y FJ(1)28 b(Intr)o(oduction)576 3326+ −
y FI(W)-6 b(e)23 b(thank)i(T)-6 b(.)23 b(Thacher)h(Robinson)g(for)g+ −
(sho)n(wing)h(us)e(on)h(August)g(19,)f(1962)i(by)f(a)576+ −
3421 y(countere)o(xample)j(the)e(e)o(xistence)f(of)h(an)g(error)h(in)f+ −
(our)g(handling)h(of)f(bound)i(v)n(ari-)576 3517 y(ables.)2041+ −
3612 y(S.)19 b(C.)g(Kleene)h([17,)h(P)o(age)f(16])0 3768+ −
y(When)32 b(reasoning)h(informally)g(about)f(syntax,)f(issues)g(with)g+ −
(binders)h(and)g(alpha-equiv)n(alence)i(are)0 3864 y(almost)26+ −
b(uni)n(v)o(ersally)h(percei)n(v)o(ed)h(as)d(unimportant)k(and)d(thus)h+ −
(mostly)f(ignored.)i(Ho)n(we)n(v)o(er)m(,)e(errors)h+ −
FE(do)0 3959 y FI(arise)20 b(from)h(these)f(issues)f(as)h(the)g+ −
(quotation)i(from)f(Kleene)g(sho)n(ws.)f(It)g(is)f(therefore)j+ −
(desirable)e(to)h(ha)n(v)o(e)0 4055 y(con)m(v)o(enient)32+ −
b(techniques)f(for)g(formalising)h(informal)f(proofs.)g(In)g(this)f+ −
(paper)h(such)g(a)f(technique)h(is)0 4150 y(described)19+ −
b(in)f(the)g(conte)o(xt)h(of)f(the)g(lambda-calculus)i(and)e(the)g+ −
(theorem)h(pro)o(v)o(er)h(Isabelle/HOL.)d(Ho)n(w-)0 4246+ −
y(e)n(v)o(er)m(,)h(the)h(techniques)g(generalise)g(to)f(more)h(comple)o+ −
(x)h(calculi)e(and)h(parts)f(ha)n(v)o(e)h(already)h(been)f(adapted)0+ −
4341 y(in)h(HOL4,)g(HOL-light)h(and)f(Coq.)p 0 TeXcolorgray+ −
0 4420 898 4 v 0 4484 a FC(?)57 4508 y FF(This)i(paper)h(is)f(a)f(re)n+ −
(vised)j(and)e(much)g(e)o(xtended)i(v)o(ersion)f(of)f(Urban)h(and)f+ −
(Ber)o(ghofer)h([32],)f(and)g(Urban)h(and)f(T)-5 b(asson)0+ −
4585 y([36].)p 0 4630 V 0 4721 a(Christian)19 b(Urban)0+ −
4798 y(T)-5 b(echnical)20 b(Uni)n(v)o(ersity)f(Munich,)f(German)o(y)l+ −
(,E-mail:)g(urbanc@in.tum.de)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray eop end+ −
%%Page: 2 2+ −
TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 0 17 a FF(2)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 149 V 0 1339 4 1190 v 78 227 a FB(Substitution)18 b(Lemma:)g+ −
FF(If)f FA(x)i Fz(6\021)h FA(y)f FF(and)e FA(x)i Fz(62)h+ −
FA(F)10 b(V)15 b Fy(\()p FA(L)p Fy(\))p FF(,)i(then)550+ −
340 y FA(M)7 b Fy([)p FA(x)19 b Fy(:=)g FA(N)7 b Fy(][)p+ −
FA(y)22 b Fy(:=)d FA(L)p Fy(])g Fz(\021)g FA(M)7 b Fy([)p+ −
FA(y)22 b Fy(:=)d FA(L)p Fy(][)p FA(x)f Fy(:=)h FA(N)7+ −
b Fy([)p FA(y)22 b Fy(:=)d FA(L)p Fy(]])p FF(.)78 475+ −
y FB(Pr)o(oof:)e FF(By)g(induction)j(on)d(the)h(structure)h(of)e+ −
FA(M)7 b FF(.)78 552 y FB(Case)17 b(1:)g FA(M)24 b FF(is)16+ −
b(a)i(v)n(ariable.)196 629 y(Case)g(1.1.)23 b FA(M)k+ −
Fz(\021)19 b FA(x)p FF(.)d(Then)h(both)h(sides)f(equal)i+ −
FA(N)7 b Fy([)p FA(y)21 b Fy(:=)e FA(L)p Fy(])e FF(since)h+ −
FA(x)h Fz(6\021)g FA(y)r FF(.)196 706 y(Case)f(1.2.)23+ −
b FA(M)k Fz(\021)19 b FA(y)r FF(.)e(Then)g(both)g(sides)h(equal)g+ −
FA(L)p FF(,)e(for)h FA(x)j Fz(62)f FA(F)10 b(V)16 b Fy(\()p+ −
FA(L)p Fy(\))h FF(implies)h FA(L)p Fy([)p FA(x)h Fy(:=)g+ −
FA(:)12 b(:)f(:)p Fy(])19 b Fz(\021)g FA(L)p FF(.)196+ −
783 y(Case)f(1.3.)23 b FA(M)k Fz(\021)19 b FA(z)j Fz(6\021)e+ −
FA(x;)11 b(y)r FF(.)16 b(Then)h(both)h(sides)g(equal)g+ −
FA(z)s FF(.)78 859 y FB(Case)g(2:)g FA(M)29 b Fz(\021)22+ −
b FA(\025z)s(:M)644 868 y Fx(1)678 859 y FF(.)17 b(By)i(the)g(v)n+ −
(ariable)i(con)m(v)o(ention)g(we)d(may)g(assume)h(that)g+ −
FA(z)25 b Fz(6\021)d FA(x;)11 b(y)20 b FF(and)f FA(z)h+ −
FF(is)e(not)h(free)78 936 y(in)e FA(N)s(;)12 b(L)p FF(.)k(Then)h(by)g+ −
(induction)j(hypothesis)243 1037 y Fy(\()p FA(\025z)s(:M)435+ −
1046 y Fx(1)470 1037 y Fy(\)[)p FA(x)f Fy(:=)g FA(N)7+ −
b Fy(][)p FA(y)21 b Fy(:=)e FA(L)p Fy(])47 b Fz(\021)g+ −
FA(\025z)s(:)p Fy(\()p FA(M)1332 1046 y Fx(1)1366 1037+ −
y Fy([)p FA(x)19 b Fy(:=)h FA(N)7 b Fy(][)p FA(y)21 b+ −
Fy(:=)e FA(L)p Fy(]\))1038 1113 y Fz(\021)47 b FA(\025z)s(:)p+ −
Fy(\()p FA(M)1332 1122 y Fx(1)1366 1113 y Fy([)p FA(y)22+ −
b Fy(:=)d FA(L)p Fy(][)p FA(x)g Fy(:=)g FA(N)7 b Fy([)p+ −
FA(y)21 b Fy(:=)e FA(L)p Fy(]]\))1038 1190 y Fz(\021)47+ −
b Fy(\()p FA(\025z)s(:M)1332 1199 y Fx(1)1366 1190 y+ −
Fy(\)[)p FA(y)22 b Fy(:=)e FA(L)p Fy(][)p FA(x)e Fy(:=)h+ −
FA(N)7 b Fy([)p FA(y)22 b Fy(:=)d FA(L)p Fy(]])p FF(.)78+ −
1291 y FB(Case)e(3:)g FA(M)27 b Fz(\021)19 b FA(M)540+ −
1300 y Fx(1)574 1291 y FA(M)642 1300 y Fx(2)677 1291+ −
y FF(.)d(The)h(statement)i(follo)n(ws)f(again)g(from)f(the)h(induction)+ −
h(hypothesis.)360 b Fw(\003)p 2878 1339 V 0 1342 2881+ −
4 v 0 1458 a FB(Fig)o(.)20 b(1)53 b FF(An)20 b(informal)h(proof)g(of)f+ −
(the)h(substitution)i(lemma)d(tak)o(en)i(from)e(Barendre)o(gt')l(s)j+ −
(book)e([5].)f(In)g(second)h(case,)g(the)0 1535 y(v)n(ariable)f(con)m+ −
(v)o(ention)h(allo)n(ws)e(him)e(to)h(mo)o(v)o(e)g(the)g(substitutions)i+ −
(under)e(the)h(binder)m(,)f(to)g(apply)h(the)f(induction)i(hypothesis)0+ −
1612 y(and)e(\002nally)g(to)f(pull)h(the)g(substitutions)h(back)f(out)g+ −
(from)f(under)g(the)h(binder)l(.)p 0 TeXcolorgray 125+ −
1904 a FI(The)h(main)h(point)g(of)g(this)f(paper)h(is)f(to)g(gi)n(v)o+ −
(e)h(a)f(representation)h(for)g FE(alpha-equated)25 b+ −
FI(lambda-terms)0 2000 y(that)f(is)f(based)h(on)g(names,)g(is)f+ −
(inducti)n(v)o(e)h(and)h(comes)f(with)f(a)h(structural)g(induction)h+ −
(principle)g(where)0 2095 y(the)18 b(lambda-case)h(needs)f(to)g(be)f+ −
(pro)o(v)o(ed)j(for)e(only)h(fresh)f(binders.)g(Furthermore,)i(we)d(gi)+ −
n(v)o(e)h(a)g(structural)0 2191 y(recursion)31 b(combinator)h(for)e+ −
(de\002ning)h(functions)g(o)o(v)o(er)g(this)e(set.)g(In)h(practice)g+ −
(this)g(will)f(mean)i(that)0 2286 y(we)23 b(come)h(quite)g(close)g(to)f+ −
(the)h(informal)h(reasoning)g(using)f(Barendre)o(gt')l(s)g(v)n(ariable)+ −
h(con)m(v)o(ention)g([5].)0 2382 y(An)20 b(illustrati)n(v)o(e)h(e)o+ −
(xample)g(of)f(such)h(informal)h(reasoning)f(is)f(Barendre)o(gt')l(s)h+ −
(proof)h(of)e(the)h(substitution)0 2477 y(lemma)26 b(sho)n(wn)h(in)f+ −
(Fig.)g(1.)f(In)i(this)f(paper)g(we)g(describe)h(a)e(reasoning)j+ −
(infrastructure)f(for)g(formalis-)0 2572 y(ing)c(such)g(informal)h+ −
(proofs)g(with)e(ease.)g(This)h(reasoning)h(infrastructure)g(has)e+ −
(been)h(implemented)i(in)0 2668 y(Isabelle/HOL)20 b(as)f(part)i(of)f+ −
(the)g(nominal)i(datatype)e(package.)1720 2636 y Fv(1)125+ −
2778 y FI(Our)h(w)o(ork)g(is)f(based)h(on)h(the)f(nominal)h(logic)f(w)o+ −
(ork)h(by)f(Pitts)f FE(et)g(al)h FI([11,)8 b(26].)22+ −
b(The)f(main)g(technical)0 2873 y(no)o(v)o(elty)h(is)e(that)i(our)g(w)o+ −
(ork)g(is)e(compatible)i(with)f(the)h(axiom)g(of)f(choice.)h(This)f(is)+ −
f(important,)i(because)0 2969 y(otherwise)k(we)f(w)o(ould)i(not)f(be)f+ −
(able)h(to)g(b)n(uilt)g(in)f(a)h(HOL-based)g(theorem)g(pro)o(v)o(er)h+ −
(a)e(frame)n(w)o(ork)j(for)0 3064 y(reasoning)22 b(based)f(on)g+ −
(nominal)h(techniques.)f(The)g(reason)h(why)e(the)h(original)h(nominal)+ −
g(logic)f(w)o(ork)g(is)0 3160 y(incompatible)d(with)e(the)g(axiom)h(of)+ −
g(choice)g(has)f(to)g(do)h(with)f(the)g(w)o(ay)h(ho)n(w)g(the)f+ −
(\002nite)g(support)i(property)0 3255 y(is)26 b(enforced:)i(FM-set)e+ −
(theory)i(is)e(de\002ned)h(in)g([11])h(so)e(that)h(e)n(v)o(ery)g(set)f+ −
(in)h(the)f(FM-set-uni)n(v)o(erse)i(has)0 3351 y(\002nite)f(support.)h+ −
(In)f(nominal)h(logic)g([26],)g(the)f(axioms)g(\(E3\))h(and)g(\(E4\))g+ −
(imply)f(that)g(e)n(v)o(ery)h(function)0 3446 y(symbol)e(and)f+ −
(proposition)i(has)e(\002nite)g(support.)g(Ho)n(we)n(v)o(er)m(,)g+ −
(there)h(are)e(notions)i(in)f(HOL)g(that)g(do)g FE(not)0+ −
3542 y FI(ha)n(v)o(e)c(\002nite)f(support,)i(most)e(notably)i(choice)f+ −
(functions)g(\(see)f([27,)h(Example)h(3.4,)e(P)o(age)g(470]\).)i(Here,)+ −
0 3637 y(we)j(will)g(a)n(v)n(oid)i(the)f(incompatibility)h(with)f(the)f+ −
(axiom)i(of)e(choice)h(by)h(not)f(a)f(priory)i(restricting)f(our)0+ −
3733 y(discourse)31 b(to)f(only)h(\002nitely)g(supported)h(entities)d+ −
(as)h(done)h(pre)n(viously)-5 b(,)32 b(rather)f(we)e(will)h(e)o+ −
(xplicitly)0 3828 y(assume)21 b(this)g(property)i(whene)n(v)o(er)g(it)e+ −
(is)f(needed)i(in)g(proofs.)g(One)f(consequence)i(is)e(that)g(we)g+ −
(state)g(our)0 3924 y(basic)g(de\002nitions)i(not)f(in)g(terms)f(of)h+ −
(nominal)h(sets)e(\(as)g(done)h(for)h(e)o(xample)f(in)g([27]\),)g(b)n+ −
(ut)h(in)f(terms)f(of)0 4019 y(the)g(weak)o(er)g(notion)h(of)e+ −
(permutation)j(types\227essentially)d(sets)g(equipped)i(with)f(a)f+ −
(\223sensible\224)g(notion)0 4115 y(of)g(permutation)i(operation.)125+ −
4225 y(The)16 b(paper)h(is)f(or)o(ganised)g(as)g(follo)n(w:)h(Sec.)e(2)+ −
i(introduces)g(the)g(basic)f(notions)h(of)f(the)h(nominal)g(logic)0+ −
4320 y(w)o(ork)g(adapted)g(to)g(our)g(Isabelle/HOL)f(setting.)g(Sec.)f+ −
(3)i(\002rst)e(re)n(vie)n(ws)i(alpha-equi)n(v)n(alence)i(for)d(lambda-)+ −
0 4415 y(terms)g(and)g(then)g(gi)n(v)o(es)g(a)f(construction)j(of)e(an)+ −
g(inducti)n(v)o(e)g(set)f(that)h(is)f(bijecti)n(v)o(e)h(with)g(the)f+ −
(alpha-equated)0 4511 y(lambda-terms.)23 b(T)-6 b(w)o(o)23+ −
b(structural)g(induction)h(principles)f(for)g(this)f(set)g(are)g(deri)n+ −
(v)o(ed)i(in)e(Sec.)g(4.)g(Recent)0 4606 y(w)o(ork)e(by)g(Pitts)f([27])+ −
i(is)d(adapted)j(in)e(Sec.)g(5)h(to)f(gi)n(v)o(e)h(a)f(structural)h+ −
(recursion)h(combinator)g(for)f(de\002ning)p 0 TeXcolorgray+ −
0 4735 898 4 v 62 4799 a Fu(1)125 4823 y FF(A)-5 b(v)n(ailable)20+ −
b(from)d Ft(http://isabelle.in.tum.de)q(/nom)q(ina)q(l)p+ −
FF(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop+ −
end+ −
%%Page: 3 3+ −
TeXDict begin 3 2 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 2848 17 a FF(3)p 0 TeXcolorgray 0 228 a FI(functions)23+ −
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+ −
(e)o(xamples;)g(related)h(w)o(ork)g(is)e(mentioned)j(in)e(Sec.)f(7)0+ −
324 y(and)g(Sec.)e(8)h(concludes.)0 779 y FJ(2)28 b(Atoms,)20+ −
b(P)n(ermutations)g(and)g(Support)0 987 y FI(In)c(the)g+ −
(lambda-calculus)h(there)f(is)f(a)h(single)g(type)g(of)g(bindable)h+ −
(names,)f(here)g(denoted)h(by)f Fs(name)q FI(,)f(whose)0+ −
1083 y(elements)26 b(in)h(the)f(tradition)i(of)e(the)h(nominal)h(logic)+ −
e(w)o(ork)i(we)e(call)g FE(atoms)p FI(.)g(While)h(the)f(structure)h(of)+ −
0 1178 y(atoms)g(is)e(immaterial,)i(tw)o(o)g(properties)g(need)g(to)g+ −
(hold)g(for)g(the)g(type)g Fs(name)q FI(:)f(one)h(has)f(to)g(be)h(able)+ −
g(to)0 1274 y(distinguishing)33 b(dif)n(ferent)f(atoms)e(and)i(one)f+ −
(needs)g(to)g(kno)n(w)h(that)f(there)g(are)f(countably)j(in\002nitely)0+ −
1369 y(man)o(y)d(of)f(them.)g(This)g(can)g(be)g(achie)n(v)o(ed)g(in)g+ −
(Isabelle/HOL)g(by)h(implementing)g(the)f(type)h Fs(name)f+ −
FI(as)0 1464 y(natural)21 b(numbers)g(or)g(strings.)125+ −
1579 y(Permutations)h(are)f(\002nite)g(bijecti)n(v)o(e)g(mappings)i+ −
(from)f Fs(name)f FI(to)h Fs(name)q FI(.)e(The)o(y)i(can)f(be)g+ −
(represented)0 1675 y(as)h(\002nite)f(lists)g(whose)i(elements)f(are)g+ −
(sw)o(appings)h(\(i.e.)f(pairs)g(of)g(atoms\).)g(In)h(what)f(follo)n+ −
(ws)h(the)f(type-)0 1770 y(abbre)n(viation)j Fs(name)d(prm)h+ −
FI(will)f(stand)h(for)g(the)g(type)g(of)g(permutations,)h(that)f(is)e+ −
Fr(\()p Fs(name)d FD(\002)f Fs(name)p Fr(\))22 b Fs(list)q+ −
FI(,)0 1866 y(and)f(we)e(will)h(write)g(permutations)h(as)1044+ −
2147 y Fr(\()p FG(a)1115 2159 y Fq(1)1165 2147 y FG(b)1198+ −
2159 y Fq(1)1235 2147 y Fr(\)\()p FG(a)1336 2159 y Fq(2)1385+ −
2147 y FG(b)1418 2159 y Fq(2)1455 2147 y Fr(\))13 b FD(\001)g(\001)g+ −
(\001)g Fr(\()p FG(a)1671 2155 y Fp(n)1729 2147 y FG(b)1762+ −
2155 y Fp(n)1807 2147 y Fr(\))0 2448 y FI(with)22 b(the)h(empty)g(list)+ −
e Fr([])i FI(standing)g(for)g(the)g(identity)g(permutation.)g(The)g+ −
(operation)h(of)f(a)f(permutation)0 2544 y FG(\031)g+ −
FE(acting)f FI(on)g(an)f(atom)g FG(a)g FI(is)f(de\002ned)i(as:)1192+ −
2846 y Fr([])1234 2855 y Fo(\001)1272 2846 y FG(a)1338+ −
2803 y Fn(def)1345 2846 y Fr(=)32 b FG(a)814 3036 y Fr(\(\()p+ −
FG(a)915 3048 y Fq(1)965 3036 y FG(a)1006 3048 y Fq(2)1043+ −
3036 y Fr(\))21 b(::)h FG(\031)s Fr(\))1235 3045 y Fo(\001)1272+ −
3036 y FG(a)1338 2993 y Fn(def)1345 3036 y Fr(=)1437+ −
2883 y Fm(8)1437 2950 y(<)1437 3085 y(:)1518 2941 y FG(a)1559+ −
2953 y Fq(2)1668 2941 y FI(if)g FG(\031)1785 2950 y Fo(\001)1823+ −
2941 y FG(a)f Fr(=)g FG(a)2007 2953 y Fq(1)1518 3036+ −
y FG(a)1559 3048 y Fq(1)1668 3036 y FI(if)h FG(\031)1785+ −
3045 y Fo(\001)1823 3036 y FG(a)f Fr(=)g FG(a)2007 3048+ −
y Fq(2)1518 3132 y FG(\031)1565 3141 y Fo(\001)1603 3132+ −
y FG(a)j FI(otherwise)2789 2976 y(\(1\))0 3430 y(where)i+ −
Fr(\()p FG(a)12 b(b)p Fr(\))31 b(::)h FG(\031)27 b FI(is)e(the)g+ −
(composition)j(of)d(a)g(permutation)j(follo)n(wed)e(by)g(the)g(sw)o+ −
(apping)g Fr(\()p FG(a)13 b(b)p Fr(\))p FI(.)24 b(The)0+ −
3526 y(composition)d(of)e FG(\031)j FI(follo)n(wed)e(by)g(another)g+ −
(permutation)h FG(\031)1656 3494 y Fl(0)1698 3526 y FI(is)d(gi)n(v)o+ −
(en)i(by)g(list-concatenation,)g(written)0 3621 y(as)f+ −
FG(\031)132 3590 y Fl(0)155 3621 y Fr(@)p FG(\031)s FI(,)g(and)i(the)f+ −
(in)m(v)o(erse)g(of)g(a)g(permutation)i(is)d(gi)n(v)o(en)i(by)g(list)e+ −
(re)n(v)o(ersal,)h(written)g(as)f FG(\031)2475 3590 y+ −
Fl(\000)p Fq(1)2564 3621 y FI(.)125 3736 y(Our)31 b(representation)i+ −
(of)e(permutations)i(as)e(lists)f(does)h(not)h(gi)n(v)o(e)g(unique)g+ −
(representati)n(v)o(es:)g(for)0 3832 y(e)o(xample,)22+ −
b(the)g(permutation)h Fr(\()p FG(a)13 b(a)p Fr(\))20+ −
b FI(is)h(\223equal\224)h(to)g(the)g(identity)g(permutation.)h(W)-6+ −
b(e)22 b(equate)g(the)g(repre-)0 3927 y(sentations)e(of)h(permutations)+ −
g(with)f(a)g(relation)h FD(\030)p FI(:)p 0 TeXcolorgray+ −
0 4194 a FJ(De\002nition)f(1)p 0 TeXcolorgray 42 w(\(P)n(ermutation)25+ −
b(Equality\))f FE(T)-6 b(wo)24 b(permutations)h(ar)m(e)e+ −
FI(equal)p FE(,)h(written)g FG(\031)2471 4206 y Fq(1)2536+ −
4194 y FD(\030)k FG(\031)2668 4206 y Fq(2)2705 4194 y+ −
FE(,)c(pr)l(o-)0 4289 y(vided)d FG(\031)235 4301 y Fq(1)272+ −
4298 y Fo(\001)310 4289 y FG(a)g Fr(=)g FG(\031)497 4301+ −
y Fq(2)534 4298 y Fo(\001)572 4289 y FG(a)f FE(for)g(all)g(atoms)g+ −
FG(a)p FE(.)125 4536 y FI(T)-6 b(o)25 b(generalise)h(the)g(notion)g(gi)+ −
n(v)o(en)h(in)e(\(1\))h(of)g(a)f(permutation)j(acting)e(on)g(an)g+ −
(atom,)f(we)g(tak)o(e)h(ad-)0 4632 y(v)n(antage)f(of)g(the)f(o)o(v)o+ −
(erloading)j(mechanism)e(in)f(Isabelle)g(by)h(declaring)h(a)e+ −
(constant,)g(written)h(in\002x)f(as)0 4727 y Fr(\()p+ −
FD(\000)p Fr(\))120 4736 y Fo(\001)158 4727 y Fr(\()p+ −
FD(\000)p Fr(\))p FI(,)g(with)i(the)f(polymorphic)k(type)d+ −
Fs(name)c(prm)g FD(\))f FG(\013)h FD(\))f FG(\013)p FI(.)k(A)g+ −
(de\002nition)i(of)f(the)g(permutation)0 4823 y(operation)j(can)e(then)+ −
h(be)f(gi)n(v)o(en)i(separately)e(for)h(each)g(type-constructor;)h(for)+ −
f(lists,)e(products,)i(unit,)p 0 TeXcolorgray 0 TeXcolorgray+ −
eop end+ −
%%Page: 4 4+ −
TeXDict begin 4 3 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 0 17 a FF(4)p 0 TeXcolorgray 0 228 a FI(sets,)19+ −
b(functions,)i(options)g(and)f(booleans)h(the)g(de\002nitions)f(are)g+ −
(as)g(follo)n(ws:)696 408 y FG(\013)i Fs(list)g Fr(:)350+ −
b FG(\031)1363 417 y Fo(\001)1401 408 y Fr([])1469 365+ −
y Fn(def)1476 408 y Fr(=)32 b([])1143 527 y FG(\031)1190+ −
536 y Fo(\001)1228 527 y Fr(\()p FG(x)20 b Fr(::)i FG(t)p+ −
Fr(\))1469 485 y Fn(def)1476 527 y Fr(=)32 b(\()p FG(\031)1645+ −
536 y Fo(\001)1683 527 y FG(x)p Fr(\))20 b(::)i(\()p+ −
FG(\031)1918 536 y Fo(\001)1956 527 y FG(t)p Fr(\))696+ −
647 y FG(\013)745 659 y Fq(1)800 647 y FD(\002)17 b FG(\013)926+ −
659 y Fq(2)984 647 y Fr(:)99 b FG(\031)1151 656 y Fo(\001)1188+ −
647 y Fr(\()p FG(x)1262 659 y Fq(1)1299 647 y FG(;)13+ −
b(x)1377 659 y Fq(2)1414 647 y Fr(\))1469 604 y Fn(def)1476+ −
647 y Fr(=)32 b(\()p FG(\031)1645 656 y Fo(\001)1683+ −
647 y FG(x)1727 659 y Fq(1)1763 647 y FG(;)13 b(\031)1844+ −
656 y Fo(\001)1882 647 y FG(x)1926 659 y Fq(2)1963 647+ −
y Fr(\))696 766 y Fs(unit)22 b Fr(:)404 b FG(\031)1346+ −
775 y Fo(\001)1384 766 y Fr(\(\))1469 723 y Fn(def)1476+ −
766 y Fr(=)32 b(\(\))696 886 y FG(\013)22 b Fs(set)g+ −
Fr(:)363 b FG(\031)1337 895 y Fo(\001)1375 886 y FG(X)1469+ −
843 y Fn(def)1476 886 y Fr(=)32 b FD(f)p FG(\031)1653+ −
895 y Fo(\001)1691 886 y FG(x)12 b FD(j)i FG(x)20 b FD(2)i+ −
FG(X)6 b FD(g)696 1005 y FG(\013)745 1017 y Fq(1)804+ −
1005 y FD(\))21 b FG(\013)951 1017 y Fq(2)1010 1005 y+ −
Fr(:)255 b FG(\031)1333 1014 y Fo(\001)1371 1005 y Fk(fn)1469+ −
962 y Fn(def)1476 1005 y Fr(=)32 b FG(\025x:\031)1725+ −
1014 y Fo(\001)1762 1005 y Fr(\()p Fk(fn)19 b Fr(\()p+ −
FG(\031)1955 973 y Fl(\000)p Fq(1)2043 1014 y Fo(\001)2081+ −
1005 y FG(x)p Fr(\)\))696 1124 y FG(\013)j Fs(option)h+ −
Fr(:)134 b FG(\031)1226 1133 y Fo(\001)1264 1124 y Fk(None)1469+ −
1081 y Fn(def)1476 1124 y Fr(=)32 b Fk(None)1070 1244+ −
y FG(\031)1117 1253 y Fo(\001)1155 1244 y Fk(Some)6 b+ −
Fr(\()p FG(x)p Fr(\))1469 1201 y Fn(def)1476 1244 y Fr(=)32+ −
b Fk(Some)6 b Fr(\()p FG(\031)1831 1253 y Fo(\001)1869+ −
1244 y FG(x)p Fr(\))696 1363 y Fs(bool)22 b Fr(:)431+ −
b FG(\031)1373 1372 y Fo(\001)1411 1363 y FG(b)1469 1320+ −
y Fn(def)1476 1363 y Fr(=)32 b FG(b)2789 873 y FI(\(2\))125+ −
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+ −
FE(not)h FI(establish)f(properties)h(for)f(each)g(of)g(these)g+ −
(permutation)0 1613 y(operations)h(indi)n(vidually)-5+ −
b(,)21 b(b)n(ut)f(reason)g(abstractly)g(o)o(v)o(er)g(them)g(by)g+ −
(requiring)i(that)d(e)n(v)o(ery)i(permutation)0 1708+ −
y(operation)h(satis\002es)c(three)i(basic)g(properties:)p+ −
0 TeXcolorgray 0 1869 a FJ(De\002nition)g(2)p 0 TeXcolorgray+ −
42 w(\(P)n(ermutation)h(T)-6 b(ype\))21 b FE(A)f(type)g+ −
FG(\013)h FE(will)e(be)h(r)m(eferr)m(ed)g(to)g(as)h FI(permutation)h+ −
(type)p FE(,)e(written)0 1965 y FG(pt)67 1973 y Fp(\013)114+ −
1965 y FE(,)f(pr)l(o)o(vided)j(the)e(permutation)h(oper)o(ation)g+ −
(satis\002es)f(the)g(following)h(thr)m(ee)f(pr)l(operties:)p+ −
0 TeXcolorgray 56 2103 a(\(i\))p 0 TeXcolorgray 63 w+ −
Fr([])235 2112 y Fo(\001)274 2103 y FG(x)42 b Fr(=)h+ −
FG(x)p 0 TeXcolorgray 34 2198 a FE(\(ii\))p 0 TeXcolorgray+ −
63 w Fr(\()p FG(\031)267 2210 y Fq(1)304 2198 y Fr(@)p+ −
FG(\031)408 2210 y Fq(2)445 2198 y Fr(\))475 2207 y Fo(\001)513+ −
2198 y FG(x)f Fr(=)h FG(\031)746 2210 y Fq(1)783 2207+ −
y Fo(\001)821 2198 y Fr(\()p FG(\031)895 2210 y Fq(2)932+ −
2207 y Fo(\001)970 2198 y FG(x)p Fr(\))p 0 TeXcolorgray+ −
12 2294 a FE(\(iii\))p 0 TeXcolorgray 63 w FG(\031)237+ −
2306 y Fq(1)296 2294 y FD(\030)21 b FG(\031)421 2306+ −
y Fq(2)501 2294 y FE(implies)42 b FG(\031)815 2306 y+ −
Fq(1)852 2303 y Fo(\001)890 2294 y FG(x)h Fr(=)f FG(\031)1123+ −
2306 y Fq(2)1160 2303 y Fo(\001)1198 2294 y FG(x)0 2455+ −
y FI(These)25 b(properties)i(entail)e(that)g(the)h(permutations)h+ −
(operation)f(beha)n(v)o(es)h(o)o(v)o(er)e(permutation)j(types)d(as)0+ −
2551 y(one)c(e)o(xpects:)p 0 TeXcolorgray 0 2712 a FJ(Lemma)e(1)p+ −
0 TeXcolorgray 42 w FE(Assuming)i FG(x)e FE(and)i FG(y)h+ −
FE(ar)m(e)e(of)g(permutation)h(type)f(then:)p 0 TeXcolorgray+ −
56 2850 a(\(i\))p 0 TeXcolorgray 42 w FG(\031)219 2818+ −
y Fl(\000)p Fq(1)308 2859 y Fo(\001)346 2850 y Fr(\()p+ −
FG(\031)423 2859 y Fo(\001)460 2850 y FG(x)p Fr(\))h(=)g+ −
FG(x)p FE(,)p 0 TeXcolorgray 34 2945 a(\(ii\))p 0 TeXcolorgray+ −
42 w FG(\031)219 2954 y Fo(\001)257 2945 y FG(x)f Fr(=)i+ −
FG(y)g FE(if)d(and)i(only)g(if)e FG(x)i Fr(=)g FG(\031)1076+ −
2913 y Fl(\000)p Fq(1)1165 2954 y Fo(\001)1203 2945 y+ −
FG(y)s FE(,)p 0 TeXcolorgray 12 3041 a(\(iii\))p 0 TeXcolorgray+ −
42 w FG(\031)219 3050 y Fo(\001)257 3041 y FG(x)f Fr(=)i+ −
FG(\031)450 3050 y Fo(\001)487 3041 y FG(y)h FE(if)c(and)i(only)g(if)e+ −
FG(x)i Fr(=)g FG(y)s FE(,)e(and)p 0 TeXcolorgray 21 3136+ −
a(\(iv\))p 0 TeXcolorgray 42 w FG(\031)219 3145 y Fo(\001)257+ −
3136 y FG(x)h FD(2)i FG(\031)441 3145 y Fo(\001)479 3136+ −
y FG(X)k FE(if)19 b(and)i(only)g(if)f FG(x)g FD(2)i FG(X)6+ −
b FE(.)p 0 TeXcolorgray 0 3348 a(Pr)l(oof)p 0 TeXcolorgray+ −
40 w FI(The)21 b(\002rst)f(property)j(holds)f(by)f(Def.)g(2)p+ −
FE(\(i-iii\))g FI(since)g Fr(\()p FG(\031)1725 3316 y+ −
Fl(\000)p Fq(1)1814 3348 y Fr(@)p FG(\031)s Fr(\))h FD(\030)h+ −
Fr([])p FI(,)e(which)g(can)g(be)g(sho)n(wn)h(by)0 3444+ −
y(an)f(induction)i(o)o(v)o(er)e(the)g(length)h(of)f FG(\031)s+ −
FI(.)f(The)h(second)h(property)h(follo)n(ws)e(from)h(the)f(\002rst.)f+ −
(The)h(third)h(is)e(a)0 3539 y(consequence)25 b(of)e(the)g(\002rst)g+ −
(and)h(second.)f(F)o(or)g(the)h(fourth)g(one)g(has)f(to)g(unwind)i(the)+ −
e(de\002nition)h(of)f(the)0 3635 y(permutation)f(operation)g(for)e+ −
(sets)f(and)i(apply)g(the)f(third)h(property)-5 b(.)80+ −
b FD(u)-51 b(t)125 3781 y FI(Using)17 b(Isabelle')l(s)g+ −
FE(axiomatic)h(type-classes)g FI([37],)g(it)f(is)g(v)o(ery)h(con)m(v)o+ −
(enient)h(to)f(ensure)g(that)f(a)g(type)h(is)0 3876 y(a)f(permutation)j+ −
(type)e(because)h(most)e(of)i(the)e(routine)i(w)o(ork)g(can)f(be)g+ −
(performed)i(by)e(the)g(type-checking)0 3972 y(algorithm)27+ −
b(of)f(Isabelle:)g(one)g(only)h(has)f(to)g(establish)f(that)h(some)g+ −
(\223base\224)g(types,)f(such)h(as)g Fs(name)g FI(and)0+ −
4067 y Fs(unit)q FI(,)21 b(are)g(permutation)i(types)f(and)g(that)f+ −
(type-constructors,)i(such)f(as)e(products)j(and)f(lists,)e(preserv)o+ −
(e)0 4163 y(the)g(property)i(of)e(being)h(a)f(permutation)i(type.)e+ −
(More)h(formally)g(we)f(ha)n(v)o(e:)p 0 TeXcolorgray+ −
0 4324 a FJ(Lemma)f(2)p 0 TeXcolorgray 42 w FE(Given)30+ −
b FG(pt)644 4332 y Fp(\013)691 4324 y FE(,)f FG(pt)807+ −
4332 y Fp(\013)850 4340 y Fj(1)915 4324 y FE(and)i FG(pt)1130+ −
4332 y Fp(\013)1173 4340 y Fj(2)1209 4324 y FE(,)e(the)h(types)g+ −
Fs(name)q FE(,)f Fs(unit)q FE(,)g FG(\013)39 b Fs(list)q+ −
FE(,)29 b FG(\013)40 b Fs(set)p FE(,)30 b FG(\013)39+ −
b Fs(option)q FE(,)0 4420 y FG(\013)49 4432 y Fq(1)104+ −
4420 y FD(\002)16 b FG(\013)229 4432 y Fq(2)267 4420+ −
y FE(,)j FG(\013)355 4432 y Fq(1)414 4420 y FD(\))i FG(\013)561+ −
4432 y Fq(2)618 4420 y FE(and)g Fs(bool)g FE(ar)m(e)f(also)g+ −
(permutation)h(types.)p 0 TeXcolorgray 0 4632 a(Pr)l(oof)p+ −
0 TeXcolorgray 40 w FI(All)i(properties)i(follo)n(w)g(by)f(unwinding)i+ −
(the)e(de\002nition)h(of)g(the)f(corresponding)j(permutation)0+ −
4727 y(operation)c(and)f(routine)g(inductions.)g(The)g(property)h+ −
FG(pt)1566 4735 y Fp(\013)1609 4743 y Fj(1)1641 4735+ −
y Fl(\))p Fp(\013)1750 4743 y Fj(2)1807 4727 y FI(uses)e(the)g(f)o(act)+ −
h(that)f FG(\031)2403 4739 y Fq(1)2463 4727 y FD(\030)j+ −
FG(\031)2591 4739 y Fq(2)2649 4727 y FI(implies)0 4823+ −
y FG(\031)47 4790 y Fl(\000)p Fq(1)44 4847 y(1)157 4823+ −
y FD(\030)d FG(\031)285 4790 y Fl(\000)p Fq(1)282 4847+ −
y(2)374 4823 y FI(.)p 0 TeXcolorgray 0 TeXcolorgray eop+ −
end+ −
%%Page: 5 5+ −
TeXDict begin 5 4 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 2848 17 a FF(5)p 0 TeXcolorgray 125 228 a+ −
FI(Note)20 b(that)g(the)g(permutation)i(operation)f(o)o(v)o(er)g(a)f+ −
(function-type,)i(say)e FG(\013)2121 240 y Fq(1)2180+ −
228 y FD(\))h FG(\013)2327 240 y Fq(2)2385 228 y FI(with)f+ −
FG(\013)2594 240 y Fq(1)2651 228 y FI(being)h(a)0 324+ −
y(permutation)h(type,)e(is)f(de\002ned)i(so)f(that)g(for)h(e)n(v)o(ery)+ −
g(function)g Fk(fn)26 b FI(we)19 b(ha)n(v)o(e)i(the)f(equation)1050+ −
502 y FG(\031)1097 511 y Fo(\001)1135 502 y Fr(\()p Fk(fn)e+ −
FG(x)p Fr(\))j(=)g(\()p FG(\031)1503 511 y Fo(\001)1540+ −
502 y Fk(fn)6 b Fr(\)\()p FG(\031)1720 511 y Fo(\001)1758+ −
502 y FG(x)p Fr(\))957 b FI(\(3\))0 682 y(in)35 b(Isabelle/HOL;)g(this)+ −
g(is)f(because)h(we)g(ha)n(v)o(e)g FG(\031)1456 651 y+ −
Fl(\000)p Fq(1)1545 691 y Fo(\001)1583 682 y Fr(\()p+ −
FG(\031)1660 691 y Fo(\001)1698 682 y FG(x)p Fr(\))48+ −
b(=)g FG(x)34 b FI(by)h(Lem.)g(1)p FE(\(i\))h FI(and)f+ −
FG(\031)2662 691 y Fo(\001)2700 682 y Fk(fn)54 b Fr(=)0+ −
778 y FG(\025x:\031)157 787 y Fo(\001)194 778 y Fr(\()p+ −
Fk(fn)19 b Fr(\()p FG(\031)387 746 y Fl(\000)p Fq(1)475+ −
787 y Fo(\001)514 778 y FG(x)p Fr(\)\))g FI(by)h(de\002nition)h(of)g+ −
(permutations)g(acting)g(on)f(functions.)125 875 y(The)28+ −
b(most)g(interesting)g(feature)h(of)f(the)g(nominal)h(logic)f(w)o(ork)h+ −
(is)e(that)h(as)f(soon)i(as)e(one)h(\002x)o(es)g(a)0+ −
971 y(\223sensible\224)23 b(permutation)i(operation)f(for)g(a)e(type,)h+ −
(then)h(the)f FE(support)i FI(for)e(the)g(elements)g(of)h(this)e(type,)+ −
0 1066 y(v)o(ery)f(roughly)h(speaking)f(their)f(set)g(of)g(free)g+ −
(atoms,)g(is)g(\002x)o(ed)g(as)f(well.)h(The)g(de\002nition)h(of)g+ −
(support)g(and)0 1162 y(the)f(deri)n(v)o(ed)h(notion)h(of)e(freshness)g+ −
(is:)p 0 TeXcolorgray 0 1342 a FJ(De\002nition)g(3)p+ −
0 TeXcolorgray 42 w(\(Support)32 b(and)g(Fr)o(eshness\))e+ −
FE(The)i FI(support)h FE(of)f FG(x)p FE(,)f(written)h+ −
Fk(supp)5 b Fr(\()p FG(x)p Fr(\))p FE(,)31 b(is)g(the)h(set)g(of)0+ −
1437 y(atoms)20 b(de\002ned)i(as:)768 1570 y Fk(supp)6+ −
b Fr(\()p FG(x)p Fr(\))1048 1522 y Fi(def)1054 1570 y+ −
Fr(=)27 b FD(f)p FG(a)21 b FD(j)h Fk(in\014nite)6 b FD(f)p+ −
FG(b)21 b FD(j)h Fr(\()p FG(a)12 b(b)p Fr(\))1808 1579+ −
y Fo(\001)1846 1570 y FG(x)21 b FD(6)p Fr(=)g FG(x)p+ −
FD(gg)0 1722 y FE(wher)m(e)28 b Fk(in\014nite)5 b Fr(\()p+ −
FD(\000)p Fr(\))28 b FE(means)g(that)h(the)f(set)f(is)h(in\002nite)o(.)+ −
1545 1691 y Fv(2)1605 1722 y FE(An)g(atom)h FG(a)e FE(is)h(said)g(to)g+ −
(be)h FI(fresh)f FE(for)g(an)h FG(x)p FE(,)0 1818 y(written)19+ −
b FG(a)i Fr(#)h FG(x)p FE(,)d(pr)l(o)o(vided)i FG(a)g+ −
FD(62)h Fk(supp)5 b Fr(\()p FG(x)p Fr(\))p FE(.)0 1996+ −
y FI(Intuiti)n(v)o(ely)-5 b(,)25 b(this)f(de\002nition)h(says)e(that)h+ −
FG(a)g FI(is)f(fresh)h(for)h FG(x)e FI(if)h(and)h(only)g(if)f+ −
Fr(\()p FG(a)12 b(b)p Fr(\))2226 2005 y Fo(\001)2264+ −
1996 y FG(x)28 b Fr(=)g FG(x)c FI(holds)g(for)h(all)0+ −
2091 y(b)n(ut)f(\002nitely)f(man)o(y)h FG(b)p FI(.)e(Unwinding)j(this)d+ −
(de\002nition)j(and)e(the)g(permutation)i(operations)f(gi)n(v)o(en)g+ −
(in)f(\(2\),)0 2187 y(one)e(can)f(often)h(easily)e(calculate)h(the)g+ −
(support)i(for)e(\223\002nitary\224)h(permutation)h(types)e(such)g(as:)+ −
570 2368 y Fs(name)i Fr(:)291 b Fk(supp)6 b Fr(\()p FG(a)p+ −
Fr(\))21 b(=)g FD(f)p FG(a)p FD(g)570 2473 y FG(\013)g+ −
Fs(list)i Fr(:)220 b Fk(supp)6 b Fr(\([]\))22 b(=)f Fh(?)1060+ −
2579 y Fk(supp)6 b Fr(\()p FG(x)21 b Fr(::)h FG(xs)p+ −
Fr(\))e(=)h Fk(supp)6 b Fr(\()p FG(x)p Fr(\))16 b FD([)h+ −
Fk(supp)6 b Fr(\()p FG(xs)p Fr(\))570 2684 y FG(\013)619+ −
2696 y Fq(1)673 2684 y FD(\002)17 b FG(\013)799 2696+ −
y Fq(2)858 2684 y Fr(:)181 b Fk(supp)6 b Fr(\(\()p FG(x)1320+ −
2696 y Fq(1)1356 2684 y FG(;)13 b(x)1434 2696 y Fq(2)1471+ −
2684 y Fr(\)\))21 b(=)g Fk(supp)6 b Fr(\()p FG(x)1863+ −
2696 y Fq(1)1900 2684 y Fr(\))17 b FD([)g Fk(supp)6 b+ −
Fr(\()p FG(x)2245 2696 y Fq(2)2281 2684 y Fr(\))570 2789+ −
y Fs(unit)22 b Fr(:)291 b Fk(supp)6 b Fr(\(\(\)\))21+ −
b(=)g Fh(?)570 2894 y FG(\013)g Fs(option)i Fr(:)142+ −
b Fk(supp)6 b Fr(\()p Fk(None)g Fr(\))21 b(=)g Fh(?)1060+ −
2999 y Fk(supp)6 b Fr(\()p Fk(Some)g Fr(\()p FG(x)p Fr(\)\))20+ −
b(=)h Fk(supp)6 b Fr(\()p FG(x)p Fr(\))570 3104 y Fs(bool)22+ −
b Fr(:)291 b Fk(supp)6 b Fr(\()p FG(b)p Fr(\))21 b(=)g+ −
Fh(?)2789 2734 y FI(\(4\))0 3282 y(More)e(subtle)f(is)g(the)g+ −
(calculation)h(of)g(the)g(support)g(for)g(\223in\002nitary\224)g+ −
(permutation)i(types)d(such)h(as)e(func-)0 3377 y(tions)26+ −
b(and)h(in\002nite)f(sets.)f(Ho)n(we)n(v)o(er)m(,)h(the)g(use)g(of)g+ −
(the)g(notion)i(of)e(support,)h(as)f(opposed)h(to)f(the)g(usual)0+ −
3473 y(notion)19 b(of)g(free)f(atoms,)g(is)g(crucial)g(for)h(this)f(w)o+ −
(ork:)h(the)f(bijecti)n(v)o(e)h(set)e(we)h(describe)g(in)h(the)f(ne)o+ −
(xt)g(section)0 3568 y(includes)25 b(some)f(functions,)h(and)f(for)h+ −
(those)f(it)g(is)f(f)o(ar)h(from)h(ob)o(vious)h(what)e(the)g+ −
(de\002nition)h(of)f(the)g(set)0 3664 y(of)c(free)f(atoms)g(should)i+ −
(be)e(\(the)h(obstacle)f(is)f(to)i(\002nd)f(an)h(appropriate)h+ −
(de\002nition)f(for)g(free)g(v)n(ariables)f(of)0 3759+ −
y(functions)i(with)f(type,)g(say)g FG(\013)822 3771 y+ −
Fq(1)881 3759 y FD(\))h FG(\013)1028 3771 y Fq(2)1065+ −
3759 y FI(,)f(in)g(terms)f(of)i(the)f(free)g(v)n(ariables)g(for)h+ −
(elements)f(of)g(the)g(type)g FG(\013)2843 3771 y Fq(1)0+ −
3855 y FI(and)25 b FG(\013)187 3867 y Fq(2)225 3855 y+ −
FI(\).)f(Contrast)h(this)g(with)g(the)g(de\002nition)h(of)f+ −
(permutation)i(for)e(functions)h(gi)n(v)o(en)g(in)f(\(2\),)g(which)0+ −
3950 y(is)d(de\002ned)h(in)g(terms)f(of)h(the)g(permutation)h(acting)f+ −
(on)g(the)g(domain)h(and)f(co-domain)h(of)f(functions.)h(It)0+ −
4046 y(will)17 b(turn)h(out)g(that,)g(albeit)f(slightly)h(unwieldy)-5+ −
b(,)19 b(Def.)e(3)g(coincides)i(e)o(xactly)e(with)h(what)g(one)g+ −
(intuiti)n(v)o(ely)0 4141 y(associates)h(with)h(the)g(set)g(of)g(free)g+ −
(atoms)g(for)h(the)f(functions)h(we)f(shall)g(use.)125+ −
4239 y(F)o(or)e(permutation)j(types)d(the)h(notion)h(of)f(support)g+ −
(and)g(freshness)g(ha)n(v)o(e)g(good)h(properties:)g(we)e(\002rst)0+ −
4334 y(sho)n(w)f(that)h(the)f(support)h(and)g(the)g(permutation)h+ −
(operation)f(commute)h(and)f(that)f(permutation)i(preserv)o(e)0+ −
4430 y(freshness.)313 4398 y Fv(3)p 0 TeXcolorgray 0+ −
4492 898 4 v 62 4556 a Fu(2)125 4580 y FF(In)g(Isabelle/HOL)i(the)f+ −
(predicate)i Fg(in\014nite)i FF(is)19 b(de\002ned)h(as)f(\223not)i(a)e+ −
(\002nite)i(set\224)f(with)g(the)g(predicate)i(for)d(a)h(set)f(being)0+ −
4656 y(\002nite)f(de\002ned)g(inducti)n(v)o(ely)j(starting)e(with)f+ −
(the)f(empty)h(set)f(and)h(by)f(adding)h(elements.)62+ −
4722 y Fu(3)125 4746 y FF(Pitts)24 b(gi)n(v)o(es)h(in)f([27])g(a)g+ −
(simpler)h(proof)f(for)g Ff(\(i\))p FF(,)f(b)o(ut)h(in)g(a)g(more)g+ −
(restricted)j(setting,)e(namely)g(where)f FA(x)f FF(has)h(\002nite)0+ −
4823 y(support.)17 b(Our)g(lemma)h(is)f(more)g(general)i(as)e(we)g+ −
(only)g(require)i FA(x)d FF(to)i(be)f(of)g(permutation)j(type.)p+ −
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 6 6+ −
TeXDict begin 6 5 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 0 17 a FF(6)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 228 a FJ(Lemma)19 b(3)p 0 TeXcolorgray 42 w FE(F)-8+ −
b(or)20 b(all)g FG(x)f FE(of)h(permutation)i(type:)p+ −
0 TeXcolorgray 56 375 a(\(i\))p 0 TeXcolorgray 42 w FG(\031)219+ −
384 y Fo(\001)257 375 y Fk(supp)5 b Fr(\()p FG(x)p Fr(\))21+ −
b(=)g Fk(supp)6 b Fr(\()p FG(\031)851 384 y Fo(\001)888+ −
375 y FG(x)p Fr(\))p FE(,)p 0 TeXcolorgray 34 471 a(\(ii\))p+ −
0 TeXcolorgray 42 w FG(a)21 b Fr(#)g FG(\031)366 480+ −
y Fo(\001)404 471 y FG(x)41 b FE(if)19 b(and)i(only)g(if)41+ −
b FG(\031)978 439 y Fl(\000)p Fq(1)1066 480 y Fo(\001)1105+ −
471 y FG(a)21 b Fr(#)g FG(x)p FE(,)e(and)p 0 TeXcolorgray+ −
12 566 a(\(iii\))p 0 TeXcolorgray 63 w FG(\031)240 575+ −
y Fo(\001)278 566 y FG(a)i Fr(#)g FG(\031)472 575 y Fo(\001)510+ −
566 y FG(x)e FE(if)h(and)h(only)f(if)g FG(a)h Fr(#)g+ −
FG(x)g FE(.)p 0 TeXcolorgray 0 841 a(Pr)l(oof)p 0 TeXcolorgray+ −
40 w FI(The)f(\002rst)f(property)j(follo)n(ws)f(from)g(the)f+ −
(calculation:)p 0 TeXcolorgray 0 TeXcolorgray 306 1017+ −
a FG(\031)353 1026 y Fo(\001)391 1017 y Fk(supp)6 b Fr(\()p+ −
FG(x)p Fr(\))674 975 y Fn(def)681 1017 y Fr(=)31 b FG(\031)819+ −
1026 y Fo(\001)856 1017 y FD(f)p FG(a)13 b FD(j)g Fk(in\014nite)6+ −
b FD(f)p FG(b)13 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1490+ −
1026 y Fo(\001)1528 1017 y FG(x)21 b FD(6)p Fr(=)g FG(x)p+ −
FD(gg)674 1094 y Fn(def)681 1137 y Fr(=)31 b FD(f)p FG(\031)857+ −
1146 y Fo(\001)895 1137 y FG(a)12 b FD(j)h Fk(in\014nite)6+ −
b FD(f)p FG(b)13 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1490+ −
1146 y Fo(\001)1528 1137 y FG(x)21 b FD(6)p Fr(=)g FG(x)p+ −
FD(gg)681 1235 y Fr(=)31 b FD(f)p FG(\031)857 1244 y+ −
Fo(\001)895 1235 y FG(a)12 b FD(j)h Fk(in\014nite)6 b+ −
FD(f)p FG(\031)1310 1244 y Fo(\001)1348 1235 y FG(b)13+ −
b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1575 1244 y Fo(\001)1613+ −
1235 y FG(x)20 b FD(6)p Fr(=)i FG(x)p FD(gg)560 b Fr(\()p+ −
FD(\003)2507 1203 y Fq(1)2545 1235 y Fr(\))681 1332 y(=)31+ −
b FD(f)p FG(a)12 b FD(j)i Fk(in\014nite)5 b FD(f)p FG(b)14+ −
b FD(j)f Fr(\()p FG(\031)1336 1301 y Fl(\000)p Fq(1)1424+ −
1341 y Fo(\001)1462 1332 y FG(a)34 b(\031)1584 1301 y+ −
Fl(\000)p Fq(1)1673 1341 y Fo(\001)1711 1332 y FG(b)p+ −
Fr(\))1774 1341 y Fo(\001)1812 1332 y FG(x)21 b FD(6)p+ −
Fr(=)g FG(x)p FD(gg)681 1430 y Fr(=)31 b FD(f)p FG(a)12+ −
b FD(j)i Fk(in\014nite)5 b FD(f)p FG(b)14 b FD(j)f FG(\031)1306+ −
1439 y Fo(\001)1343 1430 y Fr(\()p FG(\031)1420 1399+ −
y Fl(\000)p Fq(1)1509 1439 y Fo(\001)1547 1430 y FG(a)34+ −
b(\031)1669 1399 y Fl(\000)p Fq(1)1758 1439 y Fo(\001)1796+ −
1430 y FG(b)p Fr(\))1859 1439 y Fo(\001)1897 1430 y FG(x)21+ −
b FD(6)p Fr(=)g FG(\031)2090 1439 y Fo(\001)2128 1430+ −
y FG(x)p FD(gg)191 b Fr(\()p FD(\003)2507 1399 y Fq(2)2545+ −
1430 y Fr(\))681 1550 y(=)31 b FD(f)p FG(a)12 b FD(j)i+ −
Fk(in\014nite)5 b FD(f)p FG(b)14 b FD(j)f Fr(\()p FG(a)f(b)p+ −
Fr(\))1405 1559 y Fo(\001)1443 1550 y FG(\031)1490 1559+ −
y Fo(\001)1528 1550 y FG(x)21 b FD(6)p Fr(=)g FG(\031)1721+ −
1559 y Fo(\001)1759 1550 y FG(x)p FD(gg)1900 1507 y Fn(def)1907+ −
1550 y Fr(=)29 b Fk(supp)5 b Fr(\()p FG(\031)2228 1559+ −
y Fo(\001)2266 1550 y FG(x)p Fr(\))99 b(\()p FD(\003)2507+ −
1518 y Fq(3)2545 1550 y Fr(\))0 1716 y FI(where)18 b+ −
Fr(\()p FD(\003)278 1684 y Fq(1)315 1716 y Fr(\))f FI(holds)i(because)e+ −
(the)h(sets)e FD(f)p FG(b)p FD(j)e FG(:)f(:)g(:)p FD(g)18+ −
b FI(and)g FD(f)p FG(\031)1533 1725 y Fo(\001)1571 1716+ −
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)+ −
h(number)h(of)f(elements,)0 1811 y(and)h(where)g Fr(\()p+ −
FD(\003)411 1779 y Fq(2)448 1811 y Fr(\))f FI(holds)h(because)g+ −
(permutations)h(preserv)o(e)f(by)g(Lem.)f(1)p FE(\(ii\))h+ −
FI(\(in\)equalities;)g Fr(\()p FD(\003)2624 1779 y Fq(3)2662+ −
1811 y Fr(\))f FI(holds)0 1907 y(because)g FG(\031)i+ −
FI(commutes)e(with)g(the)f(sw)o(apping,)i(that)e(is)g+ −
FG(\031)s Fr(@\()p FG(c)12 b(d)p Fr(\))21 b FD(\030)g+ −
Fr(\()p FG(\031)1918 1916 y Fo(\001)1956 1907 y FG(c)39+ −
b(\031)2075 1916 y Fo(\001)2112 1907 y FG(d)p Fr(\)@)p+ −
FG(\031)20 b FI(for)e(all)f(atoms)h FG(c)f FI(and)0 2002+ −
y FG(d)p FI(.)k(F)o(or)h(the)g(second)h(and)f(third)h(property)h(we)e+ −
(ha)n(v)o(e)g(by)h(Lem.)f(1)p FE(\(iv\))g FI(that)g FG(a)j+ −
FD(2)g Fk(supp)5 b Fr(\()p FG(x)p Fr(\))21 b FI(if)h(and)h(only)g(if)0+ −
2098 y FG(\031)47 2107 y Fo(\001)85 2098 y FG(a)e FD(2)g+ −
FG(\031)266 2107 y Fo(\001)304 2098 y Fk(supp)6 b Fr(\()p+ −
FG(x)p Fr(\))p FI(;)19 b(the)o(y)h(then)h(follo)n(w)f(from)h+ −
FE(\(i\))g FI(and)f(Lem.)g(1)p FE(\(i\))p FI(.)80 b FD(u)-51+ −
b(t)125 2270 y FI(Another)17 b(important)h(property)h(of)d(freshness)h+ −
(is)f(the)h(f)o(act)f(that)h(if)f(tw)o(o)h(atoms)g(are)f(fresh)h(w)-5+ −
b(.r)l(.t.)15 b(an)i(el-)0 2366 y(ement)i(of)g(a)g(permutation)h(type)g+ −
(then)f(the)g(permutation)h(sw)o(apping)g(those)f(tw)o(o)g(atoms)g(in)g+ −
(this)f(element)0 2461 y(has)i(no)g(ef)n(fect:)p 0 TeXcolorgray+ −
0 2634 a FJ(Lemma)f(4)p 0 TeXcolorgray 42 w FE(F)-8 b(or)20+ −
b(all)g FG(x)f FE(of)h(permutation)i(type)o(,)e(if)f+ −
FG(a)i Fr(#)g FG(x)f FE(and)h FG(b)g Fr(#)g FG(x)f FE(then)g+ −
Fr(\()p FG(a)12 b(b)p Fr(\))2228 2643 y Fo(\001)2266+ −
2634 y FG(x)21 b Fr(=)g FG(x)p FE(.)p 0 TeXcolorgray+ −
0 2858 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)30 b(case)g+ −
FG(a)39 b Fr(=)g FG(b)30 b FI(is)g(clear)g(by)g(Def.)g(2)p+ −
FE(\(i,iii\))g FI(and)h(the)f(f)o(act)h(that)f Fr(\()p+ −
FG(a)12 b(a)p Fr(\))39 b FD(\030)h Fr([])p FI(.)30 b(In)h(the)f(other)0+ −
2953 y(case,)h(the)g(assumption)i(implies)f(that)f(both)i(sets)d+ −
FD(f)p FG(c)14 b FD(j)f Fr(\()p FG(c)g(a)p Fr(\))1705+ −
2962 y Fo(\001)1742 2953 y FG(x)42 b FD(6)p Fr(=)g FG(x)p+ −
FD(g)31 b FI(and)h FD(f)p FG(c)14 b FD(j)f Fr(\()p FG(c)g(b)p+ −
Fr(\))2446 2962 y Fo(\001)2484 2953 y FG(x)41 b FD(6)p+ −
Fr(=)h FG(x)p FD(g)32 b FI(are)0 3049 y(\002nite,)22+ −
b(and)h(therefore)h(also)e(their)h(union)h(must)f(be)g(\002nite.)f+ −
(Hence)g(the)h(corresponding)i(co-set,)e(that)f(is)0+ −
3144 y FD(f)p FG(c)13 b FD(j)h Fr(\()p FG(c)e(a)p Fr(\))265+ −
3153 y Fo(\001)303 3144 y FG(x)21 b Fr(=)g FG(x)8 b FD(^)g+ −
Fr(\()p FG(c)k(b)p Fr(\))698 3153 y Fo(\001)736 3144+ −
y FG(x)21 b Fr(=)g FG(x)p FD(g)p FI(,)16 b(is)h(in\002nite)h(\(recall)f+ −
(that)h(there)f(are)h(in\002nitely)g(man)o(y)g(atoms\).)f(If)h(one)0+ −
3239 y(picks)f(from)h(this)f(co-set)g(one)h(element,)f(say)g+ −
FG(c)p FI(,)g(which)h(can)f(be)g(assumed)h(to)f(be)g(dif)n(ferent)i+ −
(from)f FG(a)f FI(and)g FG(b)p FI(,)0 3335 y(one)k(has)g+ −
Fr(\()p FG(c)13 b(a)p Fr(\))407 3344 y Fo(\001)444 3335+ −
y FG(x)23 b Fr(=)f FG(x)e FI(and)h Fr(\()p FG(c)13 b(b)p+ −
Fr(\))930 3344 y Fo(\001)968 3335 y FG(x)22 b Fr(=)g+ −
FG(x)p FI(.)e(Thus)h Fr(\()p FG(c)13 b(a)p Fr(\))1525+ −
3344 y Fo(\001)1563 3335 y Fr(\()p FG(c)g(b)p Fr(\))1702+ −
3344 y Fo(\001)1740 3335 y Fr(\()p FG(c)g(a)p Fr(\))1887+ −
3344 y Fo(\001)1924 3335 y FG(x)23 b Fr(=)f FG(x)p FI(.)e(Under)h(the)g+ −
(assumptions)0 3430 y FG(a)26 b FD(6)p Fr(=)g FG(c)p+ −
FI(,)c FG(b)27 b FD(6)p Fr(=)f FG(c)c(a)k FD(6)p Fr(=)g+ −
FG(b)p FI(,)d(the)f(permutations)j Fr(\()p FG(c)13 b(a)p+ −
Fr(\)\()p FG(c)f(b)p Fr(\)\()p FG(c)h(a)p Fr(\))22 b+ −
FI(and)h Fr(\()p FG(a)13 b(b)p Fr(\))22 b FI(are)h(equal.)g(Therefore)h+ −
(one)f(can)0 3526 y(conclude)e(with)f Fr(\()p FG(a)13+ −
b(b)p Fr(\))611 3535 y Fo(\001)649 3526 y FG(x)21 b Fr(=)g+ −
FG(x)e FI(by)h(using)h(Def.)f(2)p FE(\(ii,iii\))p FI(.)79+ −
b FD(u)-51 b(t)125 3698 y FI(A)18 b(further)i(restriction)g(on)f+ −
(permutation)i(types)e(\002lters)f(out)i(all)e(those)h(that)g(contain)h+ −
(elements)f(with)0 3794 y(in\002nite)h(support:)p 0 TeXcolorgray+ −
0 3967 a FJ(De\002nition)g(4)p 0 TeXcolorgray 42 w(\(Finitely)h+ −
(Supported)g(P)n(ermutation)h(T)-6 b(ypes\))21 b FE(A)g(permutation)h+ −
(type)f FG(\013)g FE(is)f(said)h(to)g(be)0 4062 y FI(\002nitely)f+ −
(supported)p FE(,)i(written)d(fs)890 4083 y Fp(\013)937+ −
4062 y FE(,)g(if)h(e)o(very)f(element)h(of)g FG(\013)g+ −
FE(has)h(\002nite)f(support.)0 4235 y FI(W)-6 b(e)22+ −
b(shall)g(write)g Fs(finite)q Fr(\()p Fk(supp)5 b Fr(\()p+ −
FG(x)p Fr(\)\))21 b FI(to)i(indicate)f(that)g(an)g(element)h+ −
FG(x)e FI(from)i(a)f(permutation)i(type)f(has)0 4330+ −
y(\002nite)d(support.)h(The)f(follo)n(wing)i(holds:)p+ −
0 TeXcolorgray 0 4504 a FJ(Lemma)d(5)p 0 TeXcolorgray+ −
42 w FE(Given)i(fs)620 4524 y Fp(\013)667 4504 y FE(,)f(fs)760+ −
4524 y Fp(\013)803 4532 y Fj(1)860 4504 y FE(and)h(fs)1051+ −
4524 y Fp(\013)1094 4532 y Fj(2)1130 4504 y FE(,)f(the)h(types)f+ −
Fs(name)q FE(,)f Fs(unit)q FE(,)h FG(\013)i Fs(list)q+ −
FE(,)d FG(\013)j Fs(option)q FE(,)e FG(\013)2524 4516+ −
y Fq(1)2579 4504 y FD(\002)d FG(\013)2705 4516 y Fq(2)2763+ −
4504 y FE(and)0 4599 y Fs(bool)k FE(ar)m(e)f(also)g(\002nitely)g+ −
(supported)h(permutation)h(types.)p 0 TeXcolorgray 0+ −
4823 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(Routine)e(proofs)h(using)g+ −
(the)f(calculations)g(gi)n(v)o(en)h(in)f(\(4\).)p 0 TeXcolorgray+ −
0 TeXcolorgray eop end+ −
%%Page: 7 7+ −
TeXDict begin 7 6 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 2848 17 a FF(7)p 0 TeXcolorgray 125 228 a+ −
FI(The)27 b(crucial)h(property)h(entailed)f(by)g(Def.)f(4)g(is)g(that)g+ −
(if)g(an)h(element,)f(say)h FG(x)p FI(,)e(of)i(a)f(permutation)0+ −
324 y(type)20 b(has)f(\002nite)f(support,)j(then)e(there)h(must)f(be)g+ −
(a)g(fresh)g(atom)h(for)g FG(x)p FI(,)e(since)h(there)g(are)g+ −
(in\002nitely)h(man)o(y)0 419 y(atoms.)g(Therefore)h(we)f(ha)n(v)o(e:)p+ −
0 TeXcolorgray 0 587 a FJ(Pr)o(oposition)g(1)p 0 TeXcolorgray+ −
42 w FE(If)j FG(x)e FE(of)i(permutation)h(type)f(has)f(\002nite)h+ −
(support,)g(then)h(ther)m(e)e(e)n(xists)g(an)h(atom)g+ −
FG(a)f FE(with)0 682 y FG(a)f Fr(#)g FG(x)p FE(.)0 850+ −
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+ −
(a)g(fresh)g(atom)g(for)g(an)g FG(x)f FI(of)h(permutation)i(type,)e(we)+ −
f(ha)n(v)o(e)i(to)0 945 y(mak)o(e)j(sure)f(that)h FG(x)e+ −
FI(has)h(\002nite)h(support.)g(This)f(task)g(can)h(be)f(automatically)i+ −
(performed)g(by)f(Isabelle')l(s)0 1041 y(axiomatic)h(type-classes)f+ −
(for)h(most)f(constructions)i(occurring)g(in)e(informal)i(proofs:)f+ −
(Isabelle)f(has)h(to)0 1136 y(just)c(e)o(xamine)g(the)h(types)f(of)g+ −
(the)g(construction)i(using)f(Lem.)f(5.)125 1232 y(Prop)i(1)g(also)g+ −
(implies)g(that)g(for)g(e)n(v)o(ery)h(\002nitely)f(supported)i+ −
(function)f(a)f(fresh)g(atom)g(e)o(xists.)f(Ho)n(w-)0+ −
1327 y(e)n(v)o(er)m(,)e(to)g(determine)h(whether)g(a)e(function)j(has)e+ −
(\002nite)g(support)h(is)e(more)i(subtle,)f(because)g(not)h(all)e+ −
(func-)0 1422 y(tions)25 b(are)g(\002nitely)g(supported,)i(e)n(v)o(en)e+ −
(if)g(their)g(domain)h(and)g(codomain)h(are)e(\002nitely)g(supported)h+ −
(per)n(-)0 1518 y(mutation)21 b(types)g(\(see)f([27,)h(Example)g(3.4,)g+ −
(P)o(age)f(470]\).)h(Introducing)i(a)d(\002nitely)h(supported)h+ −
(function)0 1613 y(space)d(and)g(blending)i(it)d(well)g(into)h+ −
(Isabelle')l(s)g(reasoning)h(infrastructure)g(seems)f(impractical)g+ −
(for)g(rea-)0 1709 y(sons)31 b(ho)n(w)g(Isabelle)g(is)f(implemented.)i+ −
(So)f(for)g(functions)h(one)g(has)e(to)h(\223manually\224)h(ensure)g+ −
(\002nite)0 1804 y(support,)23 b(which)g(we)f(shall)h(do)g(in)f(Sec.)g+ −
(5)g(by)h(introducing)i(a)d(weak)o(er)h(notion)h(that)e(approximates)i+ −
(the)0 1900 y(support)d(of)g(an)f(element)g(from)h(\223abo)o(v)o+ −
(e\224.)0 2180 y FJ(3)28 b(Constructing)20 b(a)g(Repr)o(esentation)g(f)+ −
n(or)h(Alpha-Equated)f(Lambda-T)-7 b(erms)0 2368 y FI(In)32+ −
b(this)f(section)h(we)f(de\002ne)h(an)g(inducti)n(v)o(e)g(set)f(that)h+ −
(is)f(bijecti)n(v)o(e)h(with)f(the)h(set)f(of)g(alpha-equated)0+ −
2464 y(lambda-terms.)25 b(In)f(doing)h(so)f(our)g(goal)g(is)f(to)h(gi)n+ −
(v)o(e)g(in)g(Isabelle/HOL)g(a)f(formal)i(implementation)g(of)0+ −
2559 y(the)j(usual)g(con)m(v)o(ention)i(\(from)g(Barendre)o(gt)f([5,)f+ −
(P)o(age)g(26]\))h(emplo)o(yed)h(e)o(xplicitly)e(or)h(implicitly)g(in)0+ −
2655 y(man)o(y)21 b(informal)g(proofs:)p 0 TeXcolorgray+ −
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+ −
FI(.)28 b(T)-6 b(erms)34 b(that)f(are)h FG(\013)p FI(-congruent)i(are)d+ −
(identi\002ed.)h(So)f(no)n(w)h(we)288 2906 y(write)20+ −
b FG(\025x:x)g FD(\021)h FG(\025y)s(:y)s FI(,)e(etcetera.)125+ −
3060 y(W)-6 b(e)19 b(be)o(gin)h(with)g(de\002ning)h(\223ra)o(w\224)e+ −
(lambda-terms.)i(The)o(y)f(can)g(be)g(de\002ned)g(in)g(Isabelle/HOL)g+ −
(with)0 3156 y(the)g(datatype)h(declaration:)844 3317+ −
y Fs(datatype)i(lam)i Fr(=)g Fs(Var)43 b Fr(")p Fs(name)p+ −
Fr(")1341 3412 y FD(j)h Fs(App)f Fr(")p Fs(lam)31 b FD(\002)f+ −
Fs(lam)q Fr(")1341 3508 y FD(j)44 b Fs(Lam)f Fr(")p Fs(name)32+ −
b FD(\002)d Fs(lam)q Fr(")2789 3412 y FI(\(5\))0 3667+ −
y(Gi)n(v)o(en)20 b(the)g(follo)n(wing)i(permutation)g(operation)f(for)g+ −
(lambda-terms)1033 3852 y FG(\031)1080 3861 y Fo(\001)1118+ −
3852 y Fs(Var)q Fr(\()p FG(a)p Fr(\))1361 3809 y Fn(def)1368+ −
3852 y Fr(=)32 b Fs(Var)q Fr(\()p FG(\031)1655 3861 y+ −
Fo(\001)1692 3852 y FG(a)p Fr(\))910 3971 y FG(\031)957+ −
3980 y Fo(\001)995 3971 y Fs(App)p Fr(\()p FG(t)1170+ −
3983 y Fq(1)1207 3971 y FG(;)13 b(t)1269 3983 y Fq(2)1306+ −
3971 y Fr(\))1361 3928 y Fn(def)1368 3971 y Fr(=)32 b+ −
Fs(App)q Fr(\()p FG(\031)1655 3980 y Fo(\001)1692 3971+ −
y FG(t)1720 3983 y Fq(1)1757 3971 y FG(;)14 b(\031)1839+ −
3980 y Fo(\001)1876 3971 y FG(t)1904 3983 y Fq(2)1941+ −
3971 y Fr(\))971 4090 y FG(\031)1018 4099 y Fo(\001)1056+ −
4090 y Fs(Lam)q Fr(\()p FG(a;)e(t)p Fr(\))1361 4048 y+ −
Fn(def)1368 4090 y Fr(=)32 b Fs(Lam)q Fr(\()p FG(\031)1655+ −
4099 y Fo(\001)1692 4090 y FG(a;)13 b(\031)1814 4099+ −
y Fo(\001)1852 4090 y FG(t)p Fr(\))2789 3959 y FI(\(6\))0+ −
4250 y(the)18 b(datatype)h Fs(lam)g FI(is)f(a)g(permutation)i(type)e+ −
(\(routine)i(proof)g(by)f(structural)f(induction\).)i(As)e(mentioned)0+ −
4345 y(earlier)m(,)25 b(\002xing)h(the)g(permutation)h(operation)h+ −
(also)d(\002x)o(es)g(the)g(notion)i(of)f(support,)h(which)f(in)f(case)g+ −
(of)0 4441 y Fs(lam)e FI(coincides)g(with)f(the)g(set)g(of)h+ −
FE(all)f FI(atoms)g(occurring)i(in)f(a)f(lambda-term.)i(Hence)e+ −
Fs(lam)h FI(is)e(a)h(\002nitely)0 4536 y(supported)g(permutation)g+ −
(type.)125 4632 y(The)k(notion)i(of)f(alpha-equi)n(v)n(alence)h(for)f+ −
Fs(lam)g FI(is)f(usually)h(de\002ned)g(as)f(the)g(least)g(congruence)i+ −
(of)0 4727 y(the)e(equation)h Fs(Lam)q Fr(\()p FG(a;)12+ −
b(t)p Fr(\))31 b(=)790 4735 y Fp(\013)869 4727 y Fs(Lam)q+ −
Fr(\()p FG(b;)13 b(t)p Fr([)p FG(a)31 b Fr(:=)h FG(b)p+ −
Fr(]\))25 b FI(in)m(v)n(olving)j(a)e(renaming)h(substitution)g(and)f(a)+ −
g(side-)0 4823 y(condition,)k(namely)f(that)g FG(b)f+ −
FI(does)h(not)g(occur)h(freely)f(in)f FG(t)p FI(.)g(In)h(the)g(nominal)+ −
h(logic)f(w)o(ork,)g(ho)n(we)n(v)o(er)m(,)p 0 TeXcolorgray+ −
0 TeXcolorgray eop end+ −
%%Page: 8 8+ −
TeXDict begin 8 7 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 0 17 a FF(8)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 149 V 0 1074 4 926 v 581 244 491 4 v 581 310 a Ft(Var)q+ −
Fy(\()p FA(a)p Fy(\))21 b Fz(\031)f Ft(Var)q Fy(\()p+ −
FA(a)p Fy(\))1113 256 y Fz(\031)1168 264 y Fd(Var)1498+ −
214 y FA(t)1523 223 y Fx(1)1578 214 y Fz(\031)g FA(s)1686+ −
223 y Fx(1)1786 214 y FA(t)1811 223 y Fx(2)1866 214 y+ −
Fz(\031)f FA(s)1973 223 y Fx(2)p 1387 244 733 4 v 1387+ −
310 a Ft(App)p Fy(\()p FA(t)1544 319 y Fx(1)1580 310+ −
y FA(;)11 b(t)1636 319 y Fx(2)1671 310 y Fy(\))20 b Fz(\031)g+ −
Ft(App)q Fy(\()p FA(s)1959 319 y Fx(1)1993 310 y FA(;)12+ −
b(s)2058 319 y Fx(2)2092 310 y Fy(\))2161 251 y Fz(\031)2216+ −
259 y Fd(App)655 446 y FA(t)20 b Fz(\031)g FA(s)p 426+ −
467 612 4 v 426 533 a Ft(Lam)q Fy(\()p FA(a;)12 b(t)p+ −
Fy(\))20 b Fz(\031)g Ft(Lam)q Fy(\()p FA(a;)12 b(s)p+ −
Fy(\))1079 479 y Fz(\031)1134 488 y Fd(Lam)q Fx(1)1382+ −
430 y FA(a)20 b Fz(6)p Fy(=)g FA(b)59 b(t)20 b Fz(\031)f+ −
Fy(\()p FA(a)13 b(b)p Fy(\))1856 439 y Fo(\001)1895 430+ −
y FA(s)58 b(a)8 b Fz(62)g Ft(fv)q Fy(\()p FA(s)p Fy(\))p+ −
1382 467 863 4 v 1511 533 a Ft(Lam)q Fy(\()p FA(a;)13+ −
b(t)p Fy(\))20 b Fz(\031)g Ft(Lam)p Fy(\()p FA(b;)12+ −
b(s)p Fy(\))2286 479 y Fz(\031)2341 488 y Fd(Lam)q Fx(2)781+ −
704 y FA(a)21 b Fz(6)p Fy(=)e FA(b)p 654 737 417 4 v+ −
654 803 a(a)8 b Fz(62)g Ft(fv)q Fy(\()p Ft(Var)q Fy(\()p+ −
FA(b)p Fy(\)\))1112 753 y Ft(fv)1183 761 y Fd(Var)1401+ −
700 y FA(a)g Fz(62)g Ft(fv)q Fy(\()p FA(t)1624 709 y+ −
Fx(1)1659 700 y Fy(\))59 b FA(a)8 b Fz(62)g Ft(fv)q Fy(\()p+ −
FA(t)1968 709 y Fx(2)2004 700 y Fy(\))p 1401 737 631+ −
4 v 1447 803 a FA(a)g Fz(62)g Ft(fv)q Fy(\()p Ft(App)q+ −
Fy(\()p FA(t)1803 812 y Fx(1)1839 803 y FA(;)j(t)1895+ −
812 y Fx(2)1930 803 y Fy(\)\))2073 748 y Ft(fv)2143 756+ −
y Fd(App)p 670 960 481 4 v 670 1026 a FA(a)d Fz(62)g+ −
Ft(fv)q Fy(\()p Ft(Lam)q Fy(\()p FA(a;)k(t)p Fy(\)\))1192+ −
976 y Ft(fv)1263 985 y Fd(Lam)q Fx(1)1512 923 y FA(a)20+ −
b Fz(6)p Fy(=)g FA(b)59 b(a)8 b Fz(62)g Ft(fv)q Fy(\()p+ −
FA(t)p Fy(\))p 1511 960 474 4 v 1511 1026 a FA(a)g Fz(62)g+ −
Ft(fv)q Fy(\()p Ft(Lam)r Fy(\()p FA(b;)k(t)p Fy(\)\))2026+ −
976 y Ft(fv)2097 985 y Fd(Lam)q Fx(2)p 2878 1074 4 926+ −
v 0 1077 2881 4 v 0 1194 a FB(Fig)o(.)k(2)34 b FF(Inducti)n(v)o(e)20+ −
b(de\002nitions)f(for)e Fy(\()p Fz(\000)p Fy(\))j Fz(\031)g+ −
Fy(\()p Fz(\000)p Fy(\))d FF(and)h Fy(\()p Fz(\000)p+ −
Fy(\))8 b Fz(62)g Ft(fv)q Fy(\()p Fz(\000)p Fy(\))p FF(.)p+ −
0 TeXcolorgray 0 1467 a FI(atoms)20 b(are)g(manipulated)h(not)f(by)h+ −
(renaming)g(substitutions,)f(b)n(ut)h(by)f(permutations.)h(This)f(has)g+ −
(a)f(num-)0 1563 y(ber)27 b(of)g(technical)g(adv)n(antages)g(\(compare)+ −
h(the)f(technical)g(subtleties)f(of)g(Do)n(wek)h FE(et)f(al)h+ −
FI([9])g(with)f(the)0 1658 y(approach)e(in)f(Urban)g+ −
FE(et)f(al)g FI([35]\),)i(because)f(permutations)h(are)e(bijections)h+ −
(on)g(atoms,)f(while)h(renam-)0 1753 y(ing)d(substitution)h(might)g+ −
(identify)g(some)f(atoms.)g(As)f(a)g(consequence)j(of)e(the)g(bijecti)n+ −
(vity)-5 b(,)20 b(a)g(renaming)0 1849 y(based)27 b(on)g(permutations)h+ −
(preserv)o(es)f(the)g(binding)h(structure.)f(In)g(contrast,)g(applying)+ −
i(na)n(\250)-24 b(\021v)o(ely)27 b(a)f(re-)0 1944 y(naming)21+ −
b(substitution)g(one)g(might)g(identify)g(an)f(atom)g(that)g(is)g+ −
(bound)i(with)e(one)g(that)g(is)f(free.)125 2044 y(Using)i(the)g+ −
(permutation)i(operation)g(gi)n(v)o(en)f(in)g(\(6\),)f(alpha-equi)n(v)n+ −
(alence)j(for)e Fs(lam)g FI(can)f(be)h(de\002ned)0 2139+ −
y(in)28 b(a)g(simple)g(and)g(syntax)h(directed)g(f)o(ashion)g(using)f+ −
(the)g(relations)g Fr(\()p FD(\000)p Fr(\))23 b FD(\031)f+ −
Fr(\()p FD(\000)p Fr(\))27 b FI(and)i Fr(\()p FD(\000)p+ −
Fr(\))35 b FD(62)h Fs(fv)p Fr(\()p FD(\000)p Fr(\))0+ −
2235 y FI(whose)25 b(rules)g(are)g(gi)n(v)o(en)h(in)f(Fig.)f(2.)h+ −
(Because)f(of)i(the)f(\223asymmetric\224)g(rule)h FD(\031)2210+ −
2247 y Fc(Lam)o Fq(2)2339 2235 y FI(,)f(it)f(might)i(be)f(sur)n(-)0+ −
2330 y(prising,)c(b)n(ut:)p 0 TeXcolorgray 0 2498 a FJ(Pr)o(oposition)f+ −
(2)p 0 TeXcolorgray 42 w FE(The)g(r)m(elation)h FD(\031)e+ −
FE(is)h(an)g(equivalence)i(r)m(elation.)0 2663 y FI(The)g(proof)h(of)f+ −
(this)f(proposition)j(is)d(omitted:)h(it)f(can)h(be)g(found)h(in)e(a)h+ −
(more)g(general)h(setting)e(in)h(Urban)0 2759 y FE(et)j(al)g+ −
FI([35].)h(\(W)-6 b(e)25 b(also)g(omit)h(a)f(proof)h(sho)n(wing)h(that)+ −
e FD(\031)f FI(and)i Fr(=)1792 2767 y Fp(\013)1864 2759+ −
y FI(coincide\).)g(In)g(the)f(follo)n(wing,)h Fr([)p+ −
FG(t)p Fr(])2833 2767 y Fp(\013)0 2876 y FI(will)19 b(stand)g(for)h+ −
(the)f(alpha-equi)n(v)n(alence)j(class)c(of)i(the)f(lambda-term)i+ −
FG(t)p FI(,)d(that)h(is)g Fr([)p FG(t)p Fr(])2281 2884+ −
y Fp(\013)2350 2834 y Fn(def)2357 2876 y Fr(=)29 b FD(f)21+ −
b FG(t)2533 2845 y Fl(0)2578 2876 y FD(j)g FG(t)2648+ −
2845 y Fl(0)2693 2876 y FD(\031)g FG(t)g FD(g)p FI(,)0+ −
2972 y(and)g Fs(lam)251 2990 y Fp(=)p Fl(\031)361 2972+ −
y FI(for)g(the)f(set)f(of)i(lambda-terms)g(quotient)g(by)g+ −
FD(\031)p FI(.)125 3071 y(Ne)o(xt)e(we)g(will)g(de\002ne)h(a)f(set)g+ −
Fs(phi)p FI(;)h(inside)f(this)g(set)g(we)g(will)g(subsequently)i+ −
(identify)g(\(inducti)n(v)o(ely\))0 3167 y(a)29 b(subset,)f(called)h+ −
Fs(lam)644 3175 y Fp(\013)691 3167 y FI(,)g(that)f(is)h(in)g(bijection)+ −
g(with)g Fs(lam)1649 3184 y Fp(=)p Fl(\031)1739 3167+ −
y FI(.)f(Since)h(Isabelle/HOL)g(supports)h(sub-)0 3262+ −
y(set)h(types,)g(we)g(can)h(later)f(turn)i Fs(lam)1047+ −
3270 y Fp(\013)1126 3262 y FI(into)f(a)f(ne)n(w)h(type.)f(In)h(order)h+ −
(to)e(obtain)i(the)e(bijection,)h Fs(phi)0 3357 y FI(needs)22+ −
b(to)g(be)h(de\002ned)g(so)f(that)g(it)f(contains)i(elements)f+ −
(corresponding,)j(roughly)f(speaking,)f(to)f(alpha-)0+ −
3453 y(equated)c(v)n(ariables,)f(applications)h(and)f+ −
(lambda-abstractions\227that)i(is)d(to)h Fr([)p Fs(Var)q+ −
Fr(\()p FG(a)p Fr(\)])2366 3461 y Fp(\013)2413 3453 y+ −
FI(,)f Fr([)p Fs(App)q Fr(\()p FG(t)2646 3465 y Fq(1)2683+ −
3453 y FG(;)d(t)2745 3465 y Fq(2)2782 3453 y Fr(\)])2833+ −
3461 y Fp(\013)0 3548 y FI(and)20 b Fr([)p Fs(Lam)q Fr(\()p+ −
FG(a;)12 b(t)p Fr(\)])455 3556 y Fp(\013)502 3548 y FI(.)19+ −
b(Whereas)g(this)g(is)f(straightforw)o(ard)j(for)f(v)n(ariables)f(and)h+ −
(applications,)f(the)g(lambda-)0 3644 y(abstractions)29+ −
b(are)f(non-tri)n(vial:)i(for)g(them)e(we)g(shall)h(use)f(some)h+ −
FE(speci\002c)f FI(\223partial\224)h(functions)h(from)0+ −
3739 y Fs(name)19 b FI(to)g Fs(phi)g FI(\(by)g(\223partial\224)g(we)f+ −
(mean)h(here)g(functions)g(that)g(return)g Fk(None)25+ −
b FI(for)19 b(unde\002ned)h(v)n(alues)f(and)0 3835 y+ −
Fk(Some)6 b Fr(\()p FG(x)p Fr(\))19 b FI(for)i(de\002ned)g(ones)817+ −
3803 y Fv(4)849 3835 y FI(\).)f(W)-6 b(e)19 b(therefore)j(de\002ne)e+ −
Fs(phi)h FI(as)e(the)h(Isabelle/HOL)g(datatype:)705 4022+ −
y Fs(datatype)j(phi)j Fr(=)e Fs(Am)44 b Fr(")p Fs(name)p+ −
Fr(")1202 4117 y FD(j)g Fs(Pr)g Fr(")p Fs(phi)30 b FD(\002)g+ −
Fs(phi)p Fr(")1202 4213 y FD(j)44 b Fs(Se)g Fr(")p Fs(name)22+ −
b FD(\))f Fr(\()p Fs(phi)h(option)p Fr(\)")2789 4117+ −
y FI(\(7\))0 4400 y(where)27 b Fs(Am)g FI(will)e(be)i(used)g(to)f+ −
(encode)i(atoms;)e Fs(Pr)h FI(to)g(encode)g(applications,)g(which)g+ −
(are)g(b)n(uilt)g(up)g(by)0 4496 y(a)g(pair)g(of)h(terms;)f(and)h+ −
Fs(Se)f FI(to)g(encode)h(an)g(alpha-equi)n(v)n(alence)h(class)d(\(that)+ −
i(is)e(a)h(set\))g(of)g(terms.)g(The)p 0 TeXcolorgray+ −
0 4581 898 4 v 62 4646 a Fu(4)125 4669 y FF(In)c(Urban)i(and)f(T)-5+ −
b(asson)23 b([36])h(a)g(special)i(error)o(-element)g(w)o(as)e(used)g+ −
(to)h(stand)f(for)g(unde\002nedness.)h(Ho)n(we)n(v)o(er)m(,)h(the)0+ −
4746 y(approach)18 b(based)f(on)f(the)h(option-type)i(turned)f(out)e+ −
(to)h(be)f(more)g(con)m(v)o(enient)k(for)c(b)o(uilding)i(a)e(nominal)i+ −
(datatype)g(package)0 4823 y(in)f(Isabelle/HOL.)p 0 TeXcolorgray+ −
0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 9 9+ −
TeXDict begin 9 8 bop 0 TeXcolorgray 0 TeXcolorgray 0+ −
71 2881 4 v 2848 17 a FF(9)p 0 TeXcolorgray 0 228 a FI(permutation)22+ −
b(operation)g(for)e Fs(phi)h FI(is)e(de\002ned)i(o)o(v)o(er)f(the)g+ −
(structure)h(as)f(follo)n(ws:)1072 477 y FG(\031)1119+ −
486 y Fo(\001)1157 477 y Fs(Am)q Fr(\()p FG(a)p Fr(\))1361+ −
434 y Fn(def)1368 477 y Fr(=)32 b Fs(Am)p Fr(\()p FG(\031)1615+ −
486 y Fo(\001)1653 477 y FG(a)p Fr(\))949 620 y FG(\031)996+ −
629 y Fo(\001)1034 620 y Fs(Pr)p Fr(\()p FG(t)1170 632+ −
y Fq(1)1207 620 y FG(;)13 b(t)1269 632 y Fq(2)1306 620+ −
y Fr(\))1361 577 y Fn(def)1368 620 y Fr(=)32 b Fs(Pr)p+ −
Fr(\()p FG(\031)1615 629 y Fo(\001)1653 620 y FG(t)1681+ −
632 y Fq(1)1718 620 y FG(;)13 b(\031)1799 629 y Fo(\001)1837+ −
620 y FG(t)1865 632 y Fq(2)1902 620 y Fr(\))1040 763+ −
y FG(\031)1087 772 y Fo(\001)1125 763 y Fs(Se)q Fr(\()p+ −
Fk(fn)5 b Fr(\))1361 720 y Fn(def)1368 763 y Fr(=)32+ −
b Fs(Se)p Fr(\()p FG(\031)1615 772 y Fo(\001)1653 763+ −
y Fk(fn)6 b Fr(\))2789 607 y FI(\(8\))0 996 y(using)24+ −
b(in)f(the)g(last)g(clause)g(the)g(permutations)i(operation)g(for)f+ −
(functions)g(gi)n(v)o(en)g(in)g(\(2\).)f(It)g(is)g(not)h(hard)0+ −
1092 y(to)c(sho)n(w)g(that)g Fs(phi)h FI(is)e(a)h(permutation)i(type)e+ −
(\(routine)i(induction)f(o)o(v)o(er)g(the)f(structure)h(of)f+ −
Fs(phi)q FI(-terms\).)125 1197 y(W)-6 b(e)16 b(mentioned)j(earlier)d+ −
(that)h(we)g(are)f(not)i(going)g(to)f(use)f(all)h(functions)h(from)f+ −
Fs(name)h FI(to)e Fs(phi)22 b(option)0 1293 y FI(for)34+ −
b(representing)g(alpha-equated)h(lambda-abstractions,)g(b)n(ut)f(some)f+ −
(speci\002c)g(functions.)2627 1261 y Fv(5)2693 1293 y+ −
FI(These)0 1388 y(functions)21 b(are)f(of)h(the)f(form:)519+ −
1629 y Fr([)p FG(a)p Fr(])p FG(:t)672 1586 y Fn(def)680+ −
1629 y Fr(=)28 b FG(\025b:)13 b Fs(if)22 b FG(a)f Fr(=)g+ −
FG(b)g Fs(then)h Fk(Some)6 b Fr(\()p FG(t)p Fr(\))880+ −
1757 y Fs(else)22 b(if)g FG(b)f Fr(#)g FG(t)g Fs(then)i+ −
Fk(Some)6 b Fr(\(\()p FG(a)12 b(b)p Fr(\))1887 1766 y+ −
Fo(\001)1925 1757 y FG(t)p Fr(\))21 b Fs(else)h Fk(None)2789+ −
1684 y FI(\(9\))0 2005 y(and)g(we)f(will)g(refer)h(to)f(them)h(as)f+ −
FE(abstr)o(action)h(functions)p FI(;)g(their)g(parameters)g(are)f(an)h+ −
(atom)g(and)g(a)f Fs(phi)q FI(-)0 2100 y(term.)125 2206+ −
y(W)-6 b(e)20 b(claim)h(that)f(these)h(functions)g(represent)h+ −
(alpha-equi)n(v)n(alence)h(classes.)c(T)-6 b(o)21 b(see)f(this,)g+ −
(consider)0 2302 y Fr([)p Fs(Lam)q Fr(\()p FG(a;)13 b+ −
Fs(App)p Fr(\()p Fs(Var)q Fr(\()p FG(a)p Fr(\))p FG(;)f+ −
Fs(Var)q Fr(\()p FG(b)p Fr(\)\)\)])935 2310 y Fp(\013)1015+ −
2302 y FI(and)34 b(the)f(corresponding)j Fs(phi)p FI(-term)e+ −
Fs(Se)p Fr(\([)p FG(a)p Fr(])p FG(:)p Fs(Pr)q Fr(\()p+ −
Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 b Fs(Am)q Fr(\()p+ −
FG(b)p Fr(\)\)\))p FI(.)0 2397 y(The)34 b(graph)h(of)f(the)g+ −
(abstraction)g(function)h(is)e(as)g(follo)n(ws:)h(the)g(atom)g+ −
FG(a)f FI(is)g(mapped)i(to)f(the)f(term)0 2492 y Fk(Some)6+ −
b Fr(\()p Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p FG(a)p Fr(\))p+ −
FG(;)12 b Fs(Am)q Fr(\()p FG(b)p Fr(\)\)\))i FI(since)i(the)g(\002rst)f+ −
Fs(if)q FI(-condition)i(is)e(true.)h(F)o(or)g FG(b)p+ −
FI(,)f(the)h(\002rst)f Fs(if)q FI(-condition)j(ob)o(vi-)0+ −
2588 y(ously)f(f)o(ails,)f(b)n(ut)i(also)f(the)f(second)i(one)f(f)o+ −
(ails,)f(because)h Fk(supp)6 b Fr(\()p Fs(Pr)p Fr(\()p+ −
Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 b Fs(Am)q Fr(\()p+ −
FG(b)p Fr(\)\)\))20 b(=)h FD(f)p FG(a;)14 b(b)p FD(g)p+ −
FI(;)i(therefore)0 2683 y FG(b)i FI(is)g(mapped)i(to)f+ −
Fk(None)6 b FI(.)18 b(F)o(or)h(all)f(other)i(atoms)e+ −
FG(c)p FI(,)h(we)f(ha)n(v)o(e)i FG(a)h FD(6)p Fr(=)g+ −
FG(c)d FI(and)i FG(c)h Fr(#)g Fs(Pr)q Fr(\()p Fs(Am)p+ −
Fr(\()p FG(a)p Fr(\))p FG(;)13 b Fs(Am)p Fr(\()p FG(b)p+ −
Fr(\)\))p FI(;)18 b(conse-)0 2779 y(quently)25 b(these)e+ −
FG(c)p FI(')l(s)g(are)h(mapped)h(by)f(the)f(abstraction)i(function)g+ −
(to)f Fk(Some)5 b Fr(\(\()p FG(a)13 b(c)p Fr(\))2271+ −
2788 y Fo(\001)2309 2779 y Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p+ −
FG(a)p Fr(\))p FG(;)f Fs(Am)q Fr(\()p FG(b)p Fr(\)\)\))p+ −
FI(,)0 2874 y(which)35 b(is)f Fk(Some)6 b Fr(\()p Fs(Pr)p+ −
Fr(\()p Fs(Am)p Fr(\()p FG(c)p Fr(\))p FG(;)13 b Fs(Am)q+ −
Fr(\()p FG(b)p Fr(\)\)\))p FI(.)33 b(Clearly)-5 b(,)34+ −
b(the)g(abstraction)h(function)h(returns)f Fk(None)41+ −
b FI(when-)0 2970 y(e)n(v)o(er)23 b(the)f(corresponding)j(lambda-term)f+ −
(is)e FE(not)i FI(in)e(the)h(alpha-equi)n(v)n(alence)h(class\227in)e+ −
(this)g(e)o(xample)0 3065 y(the)f(lambda-term)h Fs(Lam)q+ −
Fr(\()p FG(b;)13 b Fs(App)p Fr(\()p Fs(Var)q Fr(\()p+ −
FG(b)p Fr(\))p FG(;)g Fs(Var)p Fr(\()p FG(b)p Fr(\)\)\))22+ −
b FD(62)h Fr([)p Fs(Lam)q Fr(\()p FG(a;)13 b Fs(App)q+ −
Fr(\()p Fs(Var)p Fr(\()p FG(a)p Fr(\))p FG(;)g Fs(Var)p+ −
Fr(\()p FG(b)p Fr(\)\)\)])2448 3073 y Fp(\013)2495 3065+ −
y FI(;)21 b(in)g(all)f(other)0 3161 y(cases,)f(ho)n(we)n(v)o(er)m(,)i+ −
(it)e(returns)i(an)f(appropriately)i(\223renamed\224)g(v)o(ersion)e(of)+ −
h Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12+ −
b Fs(Am)q Fr(\()p FG(b)p Fr(\)\))p FI(.)125 3267 y(T)-6+ −
b(o)17 b(sho)n(w)g(formally)h(that)f(abstraction)h(functions)g+ −
(represent)g(alpha-equiv)n(alence)h(classes,)d(we)g(\002rst)0+ −
3362 y(establish)24 b(ho)n(w)g(the)g(permutation)i(operation)f(beha)n+ −
(v)o(es)g(on)g(those)f(functions)h(and)f(then)h(establish)e(the)0+ −
3457 y(conditions)e(under)h(which)e(tw)o(o)g(such)h(functions)g(are)f+ −
(equal:)p 0 TeXcolorgray 0 3679 a FJ(Lemma)f(6)p 0 TeXcolorgray+ −
42 w FE(All)h(abstr)o(action)h(functions)g(satisfy:)p+ −
0 TeXcolorgray 56 3855 a(\(i\))p 0 TeXcolorgray 42 w+ −
FG(\031)219 3864 y Fo(\001)257 3855 y Fr(\([)p FG(a)p+ −
Fr(])p FG(:t)p Fr(\))g(=)g([)p FG(\031)619 3864 y Fo(\001)657+ −
3855 y FG(a)p Fr(])p FG(:)p Fr(\()p FG(\031)817 3864+ −
y Fo(\001)855 3855 y FG(t)p Fr(\))p FE(,)e(and)p 0 TeXcolorgray+ −
34 3950 a(\(ii\))p 0 TeXcolorgray 42 w Fr([)p FG(a)p+ −
Fr(])p FG(:t)304 3962 y Fq(1)363 3950 y Fr(=)i([)p FG(b)p+ −
Fr(])p FG(:t)568 3962 y Fq(2)625 3950 y FE(if)f(and)h(only)g(if)e+ −
(either:)578 4178 y FG(a)i Fr(=)g FG(b)c FD(^)g FG(t)867+ −
4190 y Fq(1)925 4178 y Fr(=)k FG(t)1034 4190 y Fq(2)1229+ −
4178 y FE(or)158 b FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g+ −
FG(t)1746 4190 y Fq(1)1804 4178 y Fr(=)k(\()p FG(a)13+ −
b(b)p Fr(\))2032 4187 y Fo(\001)2070 4178 y FG(t)2098+ −
4190 y Fq(2)2152 4178 y FD(^)k FG(a)k Fr(#)g FG(t)2395+ −
4190 y Fq(2)2454 4178 y FG(:)p 0 TeXcolorgray 0 4547+ −
a FE(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)f(\002rst)f(property)j+ −
(follo)n(ws)f(from)g(the)f(follo)n(wing)h(calculation:)p+ −
0 TeXcolorgray 0 4658 898 4 v 62 4722 a Fu(5)125 4746+ −
y FF(This)c(is)g(in)h(contrast)h(to)f(\223weak\224)h(and)f+ −
(\223full\224)h(HO)n(AS)e([8,)7 b(25])17 b(which)h(use)g(the)g(full)g+ −
(function)i(space)e(for)g(representing)0 4823 y(lambda-abstractions.)p+ −
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 10 10+ −
TeXDict begin 10 9 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(10)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray 345 212 a FG(\031)392 221 y Fo(\001)430+ −
212 y Fr([)p FG(a)p Fr(])p FG(:t)247 289 y Fn(def)254+ −
332 y Fr(=)31 b FG(\031)392 341 y Fo(\001)430 332 y FG(\025b:)13+ −
b Fs(if)21 b FG(a)g Fr(=)g FG(b)h Fs(then)g Fk(Some)6+ −
b Fr(\()p FG(t)p Fr(\))542 403 y Fs(else)22 b(if)g FG(b)f+ −
Fr(#)g FG(t)g Fs(then)h Fk(Some)6 b Fr(\(\()p FG(a)13+ −
b(b)p Fr(\))1549 412 y Fo(\001)1587 403 y FG(t)p Fr(\))21+ −
b Fs(else)h Fk(None)247 480 y Fn(def)254 523 y Fr(=)31+ −
b FG(\025b:)13 b(\031)504 532 y Fo(\001)542 523 y Fs(if)21+ −
b FG(a)g Fr(=)g FG(\031)831 491 y Fl(\000)p Fq(1)920+ −
532 y Fo(\001)958 523 y FG(b)h Fs(then)g Fk(Some)6 b+ −
Fr(\()p FG(t)p Fr(\))457 597 y Fs(else)22 b(if)g FG(\031)782+ −
565 y Fl(\000)p Fq(1)870 606 y Fo(\001)909 597 y FG(b)f+ −
Fr(#)g FG(t)g Fs(then)i Fk(Some)6 b Fr(\(\()p FG(a)25+ −
b(\031)1635 565 y Fl(\000)p Fq(1)1723 606 y Fo(\001)1762+ −
597 y FG(b)p Fr(\))1825 606 y Fo(\001)1862 597 y FG(t)p+ −
Fr(\))c Fs(else)i Fk(None)254 695 y Fr(=)31 b FG(\025b:)13+ −
b Fs(if)21 b FG(\031)603 704 y Fo(\001)641 695 y Fr(\()p+ −
FG(a)g Fr(=)g FG(\031)861 663 y Fl(\000)p Fq(1)950 704+ −
y Fo(\001)988 695 y FG(b)p Fr(\))g Fs(then)i Fk(Some)6+ −
b Fr(\()p FG(\031)1514 704 y Fo(\001)1551 695 y FG(t)p+ −
Fr(\))457 769 y Fs(else)22 b(if)g FG(\031)782 778 y Fo(\001)820+ −
769 y Fr(\()p FG(\031)897 737 y Fl(\000)p Fq(1)985 778+ −
y Fo(\001)1023 769 y FG(b)g Fr(#)f FG(t)p Fr(\))g Fs(then)h+ −
Fk(Some)6 b Fr(\()p FG(\031)1683 778 y Fo(\001)1721 769+ −
y Fr(\()p FG(a)25 b(\031)1864 737 y Fl(\000)p Fq(1)1953+ −
778 y Fo(\001)1991 769 y FG(b)p Fr(\))2054 778 y Fo(\001)2092+ −
769 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 695 y FI(\()p+ −
FD(\003)2570 663 y Fq(1)2608 695 y FI(\))254 867 y Fr(=)31+ −
b FG(\025b:)13 b Fs(if)21 b FG(\031)603 876 y Fo(\001)641+ −
867 y Fr(\()p FG(a)g Fr(=)g FG(\031)861 835 y Fl(\000)p+ −
Fq(1)950 876 y Fo(\001)988 867 y FG(b)p Fr(\))g Fs(then)i+ −
Fk(Some)6 b Fr(\()p FG(\031)1514 876 y Fo(\001)1551 867+ −
y FG(t)p Fr(\))457 941 y Fs(else)22 b(if)g FG(\031)782+ −
950 y Fo(\001)820 941 y Fr(\()p FG(\031)897 909 y Fl(\000)p+ −
Fq(1)985 950 y Fo(\001)1023 941 y FG(b)g Fr(#)f FG(t)p+ −
Fr(\))g Fs(then)h Fk(Some)6 b Fr(\(\()p FG(\031)1713+ −
950 y Fo(\001)1751 941 y FG(a)25 b(b)p Fr(\))1880 950+ −
y Fo(\001)1918 941 y FG(\031)1965 950 y Fo(\001)2003+ −
941 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 867 y FI(\()p+ −
FD(\003)2570 835 y Fq(2)2608 867 y FI(\))254 1039 y Fr(=)31+ −
b FG(\025b:)13 b Fs(if)21 b FG(\031)603 1048 y Fo(\001)641+ −
1039 y FG(a)g Fr(=)g FG(b)h Fs(then)g Fk(Some)6 b Fr(\()p+ −
FG(\031)1280 1048 y Fo(\001)1318 1039 y FG(t)p Fr(\))457+ −
1111 y Fs(else)22 b(if)g FG(b)f Fr(#)g FG(\031)921 1120+ −
y Fo(\001)959 1111 y FG(t)g Fs(then)h Fk(Some)6 b Fr(\(\()p+ −
FG(\031)1479 1120 y Fo(\001)1517 1111 y FG(a)25 b(b)p+ −
Fr(\))1646 1120 y Fo(\001)1684 1111 y FG(\031)1731 1120+ −
y Fo(\001)1769 1111 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506+ −
1039 y FI(\()p FD(\003)2570 1007 y Fq(3)2608 1039 y FI(\))247+ −
1187 y Fn(def)254 1230 y Fr(=)31 b([)p FG(\031)413 1239+ −
y Fo(\001)451 1230 y FG(a)p Fr(])p FG(:)p Fr(\()p FG(\031)611+ −
1239 y Fo(\001)649 1230 y FG(t)p Fr(\))0 1395 y FI(where)20+ −
b(we)g(use)g(in)g(\()p FD(\003)594 1364 y Fq(1)632 1395+ −
y FI(\))g(the)g(f)o(act)g(that)608 1563 y FG(\031)655+ −
1572 y Fo(\001)692 1563 y Fs(if)q FG(:::)p Fs(then)r+ −
FG(:::)p Fs(else)r FG(:::)i Fr(=)f Fs(if)13 b FG(\031)1517+ −
1572 y Fo(\001)1555 1563 y FG(:::)p Fs(then)23 b FG(\031)1844+ −
1572 y Fo(\001)1882 1563 y FG(:::)p Fs(else)g FG(\031)2171+ −
1572 y Fo(\001)2209 1563 y FG(:::)477 b FI(\(10\))0 1732+ −
y(and)27 b(in)g Fr(\()p FD(\003)296 1700 y Fq(2)334 1732+ −
y Fr(\))f FI(that)h FG(\031)s Fr(@\()p FG(a)45 b(\031)805+ −
1700 y Fl(\000)p Fq(1)894 1741 y Fo(\001)932 1732 y FG(b)p+ −
Fr(\))33 b FD(\030)g Fr(\()p FG(\031)1198 1741 y Fo(\001)1236+ −
1732 y FG(a)46 b(b)p Fr(\)@)p FG(\031)s FI(;)26 b(for)h+ −
Fr(\()p FD(\003)1727 1700 y Fq(3)1765 1732 y Fr(\))f+ −
FI(the)h(f)o(acts)f(that)h FG(\031)2310 1741 y Fo(\001)2348+ −
1732 y Fr(\()p FG(a)33 b Fr(=)g FG(\031)2592 1700 y Fl(\000)p+ −
Fq(1)2681 1741 y Fo(\001)2719 1732 y FG(b)p Fr(\))26+ −
b FI(if)n(f)0 1827 y FG(\031)47 1836 y Fo(\001)85 1827+ −
y FG(a)i Fr(=)f FG(b)d FI(and)g FG(\031)482 1836 y Fo(\001)520+ −
1827 y Fr(\()p FG(\031)597 1795 y Fl(\000)p Fq(1)685+ −
1836 y Fo(\001)724 1827 y FG(b)j Fr(#)h FG(t)p Fr(\))c+ −
FI(if)n(f)f FG(b)28 b Fr(#)g FG(\031)1253 1836 y Fo(\001)1291+ −
1827 y FG(t)p FI(,)23 b(which)h(can)g(be)g(easily)f(deri)n(v)o(ed)i+ −
(from)g(Lemmas)f(1)p FE(\(ii\))0 1923 y FI(and)d(3)p+ −
FE(\(ii\))f FI(and)h(the)f(permutation)i(operation)f(on)g+ −
Fs(bool)q FI(.)125 2018 y(F)o(or)d(the)h(second)g(property)i(the)d+ −
(case)g FG(a)k Fr(=)f FG(b)d FI(is)g(by)h(a)f(simple)h(calculation)g+ −
(using)g(e)o(xtensionality)h(of)0 2114 y(functions.)h(In)f(case)f+ −
FG(a)i FD(6)p Fr(=)g FG(b)f FI(we)f(sho)n(w)h(\002rst)f(the)h+ −
FD(\))p FI(-direction:)h(the)f(follo)n(wing)h(formula)g(holds)g(then)f+ −
(by)0 2209 y(e)o(xtensionality)h(of)f(functions:)586+ −
2377 y FD(8)p FG(c:)89 b Fs(if)22 b FG(a)f Fr(=)g FG(c)h+ −
Fs(then)g Fk(Some)6 b Fr(\()p FG(t)1492 2389 y Fq(1)1529+ −
2377 y Fr(\))772 2473 y Fs(else)22 b(if)g FG(c)g Fr(#)f+ −
FG(t)1218 2485 y Fq(1)1276 2473 y Fs(then)i Fk(Some)6+ −
b Fr(\(\()p FG(a)12 b(c)p Fr(\))1817 2482 y Fo(\001)1855+ −
2473 y FG(t)1883 2485 y Fq(1)1920 2473 y Fr(\))21 b Fs(else)h+ −
Fk(None)687 2592 y Fr(=)j Fs(if)d FG(b)f Fr(=)g FG(c)h+ −
Fs(then)g Fk(Some)6 b Fr(\()p FG(t)1484 2604 y Fq(2)1521+ −
2592 y Fr(\))772 2687 y Fs(else)22 b(if)g FG(c)g Fr(#)f+ −
FG(t)1218 2699 y Fq(2)1276 2687 y Fs(then)i Fk(Some)6+ −
b Fr(\(\()p FG(b)12 b(c)p Fr(\))1809 2696 y Fo(\001)1847+ −
2687 y FG(t)1875 2699 y Fq(2)1912 2687 y Fr(\))21 b Fs(else)i+ −
Fk(None)0 2851 y FI(Instantiating)e(this)f(formula)h(with)f+ −
FG(a)g FI(yields)g(the)g(equation)537 3019 y Fk(Some)6+ −
b Fr(\()p FG(t)781 3031 y Fq(1)818 3019 y Fr(\))21 b(=)g+ −
Fs(if)h FG(a)f Fr(#)g FG(t)1225 3031 y Fq(2)1283 3019+ −
y Fs(then)h Fk(Some)6 b Fr(\(\()p FG(b)13 b(a)p Fr(\))1824+ −
3028 y Fo(\001)1862 3019 y FG(t)1890 3031 y Fq(2)1927+ −
3019 y Fr(\))21 b Fs(else)h Fk(None)28 b FG(:)0 3187+ −
y FI(Ne)o(xt,)20 b(one)i(distinguishes)f(the)g(cases)f(where)h+ −
FG(a)i Fr(#)g FG(t)1455 3199 y Fq(2)1512 3187 y FI(and)e+ −
FD(:)13 b FG(a)23 b Fr(#)g FG(t)1889 3199 y Fq(2)1926+ −
3187 y FI(,)d(respecti)n(v)o(ely)-5 b(.)21 b(In)g(the)g(\002rst)f+ −
(case,)0 3283 y Fk(Some)6 b Fr(\()p FG(t)244 3295 y Fq(1)281+ −
3283 y Fr(\))22 b(=)f Fk(Some)6 b Fr(\(\()p FG(b)13 b(a)p+ −
Fr(\))777 3292 y Fo(\001)814 3283 y FG(t)842 3295 y Fq(2)879+ −
3283 y Fr(\))p FI(,)20 b(which)h(by)g(Def.)f(2)p Fr(\()p+ −
FG(iii)p Fr(\))h FI(implies)f FG(t)1897 3295 y Fq(1)1956+ −
3283 y Fr(=)h(\()p FG(a)13 b(b)p Fr(\))2184 3292 y Fo(\001)2222+ −
3283 y FG(t)2250 3295 y Fq(2)2307 3283 y FI(since)20+ −
b Fr(\()p FG(a)12 b(b)p Fr(\))d FD(\030)g Fr(\()p FG(b)j(a)p+ −
Fr(\))p FI(;)0 3378 y(and)26 b(ob)o(viously)i FG(a)j+ −
Fr(#)h FG(t)671 3390 y Fq(2)733 3378 y FI(by)26 b(assumption.)h(In)f+ −
(the)g(second)g(case)f Fk(Some)6 b Fr(\()p FG(t)2104+ −
3390 y Fq(1)2141 3378 y Fr(\))31 b(=)h Fk(None)f FI(which)c(gi)n(v)o+ −
(es)0 3474 y(a)h(contradiction.)j(The)e FD(\()p FI(-direction)h(for)f+ −
(the)g(case)f FG(a)37 b FD(6)p Fr(=)g FG(b)28 b FI(is)g(similarly)h(by)+ −
h(e)o(xtensionality)f(and)h(a)0 3569 y(case-analysis.)79+ −
b FD(u)-51 b(t)0 3741 y FI(Note)26 b(that,)f(in)g FE(g)o(ener)o(al)p+ −
FI(,)h(one)h(cannot)f(decide)g(whether)h(tw)o(o)e(functions)i(from)g+ −
Fs(name)f FI(to)f Fs(phi)d(option)0 3836 y FI(are)28+ −
b(equal;)h(ho)n(we)n(v)o(er)g(for)g(the)f(abstraction)h(functions)g+ −
(Lem.)f(6)p FE(\(ii\))h FI(pro)o(vides)g(the)f(means)h(to)f(decide)0+ −
3932 y(whether)g Fr([)p FG(a)p Fr(])p FG(:t)413 3944+ −
y Fq(1)486 3932 y Fr(=)35 b([)p FG(b)p Fr(])p FG(:t)705+ −
3944 y Fq(2)771 3932 y FI(holds:)28 b(one)g(just)f(has)h(to)g(consider)+ −
g(whether)h FG(a)35 b Fr(=)g FG(b)p FI(,)27 b(which)h(is)f(just)g(lik)o+ −
(e)0 4027 y(deciding)f(the)f(alpha-equi)n(v)n(alence)i(of)e(tw)o(o)g+ −
(lambda-terms)h(using)g(the)e(relation)i Fr(\()p FD(\000)p+ −
Fr(\))9 b FD(\031)g Fr(\()p FD(\000)p Fr(\))22 b FI(gi)n(v)o(en)k(in)0+ −
4123 y(Fig.)e(2.)h(No)n(w)g(it)f(is)g(also)h(clear)g(why)f(abstraction)+ −
i(functions)g(represent)g(alpha-equi)n(v)n(alence)h(classes:)0+ −
4218 y(the)19 b(condition)i(we)e(deri)n(v)o(ed)h(for)f(the)h(equality)f+ −
(between)h(abstraction)g(functions)g(paraphrase)g(the)g(rules)0+ −
4314 y FD(\031)60 4326 y Fc(Lam)o Fq(1)209 4314 y FI(and)h+ −
FD(\031)403 4326 y Fc(Lam)o Fq(2)552 4314 y FI(de\002ning)g(alpha-equi)+ −
n(v)n(alence)i(for)e Fs(lam)p FI(.)125 4409 y(The)g(properties)i(in)e+ −
(Lem.)g(6)h(also)f(help)h(us)f(to)g(calculate)g(the)h(support)h(for)e+ −
(abstraction)i(functions,)0 4505 y(pro)o(vided)f(the)o(y)e+ −
(\223abstract\224)g(o)o(v)o(er)h(a)f(\002nitely)g(supported)i+ −
Fs(phi)p FI(-term.)p 0 TeXcolorgray 0 4676 a FJ(Lemma)d(7)p+ −
0 TeXcolorgray 42 w FE(Given)h FG(a)h FD(6)p Fr(=)g FG(b)f+ −
FE(and)h FG(t)e FE(being)i(\002nitely)g(supported,)g(then)p+ −
0 TeXcolorgray 56 4823 a(\(i\))p 0 TeXcolorgray 42 w+ −
FG(a)g Fr(#)g([)p FG(b)p Fr(])p FG(:t)f FE(if)g(and)h(only)g(if)e+ −
FG(a)i Fr(#)h FG(t)p FE(,)d(and)p 0 TeXcolorgray 0 TeXcolorgray+ −
eop end+ −
%%Page: 11 11+ −
TeXDict begin 11 10 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(11)p 0 TeXcolorgray 0 TeXcolorgray+ −
34 228 a FE(\(ii\))p 0 TeXcolorgray 42 w FG(a)21 b Fr(#)g([)p+ −
FG(a)p Fr(])p FG(:t)p 0 TeXcolorgray 0 490 a FE(Pr)l(oof)p+ −
0 TeXcolorgray 40 w FI(By)h(a)g(simple)h(calculations)g(we)f(ha)n(v)o+ −
(e)h(that)g Fk(supp)5 b Fr(\([)p FG(b)p Fr(])p FG(:t)p+ −
Fr(\))26 b FD(\022)g Fk(supp)6 b Fr(\()p FG(b;)13 b(t)p+ −
Fr(\))21 b FI(because)i(for)g(all)g FG(c)f FI(and)0 585+ −
y FG(d)28 b FI(we)h(ha)n(v)o(e)h FD(f)p FG(d)13 b FD(j)g+ −
Fr(\()p FG(c)g(d)p Fr(\))635 594 y Fo(\001)673 585 y+ −
Fr([)p FG(b)p Fr(])p FG(:t)38 b FD(6)p Fr(=)f([)p FG(b)p+ −
Fr(])p FG(:t)p FD(g)h(\022)f(f)p FG(d)13 b FD(j)g Fr(\()p+ −
FG(c)g(d)p Fr(\))1500 594 y Fo(\001)1538 585 y Fr(\()p+ −
FG(b;)g(t)p Fr(\))37 b FD(6)p Fr(=)g(\()p FG(b;)13 b(t)p+ −
Fr(\))p FD(g)p FI(.)28 b(Since)h FG(b)g FI(and)g FG(t)f+ −
FI(are)h(\002nitely)0 681 y(supported,)c Fr([)p FG(b)p+ −
Fr(])p FG(:t)e FI(must)g(be)h(\002nitely)f(supported.)h(Hence)g+ −
Fr(\()p FG(a;)12 b(b;)h(t;)g Fr([)p FG(b)p Fr(])p FG(:t)p+ −
Fr(\))24 b FI(is)e(\002nitely)h(supported)i(and)f(by)0+ −
776 y(Prop.)c(1)h(there)f(e)o(xists)f(an)h(atom)h FG(c)f+ −
FI(with)g Fr(\()p FD(\003)p Fr(\))g FG(c)h Fr(#)g(\()p+ −
FG(a;)13 b(b;)g(t;)g Fr([)p FG(b)p Fr(])p FG(:t)p Fr(\))p+ −
FI(.)125 878 y(No)n(w)30 b(we)f(sho)n(w)i(the)f(direction)h+ −
FE(\(i)f FD(\))p FE(\))p FI(:)g(using)h(the)f(assumption)h+ −
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+ −
(that)0 974 y FG(c)e Fr(#)f([)p FG(b)p Fr(])p FG(:t)c+ −
FI(\(from)h FD(\003)p FI(\),)f(Lem.)g(4)g(and)h(6)p FE(\(i\))f+ −
FI(gi)n(v)o(e)h Fr([)p FG(b)p Fr(])p FG(:t)k Fr(=)f(\()p+ −
FG(c)13 b(a)p Fr(\))1684 983 y Fo(\001)1721 974 y Fr([)p+ −
FG(b)p Fr(])p FG(:t)29 b Fr(=)f([\()p FG(c)14 b(a)p Fr(\))2131+ −
983 y Fo(\001)2168 974 y FG(b)p Fr(])p FG(:)p Fr(\(\()p+ −
FG(c)g(a)p Fr(\))2421 983 y Fo(\001)2458 974 y FG(t)p+ −
Fr(\))p FI(.)23 b(The)i(right-)0 1069 y(hand)33 b(side)e(is)g+ −
Fr([)p FG(b)p Fr(])p FG(:)p Fr(\(\()p FG(c)13 b(a)p Fr(\))700+ −
1078 y Fo(\001)738 1069 y FG(t)p Fr(\))31 b FI(because)h+ −
FG(c)42 b FD(6)p Fr(=)g FG(b)31 b FI(\(from)i FD(\003)p+ −
FI(\))e(and)h FG(a)42 b FD(6)p Fr(=)g FG(b)31 b FI(by)h(assumption.)g+ −
(Hence)g(by)0 1165 y(Lem.)d(6)p FE(\(ii\))g FI(we)f(can)h(infer)g(that)+ −
g FG(t)36 b Fr(=)h(\()p FG(c)13 b(a)p Fr(\))1247 1174+ −
y Fo(\001)1285 1165 y FG(t)p FI(.)28 b(No)n(w)g FG(c)37+ −
b Fr(#)g FG(t)28 b FI(\(from)i FD(\003)p FI(\))f(implies)g(that)g+ −
FG(c)37 b Fr(#)g(\()p FG(c)12 b(a)p Fr(\))2793 1174 y+ −
Fo(\001)2831 1165 y FG(t)p FI(;)0 1260 y(and)31 b(mo)o(ving)h(the)f+ −
(permutation)i(to)d(the)h(other)g(side)g(by)g(Lem.)f(3)p+ −
FE(\(ii\))i FI(gi)n(v)o(es)e FG(a)40 b Fr(#)h FG(t)p+ −
FI(.)30 b(The)g(direction)0 1356 y FE(\(i)i FD(\()p FE(\))f+ −
FI(is)g(as)g(follo)n(ws:)h(from)g(\()p FD(\003)p FI(\),)g(we)g(ha)n(v)o+ −
(e)g(that)g FG(c)42 b Fr(#)h([)p FG(b)p Fr(])p FG(:t)32+ −
b FI(and)g(therefore)h(by)f(Lem.)g(3)p FE(\(iii\))g FI(also)0+ −
1451 y Fr(\()p FG(a)12 b(c)p Fr(\))146 1460 y Fo(\001)185+ −
1451 y FG(c)25 b Fr(#)f(\()p FG(a)13 b(c)p Fr(\))478+ −
1460 y Fo(\001)516 1451 y Fr(\([)p FG(b)p Fr(])p FG(:t)p+ −
Fr(\))p FI(,)21 b(which)i(implies)f(by)g(Lem.)g(6)p FE(\(i\))g+ −
FI(that)g FG(a)i Fr(#)h([)p FG(b)p Fr(])p FG(:)p Fr(\(\()p+ −
FG(a)13 b(c)p Fr(\))2198 1460 y Fo(\001)2236 1451 y FG(t)p+ −
Fr(\))p FI(.)21 b(From)i(\()p FD(\003)p FI(\))f(we)g(also)0+ −
1547 y(ha)n(v)o(e)e FG(c)h Fr(#)h FG(t)c FI(and)i(from)g(the)f+ −
(assumption)h FG(a)h Fr(#)g FG(t)p FI(;)d(then)i(Lem.)f(4)g(implies)f+ −
(that)h FG(t)i Fr(=)h(\()p FG(a)12 b(c)p Fr(\))2424 1556+ −
y Fo(\001)2462 1547 y FG(t)p FI(,)18 b(and)i(we)e(can)0+ −
1642 y(conclude)j(with)f FG(a)h Fr(#)h([)p FG(b)p Fr(])p+ −
FG(:t)p FI(.)125 1744 y(The)e(second)h(property)i(follo)n(ws)d(from)i+ −
(the)e(\002rst:)g(we)g(ha)n(v)o(e)h FG(c)i Fr(#)f FG(t)e+ −
FI(and)h FG(c)h FD(6)p Fr(=)g FG(a)d FI(\(both)j(from)f+ −
FD(\003)p FI(\),)g(and)0 1840 y(can)c(use)g FE(\(i\))g+ −
FI(to)f(infer)i FG(c)j Fr(#)h([)p FG(a)p Fr(])p FG(:t)p+ −
FI(.)16 b(Further)m(,)i(from)f(Lem.)g(3)p FE(\(iii\))g+ −
FI(it)g(holds)g(that)g Fr(\()p FG(c)c(a)p Fr(\))2210+ −
1849 y Fo(\001)2247 1840 y FG(c)22 b Fr(#)f(\()p FG(c)13+ −
b(a)p Fr(\))2534 1849 y Fo(\001)2572 1840 y Fr([)p FG(a)p+ −
Fr(])p FG(:t)p FI(.)k(This)0 1935 y(is)k FG(a)j Fr(#)h([)p+ −
FG(c)p Fr(])p FG(:)p Fr(\()p FG(c)14 b(a)p Fr(\))472+ −
1944 y Fo(\001)509 1935 y FG(t)22 b FI(by)g(Lem.)g(6)p+ −
FE(\(i\))p FI(.)g(Since)f FG(c)k FD(6)p Fr(=)f FG(a)d+ −
FI(and)i FG(c)h Fr(#)h FG(t)p FI(,)c(Lem.)g(6)p FE(\(ii\))i+ −
FI(implies)e(that)h Fr([)p FG(c)p Fr(])p FG(:)p Fr(\()p+ −
FG(c)14 b(a)p Fr(\))2731 1944 y Fo(\001)2769 1935 y FG(t)24+ −
b Fr(=)0 2031 y([)p FG(a)p Fr(])p FG(:t)p FI(.)c(Therefore,)h+ −
FG(a)g Fr(#)h([)p FG(a)p Fr(])p FG(:t)p FI(.)79 b FD(u)-51+ −
b(t)0 2228 y FI(Note)18 b(that)g(taking)h(both)g(f)o(acts)f(of)g(Lem.)g+ −
(7)g(together)i(implies)e(the)g(follo)n(wing)h(equation)g(for)g(the)f+ −
(support)0 2324 y(of)i(abstraction)h(functions)988 2461+ −
y Fk(supp)6 b Fr(\([)p FG(a)p Fr(])p FG(:t)p Fr(\))21+ −
b(=)g Fk(supp)6 b Fr(\()p FG(t)p Fr(\))16 b FD(\000)h(f)p+ −
FG(a)p FD(g)857 b FI(\(11\))0 2638 y(pro)o(vided)22 b+ −
FG(t)d FI(is)h(\002nitely)g(supported.)125 2740 y(No)n(w)g(e)n(v)o+ −
(erything)i(is)e(in)g(place)h(for)g(de\002ning)h(the)e(subset)g+ −
Fs(lam)1833 2748 y Fp(\013)1880 2740 y FI(.)g(It)h(is)e(de\002ned)j+ −
(inducti)n(v)o(ely)g(by)e(the)0 2835 y(three)g(rules:)p+ −
375 3034 438 4 v 375 3107 a Fs(Am)q Fr(\()p FG(a)p Fr(\))g+ −
FD(2)i Fs(lam)765 3115 y Fp(\013)1025 3002 y FG(t)1053+ −
3014 y Fq(1)1112 3002 y FD(2)f Fs(lam)1302 3010 y Fp(\013)1428+ −
3002 y FG(t)1456 3014 y Fq(2)1514 3002 y FD(2)h Fs(lam)1705+ −
3010 y Fp(\013)p 1025 3034 727 4 v 1108 3107 a Fs(Pr)q+ −
Fr(\()p FG(t)1245 3119 y Fq(1)1281 3107 y FG(;)14 b(t)1344+ −
3119 y Fq(2)1381 3107 y Fr(\))21 b FD(2)g Fs(lam)1622+ −
3115 y Fp(\013)2086 3006 y FG(t)g FD(2)h Fs(lam)2325+ −
3014 y Fp(\013)p 1965 3034 530 4 v 1965 3107 a Fs(Se)p+ −
Fr(\([)p FG(a)p Fr(])p FG(:t)p Fr(\))f FD(2)h Fs(lam)2447+ −
3115 y Fp(\013)2749 3065 y FI(\(12\))0 3316 y(using)f(in)f(the)g(third)+ −
h(rule)f(the)g(abstraction)h(functions)g(gi)n(v)o(en)g(in)f(\(9\).)g(W)+ −
-6 b(e)20 b(note:)p 0 TeXcolorgray 0 3521 a FJ(Lemma)f(8)p+ −
0 TeXcolorgray 42 w FE(F)-8 b(or)20 b(the)g(set)f Fs(lam)830+ −
3529 y Fp(\013)897 3521 y FE(we)g(have)i(that:)p 0 TeXcolorgray+ −
56 3687 a(\(i\))p 0 TeXcolorgray 42 w(all)f(its)f(elements)h(ar)m(e)g+ −
(\002nitely)g(supported,)h(and)p 0 TeXcolorgray 34 3782+ −
a(\(ii\))p 0 TeXcolorgray 42 w(it)e(is)h(closed)g(under)h+ −
(permutations,)f(that)h(is)e FG(t)i FD(2)h Fs(lam)1642+ −
3790 y Fp(\013)1709 3782 y FE(implies)e FG(\031)2004+ −
3791 y Fo(\001)2042 3782 y FG(t)h FD(2)g Fs(lam)2281+ −
3790 y Fp(\013)2328 3782 y FE(.)p 0 TeXcolorgray 0 3980+ −
a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(Both)e(properties)i(follo)n(w)f(by)+ −
g(routine)g(inductions)h(o)o(v)o(er)f(the)f(de\002nition)i(of)e+ −
Fs(lam)2429 3988 y Fp(\013)2476 3980 y FI(.)g(F)o(or)h(the)f(\002rst)0+ −
4075 y(induction)j(we)d(use)h(the)g(equations)927 4279+ −
y Fk(supp)6 b Fr(\()p Fs(Am)p Fr(\()p FG(a)p Fr(\)\))24+ −
b(=)h FD(f)p FG(a)p FD(g)804 4398 y Fk(supp)5 b Fr(\()p+ −
Fs(Pr)q Fr(\()p FG(t)1126 4410 y Fq(1)1163 4398 y FG(;)13+ −
b(t)1225 4410 y Fq(2)1262 4398 y Fr(\)\))24 b(=)h Fk(supp)6+ −
b Fr(\()p FG(t)1645 4410 y Fq(1)1681 4398 y Fr(\))17+ −
b FD([)h Fk(supp)5 b Fr(\()p FG(t)2010 4410 y Fq(2)2047+ −
4398 y Fr(\))835 4518 y Fk(supp)h Fr(\()p Fs(Se)p Fr(\([)p+ −
FG(a)p Fr(])p FG(:t)p Fr(\)\))25 b(=)g Fk(supp)6 b Fr(\()p+ −
FG(t)p Fr(\))16 b FD(\000)h(f)p FG(a)p FD(g)2749 4398+ −
y FI(\(13\))0 4727 y(where)27 b(the)g(last)f(follo)n(ws)h(from)h+ −
(\(11\)\227)p FG(t)g FI(is)e(\002nitely)h(supported)i(by)e(induction)i+ −
(hypothesis;)e(for)g(the)0 4823 y(second)21 b(we)e(use)h(Lem.)g(6)p+ −
FE(\(i\))p FI(.)80 b FD(u)-51 b(t)p 0 TeXcolorgray 0+ −
TeXcolorgray eop end+ −
%%Page: 12 12+ −
TeXDict begin 12 11 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(12)p 0 TeXcolorgray 125 228 a+ −
FI(Ne)o(xt,)18 b(one)h(of)f(the)h(main)g(points)g(of)g(this)f(paper:)h+ −
(there)g(is)f(a)g(bijection)h(between)g Fs(lam)2456 246+ −
y Fp(=)p Fl(\031)2564 228 y FI(and)g Fs(lam)2814 236+ −
y Fp(\013)2861 228 y FI(.)0 324 y(This)h(is)f(sho)n(wn)i(using)g(the)f+ −
(follo)n(wing)h(mapping)h(from)f Fs(lam)f FI(to)g Fs(lam)1892+ −
332 y Fp(\013)1939 324 y FI(:)1035 510 y FG(q)s Fr(\()p+ −
Fs(Var)p Fr(\()p FG(a)p Fr(\)\))1375 467 y Fn(def)1382+ −
510 y Fr(=)32 b Fs(Am)p Fr(\()p FG(a)p Fr(\))911 653+ −
y FG(q)s Fr(\()p Fs(App)q Fr(\()p FG(t)1154 665 y Fq(1)1191+ −
653 y FG(;)13 b(t)1253 665 y Fq(2)1290 653 y Fr(\)\))1375+ −
610 y Fn(def)1382 653 y Fr(=)32 b Fs(Pr)p Fr(\()p FG(q)s+ −
Fr(\()p FG(t)1677 665 y Fq(1)1714 653 y Fr(\))p FG(;)13+ −
b(q)s Fr(\()p FG(t)1873 665 y Fq(2)1910 653 y Fr(\)\))973+ −
796 y FG(q)s Fr(\()p Fs(Lam)q Fr(\()p FG(a;)f(t)p Fr(\)\))1375+ −
753 y Fn(def)1382 796 y Fr(=)32 b Fs(Se)p Fr(\([)p FG(a)p+ −
Fr(])p FG(:q)s Fr(\()p FG(t)p Fr(\)\))0 957 y FI(and)21+ −
b(the)f(lemma:)p 0 TeXcolorgray 0 1126 a FJ(Lemma)f(9)p+ −
0 TeXcolorgray 42 w FG(t)387 1138 y Fq(1)445 1126 y FD(\031)i+ −
FG(t)554 1138 y Fq(2)611 1126 y FE(if)f(and)h(only)f(if)g+ −
FG(q)s Fr(\()p FG(t)1127 1138 y Fq(1)1164 1126 y Fr(\))h(=)g+ −
FG(q)s Fr(\()p FG(t)1391 1138 y Fq(2)1428 1126 y Fr(\))p+ −
FE(.)p 0 TeXcolorgray 0 1345 a(Pr)l(oof)p 0 TeXcolorgray+ −
40 w FI(By)e(routine)i(induction)h(o)o(v)o(er)f(de\002nition)g(of)f+ −
Fs(lam)1570 1353 y Fp(\013)1617 1345 y FI(.)79 b FD(u)-51+ −
b(t)p 0 TeXcolorgray 0 1514 a FJ(Theor)o(em)19 b(1)p+ −
0 TeXcolorgray 42 w FE(Ther)m(e)h(is)f(a)h(bijection)h(between)f+ −
Fs(lam)1430 1532 y Fp(=)p Fl(\031)1540 1514 y FE(and)h+ −
Fs(lam)1795 1522 y Fp(\013)1843 1514 y FE(.)p 0 TeXcolorgray+ −
0 1733 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)d(mapping)j+ −
FG(q)g FI(needs)e(to)f(be)h(lifted)g(to)f(alpha-equi)n(v)n(alence)k+ −
(classes)17 b(\(see)h(P)o(aulson)h([24]\).)g(F)o(or)0+ −
1828 y(this)24 b(de\002ne)g FG(q)391 1796 y Fl(0)414+ −
1828 y Fr(\([)p FG(t)p Fr(])514 1836 y Fp(\013)562 1828+ −
y Fr(\))f FI(as)g(follo)n(ws:)i(apply)f FG(q)j FI(to)d(e)n(v)o(ery)h+ −
(element)f(of)g(the)g(set)f Fr([)p FG(t)p Fr(])2188 1836+ −
y Fp(\013)2260 1828 y FI(and)h(b)n(uild)h(the)f(union)0+ −
1924 y(of)i(the)g(results.)e(By)i(Lem.)f(9)h(this)f(must)h(yield)g(a)f+ −
(singleton)i(set.)d(The)i(result)g(of)g FG(q)2320 1892+ −
y Fl(0)2343 1924 y Fr(\([)p FG(t)p Fr(])2443 1932 y Fp(\013)2490+ −
1924 y Fr(\))g FI(is)e(then)i(the)0 2019 y(singleton.)k(Surjecti)n+ −
(vity)f(of)h FG(q)864 1987 y Fl(0)916 2019 y FI(is)e(sho)n(wn)h(by)h(a)+ −
f(routine)h(induction)g(o)o(v)o(er)g(the)f(de\002nition)h(of)f+ −
Fs(lam)2814 2027 y Fp(\013)2861 2019 y FI(.)0 2115 y(Injecti)n(vity)21+ −
b(of)f FG(q)464 2083 y Fl(0)507 2115 y FI(follo)n(ws)h(from)g(Lem.)f(9)+ −
g(since)g Fr([)p FG(t)1409 2127 y Fq(1)1446 2115 y Fr(])1467+ −
2123 y Fp(\013)1536 2115 y Fr(=)h([)p FG(t)1666 2127+ −
y Fq(2)1703 2115 y Fr(])1724 2123 y Fp(\013)1792 2115+ −
y FI(for)f(all)g FG(t)2030 2127 y Fq(1)2088 2115 y FD(\031)h+ −
FG(t)2197 2127 y Fq(2)2234 2115 y FI(.)79 b FD(u)-51+ −
b(t)125 2284 y FI(W)-6 b(e)19 b(de\002ned)i Fs(lam)617+ −
2292 y Fp(\013)683 2284 y FI(as)f(an)g(inducti)n(v)o(e)g(subset)g(of)g+ −
Fs(phi)h FI(and)f(sho)n(wed)g(that)g(there)g(is)g(a)f(bijection)i(with)+ −
0 2379 y Fs(lam)118 2397 y Fp(=)p Fl(\031)208 2379 y+ −
FI(.)e(W)-6 b(e)20 b(can)g(no)n(w)g(apply)h(standard)g(HOL-techniques)g+ −
(and)f(turn)h(the)f FE(set)h Fs(lam)2301 2387 y Fp(\013)2368+ −
2379 y FI(into)f(a)g FE(type)g Fs(lam)2834 2387 y Fp(\013)0+ −
2475 y FI(of)j(HOL)g(\(see)f(for)h(e)o(xample)h(the)e(Isabelle)h+ −
(tutorial)g([21,)h(Sec.)d(8.5.2])j(or)f(Melham)g([19,)8+ −
b(20])24 b(for)g(more)0 2570 y(details\).)c(The)g(construction)i(we)d+ −
(can)i(perform)g(in)f(HOL)g(is)f(illustrated)i(by)f(the)g(follo)n(wing)+ −
i(picture:)p 0 TeXcolorgray 0 TeXcolorgray 436 3252 a+ −
@beginspecial @setspecial+ −
tx@Dict begin STP newpath 1.13809 SLW 0 setgray 0.2 true 142.26372+ −
0.0 219.08603 71.13185 .5 Frame gsave 1.13809 SLW 0 setgray 0 setlinecap+ −
stroke grestore end+ −
+ −
@endspecial @beginspecial+ −
@setspecial+ −
tx@Dict begin STP newpath 0.85358 SLW 0 setgray 170.71646 42.67911+ −
17.07181 0 CLW mul sub 0 360 arc closepath gsave 0.85358 SLW 0 setgray+ −
0 setlinecap stroke grestore end+ −
+ −
@endspecial @beginspecial @setspecial+ −
tx@Dict begin STP newpath 1.13809 SLW 0 setgray 0.2 true 31.29819+ −
59.75093 65.44139 25.60728 0 Frame gsave 1.13809 SLW 0 setgray 0+ −
setlinecap stroke grestore end+ −
+ −
@endspecial+ −
436 3252 a+ −
tx@Dict begin tx@NodeDict begin {73.9773 42.67911 } false /N@@@A 10+ −
{InitPnode } NewNode end end+ −
436 3252 a 436 3252 a+ −
tx@Dict begin tx@NodeDict begin {136.57324 42.67911 } false /N@@@B+ −
10 {InitPnode } NewNode end end+ −
436 3252 a 436 3252+ −
a+ −
tx@Dict begin gsave STV newpath 1.13809 SLW 0 setgray /ArrowA {+ −
moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2.+ −
Arrow EndArrow } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg+ −
0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine } if end gsave 1.13809 SLW+ −
0 setgray 0 setlinecap stroke grestore grestore end+ −
436 3252 a 436 3252 a+ −
tx@Dict begin tx@NodeDict begin {62.59595 59.75093 } false /N@@@A+ −
10 {InitPnode } NewNode end end+ −
436 3252 a 436 3252 a+ −
tx@Dict begin tx@NodeDict begin {170.71646 59.75093 } false /N@@@B+ −
10 {InitPnode } NewNode end end+ −
436 3252+ −
a 436 3252 a+ −
tx@Dict begin gsave STV newpath 0.56905 SLW 0 setgray /ArrowA {+ −
moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0+ −
neg 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine } if end gsave 0.56905+ −
SLW 0 setgray 0 setlinecap stroke grestore grestore end+ −
436 3252 a 436 3252 a+ −
tx@Dict begin tx@NodeDict begin {62.59595 25.60728 } false /N@@@A+ −
10 {InitPnode } NewNode end end+ −
436 3252 a 436 3252+ −
a+ −
tx@Dict begin tx@NodeDict begin {170.71646 25.60728 } false /N@@@B+ −
10 {InitPnode } NewNode end end+ −
436 3252 a 436 3252 a+ −
tx@Dict begin gsave STV newpath 0.56905 SLW 0 setgray /ArrowA {+ −
moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0+ −
neg 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine } if end gsave 0.56905+ −
SLW 0 setgray 0 setlinecap stroke grestore grestore end+ −
436 3252 a 2102 2747 a Fs(phi)1771+ −
2916 y(lam)1889 2924 y Fp(\013)2282 2758 y FI(e)o(xisting)2282+ −
2815 y(type)534 2887 y(ne)n(w)534 2945 y(type)1707 3124+ −
y(non-empty)1707 3181 y(subset)756 2916 y Fs(lam)873+ −
2924 y Fp(\013)1105 2857 y FI(isomorphism)0 3413 y(W)-6+ −
b(e)23 b(are)h(allo)n(wed)g(to)g(introduce)h(the)f(type)g+ −
Fs(lam)1320 3421 y Fp(\013)1390 3413 y FI(by)g(means)g(of)g+ −
(identifying)i(a)d(non-empty)j(subset)e(in)0 3508 y(the)i(e)o(xisting)g+ −
(type)h Fs(phi)g FI(\(this)e(type)i(w)o(as)f(introduced)i(by)e(the)h+ −
(datatype)f(declaration)i(in)e(\(7\)\))h(and)f(an)0 3603+ −
y(isomorphism,)e(which)g(we)e(write)h(here)g(as)g Fb(p)p+ −
FD(\000)p Fb(q)p FI(.)g(The)g(properties)h(of)f(the)g(type)h+ −
Fs(lam)2361 3611 y Fp(\013)2431 3603 y FI(are)f(then)h(gi)n(v)o(en)0+ −
3699 y(by)g(the)g(isomorphism)i(and)e(ho)n(w)h(the)f(subset)g+ −
Fs(lam)1411 3707 y Fp(\013)1482 3699 y FI(is)g(de\002ned.)g(F)o(or)g(e)+ −
o(xample)h(we)e(can)h(characterise)0 3794 y(term-constructors)e(of)e+ −
(the)h(type)f Fs(lam)1051 3802 y Fp(\013)1118 3794 y+ −
FI(as)f(follo)n(ws:)1040 3957 y Fb(p)p Fs(Var)1196 3965+ −
y Fp(\013)1243 3957 y Fr(\()p FG(a)p Fr(\))p Fb(q)25+ −
b FD(7!)g Fs(Am)p Fr(\()p FG(a)p Fr(\))916 4052 y Fb(p)p+ −
Fs(App)1072 4073 y Fp(\013)1120 4052 y Fr(\()p FG(t)1178+ −
4064 y Fq(1)1215 4052 y FG(;)13 b(t)1277 4064 y Fq(2)1314+ −
4052 y Fr(\))p Fb(q)25 b FD(7!)g Fs(Pr)p Fr(\()p Fb(p)p+ −
FG(t)1683 4064 y Fq(1)1720 4052 y Fb(q)p FG(;)14 b Fb(p)p+ −
FG(t)1859 4064 y Fq(2)1896 4052 y Fb(q)p Fr(\))978 4148+ −
y Fb(p)p Fs(Lam)1134 4156 y Fp(\013)1181 4148 y Fr(\()p+ −
FG(a;)f(t)p Fr(\))p Fb(q)25 b FD(7!)g Fs(Se)p Fr(\([)p+ −
FG(a)p Fr(])p FG(:)p Fb(p)p FG(t)p Fb(q)p Fr(\))2749+ −
4052 y FI(\(14\))0 4308 y(with)20 b(the)g(follo)n(wing)i+ −
(\223injection\224)e(principles)784 4471 y Fs(Var)901+ −
4479 y Fp(\013)949 4471 y Fr(\()p FG(a)p Fr(\))g(=)h+ −
Fs(Var)1269 4479 y Fp(\013)1316 4471 y Fr(\()p FG(b)p+ −
Fr(\))160 b FI(if)n(f)26 b FG(a)21 b Fr(=)g FG(b)648+ −
4566 y Fs(App)766 4587 y Fp(\013)813 4566 y Fr(\()p FG(t)871+ −
4578 y Fq(1)908 4566 y FG(;)13 b(t)970 4578 y Fq(2)1007+ −
4566 y Fr(\))21 b(=)g Fs(App)1257 4587 y Fp(\013)1304+ −
4566 y Fr(\()p FG(s)1370 4578 y Fq(1)1407 4566 y FG(;)13+ −
b(s)1477 4578 y Fq(2)1514 4566 y Fr(\))25 b FI(if)n(f)h+ −
FG(t)1695 4578 y Fq(1)1753 4566 y Fr(=)21 b FG(s)1870+ −
4578 y Fq(1)1924 4566 y FD(^)c FG(t)2020 4578 y Fq(2)2079+ −
4566 y Fr(=)k FG(s)2196 4578 y Fq(2)684 4662 y Fs(Lam)802+ −
4670 y Fp(\013)849 4662 y Fr(\()p FG(a;)13 b(t)982 4674+ −
y Fq(1)1019 4662 y Fr(\))21 b(=)g Fs(Lam)1269 4670 y+ −
Fp(\013)1316 4662 y Fr(\()p FG(b;)13 b(t)1441 4674 y+ −
Fq(2)1478 4662 y Fr(\))61 b FI(if)n(f)26 b Fr([)p FG(a)p+ −
Fr(])p FG(:t)1799 4674 y Fq(1)1858 4662 y Fr(=)21 b([)p+ −
FG(b)p Fr(])p FG(:t)2063 4674 y Fq(2)2749 4566 y FI(\(15\))0+ −
4823 y(and)g(the)f(support)h(beha)n(ving)h(as)e(follo)n(ws:)p+ −
0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 13 13+ −
TeXDict begin 13 12 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(13)p 0 TeXcolorgray 822 304+ −
a Fk(supp)6 b Fr(\()p Fs(Var)1125 312 y Fp(\013)1173+ −
304 y Fr(\()p FG(a)p Fr(\)\))86 b(=)24 b FD(f)p FG(a)p+ −
FD(g)761 399 y Fk(supp)5 b Fr(\()p Fs(App)1064 420 y+ −
Fp(\013)1111 399 y Fr(\()p FG(t)1169 411 y Fq(1)1206+ −
399 y FG(;)13 b(t)1268 411 y Fq(2)1305 399 y Fr(\)\))25+ −
b(=)f Fk(supp)6 b Fr(\()p FG(t)1688 411 y Fq(1)1725 399+ −
y Fr(\))17 b FD([)g Fk(supp)6 b Fr(\()p FG(t)2054 411+ −
y Fq(2)2090 399 y Fr(\))791 495 y Fk(supp)g Fr(\()p Fs(Lam)1095+ −
503 y Fp(\013)1142 495 y Fr(\()p FG(a;)13 b(t)p Fr(\)\))55+ −
b(=)24 b Fk(supp)6 b Fr(\()p FG(t)p Fr(\))16 b FD(\000)h(f)p+ −
FG(a)p FD(g)2749 399 y FI(\(16\))0 633 y(Since)27 b(by)h(Lem.)f(8)p+ −
FE(\(ii\))g FI(the)h(permutation)h(operation)f(is)f(closed)g(on)h(the)f+ −
(set)f Fs(lam)2286 641 y Fp(\013)2333 633 y FI(,)h(we)g(can)g(also)g+ −
(lift)0 729 y(the)21 b(permutation)i(operation)g(de\002ned)e(o)o(v)o+ −
(er)h Fs(phi)f FI(to)g(the)g(ne)n(w)h(type)f(so)g(that)g(the)g(follo)n+ −
(wing)h(properties)0 824 y(hold:)993 901 y FG(\031)1040+ −
910 y Fo(\001)1078 901 y Fs(Var)1196 909 y Fp(\013)1243+ −
901 y Fr(\()p FG(a)p Fr(\))i(=)h Fs(Var)1570 909 y Fp(\013)1618+ −
901 y Fr(\()p FG(\031)1695 910 y Fo(\001)1732 901 y FG(a)p+ −
Fr(\))870 996 y FG(\031)917 1005 y Fo(\001)954 996 y+ −
Fs(App)1072 1017 y Fp(\013)1119 996 y Fr(\()p FG(t)1177+ −
1008 y Fq(1)1214 996 y FG(;)13 b(t)1276 1008 y Fq(2)1313+ −
996 y Fr(\))25 b(=)g Fs(App)1570 1017 y Fp(\013)1618+ −
996 y Fr(\()p FG(\031)1695 1005 y Fo(\001)1732 996 y+ −
FG(t)1760 1008 y Fq(1)1797 996 y FG(;)14 b(\031)1879+ −
1005 y Fo(\001)1916 996 y FG(t)1944 1008 y Fq(2)1981+ −
996 y Fr(\))931 1092 y FG(\031)978 1101 y Fo(\001)1016+ −
1092 y Fs(Lam)1134 1100 y Fp(\013)1181 1092 y Fr(\()p+ −
FG(a;)f(t)p Fr(\))24 b(=)h Fs(Lam)1570 1100 y Fp(\013)1618+ −
1092 y Fr(\()p FG(\031)1695 1101 y Fo(\001)1732 1092+ −
y FG(a;)13 b(\031)1854 1101 y Fo(\001)1892 1092 y FG(t)p+ −
Fr(\))2749 996 y FI(\(17\))0 1230 y(W)-6 b(e)20 b(can)g(further)h(sho)n+ −
(w)g(that:)p 0 TeXcolorgray 0 1400 a FJ(Lemma)e(10)p+ −
0 TeXcolorgray 43 w FE(The)30 b(type)g Fs(lam)826 1408+ −
y Fp(\013)903 1400 y FE(is)g(a)g(\(i\))g(permutation)i(type)e(and)h+ −
(\(ii\))g(all)f(its)f(elements)h(ar)m(e)g(\002nitely)0+ −
1496 y(supported.)p 0 TeXcolorgray 0 1716 a(Pr)l(oof)p+ −
0 TeXcolorgray 40 w FI(By)23 b(routine)i(induction)g(the)f(o)o(v)o(er)h+ −
(de\002nition)f(of)h Fs(lam)1712 1724 y Fp(\013)1760+ −
1716 y FI(.)e(F)o(or)h FE(\(i\))g FI(we)f(lift)g(the)h(property)i(of)e+ −
Fs(phi)0 1812 y FI(being)d(a)f(permutation)i(type)e(to)g+ −
Fs(lam)1005 1820 y Fp(\013)1072 1812 y FI(using)h(Lem.)f(8)p+ −
FE(\(ii\))p FI(;)g(for)h FE(\(ii\))f FI(we)f(use)h(\(16\).)80+ −
b FD(u)-51 b(t)0 1982 y FI(The)16 b(crux)h(of)f(constructing)i(the)e+ −
(ne)n(w)g(type)g Fs(lam)1307 1990 y Fp(\013)1370 1982+ −
y FI(is)f(that)h(we)g(no)n(w)g(ha)n(v)o(e)h(an)f(Isabelle/HOL-type)h+ −
(where)0 2078 y(lambdas)k(are)f(equal)g(pro)o(vided)376+ −
2241 y Fs(Lam)493 2249 y Fp(\013)541 2241 y Fr(\()p FG(a;)12+ −
b(t)673 2253 y Fq(1)710 2241 y Fr(\))22 b(=)f Fs(Lam)960+ −
2249 y Fp(\013)1008 2241 y Fr(\()p FG(b;)13 b(t)1133+ −
2253 y Fq(2)1170 2241 y Fr(\))78 b FI(if)20 b(and)h(only)g(if)f(either)+ −
612 2384 y FG(a)h Fr(=)g FG(b)c FD(^)g FG(t)901 2396+ −
y Fq(1)960 2384 y Fr(=)k FG(t)1069 2396 y Fq(2)1263 2384+ −
y FI(or)159 b FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g FG(t)1776+ −
2396 y Fq(1)1834 2384 y Fr(=)22 b(\()p FG(a)12 b(b)p+ −
Fr(\))2062 2393 y Fo(\001)2100 2384 y FG(t)2128 2396+ −
y Fq(2)2182 2384 y FD(^)17 b FG(a)k Fr(#)g FG(t)2425+ −
2396 y Fq(2)2484 2384 y FG(:)2749 2312 y FI(\(18\))0+ −
2546 y(and)g(freshness)f(of)g(a)g(lambda)h(is)e(gi)n(v)o(en)i(by:)804+ −
2709 y FG(a)g Fr(#)h Fs(Lam)1069 2717 y Fp(\013)1117+ −
2709 y Fr(\()p FG(b;)12 b(t)p Fr(\))79 b FI(if)20 b(and)g(only)h(if)f+ −
(either)1040 2852 y FG(a)h Fr(=)h FG(b)157 b FI(or)i+ −
FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g FG(a)k Fr(#)g FG(t)g(:)2749+ −
2780 y FI(\(19\))0 3014 y(In)i(ef)n(fect)g(we)g(ha)n(v)o(e)h(achie)n(v)+ −
o(ed)f(what)g(we)g(set)f(out)h(at)g(the)g(be)o(ginning)i(of)e(this)f+ −
(section:)h(we)g(ha)n(v)o(e)h(a)e(for)n(-)0 3110 y(mal)d+ −
(implementation)i(of)f(Barendre)o(gt')l(s)g(con)m(v)o(ention)h(about)f+ −
(identifying)i(alpha-equi)n(v)n(alent)f(lambda-)0 3205+ −
y(terms.)0 3488 y FJ(4)28 b(Structural)20 b(Induction)g(Principles)0+ −
3677 y FI(The)27 b(inducti)n(v)o(e)h(de\002nition)g(of)f(the)g(set)f+ −
Fs(lam)1242 3685 y Fp(\013)1316 3677 y FI(gi)n(v)o(en)i(in)e(\(12\))i+ −
(comes)f(with)g(an)g(induction)i(principle.)0 3772 y(From)22+ −
b(this)f(induction)i(principle)g(we)e(can)g(deri)n(v)o(e)h(the)g(follo)+ −
n(wing)g(structural)g(induction)h(principle)g(for)0 3868+ −
y(the)d(type)h Fs(lam)389 3876 y Fp(\013)437 3868 y FI(:)771+ −
4039 y FD(8)p FG(a:)42 b(P)32 b Fr(\()p Fs(Var)1146 4047+ −
y Fp(\013)1194 4039 y Fr(\()p FG(a)p Fr(\)\))771 4158+ −
y FD(8)p FG(t)842 4170 y Fq(1)891 4158 y FG(t)919 4170+ −
y Fq(2)956 4158 y FG(:)43 b(P)32 b(t)1129 4170 y Fq(1)1204+ −
4158 y FD(^)39 b FG(P)32 b(t)1403 4170 y Fq(2)1483 4158+ −
y FD(\))21 b FG(P)32 b Fr(\()p Fs(App)1809 4179 y Fp(\013)1857+ −
4158 y Fr(\()p FG(t)1915 4170 y Fq(1)1951 4158 y FG(;)14+ −
b(t)2014 4170 y Fq(2)2051 4158 y Fr(\)\))771 4277 y FD(8)p+ −
FG(a)e(t)895 4289 y Fq(1)932 4277 y FG(:)43 b(P)32 b(t)1105+ −
4289 y Fq(1)1184 4277 y FD(\))43 b FG(P)32 b Fr(\()p+ −
Fs(Lam)1532 4285 y Fp(\013)1580 4277 y Fr(\()p FG(a;)12+ −
b(t)1712 4289 y Fq(1)1749 4277 y Fr(\)\))p 771 4325 1340+ −
4 v 1386 4393 a FG(P)32 b(t)1254 b FI(\(20\))0 4536 y(Ho)n(we)n(v)o(er)+ −
m(,)31 b(this)g(structural)h(induction)h(principle)f(is)f(not)h(v)o+ −
(ery)g(con)m(v)o(enient)g(in)g(practice.)f(Consider)0+ −
4632 y(again)22 b(Fig.)f(1)h(sho)n(wing)g(a)f(typical)h(informal)h+ −
(proof)g(in)m(v)n(olving)h(lambda-terms.)f(This)e(informal)i(proof)0+ −
4727 y(establishes)k(the)h(substitution)h(lemma)f(by)h(considering)h+ −
(in)e(the)g(lambda-case)g(only)h(binders)g FG(z)i FI(that)0+ −
4823 y(ha)n(v)o(e)25 b(suitable)g(properties)h(\(namely)f(being)h+ −
(fresh)f(for)g FG(x)p FI(,)e FG(y)s FI(,)h FG(N)32 b+ −
FI(and)25 b FG(L)p FI(\).)g(If)g(one)g(w)o(ould)g(use)g(for)g(this)p+ −
0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 14 14+ −
TeXDict begin 14 13 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(14)p 0 TeXcolorgray 0 228 a FI(proof)20+ −
b(the)f(induction)h(principle)f(gi)n(v)o(en)g(abo)o(v)o(e,)g(then)g+ −
(one)g(w)o(ould)h(need)f(to)f(sho)n(w)h(the)g(lambda-case)g(for)0+ −
324 y FE(all)g FG(z)s FI(,)f(not)h(just)g(the)g(ones)g(being)h+ −
(suitably)f(fresh.)g(This)f(w)o(ould)i(mean)g(one)f(has)g(to)g(rename)g+ −
(binders)h(and)0 419 y(establish)g(a)f(number)j(of)f(auxiliary)g+ −
(lemmas)f(concerning)i(such)e(renamings.)125 515 y(In)j(this)g(section)+ −
h(we)f(will)f(deri)n(v)o(e)i(an)g(induction)h(principle)f(which)g(allo)+ −
n(ws)f(a)g(similar)g(con)m(v)o(enient)0 610 y(reasoning)e(as)f(in)g+ −
(Barendre)o(gt')l(s)g(informal)i(proof.)f(This)f(induction)i(principle)+ −
f(is)e(as)h(follo)n(ws:)474 765 y FD(8)p FG(c)13 b(a:)43+ −
b(P)32 b Fr(\()p Fs(Var)896 773 y Fp(\013)944 765 y Fr(\()p+ −
FG(a)p Fr(\)\))20 b FG(c)474 884 y FD(8)p FG(c)13 b(t)591+ −
896 y Fq(1)641 884 y FG(t)669 896 y Fq(2)706 884 y FG(:)43+ −
b Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)1034 896 y Fq(1)1092+ −
884 y FG(d)p Fr(\))38 b FD(^)h Fr(\()p FD(8)p FG(d:)21+ −
b(P)32 b(t)1554 896 y Fq(2)1612 884 y FG(d)p Fr(\))42+ −
b FD(\))21 b FG(P)32 b Fr(\()p Fs(App)2051 905 y Fp(\013)2098+ −
884 y Fr(\()p FG(t)2156 896 y Fq(1)2193 884 y FG(;)13+ −
b(t)2255 896 y Fq(2)2292 884 y Fr(\)\))21 b FG(c)474+ −
1003 y FD(8)p FG(c)13 b(a)f(t)644 1015 y Fq(1)681 1003+ −
y FG(:)43 b(a)21 b Fr(#)h FG(c)38 b FD(^)h Fr(\()p FD(8)p+ −
FG(d:)21 b(P)32 b(t)1318 1015 y Fq(1)1376 1003 y FG(d)p+ −
Fr(\))43 b FD(\))f FG(P)24 b Fr(\()p Fs(Lam)1828 1011+ −
y Fp(\013)1875 1003 y Fr(\()p FG(a;)13 b(t)2008 1015+ −
y Fq(1)2045 1003 y Fr(\)\))g FG(c)p 474 1051 1933 4 v+ −
1367 1119 a(P)24 b(t)12 b(c)1236 b FI(\(21\))0 1277 y(where)26+ −
b(the)f(v)n(ariable)h FG(t)f FI(in)g(the)h(conclusion)g(stands)g(for)g+ −
(a)f Fs(lam)1760 1285 y Fp(\013)1808 1277 y FI(-term)g(o)o(v)o(er)h+ −
(which)g(the)f(induction)i(is)0 1372 y(done)18 b(and)f(the)g(v)n+ −
(ariable)h FG(c)f FI(stands)f(for)i(the)f FE(conte)n(xt)i+ −
FI(of)e(the)g(induction.)i(By)d(the)h(conte)o(xt)h(of)f(an)g(induction)+ −
0 1468 y(we)k(mean)g(all)g(free)g(v)n(ariables)g(of)g(the)g(lemma)h(to)+ −
f(be)g(sho)n(wn)g(by)h(induction,)g(e)o(xcept)f(the)g(v)n(ariable)h(o)o+ −
(v)o(er)0 1563 y(which)i(the)h(induction)g(is)f(performed.)h(W)-6+ −
b(e)24 b(also)g(assume)g(that)g(the)g(conte)o(xt)h(is)e(of)i+ −
(\002nitely)f(supported)0 1659 y(type.)c(In)h(case)e(of)i(the)f+ −
(substitution)h(lemma)f(from)h(Fig.)f(1,)f(for)i(e)o(xample,)g(we)e(ha)+ −
n(v)o(e)639 1816 y FG(M)8 b Fr([)p FG(x)21 b Fr(:=)h+ −
FG(N)8 b Fr(][)p FG(y)25 b Fr(:=)c FG(L)p Fr(])h FD(\021)f+ −
FG(M)8 b Fr([)p FG(y)24 b Fr(:=)e FG(L)p Fr(][)p FG(x)g+ −
Fr(:=)f FG(N)8 b Fr([)p FG(y)25 b Fr(:=)c FG(L)p Fr(]])0+ −
1974 y FI(with)34 b FG(M)41 b FI(being)35 b(the)f(v)n(ariable)g(o)o(v)o+ −
(er)g(which)g(the)g(induction)h(is)e(done.)i(So)e(in)h(this)f(case,)g+ −
(the)h(con-)0 2069 y(te)o(xt)27 b FG(c)f FI(w)o(ould)i(be)f+ −
(instantiated)g(with)f(the)h(other)h(free)f(v)n(ariables)g(in)g(this)f+ −
(lemma,)h(namely)g(the)g(tuple)0 2165 y Fr(\()p FG(x;)13+ −
b(y)s(;)f(N)t(;)h(L)p Fr(\))p FI(\227which)22 b(is)f(of)h(\002nitely)g+ −
(supported)h(type.)f(When)h(it)e(comes)g(to)h(pro)o(v)o(e)g(the)g+ −
(lambda-case,)0 2260 y(that)e(is)973 2356 y FG(P)32 b+ −
Fr(\()p Fs(Lam)1202 2364 y Fp(\013)1249 2356 y Fr(\()p+ −
FG(z)s(;)13 b(M)1426 2368 y Fq(1)1463 2356 y Fr(\)\))21+ −
b(\()p FG(x;)13 b(y)s(;)f(N)t(;)i(L)p Fr(\))0 2490 y+ −
FI(one)24 b(can)f(assume)g(in)g(\(21\))h(that)f(the)g(binder)h+ −
FG(z)h FI(is)e(fresh)g(for)g Fr(\()p FG(x;)13 b(y)s(;)g(N)t(;)g(L)p+ −
Fr(\))p FI(\227which)23 b(is)g(equi)n(v)n(alent)h(to)f+ −
FG(z)0 2585 y FI(not)18 b(being)h(equal)f(to)f FG(x)g+ −
FI(and)h FG(y)s FI(,)f(and)h(not)g(free)g(in)g FG(N)25+ −
b FI(and)18 b FG(L)p FI(.)g(As)f(we)g(shall)g(see)g(later)m(,)g(with)h+ −
(this)f(induction)0 2681 y(principle)k(one)g(can)f(formalise)h+ −
(Barendre)o(gt')l(s)f(slick)g(informal)h(proof)h(without)e(dif)n+ −
(\002culties.)125 2776 y(In)f(the)g(follo)n(wing)i(we)d(shall)h+ −
(establish)g(a)f(slightly)i(more)g(general)g(v)o(ersion)f(of)h(the)f+ −
(induction)i(prin-)0 2872 y(ciple)c(gi)n(v)o(en)h(in)g(\(21\).)g(In)g+ −
(the)f(generalised)h(v)o(ersion)g(we)f(require)i(that)e(the)h+ −
(induction)h(conte)o(xt)f(is)e(\002nitely)0 2967 y(supported,)21+ −
b(b)n(ut)g(not)g(necessarily)f(has)g(\002nitely)g(supported)i(type.)p+ −
0 TeXcolorgray 0 3126 a FJ(Theor)o(em)d(2)p 0 TeXcolorgray+ −
42 w(\(Str)o(ong)27 b(Induction)f(Principle\))g FE(A)h(pr)l(operty)g+ −
FG(P)44 b(t)33 b(c)26 b FE(holds)h(for)g(all)f FG(t)g+ −
FE(terms)g(of)g(type)0 3222 y Fs(lam)118 3230 y Fp(\013)165+ −
3222 y FE(,)19 b(pr)l(o)o(vided)j(for)e(a)g(given)h FG(f)p+ −
0 TeXcolorgray 56 3358 a FE(\(i\))p 0 TeXcolorgray 84+ −
w FD(8)p FG(c:)43 b Fk(\014nite)7 b Fr(\()p Fk(supp)e+ −
Fr(\()p FG(f)21 b(c)p Fr(\)\))p FE(,)p 0 TeXcolorgray+ −
34 3454 a(\(ii\))p 0 TeXcolorgray 84 w FD(8)p FG(c)13+ −
b(a:)43 b(P)32 b Fr(\()p Fs(Var)636 3462 y Fp(\013)684+ −
3454 y Fr(\()p FG(a)p Fr(\)\))20 b FG(c)p FE(,)p 0 TeXcolorgray+ −
12 3549 a(\(iii\))p 0 TeXcolorgray 84 w FD(8)p FG(c)13+ −
b(t)331 3561 y Fq(1)381 3549 y FG(t)409 3561 y Fq(2)446+ −
3549 y FG(:)43 b Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)774+ −
3561 y Fq(1)832 3549 y FG(d)p Fr(\))38 b FD(^)h Fr(\()p+ −
FD(8)p FG(d:)21 b(P)32 b(t)1294 3561 y Fq(2)1352 3549+ −
y FG(d)p Fr(\))43 b FD(\))21 b FG(P)32 b Fr(\()p Fs(App)1791+ −
3570 y Fp(\013)1839 3549 y Fr(\()p FG(t)1897 3561 y Fq(1)1933+ −
3549 y FG(;)13 b(t)1995 3561 y Fq(2)2032 3549 y Fr(\)\))22+ −
b FG(c)p FE(,)d(and)p 0 TeXcolorgray 21 3645 a(\(iv\))p+ −
0 TeXcolorgray 84 w FD(8)p FG(c)13 b(a)g(t)385 3657 y+ −
Fq(1)422 3645 y FG(:)43 b(a)21 b Fr(#)g FG(f)g(c)39 b+ −
FD(^)f Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)1116 3657 y+ −
Fq(1)1175 3645 y FG(d)p Fr(\))42 b FD(\))g FG(P)33 b+ −
Fr(\()p Fs(Lam)1635 3653 y Fp(\013)1682 3645 y Fr(\()p+ −
FG(a;)13 b(t)1815 3657 y Fq(1)1852 3645 y Fr(\)\))21+ −
b FG(c)0 3781 y FE(hold.)p 0 TeXcolorgray 0 3963 a(Pr)l(oof)p+ −
0 TeXcolorgray 40 w FI(By)27 b(induction)i(o)o(v)o(er)f+ −
FG(t)f FI(using)i(\(20\).)f(W)-6 b(e)27 b(strengthen)i(the)f(induction)+ −
h(hypothesis)g(by)f(aiming)0 4059 y(to)c(pro)o(v)o(e)i+ −
FD(8)p FG(\031)15 b(c:)30 b(P)23 b Fr(\()p FG(\031)622+ −
4068 y Fo(\001)660 4059 y FG(t)p Fr(\))12 b FG(c)p FI(.)24+ −
b(The)h(cases)f(for)h Fs(Var)1378 4067 y Fp(\013)1450+ −
4059 y FI(and)g Fs(App)1705 4080 y Fp(\013)1777 4059+ −
y FI(are)f(routine.)i(The)e(interesting)h(case)f(is)0+ −
4154 y Fs(Lam)118 4162 y Fp(\013)165 4154 y FI(:)e(we)g(need)g(to)h+ −
(sho)n(w)f(that)g FG(P)i Fr(\()p FG(\031)1053 4163 y+ −
Fo(\001)1091 4154 y Fs(Lam)1208 4162 y Fp(\013)1256 4154+ −
y Fr(\()p FG(a;)12 b(t)1388 4166 y Fq(1)1425 4154 y Fr(\)\))h+ −
FG(c)p FI(,)22 b(where)g FG(\031)1834 4163 y Fo(\001)1872+ −
4154 y Fs(Lam)1990 4162 y Fp(\013)2037 4154 y Fr(\()p+ −
FG(a;)13 b(t)2170 4166 y Fq(1)2207 4154 y Fr(\))25 b(=)g+ −
Fs(Lam)2464 4162 y Fp(\013)2512 4154 y Fr(\()p FG(\031)2589+ −
4163 y Fo(\001)2626 4154 y FG(a;)13 b(\031)2748 4163+ −
y Fo(\001)2786 4154 y FG(t)2814 4166 y Fq(1)2851 4154+ −
y Fr(\))0 4250 y FI(by)35 b(\(17\).)f(Since)g(by)h FE(\(i\))f+ −
FG(f)8 b(c)35 b FI(is)e(\002nitely)h(supported,)i(and)e(by)h(Lemmas)f+ −
(4)h(and)f(10)h(also)f FG(\031)2655 4259 y Fo(\001)2693+ −
4250 y FG(a)f FI(and)0 4345 y FG(\031)47 4354 y Fo(\001)85+ −
4345 y FG(t)113 4357 y Fq(1)150 4345 y FI(,)26 b(we)g(can)g(use)h+ −
(Prop.)f(1)h(to)f(obtain)i(a)e FG(b)g FI(with)g FG(b)33+ −
b Fr(#)g(\()p FG(f)21 b(c;)13 b(\031)1803 4354 y Fo(\001)1841+ −
4345 y FG(a;)g(\031)1963 4354 y Fo(\001)2001 4345 y FG(t)2029+ −
4357 y Fq(1)2066 4345 y Fr(\))p FI(.)25 b(From)i(this)f(we)g(can)h+ −
(infer)0 4441 y(that)h FG(b)36 b FD(6)p Fr(=)f FG(\031)357+ −
4450 y Fo(\001)395 4441 y FG(a)28 b FI(and)g FG(b)36+ −
b Fr(#)g FG(\031)821 4450 y Fo(\001)859 4441 y FG(t)887+ −
4453 y Fq(1)924 4441 y FI(,)27 b(which)i(implies)f(by)g(\(18\))h(that)f+ −
Fr(\()p FD(\003)p Fr(\))g Fs(Lam)2107 4449 y Fp(\013)2154+ −
4441 y Fr(\()p FG(b;)13 b Fr(\()p FG(b)38 b(\031)2399+ −
4450 y Fo(\001)2437 4441 y FG(a)p Fr(\))2508 4450 y Fo(\001)2546+ −
4441 y Fr(\()p FG(\031)2623 4450 y Fo(\001)2661 4441+ −
y FG(t)2689 4453 y Fq(1)2726 4441 y Fr(\)\))d(=)0 4536+ −
y Fs(Lam)118 4544 y Fp(\013)165 4536 y Fr(\()p FG(\031)242+ −
4545 y Fo(\001)280 4536 y FG(a;)12 b(\031)401 4545 y+ −
Fo(\001)439 4536 y FG(t)467 4548 y Fq(1)504 4536 y Fr(\))p+ −
FI(.)26 b(From)g(the)g(induction)i(hypothesis,)e(which)h(is)e+ −
FD(8)p FG(\031)15 b(c:)f(P)23 b Fr(\()p FG(\031)2220+ −
4545 y Fo(\001)2258 4536 y FG(t)2286 4548 y Fq(1)2323+ −
4536 y Fr(\))12 b FG(c)p FI(,)26 b(we)g(obtain)g(the)0+ −
4632 y(f)o(act)i FD(8)p FG(c:)13 b(P)24 b Fr(\(\(\()p+ −
FG(b)38 b(\031)536 4641 y Fo(\001)574 4632 y FG(a)p Fr(\)@)p+ −
FG(\031)s Fr(\))782 4641 y Fo(\001)819 4632 y FG(t)847+ −
4644 y Fq(1)884 4632 y Fr(\))12 b FG(c)p FI(.)28 b(Then)h(we)f(can)g+ −
(use)g(the)g(f)o(act)h FG(b)36 b Fr(#)g FG(f)21 b(c)28+ −
b FI(and)h FE(\(iv\))p FI(,)f(and)h(infer)g(that)0 4727+ −
y FG(P)23 b Fr(\()p Fs(Lam)220 4735 y Fp(\013)267 4727+ −
y Fr(\()p FG(b;)13 b Fr(\(\()p FG(b)38 b(\031)542 4736+ −
y Fo(\001)580 4727 y FG(a)p Fr(\)@)p FG(\031)s Fr(\))788+ −
4736 y Fo(\001)825 4727 y FG(t)853 4739 y Fq(1)890 4727+ −
y Fr(\)\))13 b FG(c)22 b FI(holds.)g(Moreo)o(v)o(er)h(this)f(is)f(by)i+ −
(De\002nition)f(2)p FE(\(ii\))h FI(equal)f(to)g(the)g(f)o(act)0+ −
4823 y FG(P)h Fr(\()p Fs(Lam)220 4831 y Fp(\013)267 4823+ −
y Fr(\()p FG(b;)13 b Fr(\()p FG(b)38 b(\031)512 4832+ −
y Fo(\001)550 4823 y FG(a)p Fr(\))621 4832 y Fo(\001)659+ −
4823 y Fr(\()p FG(\031)736 4832 y Fo(\001)774 4823 y+ −
FG(t)802 4835 y Fq(1)839 4823 y Fr(\)\)\))12 b FG(c)p+ −
FI(.)20 b(By)f Fr(\()p FD(\003)p Fr(\))h FI(we)g(can)g(conclude)i(with)+ −
e FG(P)j Fr(\()p Fs(Lam)2169 4831 y Fp(\013)2216 4823+ −
y Fr(\()p FG(\031)2293 4832 y Fo(\001)2331 4823 y FG(a;)12+ −
b(\031)2452 4832 y Fo(\001)2490 4823 y FG(t)2518 4835+ −
y Fq(1)2555 4823 y Fr(\)\))h FG(c)p FI(.)79 b FD(u)-51+ −
b(t)p 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 15 15+ −
TeXDict begin 15 14 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(15)p 0 TeXcolorgray 0 228+ −
a FI(If)22 b(we)f(set)g(in)h(Thm.)g(2)f FG(f)30 b FI(to)22+ −
b(the)f(identity-function)k(and)d(require)h(that)e FG(c)h+ −
FI(has)f(\002nitely)h(supported)h(type,)0 324 y(we)c(can)g(dischar)o+ −
(ge)h(condition)h FE(\(i\))e FI(in)g(and)h(obtain)g(the)g(structural)f+ −
(induction)i(principle)g(stated)d(in)i(\(21\).)0 419+ −
y(The)f(adv)n(antage)i(of)e(\(21\))h(is)e(that)h(Isabelle')l(s)g+ −
(axiomatic)h(type)f(classes)f(can)h(be)g(used)g(to)g(ensure)h(that)e+ −
(the)0 515 y(induction)h(conte)o(xt)f(is)f(a)g(\002nitely)g(supported)i+ −
(type,)f(while)f(the)g(induction)i(principle)g(pro)o(v)o(ed)f(in)g+ −
(Thm.)f(2)0 610 y(requires)23 b(manual)g(reasoning)g(to)f(ensure)h(the)+ −
f(\002nite)g(support)i(property)-5 b(.)23 b(Ho)n(we)n(v)o(er)m(,)g(we)e+ −
(will)h(need)g(the)0 706 y(more)c(general)h(induction)g(principle)g(in)+ −
f(the)g(ne)o(xt)g(section)g(where)g(we)f(deri)n(v)o(e)h(a)g(recursion)h+ −
(combinator)0 801 y(for)i Fs(lam)229 809 y Fp(\013)277+ −
801 y FI(.)0 1082 y FJ(5)28 b(A)20 b(Recursion)f(Combinator)0+ −
1271 y FI(Before)24 b(we)f(can)g(formalise)h(Barendre)o(gt')l(s)g+ −
(proof)g(of)g(the)f(substitution)i(lemma,)e(we)g(need)h(to)f(be)g(able)+ −
0 1366 y(to)18 b(de\002ne)h(the)g(function)h(of)f(capture-a)n(v)n+ −
(oiding)j(substitution.)d(This)f(can)h(be)g(done)g(by)g(\002rst)f+ −
(considering)0 1462 y(an)h(appropriately)i(de\002ned)e(relation)g(and)h+ −
(then)f(sho)n(wing)g(that)g(this)f(relation)i(beha)n(v)o(es)f(lik)o(e)g+ −
(a)f(function.)0 1557 y(This)k(has)h(been)g(done)g(in)g(Urban)g(and)g+ −
(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+ −
(rather)j(inele)o(gant.)e(More)0 1653 y(ele)o(gant)e(is)f(a)h+ −
(de\002nition)h(by)g(structural)f(recursion.)125 1748+ −
y(It)32 b(turns)h(out)g(that)g(de\002ning)h(functions)g(by)f(recursion)+ −
h(o)o(v)o(er)f(the)g(structure)g(of)g(alpha-equated)0+ −
1844 y(lambda-terms)18 b(is)e(rather)h(subtle.)g(Let)g(us)f(assume)h+ −
(we)f(w)o(ant)h(to)g(de\002ne)g(capture-a)n(v)n(oiding)k(substitution)0+ −
1939 y(by)g(the)f(follo)n(wing)h(three)g(clauses)p 0+ −
TeXcolorgray 0 TeXcolorgray 469 2096 a Fs(Var)586 2104+ −
y Fp(\013)634 2096 y Fr(\()p FG(x)p Fr(\)[)p FG(y)i Fr(:=)e+ −
FG(t)950 2064 y Fl(0)973 2096 y Fr(])j(=)g(\()p FI(if)d+ −
FG(x)g Fr(=)g FG(y)j FI(then)e FG(t)1594 2064 y Fl(0)1638+ −
2096 y FI(else)f Fs(Var)1900 2104 y Fp(\013)1947 2096+ −
y Fr(\()p FG(x)p Fr(\)\))348 2215 y Fs(App)466 2236 y+ −
Fp(\013)513 2215 y Fr(\()p FG(t)571 2227 y Fq(1)608 2215+ −
y FG(;)13 b(t)670 2227 y Fq(2)707 2215 y Fr(\)[)p FG(y)24+ −
b Fr(:=)d FG(t)950 2184 y Fl(0)973 2215 y Fr(])j(=)g+ −
Fs(App)1219 2236 y Fp(\013)1267 2215 y Fr(\()p FG(t)1325+ −
2227 y Fq(1)1362 2215 y Fr([)p FG(y)g Fr(:=)d FG(t)1575+ −
2184 y Fl(0)1598 2215 y Fr(])p FG(;)14 b(t)1682 2227+ −
y Fq(2)1719 2215 y Fr([)p FG(y)24 b Fr(:=)d FG(t)1932+ −
2184 y Fl(0)1955 2215 y Fr(]\))407 2334 y Fs(Lam)524+ −
2342 y Fp(\013)572 2334 y Fr(\()p FG(x;)12 b(t)p Fr(\)[)p+ −
FG(y)24 b Fr(:=)d FG(t)950 2303 y Fl(0)973 2334 y Fr(])j(=)g+ −
Fs(Lam)1219 2342 y Fp(\013)1267 2334 y Fr(\()p FG(x;)12+ −
b(t)p Fr([)p FG(y)24 b Fr(:=)d FG(t)1615 2303 y Fl(0)1639+ −
2334 y Fr(]\))208 b FI(pro)o(vided)22 b FG(x)f Fr(#)h(\()p+ −
FG(y)s(;)12 b(t)2480 2303 y Fl(0)2503 2334 y Fr(\))0+ −
2490 y FI(where)18 b(the)f(side-condition)j(in)d(the)h(lambda-case)g+ −
(amounts)h(to)e(the)h(usual)g(condition)h(about)f FG(x)j+ −
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+ −
(atom)h(in)f FG(t)898 2554 y Fl(0)921 2585 y FI(.)f(Then)i(de\002ning)h+ −
(it)d(o)o(v)o(er)i Fs(lam)1784 2593 y Fp(\013)1857 2585+ −
y FI(results)e(in)h(a)g(total)g(function,)i(while)0 2681+ −
y(de\002ning)e(it)e(o)o(v)o(er)g(\223ra)o(w\224)h(lambda-terms)g(of)g+ −
(type)g Fs(lam)g FI(results)f(in)g(a)h(partial)f(function.)i+ −
(Furthermore,)0 2776 y(attempting)30 b(to)f(de\002ne)g(the)h(functions)+ −
g(that)f(return)h(the)f(set)f(of)h(bound)i(names)e(and)h(the)f+ −
(immediate)0 2872 y(subterms)21 b(by)f(the)g(clauses)516+ −
3042 y FE(bn)q Fr(\()p Fs(Var)742 3050 y Fp(\013)790+ −
3042 y Fr(\()p FG(x)p Fr(\)\))34 b(=)h Fh(?)395 3197+ −
y FE(bn)q Fr(\()p Fs(App)622 3218 y Fp(\013)669 3197+ −
y Fr(\()p FG(t)727 3209 y Fq(1)764 3197 y FG(;)13 b(t)826+ −
3209 y Fq(2)863 3197 y Fr(\)\))35 b(=)g FE(bn)q Fr(\()p+ −
FG(t)1190 3209 y Fq(1)1227 3197 y Fr(\))t FD([)t FI(bn)q+ −
Fr(\()p FG(t)1453 3209 y Fq(2)1490 3197 y Fr(\))454 3351+ −
y FE(bn)q Fr(\()p Fs(Lam)680 3359 y Fp(\013)728 3351+ −
y Fr(\()p FG(x;)12 b(t)p Fr(\)\))35 b(=)g FE(bn)q Fr(\()p+ −
FG(t)p Fr(\))t FD([)t(f)p FG(x)p FD(g)1712 3042 y FE(ist)o+ −
Fr(\()p Fs(Var)1934 3050 y Fp(\013)1981 3042 y Fr(\()p+ −
FG(x)p Fr(\)\))g(=)g Fh(?)1591 3197 y FE(ist)p Fr(\()p+ −
Fs(App)1813 3218 y Fp(\013)1860 3197 y Fr(\()p FG(t)1918+ −
3209 y Fq(1)1955 3197 y FG(;)13 b(t)2017 3209 y Fq(2)2054+ −
3197 y Fr(\)\))36 b(=)f FD(f)p FG(t)2311 3209 y Fq(1)2348+ −
3197 y FG(;)13 b(t)2410 3209 y Fq(2)2447 3197 y FD(g)1650+ −
3351 y FE(ist)o Fr(\()p Fs(Lam)1872 3359 y Fp(\013)1919+ −
3351 y Fr(\()p FG(x;)g(t)p Fr(\)\))35 b(=)g FD(f)p FG(t)p+ −
FD(g)2749 3220 y FI(\(22\))0 3535 y(results)15 b(in)h(an)g+ −
(inconsistenc)o(y)h(when)f(de\002ned)g(o)o(v)o(er)h Fs(lam)1536+ −
3543 y Fp(\013)1584 3535 y FI(,)e(while)g(it)h(can)f(be)h(de\002ned)h+ −
(without)f(problems)0 3631 y(o)o(v)o(er)27 b Fs(lam)q+ −
FI(.)f(The)h(inconsistenc)o(y)g(with)g FE(bn)g FI(and)g+ −
FE(ist)f FI(arises)g(by)h(the)g(principle)g(of)g(HOL)g(stating)f(that)h+ −
(a)0 3726 y(function)22 b(has)d(to)i(return)g(the)f(\223same)f+ −
(ouput\224)j(for)f(the)f(\223same)f(input\224.)i(Since)f(by)h(\(18\))g+ −
(we)e(ha)n(v)o(e)822 3917 y Fs(Lam)939 3925 y Fp(\013)987+ −
3917 y Fr(\()p FG(x;)12 b Fs(Var)1212 3925 y Fp(\013)1259+ −
3917 y Fr(\()p FG(x)p Fr(\)\))21 b(=)g Fs(Lam)1612 3925+ −
y Fp(\013)1660 3917 y Fr(\()p FG(y)s(;)12 b Fs(Var)1882+ −
3925 y Fp(\013)1929 3917 y Fr(\()p FG(y)s Fr(\)\))0 4059+ −
y FI(for)k(all)f FG(x)f FI(and)i FG(y)s FI(,)e(we)h(can)h(assume)f+ −
(that)g(this)g(equation)i(holds)f(for)g FG(x)21 b FD(6)p+ −
Fr(=)g FG(y)s FI(.)14 b(Then)i FE(bn)q Fr(\()p Fs(Lam)2408+ −
4067 y Fp(\013)2456 4059 y Fr(\()p FG(x;)c Fs(Var)2681+ −
4067 y Fp(\013)2728 4059 y Fr(\()p FG(x)p Fr(\)\)\))0+ −
4154 y FI(must)20 b(be)f(equal)h(to)g FE(bn)q Fr(\()p+ −
Fs(Lam)763 4162 y Fp(\013)810 4154 y Fr(\()p FG(y)s(;)13+ −
b Fs(Var)1033 4162 y Fp(\013)1080 4154 y Fr(\()p FG(y)s+ −
Fr(\)\)\))p FI(,)18 b(which)i(implies)f(by)h(the)g(clauses)f(in)g+ −
(\(22\))i(that)e FG(x)g FI(must)g(be)0 4250 y(equal)i(to)f+ −
FG(y)i FI(gi)n(ving)f(a)f(contradiction)i(with)e(the)g(assumption)h+ −
FG(x)g FD(6)p Fr(=)g FG(y)s FI(\227similar)e(with)h(the)g(function)i+ −
FE(ist)o FI(.)125 4345 y(One)16 b(w)o(ay)g(around)i(the)e(problem)i+ −
(with)e(the)g(inconsistencies)h(is)e(to)i(deri)n(v)o(e)f(a)g(recursion)+ −
i(combinator)0 4441 y(for)27 b Fs(lam)236 4449 y Fp(\013)309+ −
4441 y FI(that)f(includes)h(certain)g(preconditions)h(for)f(binders)g+ −
(ensuring)h(no)f(inconsistenc)o(y)g(can)f(be)0 4536 y(deri)n(v)o(ed.)f+ −
(F)o(or)g(this)f(we)g(will)g(adapt)h(w)o(ork)g(by)g(Pitts)f([27])h(who)+ −
g(introduced)i(such)d(preconditions.)j(W)-6 b(e)0 4632+ −
y(will)22 b(also)g(adapt)h(his)f(proof)i(establishing)g(the)e(e)o+ −
(xistence)h(of)f(a)h(structural)g(recursion)g(combinator)i(for)0+ −
4727 y Fs(lam)118 4735 y Fp(\013)165 4727 y FI(.)20 b(The)g(main)h(dif)+ −
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+ −
(direct)h(proof)h(for)f(the)f(e)o(xistence,)0 4823 y(because)31+ −
b(in)g(our)g(implementation)i(we)d(do)i(not)f(use)f(an)o(ywhere)i(the)f+ −
(type)g Fs(lam)g FI(\(Pitts)f(uses)g Fs(lam)i FI(to)p+ −
0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 16 16+ −
TeXDict begin 16 15 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(16)p 0 TeXcolorgray 0 228 a FI(deri)n(v)o(e)27+ −
b(a)e(structural)i(induction)g(principle\).)g(Another)g(dif)n(ference)g+ −
(is)f(that)f(we)h(deri)n(v)o(e)g(the)g(recursion)0 324+ −
y(combinator)c(without)f(deri)n(ving)g(an)g(iteration)f(combinator)i+ −
(\002rst.)1819 292 y Fv(6)125 419 y FI(While)i(in)g(\223e)n(v)o+ −
(ery-day\224)i(formalisation,)f(Lem.)f(4)g(is)f(suf)n(\002cient)i(in)f+ −
(nearly)g(all)g(situations)g(to)g(\002nd)0 515 y(out)19+ −
b(when)f(an)h(object)f(has)g(\002nite)g(support,)h(the)g(reasoning)g+ −
(for)g(the)f(recursion)i(combinator)g(includes)f(in)0+ −
610 y(se)n(v)o(eral)24 b(places)h(proof)h(obligations)f(about)h+ −
(ensuring)g(that)e(functions)i(ha)n(v)o(e)g(\002nite)e(support.)i(And)f+ −
(for)0 706 y(functions)e(one)e(cannot)i(\002nd)e(out)h(whether)g(the)o+ −
(y)g(ha)n(v)o(e)g(\002nite)f(support)i(by)f(just)f(looking)i(at)e+ −
(their)g(type.)0 801 y(In)f(order)i(to)e(automate)g(such)h(proof)g+ −
(obligations)g(we)f(use)g(the)g(auxiliary)h(notion)g(of)g+ −
FE(supports)f FI([11].)p 0 TeXcolorgray 0 947 a FJ(De\002nition)g(5)p+ −
0 TeXcolorgray 42 w FE(A)31 b(set)h FG(S)j FE(of)d(atoms)g+ −
FI(supports)h FE(an)f FG(x)f FE(of)h(permutation)h(type)o(,)f(written)f+ −
FG(S)17 b Fk(supp)l(orts)22 b FG(x)p FE(,)0 1043 y(pr)l(o)o(vided:)822+ −
1138 y FD(8)12 b FG(a)h(b:)21 b(a)g FD(62)h FG(S)34 b+ −
FD(^)c FG(b)21 b FD(62)h FG(S)46 b FD(\))d Fr(\()p FG(a)12+ −
b(b)p Fr(\))1789 1147 y Fo(\001)1827 1138 y FG(x)21 b+ −
Fr(=)g FG(x)g(:)0 1284 y FI(This)28 b(notion)h(allo)n(ws)e(us)h(to)g+ −
(approximate)i(the)d(support)j(of)e(an)g FG(x)f FI(from)i(\223abo)o(v)o+ −
(e\224,)f(because)g(we)f(can)0 1380 y(sho)n(w)20 b(that:)p+ −
0 TeXcolorgray 0 1526 a FJ(Lemma)f(11)p 0 TeXcolorgray+ −
43 w FE(If)g(a)i(set)e FG(S)24 b FE(is)19 b(\002nite)i(and)g+ −
FG(S)c Fk(supp)l(orts)k FG(x)p FE(,)e(then)h Fk(supp)6+ −
b Fr(\()p FG(x)p Fr(\))21 b FD(\022)g FG(S)t FE(.)p 0+ −
TeXcolorgray 0 1709 a(Pr)l(oof)p 0 TeXcolorgray 40 w+ −
FI(By)k(contradiction)k(we)d(assume)g Fk(supp)5 b Fr(\()p+ −
FG(x)p Fr(\))32 b FD(6\022)g FG(S)t FI(,)26 b(then)h(there)g(e)o(xists)+ −
e(an)h(atom)h FG(a)32 b FD(2)h Fk(supp)6 b Fr(\()p FG(x)p+ −
Fr(\))0 1805 y FI(and)20 b FG(a)h FD(62)h FG(S)t FI(.)d(From)h+ −
FG(S)d Fk(supp)l(orts)k FG(x)e FI(follo)n(ws)h(that)g(for)g(all)f+ −
FG(b)i FD(62)h FG(S)h FI(we)d(ha)n(v)o(e)g Fr(\()p FG(a)12+ −
b(b)p Fr(\))2190 1814 y Fo(\001)2228 1805 y FG(x)21 b+ −
Fr(=)g FG(x)p FI(.)e(Hence)h(the)f(set)0 1900 y FD(f)p+ −
FG(b)j FD(j)f Fr(\()p FG(a)13 b(b)p Fr(\))282 1909 y+ −
Fo(\001)320 1900 y FG(x)20 b FD(6)p Fr(=)i FG(x)p FD(g)16+ −
b FI(is)h(a)g(subset)g(of)h FG(S)t FI(,)f(and)h(since)f+ −
FG(S)k FI(is)16 b(\002nite)h(by)h(assumption,)g(also)f+ −
FD(f)p FG(b)22 b FD(j)g Fr(\()p FG(a)12 b(b)p Fr(\))2615+ −
1909 y Fo(\001)2653 1900 y FG(x)21 b FD(6)p Fr(=)g FG(x)p+ −
FD(g)0 1996 y FI(must)f(be)g(\002nite.)g(But)g(this)f(implies)h(that)g+ −
FG(a)h FD(62)h Fk(supp)5 b Fr(\()p FG(x)p Fr(\))19 b+ −
FI(which)i(gi)n(v)o(es)f(the)g(contradiction.)81 b FD(u)-51+ −
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+ −
(decide)i(relati)n(v)o(ely)f(easily)f(whether)h(a)g(function)h(has)f+ −
(\002nite)f(sup-)0 2252 y(port:)j(one)h(only)f(needs)g(to)g(\002nd)g(a)+ −
g(\002nite)f(set)g(of)i(atoms)e(and)i(then)f(v)o(erify)h(whether)f+ −
(this)g(set)f(supports)0 2347 y(the)c(function.)125 2443+ −
y(If)29 b(the)g(function)i(is)e(gi)n(v)o(en)h(as)e(a)h(lambda-term)i+ −
(on)f(the)f(HOL-le)n(v)o(el,)h(then)f(for)h(\002nding)h(a)e(\002nite)0+ −
2538 y(set)d(we)h(use)g(the)g(heuristic)g(of)h(considering)h(the)e+ −
(support)h(of)g(the)f(free)g(v)n(ariables)g(of)h(this)f(functions.)0+ −
2634 y(This)20 b(is)e(a)i(heuristic,)f(because)h(it)f(cannot)i(be)f+ −
(established)g(as)f(a)g(lemma)h(inside)g(Isabelle/HOL\227it)f(is)g(a)0+ −
2729 y(property)k(about)g(HOL-functions.)f(Ne)n(v)o(ertheless)g(the)f+ −
(heuristic)h(is)e(e)o(xtremely)j(helpful)f(for)g(deciding)0+ −
2825 y(whether)f(a)e(function)j(has)e(\002nite)g(support.)h(Consider)f+ −
(the)g(follo)n(wing)i(tw)o(o)e(e)o(xamples:)p 0 TeXcolorgray+ −
0 3006 a FE(Example)h(1)p 0 TeXcolorgray 42 w FI(Gi)n(v)o(en)30+ −
b(a)h(function)h Fk(fn)1068 2963 y Fn(def)1075 3006 y+ −
Fr(=)47 b FG(f)1219 3018 y Fq(1)1270 3006 y FG(c)30 b+ −
FI(where)h FG(f)1593 3018 y Fq(1)1661 3006 y FI(is)f(a)g(function)i(of)+ −
f(type)g Fs(name)41 b FD(\))f FG(\013)p FI(.)31 b(W)-6+ −
b(e)0 3101 y(also)25 b(assume)g(that)g FG(f)589 3113+ −
y Fq(1)652 3101 y FI(has)g(\002nite)g(support.)h(The)g(question)g(is)f+ −
(whether)h Fk(fn)k FI(has)c(\002nite)f(support?)h(The)0+ −
3197 y(free)31 b(v)n(ariables)g(of)g Fk(fn)37 b FI(are)30+ −
b FG(f)829 3209 y Fq(1)897 3197 y FI(and)i FG(c)p FI(.)e(According)j+ −
(to)d(our)i(heuristic)f(we)g(ha)n(v)o(e)g(to)g(v)o(erify)h(whether)0+ −
3292 y Fk(supp)6 b Fr(\()p FG(f)223 3304 y Fq(1)260 3292+ −
y FG(;)13 b(c)p Fr(\))g Fk(supp)l(orts)21 b(fn)6 b FI(,)19+ −
b(which)i(amounts)g(to)f(sho)n(wing)h(that)518 3483 y+ −
FD(8)p FG(a)13 b(b:)21 b(a)g FD(62)h Fk(supp)5 b Fr(\()p+ −
FG(f)1047 3495 y Fq(1)1085 3483 y FG(;)13 b(c)p Fr(\))30+ −
b FD(^)g FG(b)21 b FD(62)h Fk(supp)5 b Fr(\()p FG(f)1642+ −
3495 y Fq(1)1680 3483 y FG(;)13 b(c)p Fr(\))34 b FD(\))43+ −
b Fr(\()p FG(a)12 b(b)p Fr(\))2077 3492 y Fo(\001)2115+ −
3483 y Fk(fn)27 b Fr(=)21 b Fk(fn)0 3618 y FI(T)-6 b(o)26+ −
b(do)h(so)f(we)g(can)h(assume)f(by)h(the)f(de\002nition)i(of)f+ −
(freshness)f(\(Def.)g(3\))h(that)f FG(a)33 b Fr(#)g(\()p+ −
FG(f)2451 3630 y Fq(1)2488 3618 y FG(;)13 b(c)p Fr(\))26+ −
b FI(and)h FG(b)33 b Fr(#)0 3714 y(\()p FG(f)67 3726+ −
y Fq(1)104 3714 y FG(;)14 b(c)p Fr(\))21 b FI(and)g(sho)n(w)h(that)f+ −
Fr(\()p FG(a)12 b(b)p Fr(\))828 3723 y Fo(\001)866 3714+ −
y Fk(fn)30 b Fr(=)23 b Fk(fn)5 b FI(.)21 b(This)g(equation)i(follo)n+ −
(ws)e(from)i(the)e(calculation)h(that)f(pushes)0 3809+ −
y(the)f(sw)o(apping)h Fr(\()p FG(a)13 b(b)p Fr(\))19+ −
b FI(inside)h Fk(fn)6 b FI(:)p 0 TeXcolorgray 0 TeXcolorgray+ −
460 3989 a Fr(\()p FG(a)12 b(b)p Fr(\))606 3998 y Fo(\001)644+ −
3989 y Fk(fn)738 3946 y Fn(def)745 3989 y Fr(=)28 b(\()p+ −
FG(a)13 b(b)p Fr(\))980 3998 y Fo(\001)1018 3989 y Fr(\()p+ −
FG(f)1085 4001 y Fq(1)1135 3989 y FG(c)p Fr(\))1219 3941+ −
y Fv(by)g(\(3\))1256 3989 y Fr(=)58 b(\(\()p FG(a)12+ −
b(b)p Fr(\))1550 3998 y Fo(\001)1588 3989 y FG(f)1625+ −
4001 y Fq(1)1663 3989 y Fr(\))g(\(\()p FG(a)h(b)p Fr(\))1882+ −
3998 y Fo(\001)1920 3989 y FG(c)p Fr(\))2004 3939 y Fq(\()p+ −
Fl(\003)p Fq(\))2017 3989 y Fr(=)34 b FG(f)2148 4001+ −
y Fq(1)2199 3989 y FG(c)2253 3946 y Fn(def)2260 3989+ −
y Fr(=)29 b Fk(fn)0 4133 y FI(where)23 b Fr(\()p FD(\003)p+ −
Fr(\))f FI(follo)n(ws)h(because)g(we)g(kno)n(w)g(that)g+ −
FG(a)i Fr(#)h FG(f)1508 4145 y Fq(1)1568 4133 y FI(and)d+ −
FG(b)j Fr(#)g FG(f)1890 4145 y Fq(1)1928 4133 y FI(,)c(and)h(therefore)+ −
h(by)f(Lem.)g(4)g(that)0 4228 y Fr(\()p FG(a)12 b(b)p+ −
Fr(\))146 4237 y Fo(\001)184 4228 y FG(f)221 4240 y Fq(1)280+ −
4228 y Fr(=)21 b FG(f)398 4240 y Fq(1)455 4228 y FI(\(similarly)g(for)g+ −
FG(c)p FI(\).)125 4324 y(W)-6 b(e)28 b(can)i(conclude)g(that)f+ −
Fk(supp)6 b Fr(\()p Fk(fn)f Fr(\))29 b FI(is)f(a)h(subset)g(of)g+ −
Fk(supp)6 b Fr(\()p FG(f)1860 4336 y Fq(1)1897 4324 y+ −
FG(;)13 b(c)p Fr(\))p FI(,)29 b(because)g(the)h(latter)e(is)h(\002nite)+ −
0 4419 y(\(since)21 b FG(f)246 4431 y Fq(1)303 4419 y+ −
FI(has)g(\002nite)f(support)i(by)f(assumption)g(and)g+ −
FG(c)g FI(is)f(\002nitely)g(supported)j(because)d(the)h(type)g+ −
Fs(name)0 4515 y FI(is)e(a)h(\002nitely)g(supported)i(type\).)f(So)f+ −
(by)g(Lem.)g(11,)g Fk(fn)26 b FI(must)20 b(ha)n(v)o(e)h(\002nite)f+ −
(support.)80 b FD(u)-51 b(t)p 0 TeXcolorgray 0 4581 898+ −
4 v 62 4646 a Fu(6)125 4669 y FF(The)17 b(dif)n(ference)j(between)f(a)f+ −
(recursion)h(and)e(an)h(iteration)i(combinator)f(is)f(that)g(in)g(the)g+ −
(former)f(we)h(can)g(use)f(directly)0 4746 y(the)23 b(ar)o(guments)g+ −
(of)f(the)g(term)h(constructor)m(,)h(while)f(in)g(the)f(latter)i(this)f+ −
(can)g(only)f(be)h(achie)n(v)o(ed)i(via)d(an)h(encoding)h(of)e(the)0+ −
4823 y(recursion.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray+ −
eop end+ −
%%Page: 17 17+ −
TeXDict begin 17 16 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(17)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 236 a FE(Example)21 b(2)p 0 TeXcolorgray 42 w FI(Let)f+ −
Fk(fn)574 204 y Fl(0)619 193 y Fn(def)626 236 y Fr(=)29+ −
b FG(\025x:)12 b FI(if)22 b FG(x)f Fr(=)g FG(y)k FI(then)d+ −
FG(t)1301 204 y Fl(0)1346 236 y FI(else)f Fr(\()p Fs(Var)1637+ −
244 y Fp(\013)1685 236 y Fr(\()p FG(x)p Fr(\)\))p FI(\227where)e+ −
FG(x)g FI(and)i FG(y)i FI(are)d(of)g(type)h Fs(name)0+ −
332 y FI(and)f FG(t)161 300 y Fl(0)202 332 y FI(a)f Fs(lam)374+ −
340 y Fp(\013)421 332 y FI(-term.)g(The)g(free)h(v)n(ariables)f(of)g+ −
(this)g(HOL-function)i(are)e FG(y)i FI(and)f FG(t)2236+ −
300 y Fl(0)2259 332 y FI(;)e(so)h(by)g(our)h(heuristic)0+ −
427 y(we)f(need)i(to)f(v)o(erify)g(whether)h Fk(supp)6+ −
b Fr(\()p FG(y)s(;)12 b(t)1129 395 y Fl(0)1152 427 y+ −
Fr(\))h Fk(supp)l(orts)21 b(fn)1562 395 y Fl(0)1585 427+ −
y FI(.)e(This)h(holds)g(by)h(the)f(follo)n(wing)h(calculation:)p+ −
0 TeXcolorgray 0 TeXcolorgray 442 582 a Fr(\()p FG(a)12+ −
b(b)p Fr(\))588 591 y Fo(\001)626 582 y Fr(\()p FG(\025x:)21+ −
b FI(if)h FG(x)f Fr(=)g FG(y)j FI(then)e FG(t)1250 550+ −
y Fl(0)1294 582 y FI(else)f Fs(Var)1556 590 y Fp(\013)1603+ −
582 y Fr(\()p FG(x)p Fr(\)\))268 658 y Fn(def)275 701+ −
y Fr(=)107 b FG(\025x:)21 b Fr(\()p FG(a)12 b(b)p Fr(\))719+ −
710 y Fo(\001)757 701 y Fr(\()p FI(if)22 b Fr(\()p FG(a)12+ −
b(b)p Fr(\))1003 669 y Fl(\000)p Fq(1)1092 710 y Fo(\001)1130+ −
701 y FG(x)21 b Fr(=)g FG(y)j FI(then)e FG(t)1523 669+ −
y Fl(0)1567 701 y FI(else)f Fs(Var)1829 709 y Fp(\013)1876+ −
701 y Fr(\(\()p FG(a)13 b(b)p Fr(\))2053 669 y Fl(\000)p+ −
Fq(1)2142 710 y Fo(\001)2180 701 y FG(x)p Fr(\)\))275+ −
797 y(=)107 b FG(\025x:)13 b FI(if)21 b FG(x)g Fr(=)g(\()p+ −
FG(a)12 b(b)p Fr(\))926 806 y Fo(\001)964 797 y FG(y)24+ −
b FI(then)e Fr(\()p FG(a)13 b(b)p Fr(\))1330 806 y Fo(\001)1368+ −
797 y FG(t)1396 765 y Fl(0)1440 797 y FI(then)22 b Fs(Var)1715+ −
805 y Fp(\013)1762 797 y Fr(\()p FG(x)p Fr(\))517 b FI(by)20+ −
b(\(10\))275 892 y Fr(=)107 b FG(\025x:)21 b FI(if)h+ −
FG(x)e Fr(=)i FG(y)h FI(then)f FG(t)1035 860 y Fl(0)1080+ −
892 y FI(else)f Fs(Var)1342 900 y Fp(\013)1389 892 y+ −
Fr(\()p FG(x)p Fr(\))1021 b(\()p FD(\003)p Fr(\))0 1053+ −
y FI(where)25 b Fr(\()p FD(\003)p Fr(\))g FI(follo)n(ws)g(by)g(Lem.)g+ −
(4)g(and)h(the)e(assumption)i(that)f FG(a)30 b Fr(#)g(\()p+ −
FG(y)s(;)12 b(t)2038 1022 y Fl(0)2061 1053 y Fr(\))25+ −
b FI(and)g FG(b)30 b Fr(#)g(\()p FG(y)s(;)12 b(t)2543+ −
1022 y Fl(0)2566 1053 y Fr(\))p FI(.)25 b(Since)f FG(y)0+ −
1149 y FI(and)d FG(t)162 1117 y Fl(0)204 1149 y FI(are)f(\002nitely)h+ −
(supported)g(types,)f Fk(fn)1173 1117 y Fl(0)1216 1149+ −
y FI(must)g(then)h(ha)n(v)o(e)f(\002nite)g(support.)80+ −
b FD(u)-51 b(t)125 1322 y FI(As)19 b(the)i(e)o(xamples)g(indicate,)f+ −
(by)h(using)g(the)g(heuristic,)g(one)g(can)f(infer)h(from)h(a)e+ −
(decision)h(problem)0 1417 y(in)m(v)n(olving)31 b(permutations)f+ −
(whether)f(or)g(not)g(a)f(function)i(has)e(\002nite)h(support.)g(The)g+ −
(important)h(point)0 1513 y(here)17 b(is)f(that)h(the)g(decision)h+ −
(procedure)h(in)m(v)n(olving)g(permutations)f(can)f(be)g(relati)n(v)o+ −
(ely)h(easily)e(automated)0 1608 y(with)g(a)f(special)g(purpose)i+ −
(tactic)f(analysing)g(permutations.)h(This)f(seems)f(much)i(more)f(con)+ −
m(v)o(enient)h(than)0 1704 y(analysing)k(the)f(support)h(of)g(a)f+ −
(function)h(directly)-5 b(.)125 1800 y(A)18 b(de\002nition)i(by)f+ −
(structural)g(recursion)h(in)m(v)n(olv)o(es)g(in)f(case)f(of)h(the)g+ −
(lambda-terms)h(three)f(functions)0 1896 y(\(one)h(for)g(each)f+ −
(term-constructor\))j(that)d(specify)h(the)f(beha)n(viour)j(of)d(the)h+ −
(function)g(to)g(be)f(de\002ned\227let)0 1991 y(us)28+ −
b(call)f(these)h(functions)h FG(f)787 2003 y Fq(1)825+ −
1991 y FI(,)e FG(f)909 2003 y Fq(2)947 1991 y FI(,)g+ −
FG(f)1031 2003 y Fq(3)1096 1991 y FI(for)i(the)f(v)n(ariable-,)h+ −
(application-)g(and)g(lambda-case,)f(respec-)0 2087 y(ti)n(v)o(ely)-5+ −
b(,)20 b(and)g(let)g(us)g(assume)g(the)o(y)g(ha)n(v)o(e)h(the)f(types:)+ −
p 0 TeXcolorgray 0 TeXcolorgray 870 2231 a FG(f)907 2243+ −
y Fq(1)966 2231 y Fr(:)h Fs(name)h FD(\))g FG(\013)870+ −
2327 y(f)907 2339 y Fq(2)966 2327 y Fr(:)f Fs(lam)1126+ −
2335 y Fp(\013)1195 2327 y FD(\))g Fs(lam)1410 2335 y+ −
Fp(\013)1479 2327 y FD(\))g FG(\013)h FD(\))f FG(\013)g+ −
FD(\))h FG(\013)870 2422 y(f)907 2434 y Fq(3)966 2422+ −
y Fr(:)f Fs(name)h FD(\))g Fs(lam)1402 2430 y Fp(\013)1471+ −
2422 y FD(\))f FG(\013)h FD(\))f FG(\013)0 2565 y FI(with)f+ −
FG(\013)h FI(being)g(a)f(permutation)i(type.)f(Then)g(the)g(\002rst)e+ −
(condition)j(Pitts)e(introduced)i(in)f([27])g(states)f(that)0+ −
2661 y FG(f)37 2673 y Fq(3)75 2661 y FI(\227the)h(function)i(for)f(the)+ −
g(lambda)g(case\227needs)f(to)h(satisfy)f(the)g FE(fr)m(eshness)g+ −
(condition)i(for)e(binder)o(s)p FI(,)0 2756 y(or)f(short)h+ −
FE(FCB)p FI(.)e(W)-6 b(e)20 b(formulate)i(this)d(condition)j(as:)1440+ −
2724 y Fv(7)p 0 TeXcolorgray 0 2930 a FJ(De\002nition)e(6)p+ −
0 TeXcolorgray 42 w(\(Fr)o(eshness)e(Condition)i(f)n(or)h(Binders\))0+ −
3025 y FE(A)f(function)h FG(f)28 b FE(with)20 b(type)g+ −
Fs(name)i FD(\))f Fs(lam)1112 3033 y Fp(\013)1181 3025+ −
y FD(\))g FG(\013)g FD(\))h FG(\013)e FE(satis\002es)f(the)h+ −
FI(FCB)f FE(pr)l(o)o(vided:)666 3196 y FD(8)p FG(a)12+ −
b(t)h(r)n(:)21 b(a)g Fr(#)g FG(f)47 b FD(^)39 b Fk(\014nite)6+ −
b Fr(\()p Fk(supp)f Fr(\()p FG(r)r Fr(\)\))42 b FD(\))h+ −
FG(a)21 b Fr(#)g FG(f)8 b(a)13 b(t)f(r)24 b(:)0 3369+ −
y FI(As)19 b(we)h(shall)g(see)g(later)g(on,)g(this)g(condition)i+ −
(ensures)e(that)g(the)h(result)f(of)g FG(f)2067 3381+ −
y Fq(3)2125 3369 y FI(is)f(independent)k(of)d(which)0+ −
3465 y(particular)30 b(fresh)g(name)g(one)g(chooses)g(for)g(the)f+ −
(binder)i FG(a)p FI(.)d(The)i(second)g(condition)h(states)d(that)h(the)+ −
0 3560 y(functions)22 b FG(f)351 3572 y Fq(1)389 3560+ −
y FI(,)e FG(f)466 3572 y Fq(2)525 3560 y FI(and)i FG(f)697+ −
3572 y Fq(3)755 3560 y FI(all)f(must)g(ha)n(v)o(e)h(\002nite)f+ −
(support.)h(This)f(condition)i(ensures)e(that)h(we)e(can)i(use)0+ −
3656 y(Prop.)e(1)h(when)f(choosing)i(a)d(fresh)i(name)f(for)h(the)f+ −
FG(f)8 b FI(s.)125 3752 y(W)m(ith)22 b(these)f(tw)o(o)h(conditions)h+ −
(we)f(can)g(deri)n(v)o(e)g(a)g(recursion)h(combinator)m(,)g(we)f(call)f+ −
(it)h Fk(rfun)2663 3770 y Fp(f)2695 3778 y Fj(1)2727+ −
3770 y Fp(f)2759 3778 y Fj(2)2792 3770 y Fp(f)2824 3778+ −
y Fj(3)2861 3752 y FI(,)0 3847 y(with)e(the)g(follo)n(wing)i+ −
(properties:)p 0 TeXcolorgray 0 4021 a FJ(Theor)o(em)d(3)p+ −
0 TeXcolorgray 42 w(\(Recursion)i(Combinator\))42 b FE(If)21+ −
b FG(f)1380 4033 y Fq(1)1417 4021 y FE(,)g FG(f)1495+ −
4033 y Fq(2)1553 4021 y FE(and)h FG(f)1729 4033 y Fq(3)1787+ −
4021 y FE(have)g(\002nite)f(support)h(and)g FG(f)2573+ −
4033 y Fq(3)2631 4021 y FE(satis\002es)0 4117 y(the)e(FCB,)g(then)g+ −
(ther)m(e)g(e)n(xists)f(a)h(r)m(ecur)o(sion)h(combinator)g+ −
Fk(rfun)1739 4135 y Fp(f)1771 4143 y Fj(1)1804 4135 y+ −
Fp(f)1836 4143 y Fj(2)1869 4135 y Fp(f)1901 4143 y Fj(3)1957+ −
4117 y FE(with)f(the)g(pr)l(operties:)p 0 TeXcolorgray+ −
0 TeXcolorgray 362 4283 a Fk(rfun)508 4301 y Fp(f)540+ −
4309 y Fj(1)573 4301 y Fp(f)605 4309 y Fj(2)638 4301+ −
y Fp(f)670 4309 y Fj(3)720 4283 y Fr(\()p Fs(Var)867+ −
4291 y Fp(\013)915 4283 y Fr(\()p FG(a)p Fr(\)\))158+ −
b(=)35 b FG(f)1336 4295 y Fq(1)1386 4283 y FG(a)362 4379+ −
y Fk(rfun)508 4398 y Fp(f)540 4406 y Fj(1)573 4398 y+ −
Fp(f)605 4406 y Fj(2)638 4398 y Fp(f)670 4406 y Fj(3)720+ −
4379 y Fr(\()p Fs(App)867 4400 y Fp(\013)915 4379 y Fr(\()p+ −
FG(t)973 4391 y Fq(1)1009 4379 y FG(;)13 b(t)1071 4391+ −
y Fq(2)1108 4379 y Fr(\)\))36 b(=)f FG(f)1336 4391 y+ −
Fq(2)1386 4379 y FG(t)1414 4391 y Fq(1)1464 4379 y FG(t)1492+ −
4391 y Fq(2)1542 4379 y Fr(\()p Fk(rfun)1718 4398 y Fp(f)1750+ −
4406 y Fj(1)1782 4398 y Fp(f)1814 4406 y Fj(2)1847 4398+ −
y Fp(f)1879 4406 y Fj(3)1929 4379 y FG(t)1957 4391 y+ −
Fq(1)1994 4379 y Fr(\))13 b(\()p Fk(rfun)2212 4398 y+ −
Fp(f)2244 4406 y Fj(1)2277 4398 y Fp(f)2309 4406 y Fj(2)2342+ −
4398 y Fp(f)2374 4406 y Fj(3)2424 4379 y FG(t)2452 4391+ −
y Fq(2)2489 4379 y Fr(\))362 4476 y Fk(rfun)508 4495+ −
y Fp(f)540 4503 y Fj(1)573 4495 y Fp(f)605 4503 y Fj(2)638+ −
4495 y Fp(f)670 4503 y Fj(3)720 4476 y Fr(\()p Fs(Lam)867+ −
4484 y Fp(\013)915 4476 y Fr(\()p FG(a;)f(t)p Fr(\)\))97+ −
b(=)35 b FG(f)1336 4488 y Fq(3)1386 4476 y FG(a)13 b(t)f+ −
Fr(\()p Fk(rfun)1656 4495 y Fp(f)1688 4503 y Fj(1)1721+ −
4495 y Fp(f)1753 4503 y Fj(2)1786 4495 y Fp(f)1818 4503+ −
y Fj(3)1867 4476 y FG(t)p Fr(\))1700 4573 y FE(pr)l(o)o(vided)22+ −
b FG(a)f Fr(#)g(\()p FG(f)2210 4585 y Fq(1)2248 4573+ −
y FG(;)13 b(f)2319 4585 y Fq(2)2356 4573 y FG(;)h(f)2428+ −
4585 y Fq(3)2465 4573 y Fr(\))p 0 TeXcolorgray 0 4658+ −
898 4 v 62 4722 a Fu(7)125 4746 y FF(W)-5 b(e)22 b(use)g(a)h(dif)n+ −
(ferent)j(v)o(ersion)d(of)g(the)g(FCB)g(than)h(actually)h(introduced)h+ −
(by)c(Pitts.)h(W)-5 b(e)23 b(shall)g(sho)n(w)g(later)h(that)g(our)0+ −
4823 y(v)o(ersion)18 b(and)g(one)f(that)h(closely)h(resembles)f(his)f+ −
(are)h(interderi)n(v)n(able.)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray eop end+ −
%%Page: 18 18+ −
TeXDict begin 18 17 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(18)p 0 TeXcolorgray 0 228 a FI(T)-6+ −
b(o)15 b(gi)n(v)o(e)h(a)f(proof)i(of)e(this)g(theorem)i(we)e(start)g+ −
(with)g(the)g(follo)n(wing)i(inducti)n(v)o(e)f(relation,)g(called)f+ −
Fk(r)l(e)l(c)2690 243 y Fp(f)2722 251 y Fj(1)2755 243+ −
y Fp(f)2787 251 y Fj(2)2820 243 y Fp(f)2852 251 y Fj(3)0+ −
324 y FI(and)i(which)g(has)f(type)h Fr(\()p Fs(lam)760+ −
332 y Fp(\013)811 324 y FD(\002)t FG(\013)p Fr(\))c Fs(set)k+ −
FI(where,)f(lik)o(e)h(abo)o(v)o(e,)g FG(\013)f FI(is)g(assumed)h(to)f+ −
(be)h(a)f(permutation)i(type:)p 268 581 879 4 v 268 653+ −
a Fr(\()p Fs(Var)416 661 y Fp(\013)463 653 y Fr(\()p+ −
FG(a)p Fr(\))p FG(;)13 b(f)635 665 y Fq(1)685 653 y FG(a)p+ −
Fr(\))21 b FD(2)h Fk(r)l(e)l(c)949 668 y Fp(f)981 676+ −
y Fj(1)1014 668 y Fp(f)1046 676 y Fj(2)1078 668 y Fp(f)1110+ −
676 y Fj(3)1289 535 y Fr(\()p FG(t)1347 547 y Fq(1)1384+ −
535 y FG(;)13 b(r)1453 547 y Fq(1)1490 535 y Fr(\))21+ −
b FD(2)h Fk(r)l(e)l(c)1713 550 y Fp(f)1745 558 y Fj(1)1778+ −
550 y Fp(f)1810 558 y Fj(2)1842 550 y Fp(f)1874 558 y+ −
Fj(3)1990 535 y Fr(\()p FG(t)2048 547 y Fq(2)2085 535+ −
y FG(;)13 b(r)2154 547 y Fq(2)2191 535 y Fr(\))21 b FD(2)h+ −
Fk(r)l(e)l(c)2414 550 y Fp(f)2446 558 y Fj(1)2479 550+ −
y Fp(f)2511 558 y Fj(2)2543 550 y Fp(f)2575 558 y Fj(3)p+ −
1289 581 1324 4 v 1314 653 a Fr(\()p Fs(App)1461 674+ −
y Fp(\013)1509 653 y Fr(\()p FG(t)1567 665 y Fq(1)1604+ −
653 y FG(;)13 b(t)1666 665 y Fq(2)1703 653 y Fr(\))p+ −
FG(;)g(f)1804 665 y Fq(2)1854 653 y FG(t)1882 665 y Fq(1)1932+ −
653 y FG(t)1960 665 y Fq(2)2010 653 y FG(r)2045 665 y+ −
Fq(1)2094 653 y FG(r)2129 665 y Fq(2)2166 653 y Fr(\))21+ −
b FD(2)h Fk(r)l(e)l(c)2389 668 y Fp(f)2421 676 y Fj(1)2454+ −
668 y Fp(f)2486 676 y Fj(2)2519 668 y Fp(f)2551 676 y+ −
Fj(3)877 821 y FG(a)f Fr(#)g(\()p FG(f)1091 833 y Fq(1)1128+ −
821 y FG(;)13 b(f)1199 833 y Fq(2)1237 821 y FG(;)g(f)1308+ −
833 y Fq(3)1346 821 y Fr(\))78 b(\()p FG(t;)13 b(r)r+ −
Fr(\))21 b FD(2)h Fk(r)l(e)l(c)1806 836 y Fp(f)1838 844+ −
y Fj(1)1871 836 y Fp(f)1903 844 y Fj(2)1935 836 y Fp(f)1967+ −
844 y Fj(3)p 877 867 1128 4 v 925 939 a Fr(\()p Fs(Lam)1073+ −
947 y Fp(\013)1120 939 y Fr(\()p FG(a;)13 b(t)p Fr(\))p+ −
FG(;)f(f)1353 951 y Fq(3)1404 939 y FG(a)g(t)h(r)r Fr(\))21+ −
b FD(2)g Fk(r)l(e)l(c)1757 954 y Fp(f)1789 962 y Fj(1)1822+ −
954 y Fp(f)1854 962 y Fj(2)1887 954 y Fp(f)1919 962 y+ −
Fj(3)2749 742 y FI(\(23\))125 1081 y(W)-6 b(e)26 b(shall)g(sho)n(w)h+ −
(ne)o(xt)f(that)h(the)f(relation)h Fk(r)l(e)l(c)1413+ −
1096 y Fp(f)1445 1104 y Fj(1)1478 1096 y Fp(f)1510 1104+ −
y Fj(2)1543 1096 y Fp(f)1575 1104 y Fj(3)1638 1081 y+ −
FI(de\002nes)g(a)f(function)i(in)e(the)h(sense)e(that)i(for)0+ −
1177 y(all)k(lambda-terms)h FG(t)f FI(there)h(e)o(xists)e(a)h(unique)i+ −
FG(r)f FI(so)f(that)h Fr(\()p FG(t;)12 b(r)r Fr(\))42+ −
b FD(2)f Fk(r)l(e)l(c)2053 1192 y Fp(f)2085 1200 y Fj(1)2117+ −
1192 y Fp(f)2149 1200 y Fj(2)2182 1192 y Fp(f)2214 1200+ −
y Fj(3)2251 1177 y FI(.)31 b(From)h(this)e(we)h(can)0+ −
1272 y(again)19 b(use)g(standard)i(techniques)f(of)f(HOL)g(to)h(obtain)+ −
g(a)f(function)h(from)h Fs(lam)2143 1280 y Fp(\013)2210+ −
1272 y FI(to)e FG(\013)g FI(\(see)g(for)h(e)o(xample)0+ −
1368 y(Slind)28 b([28]\).)h(W)-6 b(e)27 b(\002rst)g(sho)n(w)h(that)g+ −
(in)g Fk(r)l(e)l(c)1205 1383 y Fp(f)1237 1391 y Fj(1)1270+ −
1383 y Fp(f)1302 1391 y Fj(2)1335 1383 y Fp(f)1367 1391+ −
y Fj(3)1431 1368 y FI(the)g(\223result\224)g FG(r)h FI(has)e(\002nite)h+ −
(support)h(pro)o(vided)g(the)0 1463 y(functions)21 b+ −
FG(f)350 1475 y Fq(1)388 1463 y FI(,)e FG(f)464 1475+ −
y Fq(2)521 1463 y FI(and)i FG(f)692 1475 y Fq(3)749 1463+ −
y FI(ha)n(v)o(e)g(\002nite)f(support.)p 0 TeXcolorgray+ −
0 1609 a FJ(Lemma)f(12)p 0 TeXcolorgray 43 w(\(Finite)25+ −
b(Support\))g FE(If)g FG(f)1084 1621 y Fq(1)1122 1609+ −
y FE(,)g FG(f)1204 1621 y Fq(2)1266 1609 y FE(and)h FG(f)1446+ −
1621 y Fq(3)1509 1609 y FE(have)g(\002nite)g(support,)f(then)h+ −
Fr(\()p FG(t;)13 b(r)r Fr(\))30 b FD(2)h Fk(r)l(e)l(c)2682+ −
1624 y Fp(f)2714 1632 y Fj(1)2747 1624 y Fp(f)2779 1632+ −
y Fj(2)2812 1624 y Fp(f)2844 1632 y Fj(3)0 1704 y FE(implies)20+ −
b(that)g FG(r)i FE(has)e(\002nite)g(support.)p 0 TeXcolorgray+ −
0 1870 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(By)i(induction)j(o)o(v)o(er)+ −
e(the)g(relation)h(de\002ned)f(in)g(\(23\).)h(In)f(the)g(v)n+ −
(ariable-case)h(we)f(ha)n(v)o(e)g(to)g(sho)n(w)0 1965+ −
y(that)f FG(f)177 1977 y Fq(1)227 1965 y FG(a)f FI(has)h(\002nite)f+ −
(support,)i(which)f(we)g(inferred)h(in)e(Example)i(1)f(using)g(our)h+ −
(heuristic.)f(The)g(appli-)0 2061 y(cation)e(and)h(lambda-case)g(are)f+ −
(by)h(similar)e(calculations.)80 b FD(u)-51 b(t)0 2206+ −
y FI(In)20 b(the)f(proof)h(of)g(Thm)g(3,)f(we)g(need)g(the)h(follo)n+ −
(wing)g(lemma)g(establishing)g(that)f Fk(r)l(e)l(c)2303+ −
2221 y Fp(f)2335 2229 y Fj(1)2368 2221 y Fp(f)2400 2229+ −
y Fj(2)2432 2221 y Fp(f)2464 2229 y Fj(3)2520 2206 y+ −
FI(is)g FE(equivari-)0 2302 y(ant)j FI(\(see)e(Pitts)f([26]\).)p+ −
0 TeXcolorgray 0 2447 a FJ(Lemma)g(13)p 0 TeXcolorgray+ −
43 w(\(Equi)o(v)o(ariance\))29 b FE(If)g Fr(\()p FG(t;)12+ −
b(r)r Fr(\))37 b FD(2)g Fk(r)l(e)l(c)1388 2462 y Fp(f)1420+ −
2470 y Fj(1)1453 2462 y Fp(f)1485 2470 y Fj(2)1518 2462+ −
y Fp(f)1550 2470 y Fj(3)1615 2447 y FE(holds)29 b(then)g(for)g(all)f+ −
FG(\031)s FE(,)g(also)h Fr(\()p FG(\031)2542 2456 y Fo(\001)2579+ −
2447 y FG(t;)13 b(\031)2688 2456 y Fo(\001)2726 2447+ −
y FG(r)r Fr(\))37 b FD(2)0 2543 y FG(r)r(ec)106 2564+ −
y Fq(\()p Fp(\031)173 2573 y Fo(\001)211 2564 y Fp(f)243+ −
2572 y Fj(1)276 2564 y Fq(\)\()p Fp(\031)369 2573 y Fo(\001)407+ −
2564 y Fp(f)439 2572 y Fj(2)471 2564 y Fq(\)\()p Fp(\031)564+ −
2573 y Fo(\001)602 2564 y Fp(f)634 2572 y Fj(3)667 2564+ −
y Fq(\))717 2543 y FE(holds.)p 0 TeXcolorgray 0 2708+ −
a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(By)17 b(induction)j(o)o(v)o(er)e+ −
(the)g(rules)g(gi)n(v)o(en)h(in)f(\(23\).)h(All)e(cases)g(are)h+ −
(routine)h(by)g(pushing)g(the)f(permu-)0 2804 y(tation)j+ −
FG(\031)h FI(into)f FG(t)f FI(and)h FG(r)r FI(,)e(e)o(xcept)i(in)f(the)+ −
h(lambda-case)g(where)f(we)g(ha)n(v)o(e)h(to)g(apply)g(Lem.)f(3)p+ −
FE(\(iii\))h FI(in)f(order)0 2899 y(to)g(infer)h FG(\031)297+ −
2908 y Fo(\001)335 2899 y FG(a)g Fr(#)g(\()p FG(\031)559+ −
2908 y Fo(\001)597 2899 y FG(f)634 2911 y Fq(1)671 2899+ −
y FG(;)13 b(\031)752 2908 y Fo(\001)790 2899 y FG(f)827+ −
2911 y Fq(2)865 2899 y FG(;)g(\031)946 2908 y Fo(\001)983+ −
2899 y FG(f)1020 2911 y Fq(3)1058 2899 y Fr(\))20 b FI(from)h+ −
FG(a)g Fr(#)g(\()p FG(f)1495 2911 y Fq(1)1532 2899 y+ −
FG(;)13 b(f)1603 2911 y Fq(2)1641 2899 y FG(;)g(f)1712+ −
2911 y Fq(3)1750 2899 y Fr(\))p FI(.)78 b FD(u)-51 b(t)0+ −
3045 y FI(Ne)o(xt)20 b(we)g(can)g(sho)n(w)g(the)g(crucial)g(lemma)h+ −
(about)g Fk(r)l(e)l(c)1476 3060 y Fp(f)1508 3068 y Fj(1)1541+ −
3060 y Fp(f)1573 3068 y Fj(2)1606 3060 y Fp(f)1638 3068+ −
y Fj(3)1694 3045 y FI(being)g(a)f(\223function\224.)p+ −
0 TeXcolorgray 0 3191 a FJ(Lemma)f(14)p 0 TeXcolorgray+ −
43 w(\(Existence)c(and)g(Uniqueness\))f FE(If)i FG(f)1430+ −
3203 y Fq(1)1467 3191 y FE(,)f FG(f)1539 3203 y Fq(2)1592+ −
3191 y FE(and)h FG(f)1762 3203 y Fq(3)1815 3191 y FE(have)g(\002nite)g+ −
(support)g(and)g FG(f)2578 3203 y Fq(3)2631 3191 y FE(satis\002es)0+ −
3286 y(the)k(FCB,)g(then)g FD(9)p Fr(!)p FG(r)n(:)13+ −
b Fr(\()p FG(t;)f(r)r Fr(\))21 b FD(2)h Fk(r)l(e)l(c)942+ −
3301 y Fp(f)974 3309 y Fj(1)1007 3301 y Fp(f)1039 3309+ −
y Fj(2)1072 3301 y Fp(f)1104 3309 y Fj(3)1141 3286 y+ −
FE(.)p 0 TeXcolorgray 0 3452 a(Pr)l(oof)p 0 TeXcolorgray+ −
40 w FI(By)15 b(the)g(induction)i(principle)f(gi)n(v)o(en)h(in)e(Thm.)h+ −
(2,)f(where)h(we)f(set)f(the)i(function)h FG(f)23 b FI(to)16+ −
b(the)f(constant)0 3547 y(function)22 b FG(\025)p 333+ −
3547 24 4 v 348 3547 V 44 w(:)p Fr(\()p FG(f)460 3559+ −
y Fq(1)497 3547 y FG(;)13 b(f)568 3559 y Fq(2)606 3547+ −
y FG(;)g(f)677 3559 y Fq(3)715 3547 y Fr(\))19 b FI(and)i(the)g+ −
(induction)h(conte)o(xt)e FG(c)h FI(to)f Fs(unit)q FI(.)1895+ −
3515 y Fv(8)1946 3547 y FI(Condition)i FE(\(i\))e FI(of)h(Thm.)g(2)f+ −
(holds)0 3643 y(because)i(by)g(assumption)g FG(f)788+ −
3655 y Fq(1)826 3643 y FI(,)e FG(f)903 3655 y Fq(2)962+ −
3643 y FI(and)i FG(f)1134 3655 y Fq(3)1193 3643 y FI(ha)n(v)o(e)g+ −
(\002nite)f(support.)h(The)g(only)g(non-routine)j(case)20+ −
b(then)i(is)0 3738 y(the)j(lambda-case)g(with)g(sho)n(wing)g(that)g+ −
FD(9)p Fr(!)p FG(r)n(:)13 b Fr(\()p Fs(Lam)1414 3746+ −
y Fp(\013)1461 3738 y Fr(\()p FG(a;)g(t)p Fr(\))p FG(;)g(r)r+ −
Fr(\))29 b FD(2)h Fk(r)l(e)l(c)1934 3753 y Fp(f)1966+ −
3761 y Fj(1)1999 3753 y Fp(f)2031 3761 y Fj(2)2064 3753+ −
y Fp(f)2096 3761 y Fj(3)2157 3738 y FI(holds.)25 b(This)f(is)g(dif)n+ −
(\002cult,)0 3834 y(because)g(for)g(lambdas)h(we)e(do)h(not)h(ha)n(v)o+ −
(e)f(injecti)n(vity)h(\(see)e(\(18\)\).)i(The)f(proof)h(in)f(this)f+ −
(case)h(proceeds)0 3929 y(as)19 b(follo)n(ws.)125 4025+ −
y(The)28 b(induction)i(principle)f(allo)n(ws)f(us)g(to)g(assume)g(that)+ −
g FG(a)36 b Fr(#)g(\()p FG(f)1978 4037 y Fq(1)2015 4025+ −
y FG(;)13 b(f)2086 4037 y Fq(2)2124 4025 y FG(;)g(f)2195+ −
4037 y Fq(3)2232 4025 y Fr(\))p FI(,)28 b(therefore)h(the)f(\223e)o(x-)+ −
0 4120 y(istential\224)f(part)g(of)h(the)f(lemma)h(is)e(immediate.)i+ −
(In)g(the)f(\223uniqueness\224)h(part)g(we)f(ha)n(v)o(e)h(to)f(sho)n(w)+ −
h(that)0 4216 y(if)h Fr(\()p Fs(Lam)225 4224 y Fp(\013)272+ −
4216 y Fr(\()p FG(a;)13 b(t)p Fr(\))p FG(;)f(f)505 4228+ −
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+ −
4231 y Fp(f)974 4239 y Fj(1)1007 4231 y Fp(f)1039 4239+ −
y Fj(2)1072 4231 y Fp(f)1104 4239 y Fj(3)1170 4216 y+ −
FI(and)29 b(also)g Fr(\()p Fs(Lam)1616 4224 y Fp(\013)1663+ −
4216 y Fr(\()p FG(b;)13 b(t)1788 4184 y Fl(0)1811 4216+ −
y Fr(\))p FG(;)g(f)1912 4228 y Fq(3)1963 4216 y FG(b)f(t)2036+ −
4184 y Fl(0)2072 4216 y FG(r)2109 4184 y Fl(0)2132 4216+ −
y Fr(\))38 b FD(2)g Fk(r)l(e)l(c)2388 4231 y Fp(f)2420+ −
4239 y Fj(1)2453 4231 y Fp(f)2485 4239 y Fj(2)2518 4231+ −
y Fp(f)2550 4239 y Fj(3)2615 4216 y FI(with)29 b(the)0+ −
4311 y(equation)23 b Fs(Lam)411 4319 y Fp(\013)458 4311+ −
y Fr(\()p FG(a;)13 b(t)p Fr(\))24 b(=)h Fs(Lam)847 4319+ −
y Fp(\013)895 4311 y Fr(\()p FG(b;)13 b(t)1020 4279 y+ −
Fl(0)1043 4311 y Fr(\))p FI(,)21 b(then)h FG(f)1308 4323+ −
y Fq(3)1358 4311 y FG(a)13 b(t)f(r)27 b Fr(=)d FG(f)1635+ −
4323 y Fq(3)1686 4311 y FG(b)12 b(t)1759 4279 y Fl(0)1795+ −
4311 y FG(r)1832 4279 y Fl(0)1877 4311 y FI(holds.)22+ −
b(By)g(rule)g(in)m(v)o(ersion)h(we)e(can)0 4406 y(assume)f(that)g+ −
FG(b)i Fr(#)g(\()p FG(f)598 4418 y Fq(1)635 4406 y FG(;)13+ −
b(f)706 4418 y Fq(2)744 4406 y FG(;)g(f)815 4418 y Fq(3)852+ −
4406 y Fr(\))20 b FI(and)h(that)f(there)h(e)o(xists)e(an)h+ −
FG(r)1681 4375 y Fl(0)1724 4406 y FI(such)h(that)f Fr(\()p+ −
FG(t)2085 4375 y Fl(0)2108 4406 y FG(;)13 b(r)2179 4375+ −
y Fl(0)2202 4406 y Fr(\))22 b FD(2)g Fk(r)l(e)l(c)2426+ −
4421 y Fp(f)2458 4429 y Fj(1)2491 4421 y Fp(f)2523 4429+ −
y Fj(2)2555 4421 y Fp(f)2587 4429 y Fj(3)2624 4406 y+ −
FI(;)e(further)0 4502 y(by)g(the)g(induction)h(we)e(kno)n(w)i(there)f+ −
(is)f(a)g(unique)i FG(r)g FI(such)f(that)g Fr(\()p FG(t;)13+ −
b(r)r Fr(\))20 b FD(2)i Fk(r)l(e)l(c)2081 4517 y Fp(f)2113+ −
4525 y Fj(1)2146 4517 y Fp(f)2178 4525 y Fj(2)2211 4517+ −
y Fp(f)2243 4525 y Fj(3)2280 4502 y FI(.)d(No)n(w)g(we)h(sho)n(w)f(the)+ −
0 4597 y(follo)n(wing)i(6)g(f)o(acts:)p 0 TeXcolorgray+ −
0 4658 898 4 v 62 4722 a Fu(8)125 4746 y FF(F)o(or)e(this)g(induction)j+ −
(we)d(cannot)i(use)e(the)h(more)g(con)m(v)o(enient)i(induction)g+ −
(principle)g(sho)n(wn)d(in)h(\(21\),)f(because)i(func-)0+ −
4823 y(tions)d(do)f(not)g(ha)o(v)o(e)h(\002nitely)h(supported)f(type.)p+ −
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 19 19+ −
TeXDict begin 19 18 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(19)p 0 TeXcolorgray 0 TeXcolorgray+ −
59 228 a FI(\(i\))p 0 TeXcolorgray 39 w(From)33 b Fr(\()p+ −
FG(t;)13 b(r)r Fr(\))44 b FD(2)h Fk(r)l(e)l(c)773 243+ −
y Fp(f)805 251 y Fj(1)838 243 y Fp(f)870 251 y Fj(2)902+ −
243 y Fp(f)934 251 y Fj(3)1004 228 y FI(and)33 b Fr(\()p+ −
FG(t)1208 197 y Fl(0)1231 228 y FG(;)13 b(r)1302 197+ −
y Fl(0)1325 228 y Fr(\))45 b FD(2)f Fk(r)l(e)l(c)1595+ −
243 y Fp(f)1627 251 y Fj(1)1659 243 y Fp(f)1691 251 y+ −
Fj(2)1724 243 y Fp(f)1756 251 y Fj(3)1826 228 y FI(we)32+ −
b(can)h(infer)h(by)f(Lem.)g(12)g(that)g FG(r)172 324+ −
y FI(and)25 b FG(r)347 292 y Fl(0)395 324 y FI(are)g(\002nitely)g+ −
(supported.)i(Therefore)f(we)f(can)g(apply)h(Prop.)f(1)g(to)g(obtain)h+ −
(a)f FG(c)g FI(with)f FG(c)31 b Fr(#)172 419 y(\()p FG(f)239+ −
431 y Fq(1)276 419 y FG(;)13 b(f)347 431 y Fq(2)385 419+ −
y FG(;)g(f)456 431 y Fq(3)493 419 y FG(;)h(t;)e(t)617+ −
388 y Fl(0)640 419 y FG(;)i(r)n(;)e(r)778 388 y Fl(0)801+ −
419 y FG(;)h(a;)g(b)p Fr(\))p FI(\227all)20 b(v)n(ariables)g(in)g(the)g+ −
(tuple)h(ha)n(v)o(e)f(\002nite)g(support.)p 0 TeXcolorgray+ −
37 515 a(\(ii\))p 0 TeXcolorgray 39 w(From)k(\(19\))i(we)d(ha)n(v)o(e)i+ −
(that)f FG(a)29 b Fr(#)f Fs(Lam)1229 523 y Fp(\013)1276+ −
515 y Fr(\()p FG(a;)13 b(t)p Fr(\))23 b FI(and)i FG(b)k+ −
Fr(#)f Fs(Lam)1872 523 y Fp(\013)1919 515 y Fr(\()p FG(b;)13+ −
b(t)2044 483 y Fl(0)2067 515 y Fr(\))p FI(.)24 b(W)m(ith)g(\(i\))g(we)g+ −
(can)g(further)172 610 y(infer)30 b(that)g FG(c)39 b+ −
Fr(#)g Fs(Lam)791 618 y Fp(\013)838 610 y Fr(\()p FG(a;)13+ −
b(t)p Fr(\))29 b FI(and)h FG(c)39 b Fr(#)g Fs(Lam)1466+ −
618 y Fp(\013)1513 610 y Fr(\()p FG(b;)13 b(t)1638 579+ −
y Fl(0)1661 610 y Fr(\))p FI(.)29 b(From)h(the)g(assumption)h+ −
Fs(Lam)2573 618 y Fp(\013)2620 610 y Fr(\()p FG(a;)13+ −
b(t)p Fr(\))38 b(=)172 706 y Fs(Lam)289 714 y Fp(\013)337+ −
706 y Fr(\()p FG(b;)13 b(t)462 674 y Fl(0)485 706 y Fr(\))p+ −
FI(,)28 b(we)h(can)g(then)h(use)e(Lem.)i(4)f(to)g(deri)n(v)o(e)h+ −
Fr(\()p FG(a)12 b(c)p Fr(\))1841 715 y Fo(\001)1879 706+ −
y Fs(Lam)1997 714 y Fp(\013)2044 706 y Fr(\()p FG(a;)h(t)p+ −
Fr(\))37 b(=)g(\()p FG(b)13 b(c)p Fr(\))2480 715 y Fo(\001)2518+ −
706 y Fs(Lam)2636 714 y Fp(\013)2683 706 y Fr(\()p FG(b;)g(t)2808+ −
674 y Fl(0)2831 706 y Fr(\))p FI(,)172 801 y(which)24+ −
b(implies)f(that)g Fs(Lam)902 809 y Fp(\013)949 801 y+ −
Fr(\()p FG(c;)14 b Fr(\()p FG(a)e(c)p Fr(\))1193 810+ −
y Fo(\001)1231 801 y FG(t)p Fr(\))27 b(=)h Fs(Lam)1521+ −
809 y Fp(\013)1569 801 y Fr(\()p FG(c;)13 b Fr(\()p FG(a)f(c)p+ −
Fr(\))1812 810 y Fo(\001)1850 801 y FG(t)1878 770 y Fl(0)1901+ −
801 y Fr(\))p FI(;)23 b(hence)h(by)g(\(18\))h(that)e+ −
Fr(\()p FG(a)13 b(c)p Fr(\))2728 810 y Fo(\001)2766 801+ −
y FG(t)27 b Fr(=)172 897 y(\()p FG(b)12 b(c)p Fr(\))310+ −
906 y Fo(\001)349 897 y FG(t)377 865 y Fl(0)400 897 y+ −
FI(.)p 0 TeXcolorgray 15 992 a(\(iii\))p 0 TeXcolorgray+ −
39 w(From)22 b Fr(\()p FG(t;)13 b(r)r Fr(\))24 b FD(2)h+ −
Fk(r)l(e)l(c)722 1007 y Fp(f)754 1015 y Fj(1)787 1007+ −
y Fp(f)819 1015 y Fj(2)852 1007 y Fp(f)884 1015 y Fj(3)921+ −
992 y FI(,)c Fr(\()p FG(t)1020 960 y Fl(0)1043 992 y+ −
FG(;)13 b(r)1114 960 y Fl(0)1137 992 y Fr(\))25 b FD(2)g+ −
Fk(r)l(e)l(c)1367 1007 y Fp(f)1399 1015 y Fj(1)1432 1007+ −
y Fp(f)1464 1015 y Fj(2)1497 1007 y Fp(f)1529 1015 y+ −
Fj(3)1587 992 y FG(a)f Fr(#)h(\()p FG(f)1808 1004 y Fq(1)1846+ −
992 y FG(;)13 b(f)1917 1004 y Fq(2)1954 992 y FG(;)g(f)2025+ −
1004 y Fq(3)2063 992 y Fr(\))21 b FI(and)i FG(b)h Fr(#)h(\()p+ −
FG(f)2463 1004 y Fq(1)2500 992 y FG(;)14 b(f)2572 1004+ −
y Fq(2)2609 992 y FG(;)f(f)2680 1004 y Fq(3)2718 992+ −
y Fr(\))p FI(,)21 b(we)172 1088 y(can)f(infer)g(by)g(Lem.)f(4)h(and)g+ −
(13)g(that)g Fr(\(\()p FG(a)12 b(c)p Fr(\))1354 1097+ −
y Fo(\001)1393 1088 y FG(t;)g Fr(\()p FG(a)h(c)p Fr(\))1601+ −
1097 y Fo(\001)1639 1088 y FG(r)r Fr(\))21 b FD(2)h Fk(r)l(e)l(c)1899+ −
1103 y Fp(f)1931 1111 y Fj(1)1963 1103 y Fp(f)1995 1111+ −
y Fj(2)2028 1103 y Fp(f)2060 1111 y Fj(3)2116 1088 y+ −
FI(and)f Fr(\(\()p FG(b)12 b(c)p Fr(\))2418 1097 y Fo(\001)2456+ −
1088 y FG(t)2484 1056 y Fl(0)2507 1088 y FG(;)i Fr(\()p+ −
FG(b)e(c)p Fr(\))2680 1097 y Fo(\001)2718 1088 y FG(r)2755+ −
1056 y Fl(0)2778 1088 y Fr(\))22 b FD(2)172 1183 y Fk(r)l(e)l(c)271+ −
1198 y Fp(f)303 1206 y Fj(1)336 1198 y Fp(f)368 1206+ −
y Fj(2)401 1198 y Fp(f)433 1206 y Fj(3)469 1183 y FI(.)h(Since)h(by)g+ −
(induction)h(hypothesis)f FD(9)p Fr(!)p FG(r)n(:)12 b+ −
Fr(\()p FG(t;)h(r)r Fr(\))27 b FD(2)h Fk(r)l(e)l(c)1988+ −
1198 y Fp(f)2020 1206 y Fj(1)2053 1198 y Fp(f)2085 1206+ −
y Fj(2)2118 1198 y Fp(f)2150 1206 y Fj(3)2210 1183 y+ −
FI(we)23 b(also)g(ha)n(v)o(e)h(the)f(f)o(act)172 1279+ −
y(that)d FD(9)p Fr(!)p FG(r)n(:)12 b Fr(\(\()p FG(a)h(c)p+ −
Fr(\))617 1288 y Fo(\001)655 1279 y FG(t;)g(r)r Fr(\))21+ −
b FD(2)g Fk(r)l(e)l(c)977 1294 y Fp(f)1009 1302 y Fj(1)1041+ −
1294 y Fp(f)1073 1302 y Fj(2)1106 1294 y Fp(f)1138 1302+ −
y Fj(3)1175 1279 y FI(.)e(Thus)i(we)f(can)g(use)g(\(ii\))g(to)g(infer)g+ −
(that)g Fr(\()p FG(a)13 b(c)p Fr(\))2408 1288 y Fo(\001)2446+ −
1279 y FG(r)23 b Fr(=)e(\()p FG(b)13 b(c)p Fr(\))2724+ −
1288 y Fo(\001)2762 1279 y FG(r)2799 1247 y Fl(0)2822+ −
1279 y FI(.)p 0 TeXcolorgray 21 1374 a(\(i)n(v\))p 0+ −
TeXcolorgray 40 w(Using)26 b(the)g(FCB)f(for)h FG(f)837+ −
1386 y Fq(3)900 1374 y FI(and)h(kno)n(wing)g(that)f FG(a)32+ −
b Fr(#)g FG(f)1689 1386 y Fq(3)1752 1374 y FI(and)27+ −
b FG(b)32 b Fr(#)g FG(f)2090 1386 y Fq(3)2153 1374 y+ −
FI(as)25 b(well)h(as)f FG(r)i FI(and)g FG(r)2736 1342+ −
y Fl(0)2785 1374 y FI(are)172 1470 y(\002nitely)20 b(supported)i+ −
(\(from)f(\(i\)\),)f(we)g(can)g(infer)h(that)f FG(a)h+ −
Fr(#)g FG(f)1817 1482 y Fq(3)1867 1470 y FG(a)13 b(t)f(r)22+ −
b FI(and)f FG(b)g Fr(#)g FG(f)2328 1482 y Fq(3)2378 1470+ −
y FG(b)13 b(t)2452 1438 y Fl(0)2488 1470 y FG(r)2525+ −
1438 y Fl(0)2568 1470 y FI(hold.)p 0 TeXcolorgray 41+ −
1565 a(\(v\))p 0 TeXcolorgray 40 w(Since)19 b Fk(supp)6+ −
b Fr(\()p FG(f)589 1577 y Fq(3)626 1565 y FG(;)13 b(a;)g(t;)g(r)r+ −
Fr(\))p Fk(supp)l(orts)8 b Fr(\()p FG(f)1212 1577 y Fq(3)1262+ −
1565 y FG(a)13 b(t)f(r)r Fr(\))19 b FI(and)i(since)e+ −
FG(c)i Fr(#)h(\()p FG(f)1964 1577 y Fq(3)2001 1565 y+ −
FG(;)13 b(a;)g(t;)g(r)r Fr(\))19 b FI(\(from)i(\(i\)\),)e(we)h(kno)n(w)+ −
172 1661 y(by)g(Lem.)g(11)h(that)f FG(c)i Fr(#)f FG(f)868+ −
1673 y Fq(3)918 1661 y FG(a)13 b(t)f(r)22 b FI(holds.)e(Similarly)g(we)+ −
g(can)g(infer)h(that)f FG(c)i Fr(#)f FG(f)2317 1673 y+ −
Fq(3)2367 1661 y FG(b)13 b(t)2441 1629 y Fl(0)2477 1661+ −
y FG(r)2514 1629 y Fl(0)2556 1661 y FI(holds.)p 0 TeXcolorgray+ −
19 1756 a(\(vi\))p 0 TeXcolorgray 40 w(Finally)-5 b(,)24+ −
b(in)h(order)g(to)g(sho)n(w)g(that)f FG(f)1164 1768 y+ −
Fq(3)1214 1756 y FG(a)13 b(t)f(r)32 b Fr(=)d FG(f)1501+ −
1768 y Fq(3)1551 1756 y FG(b)13 b(t)1625 1724 y Fl(0)1661+ −
1756 y FG(r)1698 1724 y Fl(0)1745 1756 y FI(holds,)25+ −
b(it)f(suf)n(\002ces)g(by)h(Lem.)g(4)f(and)h(the)172+ −
1852 y(f)o(acts)19 b(deri)n(v)o(ed)i(in)f(\(i)n(v\))h(and)f(\(v\))h(to)+ −
f(sho)n(w)g(that)g Fr(\()p FG(a)12 b(c)p Fr(\))1599 1861+ −
y Fo(\001)1637 1852 y Fr(\()p FG(f)1704 1864 y Fq(3)1754+ −
1852 y FG(a)h(t)f(r)r Fr(\))21 b(=)g(\()p FG(b)13 b(c)p+ −
Fr(\))2156 1861 y Fo(\001)2194 1852 y Fr(\()p FG(f)2261+ −
1864 y Fq(3)2311 1852 y FG(b)g(t)2385 1820 y Fl(0)2421+ −
1852 y FG(r)2458 1820 y Fl(0)2481 1852 y Fr(\))19 b FI(holds.)i(This)+ −
172 1947 y(in)e(turn)h(is)f(by)h(\(3\))g(equi)n(v)n(alent)g(to)f+ −
FG(f)1139 1959 y Fq(3)1190 1947 y FG(c)13 b Fr(\(\()p+ −
FG(a)f(c)p Fr(\))1412 1956 y Fo(\001)1450 1947 y FG(t)p+ −
Fr(\))h(\(\()p FG(a)f(c)p Fr(\))1697 1956 y Fo(\001)1735+ −
1947 y FG(r)r Fr(\))21 b(=)g FG(f)1941 1959 y Fq(3)1992+ −
1947 y FG(c)13 b Fr(\(\()p FG(b)f(c)p Fr(\))2206 1956+ −
y Fo(\001)2244 1947 y FG(t)2272 1915 y Fl(0)2295 1947+ −
y Fr(\))h(\(\()p FG(b)g(c)p Fr(\))2507 1956 y Fo(\001)2545+ −
1947 y FG(r)2582 1915 y Fl(0)2605 1947 y Fr(\))p FI(.)18+ −
b(By)h(the)172 2042 y(f)o(acts)h(deri)n(v)o(ed)h(in)f(\(ii\))g(and)g+ −
(\(iii\))h(we)e(ha)n(v)o(e)i(that)f(these)g(terms)g(are)g(indeed)h+ −
(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+ −
(theorem)h(about)f(structural)g(recursion)g(we)f(de\002ne)h+ −
Fk(rfun)1981 2207 y Fp(f)2013 2215 y Fj(1)2045 2207 y+ −
Fp(f)2077 2215 y Fj(2)2110 2207 y Fp(f)2142 2215 y Fj(3)2192+ −
2189 y FG(t)f FI(to)g(be)g(the)g(unique)i FG(r)g FI(so)0+ −
2284 y(that)g Fr(\()p FG(t;)12 b(r)r Fr(\))21 b FD(2)h+ −
Fk(r)l(e)l(c)489 2299 y Fp(f)521 2307 y Fj(1)554 2299+ −
y Fp(f)586 2307 y Fj(2)619 2299 y Fp(f)651 2307 y Fj(3)688+ −
2284 y FI(.)d(This)g(is)g(a)h(standard)g(construction)i(in)d(HOL-based)+ −
i(theorem)g(pro)o(v)o(ers;)f(it)f(in-)0 2380 y(v)n(olv)o(es)h(the)e+ −
(HOL)-7 b(')l(s)18 b(de\002nite)h(description)h(operator)g(\(see)f+ −
(Isabelle')l(s)f(tutorial)h([21,)g(Sec.)f(5.10.1]\).)i(The)0+ −
2475 y(characteristic)27 b(equations)h(for)g Fk(rfun)1041+ −
2494 y Fp(f)1073 2502 y Fj(1)1106 2494 y Fp(f)1138 2502+ −
y Fj(2)1170 2494 y Fp(f)1202 2502 y Fj(3)1266 2475 y+ −
FI(are)f(then)h(determined)g(by)g(the)f(de\002nition)h(of)f+ −
Fk(r)l(e)l(c)2682 2490 y Fp(f)2714 2498 y Fj(1)2747 2490+ −
y Fp(f)2779 2498 y Fj(2)2812 2490 y Fp(f)2844 2498 y+ −
Fj(3)0 2571 y FI(gi)n(v)o(en)21 b(in)f(\(23\).)h(This)f(completes)g+ −
(the)g(proof)i(of)e(Thm.)h(3.)125 2666 y(As)31 b(mentioned)i(earlier)m+ −
(,)e(the)h(FCB)f(we)g(use)g(dif)n(fers)i(from)f(the)g(one)g(introduced)+ −
i(by)e(Pitts.)f(He)0 2762 y(de\002nes)20 b(this)g(notion)h(as)f(follo)n+ −
(ws:)940 2730 y Fv(9)p 0 TeXcolorgray 0 2908 a FJ(De\002nition)g(7)p+ −
0 TeXcolorgray 42 w(\(FCB'\))c FE(A)g(function)i FG(f)24+ −
b FE(with)16 b(type)g Fs(name)22 b FD(\))f Fs(lam)1779+ −
2916 y Fp(\013)1848 2908 y FD(\))g FG(\013)g FD(\))g+ −
FG(\013)c FE(satis\002es)e(the)h FI(FCB')g FE(pr)l(o-)0+ −
3003 y(vided:)600 3099 y FD(9)p FG(a:)21 b(a)g Fr(#)g+ −
FG(f)47 b FD(^)39 b Fr(\()p FD(8)p FG(t)12 b(r)n(:)21+ −
b Fk(\014nite)6 b Fr(\()p Fk(supp)f Fr(\()p FG(r)r Fr(\)\))43+ −
b FD(\))f FG(a)21 b Fr(#)g FG(f)8 b(a)13 b(t)g(r)r Fr(\))21+ −
b FG(:)0 3245 y FI(It)g(can)f(be)h(sho)n(wn)g(that)g(in)g(all)f(cases)g+ −
(where)h(the)g(recursion)g(combinator)i(is)d(applied)i(both)f(v)o+ −
(ersions)g(of)0 3341 y(the)f(FCB)f(are)h(interderi)n(v)n(able.)p+ −
0 TeXcolorgray 0 3487 a FJ(Lemma)f(15)p 0 TeXcolorgray+ −
43 w FE(Pr)l(o)o(vided)e FG(f)24 b FE(is)15 b(\002nitely)h(supported,)h+ −
(then)f(the)g(FCB)g(holds)g(if)f(an)i(only)f(if)g(the)f(FCB')h(holds.)p+ −
0 TeXcolorgray 0 3653 a(Pr)l(oof)p 0 TeXcolorgray 40+ −
w Fr(\()p FD(\))p Fr(\))22 b FI(Since)h FG(f)32 b FI(is)22+ −
b(\002nitely)i(supported,)g(we)f(can)h(choose)f(using)h(Prop.)g(1)f(an)+ −
h(atom)f FG(a)g FI(such)h(that)0 3749 y FG(a)d Fr(#)h+ −
FG(f)8 b FI(.)20 b(W)m(ith)h(this)f(we)g(can)g(instantiate)g(the)h(FCB)+ −
e(and)i(obtain)g FD(8)p FG(t)12 b(r)n(:)21 b Fk(\014nite)7+ −
b Fr(\()p Fk(supp)e Fr(\()p FG(r)r Fr(\)\))34 b FD(\))g+ −
FG(a)22 b Fr(#)g FG(f)8 b(a)13 b(t)f(r)0 3844 y FI(as)25+ −
b(we)h(ha)n(v)o(e)h(to)f(sho)n(w)-5 b(.)25 b Fr(\()p+ −
FD(\()p Fr(\))g FI(W)-6 b(e)26 b(ha)n(v)o(e)h(that)f+ −
FG(a)31 b Fr(#)h FG(f)i FI(and)27 b Fk(\014nite)6 b Fr(\()p+ −
Fk(supp)g Fr(\()p FG(r)r Fr(\)\))24 b FI(and)j(need)f(to)g(sho)n(w)h+ −
(that)0 3940 y FG(a)d Fr(#)h FG(f)8 b(a)13 b(t)g(r)r+ −
FI(.)21 b(By)h(the)g(FCB')f(we)g(ha)n(v)o(e)i(an)f(atom)g+ −
FG(a)1398 3908 y Fl(0)1443 3940 y FI(such)g(that)g FG(a)1790+ −
3908 y Fl(0)1838 3940 y Fr(#)j FG(f)30 b FI(and)22 b+ −
FD(8)p FG(t)13 b(r)n(:)24 b Fk(\014nite)6 b Fr(\()p Fk(supp)g+ −
Fr(\()p FG(r)r Fr(\)\))24 b FD(\))0 4035 y FG(a)41 4003+ −
y Fl(0)106 4035 y Fr(#)42 b FG(f)8 b(a)298 4003 y Fl(0)334+ −
4035 y FG(t)13 b(r)r FI(.)31 b(Since)g Fk(\014nite)6+ −
b Fr(\()p Fk(supp)g Fr(\(\()p FG(a)12 b(a)1185 4003 y+ −
Fl(0)1208 4035 y Fr(\))1238 4003 y Fl(\000)p Fq(1)1327+ −
4044 y Fo(\001)1365 4035 y FG(r)r Fr(\)\))31 b FI(if)g(an)h(only)h(if)e+ −
Fk(\014nite)6 b Fr(\()p Fk(supp)g Fr(\()p FG(r)r Fr(\)\))p+ −
FI(,)30 b(we)h(can)h(infer)0 4131 y FG(a)41 4099 y Fl(0)92+ −
4131 y Fr(#)27 b FG(f)8 b(a)269 4099 y Fl(0)306 4131+ −
y Fr(\(\()p FG(a)k(a)460 4099 y Fl(0)483 4131 y Fr(\))513+ −
4099 y Fl(\000)p Fq(1)602 4140 y Fo(\001)640 4131 y FG(t)p+ −
Fr(\))g(\(\()p FG(a)h(a)865 4099 y Fl(0)888 4131 y Fr(\))918+ −
4099 y Fl(\000)p Fq(1)1007 4140 y Fo(\001)1045 4131 y+ −
FG(r)r Fr(\))p FI(.)22 b(By)i(Lemma)g(3)p FE(\(iii\))g+ −
FI(we)f(can)h(apply)h(on)f(both)g(sides)f(of)h Fr(#)f+ −
FI(the)0 4226 y(sw)o(apping)e Fr(\()p FG(a)13 b(a)446+ −
4194 y Fl(0)469 4226 y Fr(\))19 b FI(and)i(obtain)699+ −
4373 y FG(a)g Fr(#)g FG(f)8 b(a)13 b Fr(\(\()p FG(a)f(a)1099+ −
4337 y Fl(0)1122 4373 y Fr(\))1152 4382 y Fo(\001)1191+ −
4373 y Fr(\()p FG(a)g(a)1315 4337 y Fl(0)1338 4373 y+ −
Fr(\))1368 4337 y Fl(\000)p Fq(1)1457 4382 y Fo(\001)1495+ −
4373 y FG(t)p Fr(\))g(\(\()p FG(a)h(a)1720 4337 y Fl(0)1743+ −
4373 y Fr(\))1773 4382 y Fo(\001)1811 4373 y Fr(\()p+ −
FG(a)f(a)1935 4337 y Fl(0)1958 4373 y Fr(\))1988 4337+ −
y Fl(\000)p Fq(1)2077 4382 y Fo(\001)2115 4373 y FG(r)r+ −
Fr(\))0 4520 y FI(which)20 b(by)h(Lem.)f(1)p FE(\(i\))h+ −
FI(is)e(equi)n(v)n(alent)i(to)f FG(a)h Fr(#)h FG(f)8+ −
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+ −
b(.)79 b FD(u)-51 b(t)p 0 TeXcolorgray 0 4581 898 4 v+ −
62 4646 a Fu(9)125 4669 y FF(His)17 b(de\002nition)i(of)f(the)g(FCB)f+ −
(does)h(not)g(actually)i(include)f Fg(\014nite)5 b Fy(\()p+ −
Fg(supp)g Fy(\()p FA(r)r Fy(\)\))p FF(,)18 b(because)h(he)f(considers)h+ −
(only)f(\002nitely)0 4746 y(supported)h(objects,)h(and)e(also)h(does)f+ −
(not)g(include)i(the)f(quanti\002cation)i(o)o(v)o(er)e+ −
FA(t)f FF(as)g(he)g(deri)n(v)o(es)i(an)e(iteration,)i(rather)g(than)e+ −
(a)0 4823 y(recursion)h(combinator)l(.)p 0 TeXcolorgray+ −
0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 20 20+ −
TeXDict begin 20 19 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(20)p 0 TeXcolorgray 0 228 a FI(The)32+ −
b(reason)g(that)f(we)g(prefer)i(our)f(v)o(ersion)g(of)g(the)f(FCB)g(is)+ −
f(that)i(when)g(establishing)g(a)f(uni)n(v)o(ersal)0+ −
324 y(quanti\002ed)24 b(formula,)g(Isabelle/HOL)f(will)f(just)h+ −
(introduce)h(an)f(eigen-v)n(ariable)i(and)e(then)g(proceed)i(to)0+ −
419 y(pro)o(v)o(e)e(the)f(\223rest\224.)f(This)h(is)f(in)h(practice)g+ −
(easier)f(than)h(generating)i(a)d(fresh)i(atom)f(and)g(then)h+ −
(instantiate)0 515 y(the)d(e)o(xistential)g(quanti\002er)h(in)f(the)g+ −
(FCB'.)0 807 y FJ(6)28 b(Examples)0 996 y FI(Finally)-5+ −
b(,)30 b(we)g(can)g(start)f(to)h(formalise)h(Barendre)o(gt')l(s)g+ −
(informal)g(proof)h(of)e(the)g(substitution)h(lemma)0+ −
1092 y(\(Fig.)22 b(1\).)g(All)f(the)h(constructions)h(of)f(the)g(pre)n+ −
(vious)h(3)f(sections)g(w)o(ould,)g(due)h(to)f(their)g(comple)o(xity)-5+ −
b(,)22 b(be)0 1187 y(of)k(only)h(academic)g(v)n(alue,)f+ −
FE(if)37 b FI(we)26 b(can)g(not)h(automate)g(them)f(and)h(hide)g(the)f+ −
(comple)o(xities)g(from)h(the)0 1283 y(user)l(.)19 b(Ho)n(we)n(v)o(er)m+ −
(,)i(we)e(can!)i(W)-6 b(e)20 b(shall)f(illustrate)h(this)g(ne)o(xt.)125+ −
1379 y(The)j(type)h Fs(lam)546 1387 y Fp(\013)616 1379+ −
y FI(can)f(be)h(de\002ned)g(in)f(Isabelle/HOL)g(using)g(the)h(nominal)g+ −
(datatype)g(package)g(by)0 1475 y(the)c(tw)o(o)g(declarations:)p+ −
0 TeXcolorgray 0 TeXcolorgray 628 1623 a Fs(atom)p 789+ −
1623 24 4 v 29 w(decl)i(name)628 1718 y(nominal)p 906+ −
1718 V 30 w(datatype)h(lam)1383 1726 y Fp(\013)1456 1718+ −
y Fr(=)h Fs(Var)1658 1726 y Fp(\013)1753 1718 y Fr(")p+ −
Fs(name)p Fr(")1475 1814 y FD(j)44 b Fs(App)1658 1835+ −
y Fp(\013)1753 1814 y Fr(")p Fs(lam)1909 1822 y Fp(\013)1973+ −
1814 y FD(\002)17 b Fs(lam)2168 1822 y Fp(\013)2215 1814+ −
y Fr(")1475 1909 y FD(j)44 b Fs(Lam)1658 1917 y Fp(\013)1753+ −
1909 y Fr(")1791 1898 y Fa(h)-10 b(h)1830 1909 y Fs(name)1986+ −
1898 y Fa(i)g(i)2027 1909 y Fs(lam)2144 1917 y Fp(\013)2192+ −
1909 y Fr(")0 2071 y FI(where)20 b(the)h(\002rst)e(declaration)i+ −
(establishes)f(the)g(type)h Fs(name)f FI(with)h(the)f(properties)h+ −
(described)g(in)f(Sec.)g(2;)0 2166 y(in)h(the)h(second)g(declaration)+ −
811 2155 y Fa(h)-10 b(h)863 2166 y FG(:)13 b(:)h(:)966+ −
2155 y Fa(i)-10 b(i)1026 2166 y FI(indicates)21 b(that)h(a)f(name)h(is)+ −
e(bound)j(in)f Fs(Lam)2206 2174 y Fp(\013)2254 2166 y+ −
FI(.)e(W)m(ith)i(this)f(informa-)0 2262 y(tion)g(the)f(nominal)i+ −
(datatype)f(package)h(performs)g(automatically)f(the)g(construction)h+ −
(we)e(described)i(in)0 2357 y(Sec.)d(3)h(and)g(also)g(automatically)h+ −
(deri)n(v)o(es)f(the)g(structural)g(induction)i(principles)e(from)h+ −
(Sec.)e(4)h(and)g(the)0 2453 y(recursion)j(combinator)h(from)f(Sec.)e+ −
(5)h FE(without)h FI(an)o(y)f(user)g(interference.)h(Furthermore,)h+ −
(this)d(package)0 2548 y(deri)n(v)o(es)f(this)g(reasoning)i+ −
(infrastructure)f(e)n(v)o(en)g(for)g(more)g(complicated)g(term-calculi)+ −
g(that)f(ha)n(v)o(e)h(more)0 2644 y(than)g(one)f(binder)h(and)g+ −
(binders)g(may)f(ha)n(v)o(e)h(dif)n(ferent)h(types.)125+ −
2740 y(After)j(the)g(declaration,)h(we)f(can)g(then)h(use)f(the)g+ −
(recursion)h(combinator)h(to)f(de\002ne)f(the)g(capture-)0+ −
2836 y(a)n(v)n(oiding)e(substitution)d(function)i(by)f(stating)f(the)g+ −
(follo)n(wing)h(characteristic)f(equations:)815 3005+ −
y Fs(Var)933 3013 y Fp(\013)980 3005 y Fr(\()p FG(x)p+ −
Fr(\)[)p FG(y)k Fr(:=)d FG(t)1297 2973 y Fl(0)1320 3005+ −
y Fr(])48 b(=)f(\()p Fs(if)21 b FG(x)g Fr(=)g FG(y)j+ −
Fs(then)e FG(t)2039 2973 y Fl(0)2084 3005 y Fs(else)g(Var)2380+ −
3013 y Fp(\013)2427 3005 y Fr(\()p FG(x)p Fr(\)\))695+ −
3101 y Fs(App)813 3121 y Fp(\013)860 3101 y Fr(\()p FG(t)918+ −
3113 y Fq(1)955 3101 y FG(;)13 b(t)1017 3113 y Fq(2)1054+ −
3101 y Fr(\)[)p FG(y)24 b Fr(:=)d FG(t)1297 3069 y Fl(0)1320+ −
3101 y Fr(])48 b(=)f Fs(App)1614 3121 y Fp(\013)1661+ −
3101 y Fr(\()p FG(t)1719 3113 y Fq(1)1756 3101 y Fr([)p+ −
FG(y)24 b Fr(:=)d FG(t)1969 3069 y Fl(0)1992 3101 y Fr(])p+ −
FG(;)14 b(t)2076 3113 y Fq(2)2113 3101 y Fr([)p FG(y)24+ −
b Fr(:=)d FG(t)2326 3069 y Fl(0)2349 3101 y Fr(]\))209+ −
3196 y FG(x)g Fr(#)g(\()p FG(y)s(;)13 b(t)492 3164 y+ −
Fl(0)515 3196 y Fr(\))42 b(=)-13 b FD(\))43 b Fs(Lam)871+ −
3204 y Fp(\013)919 3196 y Fr(\()p FG(x;)12 b(t)p Fr(\)[)p+ −
FG(y)24 b Fr(:=)d FG(t)1297 3164 y Fl(0)1320 3196 y Fr(])48+ −
b(=)f Fs(Lam)1614 3204 y Fp(\013)1661 3196 y Fr(\()p+ −
FG(x;)12 b(t)p Fr([)p FG(y)24 b Fr(:=)e FG(t)2010 3164+ −
y Fl(0)2033 3196 y Fr(]\))2749 3100 y FI(\(24\))0 3375+ −
y(where)d(in)g(the)g(clause)g(for)h Fs(Lam)850 3383 y+ −
Fp(\013)916 3375 y FI(the)f(precondition)j FG(x)f Fr(#)g(\()p+ −
FG(y)s(;)12 b(t)1731 3344 y Fl(0)1754 3375 y Fr(\))19+ −
b FI(corresponds)i(to)e(the)g(usual)g(condition)0 3471+ −
y(that)30 b FG(x)39 b FD(6)p Fr(=)g FG(y)33 b FI(and)d+ −
FG(x)g FI(is)f(not)i(free)f(in)g FG(t)1102 3439 y Fl(0)1125+ −
3471 y FI(.)g(Internally)h(the)f(nominal)h(datatype)g(package)h(e)o+ −
(xtracts)d(the)0 3566 y(follo)n(wing)21 b(functions)h(for)e(capture-a)n+ −
(v)n(oiding)k(substitution:)p 0 TeXcolorgray 0 TeXcolorgray+ −
693 3754 a FG(s)729 3766 y Fq(1)779 3754 y FG(y)15 b(t)860+ −
3722 y Fl(0)931 3711 y Fn(def)938 3754 y Fr(=)54 b FG(\025x:)21+ −
b Fs(if)h FG(x)f Fr(=)g FG(y)j Fs(then)e FG(t)1697 3722+ −
y Fl(0)1741 3754 y Fs(else)g(Var)2037 3762 y Fp(\013)2084+ −
3754 y Fr(\()p FG(x)p Fr(\))693 3873 y FG(s)729 3885+ −
y Fq(2)779 3873 y FG(y)15 b(t)860 3842 y Fl(0)931 3831+ −
y Fn(def)938 3873 y Fr(=)54 b FG(\025t)1125 3885 y Fq(1)1175+ −
3873 y FG(t)1203 3885 y Fq(2)1252 3873 y FG(r)1287 3885+ −
y Fq(1)1337 3873 y FG(r)1372 3885 y Fq(2)1409 3873 y+ −
FG(:)22 b Fs(App)1569 3894 y Fp(\013)1617 3873 y Fr(\()p+ −
FG(r)1682 3885 y Fq(2)1718 3873 y FG(;)14 b(r)1788 3885+ −
y Fq(1)1824 3873 y Fr(\))693 3993 y FG(s)729 4005 y Fq(3)779+ −
3993 y FG(y)h(t)860 3961 y Fl(0)931 3950 y Fn(def)938+ −
3993 y Fr(=)54 b FG(\025x)12 b(t)h(r)n(:)21 b Fs(Lam)1387+ −
4001 y Fp(\013)1434 3993 y Fr(\()p FG(x;)12 b(r)r Fr(\))0+ −
4154 y FI(In)33 b(order)g(to)f(apply)i(Thm.)e(3)h(with)f(the)g+ −
(instantiation)h Fk(rfun)1738 4173 y Fq(\()p Fp(s)1795+ −
4181 y Fj(1)1839 4173 y Fp(y)13 b(t)1911 4156 y Fa(0)1933+ −
4173 y Fq(\))e(\()p Fp(s)2027 4181 y Fj(2)2071 4173 y+ −
Fp(y)j(t)2144 4156 y Fa(0)2166 4173 y Fq(\))d(\()p Fp(s)2260+ −
4181 y Fj(3)2304 4173 y Fp(y)j(t)2377 4156 y Fa(0)2399+ −
4173 y Fq(\))2429 4154 y FI(,)32 b(Isabelle)g(\002rst)0+ −
4250 y(needs)g(to)g(determine)g(whether)h(the)e(result)h(type)g(of)g+ −
(the)g(function)h(is)e(a)g(permutation)j(type.)e(Since)0+ −
4345 y(substitution)f(returns)f(a)g Fs(lam)828 4353 y+ −
Fp(\013)876 4345 y FI(-term,)g(it)f(can)h(use)g(Lem.)g(10)p+ −
FE(\(i\))h FI(and)f(automatically)h(determine)g(this)0+ −
4441 y(f)o(act.)25 b(Ne)o(xt)g(Isabelle)f(asks)h(the)g(user)g(to)g(v)o+ −
(erify)h(the)f(preconditions)i(of)e(Thm.)g(3)g(about)h(the)f(functions)+ −
0 4536 y Fr(\()p FG(s)66 4548 y Fq(1)116 4536 y FG(y)15+ −
b(t)197 4504 y Fl(0)220 4536 y Fr(\))p FI(,)g Fr(\()p+ −
FG(s)351 4548 y Fq(2)401 4536 y FG(y)g(t)482 4504 y Fl(0)505+ −
4536 y Fr(\))g FI(and)i Fr(\()p FG(s)746 4548 y Fq(3)795+ −
4536 y FG(y)f(t)877 4504 y Fl(0)900 4536 y Fr(\))f FI(ha)n(ving)i+ −
(\002nite)f(support.)h(It)e(turns)i(out)f(that)f(all)h(of)g(them)g(are)+ −
g(supported)0 4632 y(by)j(the)g(set)g Fk(supp)5 b Fr(\()p+ −
FG(y)s(;)13 b(t)607 4600 y Fl(0)630 4632 y Fr(\))p FI(,)18+ −
b(which)h(is)g(\002nitely)g(supported)i(because)e(of)g(Lem.)g(5)g+ −
(\(this)g(can)g(be)g(determined)0 4727 y(automatically)24+ −
b(by)f(Isabelle\).)g(T)-6 b(o)23 b(v)o(erify)h(whether)f+ −
Fk(supp)6 b Fr(\()p FG(y)s(;)12 b(t)1745 4695 y Fl(0)1769+ −
4727 y Fr(\))g Fk(supp)l(orts)21 b Fr(\()p FG(s)2171+ −
4739 y Fq(1)2221 4727 y FG(y)15 b(t)2302 4695 y Fl(0)2325+ −
4727 y Fr(\))23 b FI(holds,)g(the)g(tactic)0 4823 y Fs(finite)p+ −
239 4823 V 30 w(guess)c FI(does)g(automatically)h(the)e(calculations)h+ −
(sho)n(wn)h(in)e(Example)i(2)f(and)g(similar)f(ones)h(for)p+ −
0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 21 21+ −
TeXDict begin 21 20 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(21)p 0 TeXcolorgray 0 228+ −
a FI(the)26 b(cases)g Fr(\()p FG(s)381 240 y Fq(2)430+ −
228 y FG(y)15 b(t)511 197 y Fl(0)535 228 y Fr(\))25 b+ −
FI(and)i Fr(\()p FG(s)796 240 y Fq(3)846 228 y FG(y)15+ −
b(t)927 197 y Fl(0)950 228 y Fr(\))p FI(.)25 b(Ne)o(xt)h(Isabelle)h+ −
(asks)e(the)i(user)f(to)g(v)o(erify)h(the)f(FCB)f(for)i+ −
Fr(\()p FG(s)2697 240 y Fq(3)2747 228 y FG(y)15 b(t)2828+ −
197 y Fl(0)2851 228 y Fr(\))0 324 y FI(which)20 b(amounts)h(to)g(sho)n+ −
(wing)g(that)499 492 y FD(8)12 b FG(a)h(t)f(r)n(:)21+ −
b(a)g Fr(#)h(\()p FG(s)937 504 y Fq(3)986 492 y FG(y)16+ −
b(t)1068 456 y Fl(0)1091 492 y Fr(\))38 b FD(^)g Fk(\014nite)7+ −
b Fr(\()p Fk(supp)e Fr(\()p FG(r)r Fr(\)\))42 b FD(\))h+ −
FG(a)21 b Fr(#)g Fs(Lam)2164 500 y Fp(\013)2211 492 y+ −
Fr(\()p FG(a;)13 b(r)r Fr(\))0 661 y FI(holds.)21 b(This)f(can)h(be)g+ −
(done)g(by)g(a)f(simple)h(application)h(of)f(the)f(property)j(gi)n(v)o+ −
(en)e(in)g(\(19\).)g(Last,)f(Isabelle)0 756 y(asks)f(the)h(user)f(to)h+ −
(v)o(erify)g(that)g(the)f(precondition)j(of)e(the)g(recursion)g+ −
(combinator)i(in)d(the)h(lambda-case,)0 852 y(namely)29+ −
b(that)f FG(x)35 b Fr(#)h(\()p FG(s)651 864 y Fq(1)700+ −
852 y FG(y)16 b(t)782 820 y Fl(0)805 852 y FG(;)d(s)875+ −
864 y Fq(2)925 852 y FG(y)i(t)1006 820 y Fl(0)1029 852+ −
y FG(;)e(s)1099 864 y Fq(3)1149 852 y FG(y)i(t)1230 820+ −
y Fl(0)1253 852 y Fr(\))28 b FI(is)f(implied)i(by)f(the)g(precondition)+ −
j FG(x)k Fr(#)h(\()p FG(y)s(;)12 b(t)2628 820 y Fl(0)2651+ −
852 y Fr(\))28 b FI(gi)n(v)o(en)0 947 y(in)21 b(\(24\).)i(Since,)e(as)f+ −
(indicated)j(earlier)m(,)e(all)g(these)g(functions)h(are)g(supported)h+ −
(by)f Fk(supp)5 b Fr(\()p FG(y)s(;)13 b(t)2542 916 y+ −
Fl(0)2565 947 y Fr(\))p FI(,)21 b(Isabelle)0 1043 y(can)j(determine)g+ −
(this)f(automatically)i(with)e(the)h(help)g(of)g(a)f(tactic.)g(This)g+ −
(completes)h(the)g(de\002nition)g(of)0 1138 y(capture-a)n(v)n(oiding)g+ −
(substitution.)d(The)f(Isabelle)g(code)h(for)f(this)g(is:)p+ −
0 TeXcolorgray 0 TeXcolorgray 144 1274 a FB(consts)215+ −
1351 y Ft(subst)36 b(::)g("lam)672 1359 y FC(\013)753+ −
1351 y Fz(\))f Ft(name)h Fz(\))f Ft(lam)1246 1359 y FC(\013)1326+ −
1351 y Fz(\))g Ft(lam)1537 1359 y FC(\013)1582 1351 y+ −
Ft(")71 b(\("_[_:=_]")38 b([100,100,100])h(100\))144+ −
1504 y FB(nominal)p 379 1504 20 4 v 25 w(primr)o(ec)215+ −
1581 y Ft("Var)355 1589 y FC(\013)400 1581 y Ft(\(x\)[y:=t'])f(=)e+ −
(\(if)g(x=y)g(then)g(t')g(else)h(Var)1705 1589 y FC(\013)1750+ −
1581 y Ft(\(x\)\)")215 1658 y("App)355 1666 y FC(\013)400+ −
1658 y Ft(\(t)470 1667 y Fx(1)505 1658 y Ft(,t)575 1667+ −
y Fx(2)610 1658 y Ft(\)[y:=t'])h(=)d(App)1103 1666 y+ −
FC(\013)1149 1658 y Ft(\(t)1219 1667 y Fx(1)1254 1658+ −
y Ft([y:=t'],t)1569 1667 y Fx(2)1606 1658 y Ft([y:=t']\)")215+ −
1735 y("x)12 b Fy(#)g Ft(\(y,t'\))37 b Fy(=)-12 b Fz(\))34+ −
b Ft(Lam)868 1743 y FC(\013)914 1735 y Ft(\(x,t\)[y:=t'])k(=)e(Lam)1548+ −
1743 y FC(\013)1593 1735 y Ft(\(x,t[y:=t']\)")144 1812+ −
y FB(by)f Ft(\(finite_guess+,\(rule)41 b(TrueI\)+,)d(simp)e(add:)h+ −
(abs_fresh,)h(fresh_guess+\))0 1956 y FI(where)26 b(in)g(the)g(\002rst)+ −
g(tw)o(o)g(lines)f(we)h(declare)g(the)g(type)h(of)f(the)g(substitution)+ −
h(function)g(and)g(introduce)0 2052 y(nicer)20 b(syntax)g(for)g+ −
(writing)g(this)f(function.)i(The)f(line)f(starting)h(with)f+ −
FJ(by)g FI(contains)i(the)e(proof)i(for)f(sho)n(w-)0+ −
2147 y(ing)28 b(that)f(the)g(characteristic)h(functions)g(of)g+ −
(substitution)g(are)f(\002nitely)h(supported,)h(that)e(the)g(FCB)f(is)0+ −
2243 y(satis\002ed)k(and)i(that)f(the)g(precondition)i+ −
Fs(x)22 b Fr(#)f(\()p Fs(y)p FG(;)13 b Fs(t)1427 2211+ −
y Fl(0)1451 2243 y Fr(\))30 b FI(is)h(suf)n(\002cient)g(for)h+ −
(instantiating)f(the)g(recursion)0 2338 y(combinator)l(.)125+ −
2434 y(Ha)n(ving)g(the)e(substitution)i(function)g(at)e(our)i+ −
(disposal,)e(we)h(can)g(no)n(w)g(formalise)g(Barendre)o(gt')l(s)0+ −
2529 y(proof)21 b(of)f(the)f(substitution)i(lemma.)e(First)g(we)g(ha)n+ −
(v)o(e)h(to)g(formalise)g(the)f(f)o(act)h(that)g FG(x)g+ −
FD(62)i FG(F)11 b(V)16 b Fr(\()p FG(L)p Fr(\))k FI(implies)0+ −
2625 y FG(L)p Fr([)p FG(x)h Fr(:=)h FG(P)11 b Fr(])21+ −
b(=)g FG(L)f FI(whose)g(proof)i(is)d(omitted)i(by)g(Barendre)o(gt.)p+ −
0 TeXcolorgray 0 2797 a FJ(Lemma)e(16)p 0 TeXcolorgray+ −
43 w(\(F)n(or)o(get\))i FE(If)f FG(x)h Fr(#)g FG(L)f+ −
FE(then)h FG(L)p Fr([)p FG(x)g Fr(:=)h FG(P)11 b Fr(])21+ −
b(=)g FG(P)11 b FE(.)p 0 TeXcolorgray 0 2993 a(Pr)l(oof)p+ −
0 TeXcolorgray 40 w FI(The)25 b(proof)h(proceeds)g(by)f(induction)h(o)o+ −
(v)o(er)g FG(L)e FI(using)i(\(21\))g(with)e FG(c)h FI(instantiated)g+ −
(to)g Fr(\()p FG(x;)12 b(P)f Fr(\))p FI(.)24 b(In)0 3089+ −
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+ −
Fs(Var)1368 3097 y Fp(\013)1415 3089 y Fr(\()p FG(y)s+ −
Fr(\)[)p FG(x)k Fr(:=)g FG(P)11 b Fr(])27 b(=)g Fs(Var)2029+ −
3097 y Fp(\013)2076 3089 y Fr(\()p FG(y)s Fr(\))c FI(under)h(the)g+ −
(assumption)0 3184 y(that)h FG(x)30 b Fr(#)h Fs(Var)429+ −
3192 y Fp(\013)477 3184 y Fr(\()p FG(y)s Fr(\))p FI(.)23+ −
b(This)i(assumption)i(is)d(equi)n(v)n(alent)i(to)g FG(x)k+ −
Fr(#)g FG(y)s FI(,)24 b(which)i(is)e(in)h(turn)h(equi)n(v)n(alent)h(to)+ −
0 3280 y FG(x)21 b FD(6)p Fr(=)g FG(y)s FI(,)16 b(allo)n(wing)h(us)g+ −
(to)g(apply)h(\(24\))g(to)f(pro)o(v)o(e)h(this)e(case.)g(In)i(the)f+ −
(lambda-case)h(we)e(ha)n(v)o(e)i(the)f(induction)0 3375+ −
y(hypothesis)26 b FD(8)p FG(x)12 b(P)r(:)33 b(x)e Fr(#)g+ −
FG(L)788 3387 y Fq(1)857 3375 y FD(\))h FG(L)1018 3387+ −
y Fq(1)1055 3375 y Fr([)p FG(x)g Fr(:=)f FG(P)11 b Fr(])32+ −
b(=)f FG(L)1520 3387 y Fq(1)1583 3375 y FI(and)c(ha)n(v)o(e)f(to)g(sho)+ −
n(w)g(that)f Fs(Lam)2432 3383 y Fp(\013)2479 3375 y Fr(\()p+ −
FG(y)s(;)13 b(L)2636 3387 y Fq(1)2673 3375 y Fr(\)[)p+ −
FG(x)32 b Fr(:=)0 3471 y FG(P)11 b Fr(])40 b(=)f Fs(Lam)338+ −
3479 y Fp(\013)385 3471 y Fr(\()p FG(y)s(;)13 b(L)542+ −
3483 y Fq(1)579 3471 y Fr(\))30 b FI(under)i(the)e(assumption)h(that)g+ −
FG(x)39 b Fr(#)h Fs(Lam)1817 3479 y Fp(\013)1865 3471+ −
y Fr(\()p FG(y)s(;)12 b(L)2021 3483 y Fq(1)2059 3471+ −
y Fr(\))29 b FI(holds.)i(The)g(induction)h(in)0 3566+ −
y(allo)n(ws)23 b(us)g(further)h(to)g(assume)f(that)g+ −
FG(y)30 b Fr(#)d(\()p FG(x;)12 b(P)f Fr(\))p FI(\227)p+ −
Fr(\()p FG(x;)h(P)f Fr(\))23 b FI(is)f(the)i(induction)h(conte)o(xt)f+ −
(and)f(the)h(point)0 3662 y(of)e(\(21\))h(is)e(that)h(we)g(can)g+ −
(assume)f(the)h(binder)h(is)f(fresh)g(w)-5 b(.r)l(.t.)20+ −
b(this)i(conte)o(xt.)g(Therefore)h(we)f(can)g(mo)o(v)o(e)0+ −
3757 y(the)e(substitution)h(under)g(the)f(binder)m(,)h(namely)f+ −
Fs(Lam)1426 3765 y Fp(\013)1473 3757 y Fr(\()p FG(y)s(;)13+ −
b(L)1630 3769 y Fq(1)1667 3757 y Fr(\)[)p FG(x)21 b Fr(:=)h+ −
FG(P)11 b Fr(])21 b(=)g Fs(Lam)2187 3765 y Fp(\013)2234+ −
3757 y Fr(\()p FG(y)s(;)13 b(L)2391 3769 y Fq(1)2428+ −
3757 y Fr([)p FG(x)21 b Fr(:=)h FG(P)11 b Fr(]\))p FI(,)19+ −
b(and)0 3853 y(also)i(infer)g(by)h(\(19\))g(that)e FG(x)j+ −
Fr(#)g FG(L)913 3865 y Fq(1)950 3853 y FI(.)e(This)f(allo)n(ws)h(us)g+ −
(to)g(apply)g(the)g(induction)i(hypothesis)f(and)f(we)g(are)0+ −
3948 y(done.)g(The)f(application)h(case)f(is)f(tri)n(vial.)79+ −
b FD(u)-51 b(t)0 4120 y FI(Using)20 b(Isabelle')l(s)g(automatic)h+ −
(proof-tools)h(one)e(can)h(formalise)f(this)g(proof)h(with:)p+ −
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray+ −
373 4267 a FB(lemma)37 b Ft(forget:)443 4344 y FB(assumes)f+ −
Ft(a:)g("x)12 b Fy(#)g Ft(L")443 4421 y FB(sho)o(ws)35+ −
b Ft("L[x:=P])j(=)e(L")373 4497 y FB(using)f Ft(a)h FB(by)f+ −
Ft(\(nominal_induct)40 b(L)35 b(avoiding:)j(x)e(P)f(rule:)i(lam)2181+ −
4505 y FC(\013)2226 4497 y Ft(.induct\))735 4574 y(\(auto)g(simp)f+ −
(add:)h(abs_fresh)h(fresh_atm\))0 4727 y FI(where)19+ −
b Fs(abs)p 333 4727 24 4 v 28 w(fresh)h FI(corresponds)g(to)e(the)g+ −
(property)i(gi)n(v)o(en)f(in)f(\(19\))i(and)e(the)h(lemma)f+ −
Fs(fresh)p 2545 4727 V 30 w(atm)g FI(to)g(the)0 4823+ −
y(f)o(act)j(that)g(for)g(atoms)g FG(x)f FI(and)h FG(y)s+ −
FI(,)f FG(x)i Fr(#)g FG(y)h FI(holds)e(if)g(and)g(only)h(if)f+ −
FG(x)h FD(6)p Fr(=)g FG(y)s FI(.)e(The)h(method)h Fs(nominal)p+ −
2621 4823 V 29 w(induct)p 0 TeXcolorgray 0 TeXcolorgray+ −
eop end+ −
%%Page: 22 22+ −
TeXDict begin 22 21 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(22)p 0 TeXcolorgray 0 228 a FI(\(see)21+ −
b(W)-6 b(enzel)22 b([38]\))h(brings)g(the)f(induction)h(principle,)g+ −
(called)e Fs(lam)1888 236 y Fp(\013)1935 228 y Fs(.induct)p+ −
FI(,)i(automatically)g(to)e(the)0 324 y(form)k(needed)g(in)e+ −
(\(21\)\227we)i(only)g(ha)n(v)o(e)f(to)g(state)f(o)o(v)o(er)h(which)g+ −
(v)n(ariable)h(the)f(induction)h(is)e(done)i(and)0 419+ −
y(what)20 b(the)g(induction)i(conte)o(xt)f(is,)e(that)h(is)f(the)h(v)n+ −
(ariables)h(to)f(a)n(v)n(oid.)125 515 y(Ne)o(xt)28 b(we)h(need)g(to)g+ −
(sho)n(w)g(a)f(lemma)h(whose)g(need)g(is)g(not)g(immediately)h+ −
(apparent)g(by)f(looking)0 611 y(at)23 b(Barendre)o(gt')l(s)h(informal)+ −
g(proof.)h(Ho)n(we)n(v)o(er)m(,)f(in)f(the)g(lambda-case)i(where)e+ −
(Barendre)o(gt)i(pulls)e(out)h(a)0 706 y(substitution)d(from)g(under)g+ −
(the)f(binder)m(,)h(namely)g(in)f(the)g(step)315 876+ −
y FG(\025z)s(:)p Fr(\()p FG(M)524 888 y Fq(1)562 876+ −
y Fr([)p FG(y)k Fr(:=)d FG(L)p Fr(][)p FG(x)h Fr(:=)f+ −
FG(N)8 b Fr([)p FG(y)25 b Fr(:=)c FG(L)p Fr(]]\))i FD(\021)e+ −
Fr(\()p FG(\025z)s(:M)1701 888 y Fq(1)1738 876 y Fr(\)[)p+ −
FG(y)j Fr(:=)d FG(L)p Fr(][)p FG(x)h Fr(:=)g FG(N)8 b+ −
Fr([)p FG(y)24 b Fr(:=)e FG(L)p Fr(]])0 1045 y FI(we)j(need)h(to)f(kno)+ −
n(w)h(that)g FG(z)h FI(is)e(not)h(free)f(in)g FG(N)8+ −
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+ −
(ariable)g(con)m(v)o(ention)h(we)e(only)0 1141 y(kno)n(w)32+ −
b(that)f FG(z)i FI(is)d(not)i(free)f(in)g FG(N)8 b FI(and)32+ −
b FG(L)p FI(.)e(In)h(a)g(formalisation,)h(this)e(f)o(act)h(needs)g(to)g+ −
(be)g(established)0 1236 y(e)o(xplicitly)-5 b(.)20 b(It)g(can)g(be)g+ −
(done)h(in)f(Isabelle)g(with)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 TeXcolorgray 0 TeXcolorgray 337 1384 a FB(lemma)37+ −
b Ft(fresh_fact:)408 1461 y FB(\002xes)f Ft(z::"name")408+ −
1538 y FB(assumes)g Ft(a:)f("z)13 b Fy(#)e Ft(N")36 b("z)12+ −
b Fy(#)g Ft(L")408 1615 y FB(sho)o(ws)35 b Ft("z)13 b+ −
Fy(#)e Ft(N[y:=L]")337 1692 y FB(using)36 b Ft(a)f FB(by)h+ −
Ft(\(nominal_induct)j(N)d(avoiding:)i(z)d(y)h(L)g(rule:)g(lam)2216+ −
1700 y FC(\013)2261 1692 y Ft(.induct\))700 1768 y(\(auto)h(simp)f+ −
(add:)g(abs_fresh)i(fresh_atm\))0 1922 y FI(where)19+ −
b FG(z)h FI(needs)f(to)f(be)g(gi)n(v)o(en)h(an)g(e)o(xplicit)f+ −
(type-annotation)j(so)d(that)g(Isabelle)g(can)h(determine)g(its)e+ −
(type.)0 2017 y(The)j(substitution)h(lemma)g(can)f(no)n(w)g(be)h+ −
(formalised)g(with:)p 0 TeXcolorgray 0 TeXcolorgray 302+ −
2178 a FB(lemma)37 b Ft(substitution_lemma:)373 2255+ −
y FB(assumes)e Ft(a:)h("x)p Fz(6)p Fy(=)p Ft(y")g("x)13+ −
b Fy(#)e Ft(L")373 2332 y FB(sho)o(ws)35 b Ft("M[x:=N][y:=L])k(=)d+ −
(M[y:=L][x:=N[y:=L]]")302 2409 y FB(using)g Ft(a)f FB(by)h+ −
Ft(\(nominal_induct)j(M)d(avoiding:)i(x)d(y)h(N)f(L)h(rule:)h(lam)2252+ −
2417 y FC(\013)2297 2409 y Ft(.induct\))665 2485 y(\(auto)f(simp)h+ −
(add:)f(fresh_fact)i(forget\))2749 2335 y FI(\(25\))0+ −
2620 y(A)20 b(formalised)h(proof)g(of)g(this)e(lemma)i(mentioning)h+ −
(much)f(more)g(details)e(is)h(sho)n(wn)g(in)g(Fig.)g(3.)125+ −
2716 y(Other)34 b(proofs)i(we)e(formalised)h(in)g(a)f(similar)g(f)o+ −
(ashion)i(are)e(the)g(Church-Rosser)i(proof)g(from)0+ −
2812 y(Barendre)o(gt)20 b([5,)f(pp.)g(60\22662])i(and)e([29],)h(the)f+ −
(strong)h(normalisation)g(proof)h(gi)n(v)o(en)e(in)g(Girard)h+ −
FE(et)e(al)h FI([12,)0 2907 y(pp.)g(42\22646],)i(the)e(strong)h+ −
(normalisation)g(proof)h(for)e(cut-elimination)i(from)f(Urban)g([31],)g+ −
(the)f(correct-)0 3003 y(ness)f(proof)i(of)f(the)g(type-inference)i+ −
(algorithm)f(W)f(from)g(Lero)o(y)h([18,)g(pp.)f(26\22631])h(and)g(the)e+ −
(logical)h(re-)0 3098 y(lation)h(proof)h(for)f(algorithmic)g(equality)g+ −
(between)g(simply-typed)i(lambda-terms)e(gi)n(v)o(en)g(in)g(Crary)f+ −
([7,)0 3194 y(pp.)f(223\226244])j(and)d(between)g(LF-terms)g(gi)n(v)o+ −
(en)g(by)g(Harper)h(and)f(Pfenning)h(in)f([15].)g(These)g(proofs)h(are)+ −
0 3289 y(more)25 b(complicated)h(than)f(the)g(proofs)h(we)e(ha)n(v)o(e)+ −
h(gi)n(v)o(en)h(abo)o(v)o(e)f(and)g(need)g(some)g(manual)g(reasoning.)0+ −
3385 y(All)20 b(proofs)h(are)f(included)h(in)f(the)g(distrib)n(ution)i+ −
(of)f(the)f(nominal)h(datatype)g(package)g(a)n(v)n(ailable)g(from)p+ −
0 TeXcolorgray 0 TeXcolorgray 774 3532 a Fs+ −
(http://isabelle.in.tum.de/nomin)q(al/)0 3869 y FJ(7)28+ −
b(Related)20 b(W)-6 b(ork)0 4058 y FI(There)22 b(are)g(man)o(y)h+ −
(approaches)g(to)f(formal)h(treatments)f(of)g(binders;)h(this)e+ −
(section)h(describes)g(the)g(ones)0 4154 y(from)f(which)f(we)g(ha)n(v)o+ −
(e)g(dra)o(wn)h(inspiration)g(and)f(also)g(w)o(ork)g(reported)i(in)e+ −
(Ambler)g FE(et)g(al)g FI([1],)g(A)-7 b(ydemir)0 4249+ −
y FE(et)20 b(al)g FI([2])g(and)h(Homeier)g([16].)125+ −
4345 y(Our)i(w)o(ork)i(uses)e(man)o(y)h(ideas)g(from)g(the)g(nominal)h+ −
(logic)f(w)o(ork)g(by)g(Pitts)f FE(et)g(al)h FI([26,)8+ −
b(11,)g(27])r(.)23 b(The)0 4441 y(main)17 b(dif)n(ference)h(is)e(that)h+ −
(by)g(constructing,)h(so)f(to)g(say)-5 b(,)16 b(an)h(e)o(xplicit)g+ −
(model)g(of)g(the)g FG(\013)p FI(-equated)h(lambda-)0+ −
4536 y(terms)j(based)g(on)h(functions,)g(we)e(ha)n(v)o(e)i(no)f+ −
(problem)i(with)e(the)g(axiom)h(of)f(choice.)g(This)g(is)f(important.)0+ −
4632 y(F)o(or)h(consider)h(the)f(alternati)n(v)o(e:)h(if)f(the)g+ −
(axiom-of-choice)j(causes)c(inconsistencies,)h(then)h(one)g(cannot)0+ −
4727 y(b)n(uild)e(a)f(frame)n(w)o(ork)j(for)d(binding)i(on)f(top)g(of)f+ −
(Isabelle/HOL)h(with)f(its)f(rich)i(reasoning)g(infrastructure.)0+ −
4823 y(One)27 b(w)o(ould)g(ha)n(v)o(e)g(to)g(base)f(the)h+ −
(implementation)h(on)f(a)f(lo)n(wer)h(le)n(v)o(el)f(and)h(w)o(ould)g+ −
(ha)n(v)o(e)h(to)e(redo)h(the)p 0 TeXcolorgray 0 TeXcolorgray+ −
eop end+ −
%%Page: 23 23+ −
TeXDict begin 23 22 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(23)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 149 V 0 3636 4 3487 v 28 218 a FB(lemma)37 b Ft(substitution_lemma:)+ −
99 295 y FB(assumes)f Ft(a:)f("x)p Fz(6)p Fy(=)p Ft(y")i("x)12+ −
b Fy(#)g Ft(L")99 372 y FB(sho)o(ws)35 b Ft("M[x:=N][y:=L])k(=)d+ −
(M[y:=L][x:=N[y:=L]]")28 449 y FB(using)g Ft(a)28 525+ −
y FB(pr)o(oof)g Ft(\(nominal_induct)k(M)35 b(avoiding:)j(x)e(y)f(N)h(L)+ −
g(rule:)g(lam)1804 533 y FC(\013)1849 525 y Ft(.induct\))99+ −
602 y FB(case)g Ft(\(Var)392 610 y FC(\013)473 602 y+ −
Ft(z\))1797 b Ff(\(Case)17 b(1:)g(variables\))99 679+ −
y FB(sho)o(w)35 b Ft("Var)417 687 y FC(\013)463 679 y+ −
Ft(\(z\)[x:=N][y:=L])k(=)d(Var)1203 687 y FC(\013)1248+ −
679 y Ft(\(z\)[y:=L][x:=N[y:=L]]")41 b(\()p FB(is)36+ −
b Ft("?lhs=?rhs"\))99 756 y FB(pr)o(oof)g Ft(-)169 833+ −
y Fz(f)g FB(assume)71 b Ft("z=x")1884 b Ff(\(Case)17+ −
b(1.1\))240 909 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(N[y:=L]")h+ −
FB(using)f Ft(`z=x`)h FB(by)e Ft(simp)240 986 y FB(ha)n(v)o(e)i+ −
Ft(2:)f("?rhs)g(=)g(N[y:=L]")h FB(using)f Ft(`z=x`)h(`x)p+ −
Fz(6)p Fy(=)p Ft(y`)f FB(by)g Ft(simp)240 1063 y FB(fr)o(om)g+ −
Ft(1)g(2)f FB(ha)n(v)o(e)i Ft("?lhs)g(=)e(?rhs")72 b+ −
FB(by)36 b Ft(simp)169 1140 y Fz(g)169 1217 y FB(mor)o(eo)o(v)o(er)169+ −
1293 y Fz(f)g FB(assume)g Ft("z=y")h FB(and)e Ft("z)p+ −
Fz(6)p Fy(=)p Ft(x")1545 b Ff(\(Case)17 b(1.2\))240 1370+ −
y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(L")459 b FB(using)36+ −
b Ft(`z)p Fz(6)p Fy(=)p Ft(x`)g(`z=y`)h FB(by)e Ft(simp)240+ −
1447 y FB(ha)n(v)o(e)i Ft(2:)f("?rhs)g(=)g(L[x:=N[y:=L]]")j+ −
FB(using)d Ft(`z=y`)g FB(by)g Ft(simp)240 1524 y FB(ha)n(v)o(e)h+ −
Ft(3:)f("L[x:=N[y:=L]])j(=)c(L")142 b FB(using)36 b Ft(`x)12+ −
b Fy(#)g Ft(L`)36 b FB(by)f Ft(\(simp)i(add:)f(forget\))240+ −
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+ −
(?rhs")h FB(by)e Ft(simp)169 1677 y Fz(g)169 1754 y FB(mor)o(eo)o(v)o+ −
(er)169 1831 y Fz(f)h FB(assume)g Ft("z)p Fz(6)p Fy(=)p+ −
Ft(x")g FB(and)g Ft("z)p Fz(6)p Fy(=)p Ft(y")1525 b Ff(\(Case)17+ −
b(1.3\))240 1908 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(Var)899+ −
1916 y FC(\013)979 1908 y Ft(z")g FB(using)g Ft(`z)p+ −
Fz(6)p Fy(=)p Ft(x`)g(`z)p Fz(6)p Fy(=)p Ft(y`)g FB(by)g+ −
Ft(simp)240 1985 y FB(ha)n(v)o(e)h Ft(2:)f("?rhs)g(=)g(Var)899+ −
1993 y FC(\013)979 1985 y Ft(z")g FB(using)g Ft(`z)p+ −
Fz(6)p Fy(=)p Ft(x`)g(`z)p Fz(6)p Fy(=)p Ft(y`)g FB(by)g+ −
Ft(simp)240 2061 y FB(fr)o(om)g Ft(1)g(2)f FB(ha)n(v)o(e)i+ −
Ft("?lhs)g(=)e(?rhs")i FB(by)f Ft(simp)169 2138 y Fz(g)169+ −
2215 y FB(ultimately)i(sho)o(w)e Ft("?lhs)h(=)e(?rhs")i+ −
FB(by)e Ft(blast)99 2292 y FB(qed)28 2369 y(next)99 2445+ −
y(case)h Ft(\(Lam)392 2453 y FC(\013)473 2445 y Ft(z)f(M)578+ −
2454 y Fx(1)613 2445 y Ft(\))1714 b Ff(\(Case)18 b(2:)e(lambdas\))99+ −
2522 y FB(ha)n(v)o(e)37 b Ft(ih:)f(")p Fy([)-12 b([)o+ −
Ft(x)p Fz(6)p Fy(=)p Ft(y;)36 b(x)13 b Fy(#)e Ft(L)p+ −
Fy(])-12 b(])35 b(=)-12 b Fz(\))35 b Ft(M)1064 2531 y+ −
Fx(1)1099 2522 y Ft([x:=N][y:=L])k(=)c(M)1663 2531 y+ −
Fx(1)1698 2522 y Ft([y:=L][x:=N[y:=L]]")41 b FB(by)35+ −
b Ft(fact)99 2599 y FB(ha)n(v)o(e)i Ft(vc:)f("z)12 b+ −
Fy(#)g Ft(x")35 b("z)13 b Fy(#)e Ft(y")36 b("z)13 b Fy(#)e+ −
Ft(N")36 b("z)12 b Fy(#)g Ft(L")36 b FB(by)f Ft(fact)596+ −
b Ff(\(variable)19 b(con)m(vention\))99 2676 y FB(hence)36+ −
b Ft("z)13 b Fy(#)e Ft(N[y:=L]")38 b FB(by)d Ft(\(simp)i(add:)f+ −
(fresh_fact\))99 2753 y FB(sho)o(w)f Ft("Lam)417 2761+ −
y FC(\013)463 2753 y Ft(\(z,M)603 2762 y Fx(1)638 2753+ −
y Ft(\)[x:=N][y:=L])k(=)d(Lam)1308 2761 y FC(\013)1353+ −
2753 y Ft(\(z,M)1493 2762 y Fx(1)1529 2753 y Ft(\)[y:=L][x:=N[y:=L]]")+ −
41 b(\()p FB(is)36 b Ft("?lhs=?rhs"\))99 2829 y FB(pr)o(oof)g+ −
Ft(-)169 2906 y FB(ha)n(v)o(e)h Ft("?lhs)g(=)e(Lam)722+ −
2914 y FC(\013)768 2906 y Ft(\(z,M)908 2915 y Fx(1)943+ −
2906 y Ft([x:=N][y:=L]\)")40 b FB(using)35 b Ft(vc)h+ −
FB(by)f Ft(simp)169 2983 y FB(also)h(ha)n(v)o(e)h Ft(")p+ −
FA(:)12 b(:)f(:)47 b Ft(=)35 b(Lam)821 2991 y FC(\013)866+ −
2983 y Ft(\(z,M)1006 2992 y Fx(1)1042 2983 y Ft([y:=L][x:=N[y:=L]]\)")+ −
41 b FB(using)36 b Ft(ih)g(`x)p Fz(6)p Fy(=)p Ft(y`)g(`x)12+ −
b Fy(#)g Ft(L`)36 b FB(by)f Ft(simp)169 3060 y FB(also)h(ha)n(v)o(e)h+ −
Ft(")p FA(:)12 b(:)f(:)47 b Ft(=)35 b(Lam)821 3068 y+ −
FC(\013)866 3060 y Ft(\(z,M)1006 3069 y Fx(1)1042 3060+ −
y Ft([y:=L]\)[x:=N[y:=L]]")41 b FB(using)36 b Ft(vc)g(`z)12+ −
b Fy(#)g Ft(N[y:=L]`)37 b FB(by)f Ft(simp)169 3137 y+ −
FB(also)g(ha)n(v)o(e)h Ft(")p FA(:)12 b(:)f(:)47 b Ft(=)35+ −
b(?rhs")i FB(using)71 b Ft(vc)36 b FB(by)f Ft(simp)169+ −
3213 y FB(\002nally)i(sho)o(w)e Ft("?lhs)i(=)f(?rhs")g+ −
FB(by)g Ft(simp)99 3290 y FB(qed)28 3367 y(next)99 3444+ −
y(case)g Ft(\(App)392 3452 y FC(\013)473 3444 y Ft(M)508+ −
3453 y Fx(1)578 3444 y Ft(M)613 3453 y Fx(2)648 3444+ −
y Ft(\))1576 b Ff(\(Case)17 b(3:)g(applications\))99+ −
3521 y FB(thus)35 b Ft("App)396 3529 y FC(\013)441 3521+ −
y Ft(\(M)511 3530 y Fx(1)546 3521 y Ft(,M)616 3530 y+ −
Fx(2)652 3521 y Ft(\)[x:=N][y:=L])k(=)c(App)1321 3529+ −
y FC(\013)1366 3521 y Ft(\(M)1436 3530 y Fx(1)1471 3521+ −
y Ft(,M)1541 3530 y Fx(2)1577 3521 y Ft(\)[y:=L][x:=N[y:=L]]")41+ −
b FB(by)35 b Ft(simp)28 3597 y FB(qed)p 2878 3636 V 0+ −
3639 2881 4 v 0 3755 a(Fig)o(.)18 b(3)33 b FF(A)18 b(formalised)i+ −
(proof)f(of)g(Barendre)o(gt')l(s)i(substitution)g(lemma)e(using)g(the)g+ −
(Isabelle')l(s)i(Isar)d(language.)j(This)d(proof)0 3832+ −
y(contains)g(all)f(reasoning)g(steps)g(gi)n(v)o(en)g(in)f(e)o(xtreme)h+ −
(detail.)h(An)e(automated)i(v)o(ersion)f(of)f(this)g(proof,)g(gi)n(v)o+ −
(en)h(in)f(\(25\),)g(is)g(only)0 3909 y(5)k(lines)h(long.)f(The)g+ −
(crucial)j(point)e(in)f(both)h(proofs,)f(ho)n(we)n(v)o(er)m(,)i(is)e+ −
(that)h(in)f(the)h(lambda-case)i(we)d(ha)o(v)o(e)h(the)f(assumptions)0+ −
3986 y(labelled)27 b(with)e Ft(vc)f FF(a)o(v)n(ailable.)j(The)o(y)d+ −
(allo)n(w)h(us)f(to)g(easily)i(formalise)f(Barendre)o(gt')l(s)i(slick)e+ −
(informal)h(proof,)e(sho)n(wn)g(in)0 4062 y(Fig.)17 b(1,)f(which)i+ −
(uses)f(the)h(v)n(ariable)i(con)m(v)o(ention.)p 0 TeXcolorgray+ −
0 4339 a FI(ef)n(fort)g(that)f(has)g(been)h(spend)g(to)f(de)n(v)o(elop)+ −
i(Isabelle/HOL.)d(This)i(w)o(as)e(attempted)i(in)f(Gabbay)i([10],)f(b)n+ −
(ut)0 4434 y(the)g(attempt)g(w)o(as)g(quickly)h(abandoned.)125+ −
4536 y(Closely)k(related)h(to)g(our)h(w)o(ork)g(is)e(Gordon)j(and)e+ −
(Melham)h([14],)g(which)f(has)g(been)g(applied)h(and)0+ −
4632 y(much)21 b(further)h(de)n(v)o(eloped)h(by)e(Norrish)g([22,)8+ −
b(23].)22 b(Gordon)g(and)f(Melham')l(s)g(w)o(ork)g(states)f(\002)n(v)o+ −
(e)g(axioms)0 4727 y(characterising)i FG(\013)p FI(-equi)n(v)n(alence)g+ −
(and)g(then)f(sho)n(ws)f(that)h(a)f(model)i(based)f(on)g(de-Bruijn)h+ −
(indices)e(satis-)0 4823 y(\002es)j(these)h(axioms.)g(This)g(is)f(some)+ −
n(what)h(similar)g(to)g(our)g(approach)i(where)e(we)f(construct)i(e)o+ −
(xplicitly)p 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 24 24+ −
TeXDict begin 24 23 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(24)p 0 TeXcolorgray 0 228 a FI(the)26+ −
b(set)f Fs(lam)353 236 y Fp(\013)400 228 y FI(.)g(In)h([14])h(Gordon)g+ −
(and)g(Melham)f(gi)n(v)o(e)g(an)g(induction)i(principle)e(that)g+ −
(requires)h(in)e(the)0 324 y(lambda-case)c(to)f(pro)o(v)o(e)h(\(using)g+ −
(their)f(notation\))653 512 y FD(8)13 b FG(x)f(t:)21+ −
b Fr(\()p FD(8)13 b FG(v)s(:)21 b(P)j Fr(\()p FG(t)p+ −
Fr([)p FG(x)d Fr(:=)g Fk(V)-8 b(AR)24 b FG(v)s Fr(]\)\))e(=)-13+ −
b FD(\))21 b FG(P)i Fr(\()p Fk(LAM)33 b FG(x)21 b(t)p+ −
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)+ −
o(e)h FG(P)11 b Fr(\()p Fk(LAM)49 b FG(x)37 b(t)p Fr(\))29+ −
b FI(for)g(a)g(v)n(ariable)h FG(x)e FI(for)i(which)f(nothing)i(can)e+ −
(be)0 800 y(assumed;)20 b(e)o(xplicit)g FG(\013)p FI(-renamings)i(are)e+ −
(then)g(often)h(necessary)f(in)g(order)h(to)f(get)g(proofs)h(through.)h+ −
(This)0 895 y(incon)m(v)o(enience)27 b(has)e(been)h(alle)n(viated)g(by)+ −
g(the)f(v)o(ersion)h(of)g(structural)f(induction)i(gi)n(v)o(en)f(in)g+ −
([13])g(and)0 991 y([23],)21 b(where)f(the)g(lambda-case)h(is)f(as)f+ −
(follo)n(ws)523 1179 y FD(9)p FG(X)r(:)i Fs(FINITE)i+ −
FG(X)h FD(^)17 b Fr(\()p FD(8)k FG(x)g(t:)g(x)g FD(62)g+ −
FG(X)j FD(^)17 b FG(P)32 b(t)21 b Fr(=)-13 b FD(\))21+ −
b FG(P)32 b Fr(\()p FG(LAM)d(x)21 b(t)p Fr(\)\))0 1371+ −
y FI(F)o(or)26 b(this)f(principle)i(one)f(has)g(to)g(pro)o(vide)h(a)e+ −
(\002nite)h(set)f FG(X)32 b FI(and)26 b(then)g(has)g(to)g(sho)n(w)g+ −
(the)g(lambda-case)0 1466 y(for)d(all)e(binders)i(not)f(in)g(this)g+ −
(set.)f(This)h(is)f(v)o(ery)i(similar)e(to)h(our)h(induction)h+ −
(principle)f(where)f(we)g(ha)n(v)o(e)0 1562 y(to)g(specify)g(an)g+ −
(induction)h(conte)o(xt,)f(b)n(ut)g(we)g(claim)f(that)h(our)g(v)o+ −
(ersion)h(based)f(on)g(freshness)g(\002ts)e(better)0+ −
1657 y(with)e(informal)i(practice)f(\(recall)f(Fig.)g(1)h(where)f+ −
(Barendre)o(gt)i(states)d(that)h FG(z)k FI(is)17 b(fresh)i(w)-5+ −
b(.r)l(.t.)17 b FG(x)p FI(,)g FG(y)s FI(,)g FG(N)27 b+ −
FI(and)0 1753 y FG(L)p FI(\))18 b(and)h(can)f(mak)o(e)h(better)g(use)e+ −
(of)i(the)f(automatic)h(infrastructure)h(of)e(Isabelle)g(\(namely)i+ −
(the)e(axiomatic)0 1848 y(type-classes)i(enforce)h(the)f+ −
(\002nite-support)i(property\).)125 1947 y(Gordon)k(and)g(Melham)f+ −
([14])i(do)e(not)h(consider)g(the)f(case)f(of)i(rule)f(inductions)i(o)o+ −
(v)o(er)e(inducti)n(v)o(ely)0 2043 y(de\002ned)17 b(predicates.)g(This)+ −
g(has)f(been)h(done)h(in)f([33,)8 b(34].)17 b(It)g(turns)g(out)g(that)g+ −
(while)f(the)h(v)n(ariable)g(con)m(v)o(en-)0 2138 y(tion)h(can)f(be)h+ −
(b)n(uilt)g(into)g(e)n(v)o(ery)g(structural)g(induction)h(principle,)f+ −
(lik)o(e)g(our)g(Thm.)g(2,)f(this)g(is)g(not)h(the)f(case)0+ −
2234 y(for)i(rule)f(induction)i(principles.)e(In)h([33])g(the)f+ −
(authors)h(gi)n(v)o(e)f(an)g(e)o(xample)h(where)f(the)g(v)n(ariable)h+ −
(con)m(v)o(en-)0 2329 y(tion)f(can)f(lead)g(to)g(f)o(aulty)h+ −
(reasoning.)h(The)e(nominal)h(datatype)h(package)f(pre)n(v)o(ents)g+ −
(this)e(by)i(introducing)0 2425 y(conditions)24 b(for)g(when)f(an)g+ −
(inducti)n(v)o(e)h(de\002nition)g(is)e(compatible)i(with)f(the)g(v)n+ −
(ariable)g(con)m(v)o(ention)i(and)0 2520 y(only)c(deri)n(v)o(es)f(a)g+ −
(strong)h(rule)f(induction)i(principle)f(for)g(those)f(that)g(satisfy)g+ −
(these)f(conditions.)125 2619 y(Lik)o(e)27 b(our)g Fs(lam)544+ −
2627 y Fp(\013)591 2619 y FI(,)f(HO)m(AS)g(uses)g(functions)i(to)f+ −
(encode)g(lambda-abstractions;)i(it)d(comes)h(in)f(tw)o(o)0+ −
2715 y(\003a)n(v)n(ours:)e FE(weak)f FI(HO)m(AS)f([8])g(and)h+ −
FE(full)f FI(HO)m(AS)g([25].)h(The)f(adv)n(antage)i(of)e(full)g(HO)m+ −
(AS)g(o)o(v)o(er)h(our)g(w)o(ork)0 2810 y(is)g(that)h(notions)h(such)f+ −
(as)f(capture-a)n(v)n(oiding)28 b(substitution)d(come)f(for)h(free.)e+ −
(W)-6 b(e,)24 b(on)g(the)g(other)h(hand,)0 2906 y(load)18+ −
b(the)f(w)o(ork)h(of)g(making)h(such)e(de\002nitions)h(onto)g(the)g+ −
(user)l(.)f(The)g(adv)n(antage)i(of)f(our)g(w)o(ork)g(is)f(that)g(we)0+ −
3001 y(ha)n(v)o(e)25 b(no)h(dif)n(\002culties)e(with)h(notions)h(such)e+ −
(as)g(simultaneous-substitution)j(\(a)e(crucial)g(notion)h(in)e(the)0+ −
3097 y(usual)19 b(strong)g(normalisation)h(proofs)g(based)f(on)g+ −
(logical)g(relation)g(ar)o(guments\),)g(which)h(in)e(full)h(HO)m(AS)0+ −
3192 y(seem)26 b(rather)h(dif)n(\002cult)f(to)h(encode)g(when)f(one)h+ −
(at)f(the)g(same)g(time)g(w)o(ants)g(to)g(reap)h(the)f(bene\002ts)g(of)+ −
h(a)0 3288 y(HO)m(AS-representation.)d(Another)g(adv)n(antage)h(we)d+ −
(see)h(is)f(that)h(by)g(inducti)n(v)o(ely)i(de\002ning)f+ −
Fs(lam)2677 3296 y Fp(\013)2725 3288 y FI(,)e(one)0 3383+ −
y(has)g(induction)i(for)g(\223free\224,)e(whereas)h(induction)h+ −
(requires)f(considerable)h(ef)n(fort)f(in)g(full)f(HO)m(AS.)g(The)0+ −
3479 y(w)o(ork)d(by)f(Ambler)g FE(et)f(al)h FI([1])g(on)g(the)g+ −
(Hybrid-system)h(pro)o(vides)g(full)e(HO)m(AS)h(on)g(top)g(of)g+ −
(Isabelle/HOL.)0 3574 y(F)o(or)26 b(this)g(the)o(y)h(use)f(a)g+ −
(de-Bruijn)i(encoding)g(and)f(construct)g(a)f(type)h(corresponding)i+ −
(to)e(full)f(HO)m(AS.)0 3670 y(This)j(construction)h(is)e(some)n(what)h+ −
(similar)g(to)g(our)g(subset-construction)i(from)f(Sect.)e(3.)g(Ho)n+ −
(we)n(v)o(er)m(,)0 3765 y(their)h(construction)i(is)e(done)h(manually)g+ −
(and)g(only)g(for)g(one)g(datatype,)g(while)f(we)g(ha)n(v)o(e)h+ −
(automatic)0 3861 y(support)21 b(to)f(do)h(the)f(subset)g(construction)+ −
i(for)e(an)o(y)h(nominal)g(datatype.)125 3960 y(The)16+ −
b(main)h(dif)n(ference)h(of)f(our)g(w)o(ork)h(with)e(weak)h(HO)m(AS)f+ −
(is)g(that)g(we)h(use)f FE(some)g FI(speci\002c)g(functions)0+ −
4055 y(to)j(represent)i(lambda-abstractions;)g(in)e(contrast,)h(weak)f+ −
(HO)m(AS)g(uses)g(the)g FE(full)h FI(function)h(space.)e(This)0+ −
4151 y(causes)h(problems)h(kno)n(wn)g(by)g(the)f(term)g(\223e)o(xotic)h+ −
(terms\224\227essentially)e(junk)i(in)f(the)h(model.)125+ −
4250 y(Recently)-5 b(,)15 b(Homeier)i([16])g(introduced)h(a)d(quotient)+ −
j(package)f(for)f(HOL4)g(that)g(helps)g(with)g(de\002ning)0+ −
4345 y(alpha-equi)n(v)n(alence)22 b(classes)c(\(this)i(package)g+ −
(supports)g(quotients)h(by)f(an)o(y)g(equi)n(v)n(alence)h(relation\))f+ −
(and)0 4441 y(with)h(lifting)g(theorems)g(from)h(the)e(\223ra)o(w\224)h+ −
(v)o(ersion)g(of)g(the)g(datatype)g(to)g(the)f(quotient.)i(Norrish)f+ −
(mak)o(es)0 4536 y(use)h(of)g(this)g(package)h(in)f([23].)h(This)f+ −
(package)h(w)o(ould)g(help)g(us)f(with)g(the)g(construction)i(of)e+ −
Fs(lam)2693 4544 y Fp(\013)2740 4536 y FI(,)g(b)n(ut)0+ −
4632 y(w)o(ould)f(ha)n(v)o(e)g(only)g(little)e(impact)h(on)h(obtaining)+ −
h(the)e(strong)g(induction)i(principles)f(and)f(the)g(recursion)0+ −
4727 y(combinator)l(.)h(Ne)n(v)o(ertheless)f(we)f(look)i(forw)o(ard)h+ −
(to)e(a)f(port)i(of)f(Homeier')l(s)g(package)h(to)f(Isabelle/HOL.)0+ −
4823 y(It)g(will)f(simplify)i(our)g(w)o(ork)g(when)f(we)g(consider)h+ −
(more)g(complicated)g(binding)h(structures.)p 0 TeXcolorgray+ −
0 TeXcolorgray eop end+ −
%%Page: 25 25+ −
TeXDict begin 25 24 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(25)p 0 TeXcolorgray 125 228+ −
a FI(A)-7 b(ydemir)19 b FE(et)f(al)h FI([2])g(reported)h(w)o(ork)g(in)f+ −
(progress)g(for)h(pro)o(viding)h(nominal)f(reasoning)g(techniques)0+ −
324 y(in)f(Coq.)f(Essentially)-5 b(,)18 b(the)o(y)h(deri)n(v)o(e)h+ −
(more)f(or)g(less)f(automatically)i(from)f(a)g(speci\002cation)g(of)g+ −
(a)f(nominal)0 419 y(datatype)24 b(an)f(axiomatisation)g(of)h(nominal)g+ −
(concepts)f(in)g(Coq)g(and)g(in)g(case)f(of)h(the)g(lambda-calculus)0+ −
515 y(use)i(a)g(Gordon-Melham)k(representation)e(to)e(justify)h(their)g+ −
(axiomatisation.)g(Ho)n(we)n(v)o(er)m(,)g(this)f(justi\002-)0+ −
610 y(cation)c(needs)h(to)f(be)g(done)h(manually)-5 b(,)22+ −
b(while)f(with)g(our)h(constructions)g(we)f(pro)o(vide)h(the)f+ −
(justi\002cation)0 706 y(completely)f(automatically)-5+ −
b(.)19 b(Judging)h(from)f(recent)g(w)o(ork,)g(the)g(authors)g(seem)f+ −
(to)h(ha)n(v)o(e)g(\223abandoned\224)0 801 y(this)g(w)o(ork)h(in)f(f)o+ −
(a)n(v)n(our)j(of)d(w)o(orking)i(with)e(a)g(locally)g(nameless)g+ −
(representation)h(of)g FG(\013)p FI(-equated)g(lambda-)0+ −
897 y(terms)g([3].)0 1195 y FJ(8)28 b(Conclusion)0 1386+ −
y FI(The)e(paper)g([4],)g(which)g(sets)e(out)i(some)g(challenges)g(for)+ −
g(automated)h(proof)g(assistants,)c(claims)j(that)0 1481+ −
y(theorem)21 b(pro)o(ving)h(technologies)g(ha)n(v)o(e)f(almost)f+ −
(reached)h(the)f(threshold)i(where)e(the)o(y)g(can)h(be)f(used)g+ −
FE(by)0 1577 y(the)27 b(masses)g FI(for)h(formal)g(reasoning)h(about)f+ −
(programming)j(languages.)d(W)-6 b(e)27 b(hope)i(to)e(ha)n(v)o(e)h+ −
(pushed)0 1672 y(with)19 b(this)g(paper)h(the)g(boundary)h(of)f(the)f+ −
(state-of-the-art)i(in)e(formal)i(reasoning)f(closer)g(to)f(this)g+ −
(thresh-)0 1768 y(old.)h(W)-6 b(e)19 b(sho)n(wed)h(all)f(our)i(results)+ −
e(for)h(the)g(lambda-calculus.)h(But)e(the)h(lambda-calculus)h(is)e+ −
(only)h FE(one)0 1863 y FI(e)o(xample.)25 b(The)h(nominal)g(datatype)g+ −
(package)g(has)e(no)i(problems)g(with)f(generalising)h(the)f(results)f+ −
(re-)0 1959 y(ported)c(here)g(to)f(more)g(complicated)h(term-calculi.)g+ −
(F)o(or)f(e)o(xample,)g(there)h(is)e(already)i(w)o(ork)g(by)f(Bengt-)0+ −
2054 y(son)f(using)h(the)f(nominal)h(datatype)g(package)g(for)g+ −
(formalising)g(the)f FG(\031)s FI(-calculus)g([6];)h(T)-6+ −
b(obin-Hochstadt)0 2150 y(and)21 b(Felleisen)e(used)h(it)g(to)g(v)o+ −
(erify)h(their)f(w)o(ork)h(on)g(T)-6 b(yped)21 b(Scheme)f([30].)125+ −
2247 y(There)27 b(has)g(also)g(been)h(w)o(ork)g(on)g(e)o(xtending)h+ −
(strong)f(induction)h(principles)e(to)h(rule)f(inductions)0+ −
2342 y([33,)8 b(34].)28 b(The)f(real)g(challenge)h(has)f(been)g(and)g+ −
(still)f(is)h(to)f(generalise)i(all)e(the)h(necessary)g(reasoning)0+ −
2438 y(infrastructure)c(to)e(more)h(general)g(binding)h(structures.)e+ −
(While)h(there)g(is)e(no)i(problem)h(in)e(the)g(nominal)0+ −
2533 y(datatype)h(package)f(with)g(iterated)g(binders,)g(as)g(in)f+ −
Fs(Foo)1555 2522 y Fa(h)-10 b(h)1594 2533 y FI(name)1765+ −
2522 y Fa(i)g(i)o(h)g(h)1844 2533 y FI(name)2015 2522+ −
y Fa(i)g(i)p 2059 2533 24 4 v 2074 2533 V 2098 2533 a+ −
FI(,)20 b(and)i(binders)f(of)g(dif)n(ferent)0 2629 y(type,)30+ −
b(as)g(in)g Fs(Bar)503 2618 y Fa(h)-10 b(h)542 2629 y+ −
FI(name)713 2618 y Fa(i)g(i)p 757 2629 V 773 2629 V 56+ −
w(h)g(h)849 2629 y FI(coname)1094 2618 y Fa(i)g(i)p 1138+ −
2629 V 1154 2629 V 1177 2629 a FI(,)30 b(it)g(is)f(not)i(yet)g+ −
(possible)f(to)g(ha)n(v)o(e,)h(for)g(e)o(xample,)g(a)f(\002nite)0+ −
2724 y(set)22 b(of)h(binders)h(in)f(a)f(term-constructor)l(.)i(A)f+ −
(typical)g(e)o(xample)g(where)h(such)f(a)f(generalisation)i(is)e(v)o+ −
(ery)0 2820 y(helpful)31 b(is)e(the)h(Hindle)o(y-Milner)h+ −
(typing-algorithm)i(where)d(one)g(has)g(type-schemes)h(of)f(the)g(form)+ −
0 2915 y FD(8f)p FG(a)122 2927 y Fq(1)159 2915 y FG(;)13+ −
b(:)g(:)g(:)h(;)f(a)371 2923 y Fp(n)416 2915 y FD(g)p+ −
FG(:ty)s FI(.)23 b(Such)i(type-schemes)g(can)f(at)g(the)h(moment)g+ −
(only)g(be)g(represented)g(by)g(encoding)0 3011 y(them)h(as)f(an)g+ −
(iterated)h(list)e(of)i(single)g(binders.)g(T)-6 b(o)25+ −
b(w)o(ork)i(out)f(the)f(details)g(for)h(the)g(generalisation)g(of)0+ −
3106 y(binding)32 b(structures)e(and)h(to)f(implement)h(them)g(is)e+ −
(future)i(w)o(ork.)g(Future)g(w)o(ork)g(also)f(includes)g(the)0+ −
3202 y(generalisation)23 b(of)e(our)i(recursion)f(combinator)h(to)f(w)o+ −
(ork)g(with)g(v)n(arying)h(parameters.)e(This)h(has)f(been)0+ −
3297 y(treated)f(in)g([23,)8 b(27],)22 b(b)n(ut)f(it)e(seems)h(dif)n+ −
(\002cult)g(to)g(adapt)h(their)f(results)g(to)g(our)h(setting.)0+ −
3448 y FJ(Ackno)o(wledgements:)27 b FI(I)f(am)h(v)o(ery)g(grateful)h+ −
(to)f(Andy)h(Pitts)d(and)i(Michael)g(Norrish)h(for)f(the)g(man)o(y)0+ −
3543 y(discussions)h(with)h(them)f(on)h(the)f(subject)h(of)g(the)f+ −
(paper)l(.)g(Stef)o(an)h(Ber)o(ghofer)g(and)g(Markus)g(W)-6+ −
b(enzel)0 3639 y(ha)n(v)o(e)31 b(been)g(helpful)g FE(be)n(yond)h+ −
(measur)m(e)e FI(with)g(implementing)i(the)e(w)o(ork)i(reported)f+ −
(here.)g(Christine)0 3734 y(T)-6 b(asson)19 b(helped)i(with)f(the)f+ −
(early)i(parts)e(of)h(the)g(w)o(ork.)g(Julien)g(Narboux)i(pro)o(vided)f+ −
(helpful)g(comments.)0 4033 y FJ(Refer)o(ences)p 0 TeXcolorgray+ −
33 4205 a FF(1.)p 0 TeXcolorgray 38 w(S.)d(J.)f(Ambler)m(,)i(R.)f(L.)f+ −
(Crole,)i(and)g(A.)e(Momigliano.)31 b(Combining)19 b(Higher)h(Order)f+ −
(Abstract)g(Syntax)h(with)f(Tactical)121 4281 y(Theorem)e(Pro)o(ving)g+ −
(and)f(\(Co\)Induction.)24 b(In)16 b Ff(Pr)m(oc.)g(of)g(the)g(15th)h+ −
(International)i(Confer)n(ence)f(on)e(Theor)n(em)h(Pr)m(o)o(ving)121+ −
4358 y(in)h(Higher)f(Or)n(der)g(Lo)o(gics)h(\(TPHOLs\))p+ −
FF(,)e(v)o(olume)h(2410)h(of)f Ff(LNCS)p FF(,)f(pages)i(13\22630,)g+ −
(2002.)p 0 TeXcolorgray 33 4437 a(2.)p 0 TeXcolorgray+ −
38 w(B.)f(A)-6 b(ydemir)m(,)18 b(A.)e(Bohannon,)j(and)e(S.)g(W)-5+ −
b(eihrich.)25 b(Nominal)19 b(Reasoning)g(T)-5 b(echniques)19+ −
b(in)e(Coq)h(\(w)o(ork)g(in)f(progress\).)121 4514 y(In)g+ −
Ff(Pr)m(oc.)e(of)i(the)g(International)j(W)-6 b(orkshop)17+ −
b(on)f(Lo)o(gical)i(F)l(r)o(ame)o(works)f(and)g(Meta-Langua)o(g)o(es:)j+ −
(Theory)d(and)g(Pr)o(ac-)121 4590 y(tice)i(\(LFMTP\))p+ −
FF(,)d(ENTCS,)f(pages)j(60\22668,)f(2006.)p 0 TeXcolorgray+ −
33 4669 a(3.)p 0 TeXcolorgray 38 w(B.)g(A)-6 b(ydemir)m(,)18+ −
b(A.)e(Char)o(gu)t(\264)-26 b(eraud,)19 b(B.)e(C.)f(Pierce,)i(R.)f+ −
(Pollack,)h(and)g(S.)e(W)-5 b(eirich.)26 b(Engineering)19+ −
b(Formal)e(Metatheory)l(.)121 4746 y(In)i Ff(Pr)m(oc.)g(of)g(the)h(35r)+ −
n(d)e(Symposium)j(on)e(Principles)h(of)g(Pr)m(o)o(gr)o(amming)f(Langua)+ −
o(g)o(es)i(\(POPL\))p FF(,)d(pages)i(3\22615.)f(A)m(CM,)121+ −
4823 y(2008.)p 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 26 26+ −
TeXDict begin 26 25 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 0 17 a FF(26)p 0 TeXcolorgray 0 TeXcolorgray+ −
33 228 a(4.)p 0 TeXcolorgray 38 w(B.)17 b(E.)e(A)-6 b(ydemir)m(,)18+ −
b(A.)e(Bohannon,)i(M.)e(F)o(airbairn,)j(J.)d(N.)g(F)o(oster)m(,)h(B.)g+ −
(C.)f(Pierce,)i(P)-7 b(.)16 b(Se)n(well,)i(D.)e(Vytiniotis,)j(G.)d(W)-5+ −
b(ash-)121 305 y(b)o(urn,)17 b(S.)g(W)-5 b(eirich,)18+ −
b(and)g(S.)f(Zdance)n(wic.)27 b(Mechanized)21 b(Metatheory)f(for)e(the)+ −
g(Masses:)g(The)f(Popl)q(Mark)h(Challenge.)121 382 y(In)i+ −
Ff(Pr)m(oc.)f(of)h(the)h(18th)f(International)j(Confer)n(ence)f(on)e+ −
(Theor)n(em)g(Pr)m(o)o(ving)h(in)f(Higher)o(-Or)n(der)g(Lo)o(gics)h+ −
(\(TPHOLs\))p FF(,)121 459 y(v)o(olume)d(3603)f(of)g+ −
Ff(LNCS)p FF(,)g(pages)h(50\22665,)f(2005.)p 0 TeXcolorgray+ −
33 535 a(5.)p 0 TeXcolorgray 38 w(H.)e(Barendre)o(gt.)24+ −
b Ff(The)16 b(Lambda)g(Calculus:)i(Its)e(Syntax)h(and)f(Semantics)p+ −
FF(,)h(v)o(olume)g(103)f(of)f Ff(Studies)j(in)e(Lo)o(gic)h(and)f(the)+ −
121 612 y(F)-7 b(oundations)19 b(of)e(Mathematics)p FF(.)27+ −
b(North-Holland,)19 b(1981.)p 0 TeXcolorgray 33 688 a(6.)p+ −
0 TeXcolorgray 38 w(J.)25 b(Bengtson)h(and)g(J.)e(P)o(arro)n(w)l(.)51+ −
b(F)o(ormalising)26 b(the)g(pi-Calculus)i(using)e(Nominal)g(Logic.)51+ −
b(In)25 b Ff(Pr)m(oc.)f(of)i(the)g(10th)121 765 y(International)21+ −
b(Confer)n(ence)f(on)e(F)-7 b(oundations)19 b(of)f(Softwar)n(e)h+ −
(Science)h(and)e(Computation)i(Structur)n(es)f(\(FOSSA)n(CS\))p+ −
FF(,)121 842 y(v)o(olume)f(4423)f(of)g Ff(LNCS)p FF(,)g(pages)h+ −
(63\22677,)f(2007.)p 0 TeXcolorgray 33 918 a(7.)p 0 TeXcolorgray+ −
38 w(K.)d(Crary)l(.)k(Logical)e(Relations)h(and)e(a)f(Case)h(Study)g+ −
(in)f(Equi)n(v)n(alence)k(Checking.)i(In)14 b(B.)g(C.)g(Pierce,)h+ −
(editor)m(,)h Ff(Advanced)121 995 y(T)-6 b(opics)18 b(in)f(T)-5+ −
b(ypes)18 b(and)f(Pr)m(o)o(gr)o(amming)h(Langua)o(g)o(es)p+ −
FF(,)g(pages)g(223\226244.)g(MIT)e(Press,)g(2005.)p 0+ −
TeXcolorgray 33 1071 a(8.)p 0 TeXcolorgray 38 w(J.)h(Despe)o(yroux,)h+ −
(A.)f(Felty)l(,)h(and)g(A.)e(Hirscho)n(witz.)28 b(Higher)o(-Order)19+ −
b(Abstract)g(Syntax)f(in)g(Coq.)25 b(In)18 b Ff(Pr)m(oc.)e(of)i(the)g+ −
(2nd)121 1148 y(International)28 b(Confer)n(ence)e(on)e(T)-5+ −
b(yped)25 b(Lambda)g(Calculi)h(and)f(Applications)h(\(TLCA\))p+ −
FF(,)d(v)o(olume)i(902)f(of)h Ff(LNCS)p FF(,)121 1225+ −
y(pages)18 b(124\226138,)g(1995.)p 0 TeXcolorgray 33+ −
1301 a(9.)p 0 TeXcolorgray 38 w(G.)d(Do)n(wek,)i(T)-5+ −
b(.)14 b(Hardin,)j(and)f(C.)g(Kirchner)l(.)23 b(Higher)o(-Order)18+ −
b(Uni\002cation)g(via)f(Explicit)h(Substitutions.)24+ −
b Ff(Information)121 1378 y(and)18 b(Computation)p FF(,)h+ −
(157:183\226235,)g(2000.)p 0 TeXcolorgray 0 1454 a(10.)p+ −
0 TeXcolorgray 38 w(M.)g(J.)g(Gabbay)l(.)34 b Ff(A)19+ −
b(Theory)i(of)f(Inductive)i(De\002nitions)g(With)f FA(\013)p+ −
Ff(-Equivalence)p FF(.)37 b(PhD)19 b(thesis,)h(Uni)n(v)o(ersity)j(of)c+ −
(Cam-)121 1531 y(bridge,)f(2001.)p 0 TeXcolorgray 0 1607+ −
a(11.)p 0 TeXcolorgray 38 w(M.)23 b(J.)e(Gabbay)j(and)g(A.)e(M.)g+ −
(Pitts.)43 b(A)23 b(Ne)n(w)g(Approach)h(to)f(Abstract)i(Syntax)f(with)f+ −
(Variable)i(Binding.)45 b Ff(F)-7 b(ormal)121 1684 y(Aspects)18+ −
b(of)f(Computing)p FF(,)i(13:341\226363,)f(2001.)p 0+ −
TeXcolorgray 0 1760 a(12.)p 0 TeXcolorgray 38 w(J.-Y)-9+ −
b(.)19 b(Girard,)i(Y)-9 b(.)19 b(Lafont,)h(and)g(P)-7+ −
b(.)18 b(T)-5 b(aylor)l(.)34 b Ff(Pr)m(oofs)19 b(and)h(Types)p+ −
FF(,)g(v)o(olume)g(7)g(of)f Ff(Cambridg)o(e)j(T)l(r)o(acts)e(in)g+ −
(Theor)n(etical)121 1837 y(Computer)f(Science)p FF(.)26+ −
b(Cambridge)19 b(Uni)n(v)o(ersity)g(Press,)e(1989.)p+ −
0 TeXcolorgray 0 1913 a(13.)p 0 TeXcolorgray 38 w(A.)h(D.)g(Gordon.)29+ −
b(A)18 b(Mechanisation)k(of)c(Name-carrying)k(Syntax)d(up)g(to)f+ −
(Alpha-Con)m(v)o(ersion.)33 b(In)18 b Ff(Pr)m(oc.)g(of)h(the)g(6th)121+ −
1990 y(International)25 b(W)-6 b(orkshop)22 b(on)f(Higher)o(-or)n(der)h+ −
(Lo)o(gic)h(Theor)n(em)e(Pr)m(o)o(ving)i(and)e(its)h(Applications)h+ −
(\(HUG\))p FF(,)e(v)o(olume)121 2067 y(780)d(of)f Ff(LNCS)p+ −
FF(,)g(pages)g(414\226426,)h(1994.)p 0 TeXcolorgray 0+ −
2143 a(14.)p 0 TeXcolorgray 38 w(A.)23 b(D.)g(Gordon)h(and)g(T)-5+ −
b(.)22 b(Melham.)46 b(Fi)n(v)o(e)24 b(Axioms)g(of)f(Alpha)h(Con)m(v)o+ −
(ersion.)47 b(In)24 b Ff(Pr)m(oc.)e(of)i(the)g(9th)g(International)121+ −
2220 y(Confer)n(ence)19 b(on)e(Theor)n(em)g(Pr)m(o)o(ving)g(in)g+ −
(Higher)h(Or)n(der)e(Lo)o(gics)h(\(TPHOLs\))p FF(,)e(v)o(olume)j(1125)f+ −
(of)f Ff(LNCS)p FF(,)h(pages)g(173\226)121 2297 y(190,)g(1996.)p+ −
0 TeXcolorgray 0 2373 a(15.)p 0 TeXcolorgray 38 w(R.)h(Harper)i(and)f+ −
(F)-5 b(.)17 b(Pfenning.)30 b(On)19 b(Equi)n(v)n(alence)j(and)d+ −
(Canonical)i(Forms)d(in)h(the)g(LF)f(Type)g(Theory)l(.)29+ −
b Ff(A)n(CM)18 b(T)l(r)o(ans-)121 2450 y(actions)h(on)e(Computational)j+ −
(Lo)o(gic)p FF(,)e(6\(1\):61\226101,)h(2005.)p 0 TeXcolorgray+ −
0 2526 a(16.)p 0 TeXcolorgray 38 w(P)-7 b(.)18 b(Homeier)l(.)30+ −
b(A)18 b(Design)h(Structure)h(for)f(Higher)g(Order)g(Quotients.)31+ −
b(In)18 b Ff(Pr)m(oc.)g(of)h(the)g(18th)g(International)j(Confer)o(-)+ −
121 2603 y(ence)h(on)e(Theor)n(em)h(Pr)m(o)o(ving)g(in)g(Higher)g(Or)n+ −
(der)e(Lo)o(gics)j(\(TPHOLs\))p FF(,)d(v)o(olume)i(3603)f(of)g+ −
Ff(LNCS)p FF(,)h(pages)g(130\226146,)121 2680 y(2005.)p+ −
0 TeXcolorgray 0 2756 a(17.)p 0 TeXcolorgray 38 w(S.)h(C.)g(Kleene.)47+ −
b(Disjunction)26 b(and)e(Existence)h(Under)f(Implication)j(in)d+ −
(Elementary)h(Intuitionistic)j(Formalisms.)121 2833 y+ −
Ff(J)n(ournal)19 b(of)e(Symbolic)i(Lo)o(gic)p FF(,)f(27\(1\):11\22618,)+ −
h(1962.)p 0 TeXcolorgray 0 2909 a(18.)p 0 TeXcolorgray+ −
38 w(X.)14 b(Lero)o(y)l(.)j Ff(Polymorphic)f(Typing)f(of)f(an)g+ −
(Algorithmic)i(Langua)o(g)o(e)p FF(.)j(PhD)14 b(thesis,)g(Uni)n(v)o+ −
(ersity)j(P)o(aris)d(7,)g(1992.)j(INRIA)121 2986 y(Research)i(Report,)f+ −
(No)f(1778.)p 0 TeXcolorgray 0 3062 a(19.)p 0 TeXcolorgray+ −
38 w(T)-5 b(.)24 b(Melham.)50 b(Automating)26 b(Recursi)n(v)o(e)i(Type)+ −
c(De\002nitions)j(in)e(Higher)h(Order)f(Logic.)49 b(T)-5+ −
b(echnical)28 b(Report)e(146,)121 3139 y(Computer)19+ −
b(Laboratory)l(,)f(Uni)n(v)o(ersity)h(of)e(Cambridge,)h(September)h+ −
(1988.)p 0 TeXcolorgray 0 3215 a(20.)p 0 TeXcolorgray+ −
38 w(T)-5 b(.)26 b(Melham.)56 b(Automating)29 b(Recursi)n(v)o(e)h(Type)+ −
c(De\002nitions)j(in)e(Higher)h(Order)f(Logic.)56 b(In)27+ −
b Ff(Curr)n(ent)g(T)l(r)n(ends)g(in)121 3292 y(Har)n(dwar)n(e)17+ −
b(V)-7 b(eri\002cation)19 b(and)e(A)o(utomated)h(Theor)n(em)g(Pr)m(o)o+ −
(ving)p FF(,)f(pages)h(341\226386.)g(Springer)o(-V)-7+ −
b(erlag,)19 b(1989.)p 0 TeXcolorgray 0 3368 a(21.)p 0+ −
TeXcolorgray 38 w(T)-5 b(.)22 b(Nipk)o(o)n(w)l(,)g(L.)f(C.)h(P)o+ −
(aulson,)h(and)f(M.)g(W)-5 b(enzel.)42 b Ff(Isabelle)24+ −
b(HOL:)d(A)h(Pr)m(oof)g(Assistant)h(for)f(Higher)o(-Or)n(der)h(Lo)o+ −
(gic)p FF(,)121 3445 y(v)o(olume)18 b(2283)f(of)g Ff(LNCS)p+ −
FF(.)25 b(Springer)o(-V)-7 b(erlag,)19 b(2002.)p 0 TeXcolorgray+ −
0 3521 a(22.)p 0 TeXcolorgray 38 w(M.)h(Norrish.)37 b(Recursi)n(v)o(e)+ −
23 b(Function)f(De\002nition)h(for)e(Types)f(with)i(Binders.)37+ −
b(In)20 b Ff(Pr)m(oc.)g(of)h(the)h(17th)f(International)121+ −
3598 y(Confer)n(ence)c(Theor)n(em)d(Pr)m(o)o(ving)h(in)f(Higher)h(Or)n+ −
(der)e(Lo)o(gics)j(\(TPHOLs\))p FF(,)c(v)o(olume)j(3223)f(of)g+ −
Ff(LNCS)p FF(,)g(pages)h(241\226256,)121 3675 y(2004.)p+ −
0 TeXcolorgray 0 3751 a(23.)p 0 TeXcolorgray 38 w(M.)j(Norrish.)29+ −
b(Mechanising)21 b FA(\025)p FF(-Calculus)g(Using)e(a)f(Classical)j+ −
(First)e(Order)g(Theory)f(of)h(Terms)e(with)j(Permutation.)121+ −
3828 y Ff(Higher)e(Or)n(der)f(and)g(Symbolic)i(Computation)p+ −
FF(,)g(19:169\226195,)g(2006.)p 0 TeXcolorgray 0 3904+ −
a(24.)p 0 TeXcolorgray 38 w(L.)h(P)o(aulson.)39 b(De\002ning)22+ −
b(Functions)h(on)e(Equi)n(v)n(alence)k(Classes.)38 b+ −
Ff(A)n(CM)21 b(T)l(r)o(ansactions)i(on)e(Computational)k(Lo)o(gic)p+ −
FF(,)121 3981 y(7\(4\),)17 b(2006.)p 0 TeXcolorgray 0+ −
4057 a(25.)p 0 TeXcolorgray 38 w(F)-5 b(.)14 b(Pfenning)i(and)f(C.)f+ −
(Elliott.)21 b(Higher)o(-Order)16 b(Abstract)g(Syntax.)k(In)15+ −
b Ff(Pr)m(oc.)f(of)h(the)g(10th)h(Confer)n(ence)g(on)f(Confer)n(ence)+ −
121 4134 y(on)i(Pr)m(o)o(gr)o(amming)h(Langua)o(g)o(e)h(Design)f(and)f+ −
(Implementation)k(\(PLDI\))p FF(,)16 b(pages)h(199\226208.)h(A)m(CM)f+ −
(Press,)g(1989.)p 0 TeXcolorgray 0 4210 a(26.)p 0 TeXcolorgray+ −
38 w(A.)d(M.)f(Pitts.)19 b(Nominal)d(Logic,)e(A)g(First)h(Order)g+ −
(Theory)f(of)h(Names)f(and)h(Binding.)20 b Ff(Information)c(and)e+ −
(Computation)p FF(,)121 4287 y(186:165\226193,)19 b(2003.)p+ −
0 TeXcolorgray 0 4363 a(27.)p 0 TeXcolorgray 38 w(A.)e(M.)f(Pitts.)25+ −
b(Alpha-Structural)20 b(Recursion)f(and)f(Induction.)26+ −
b Ff(J)n(ournal)19 b(of)e(the)h(A)n(CM)p FF(,)e(53:459\226506,)j(2006.)+ −
p 0 TeXcolorgray 0 4440 a(28.)p 0 TeXcolorgray 38 w(K.)h(Slind.)36+ −
b(W)-5 b(ellfounded)23 b(Schematic)g(De\002nitions.)37+ −
b(In)20 b Ff(Pr)m(oc.)g(of)h(the)g(17th)g(International)j(Confer)n+ −
(ence)f(on)e(A)o(uto-)121 4516 y(mated)d(Deduction)i(\(CADE\))p+ −
FF(,)c(v)o(olume)h(1831)g(of)g Ff(LNCS)p FF(,)g(pages)h(45\22663,)f+ −
(2000.)p 0 TeXcolorgray 0 4593 a(29.)p 0 TeXcolorgray+ −
38 w(M.)d(T)-5 b(akahashi.)19 b(Parallel)e(Reductions)f(in)f+ −
(Lambda-Calculus.)20 b Ff(Information)d(and)d(Computation)p+ −
FF(,)i(118\(1\):120\226127,)121 4670 y(1995.)p 0 TeXcolorgray+ −
0 4746 a(30.)p 0 TeXcolorgray 38 w(S.)f(T)-5 b(obin-Hochstadt)18+ −
b(and)f(M.)e(Felleisen.)23 b(The)16 b(Design)h(and)f(Implementation)j+ −
(of)d(Typed)g(Scheme.)22 b(In)16 b Ff(Pr)m(oc.)f(of)h(the)121+ −
4823 y(35r)n(d)h(Symposium)h(on)f(Principles)i(of)e(Pr)m(o)o(gr)o+ −
(amming)h(Langua)o(g)o(es)h(\(POPL\))p FF(,)c(pages)j(395\226406.)g(A)m+ −
(CM,)e(2008.)p 0 TeXcolorgray 0 TeXcolorgray eop end+ −
%%Page: 27 27+ −
TeXDict begin 27 26 bop 0 TeXcolorgray 0 TeXcolorgray+ −
0 71 2881 4 v 2814 17 a FF(27)p 0 TeXcolorgray 0 TeXcolorgray+ −
0 228 a(31.)p 0 TeXcolorgray 38 w(C.)17 b(Urban.)24 b+ −
Ff(Classical)19 b(Lo)o(gic)g(and)e(Computation)p FF(.)26+ −
b(PhD)17 b(thesis,)g(Cambridge)i(Uni)n(v)o(ersity)l(,)g(October)f+ −
(2000.)p 0 TeXcolorgray 0 305 a(32.)p 0 TeXcolorgray+ −
38 w(C.)30 b(Urban)g(and)h(S.)e(Ber)o(ghofer)l(.)67 b(A)30+ −
b(Recursion)i(Combinator)f(for)f(Nominal)h(Datatypes)i(Implemented)f+ −
(in)e(Is-)121 382 y(abelle/HOL.)59 b(In)27 b Ff(Pr)m(oc.)g(of)h(the)g+ −
(3r)n(d)e(International)31 b(J)n(oint)e(Confer)n(ence)g(on)e(A)o+ −
(utomated)i(Reasoning)f(\(IJCAR\))p FF(,)121 459 y(v)o(olume)18+ −
b(4130)f(of)g Ff(LN)n(AI)p FF(,)g(pages)g(498\226512,)h(2006.)p+ −
0 TeXcolorgray 0 536 a(33.)p 0 TeXcolorgray 38 w(C.)26+ −
b(Urban,)g(S.)f(Ber)o(ghofer)m(,)j(and)e(M.)f(Norrish.)54+ −
b(Barendre)o(gt')l(s)29 b(Variable)f(Con)m(v)o(ention)h(in)d(Rule)h+ −
(Inductions.)55 b(In)121 612 y Ff(Pr)m(oc.)23 b(of)h(the)h(21th)f+ −
(International)j(Confer)n(ence)f(on)e(A)o(utomated)h(Deduction)h+ −
(\(CADE\))p FF(,)c(v)o(olume)i(4603)h(of)e Ff(LN)n(AI)p+ −
FF(,)121 689 y(pages)18 b(35\22650,)g(2007.)p 0 TeXcolorgray+ −
0 766 a(34.)p 0 TeXcolorgray 38 w(C.)j(Urban)g(and)h(M.)e(Norrish.)37+ −
b(A)20 b(F)o(ormal)i(T)n(reatment)g(of)f(the)g(Barendre)o(gt)j(V)-7+ −
b(ariable)23 b(Con)m(v)o(ention)g(in)f(Rule)g(Induc-)121+ −
843 y(tions.)g(In)16 b Ff(Pr)m(oc.)e(of)i(the)h(3r)n(d)e(International)+ −
j(A)n(CM)e(W)-6 b(orkshop)16 b(on)g(Mec)o(hanized)i(Reasoning)f(about)f+ −
(Langua)o(g)o(es)h(with)121 920 y(V)-7 b(ariable)18 b(Binding)g(and)f+ −
(Names)p FF(,)g(pages)h(25\22632,)f(2005.)p 0 TeXcolorgray+ −
0 996 a(35.)p 0 TeXcolorgray 38 w(C.)i(Urban,)h(A.)f(M.)g(Pitts,)h(and)+ −
g(M.)f(J.)f(Gabbay)l(.)33 b(Nominal)21 b(Uni\002cation.)34+ −
b Ff(Theor)n(etical)22 b(Computer)f(Science)p FF(,)h(323\(1-)121+ −
1073 y(2\):473\226497,)d(2004.)p 0 TeXcolorgray 0 1150+ −
a(36.)p 0 TeXcolorgray 38 w(C.)26 b(Urban)g(and)g(C.)g(T)-5+ −
b(asson.)51 b(Nominal)27 b(Techniques)g(in)f(Isabelle/HOL.)54+ −
b(In)26 b Ff(Pr)m(oc.)f(of)h(the)h(20th)f(International)121+ −
1227 y(Confer)n(ence)20 b(on)d(A)o(utomated)h(Deduction)h(\(CADE\))p+ −
FF(,)d(v)o(olume)i(3632)f(of)g Ff(LNCS)p FF(,)g(pages)h(38\22653,)f+ −
(2005.)p 0 TeXcolorgray 0 1304 a(37.)p 0 TeXcolorgray+ −
38 w(M.)g(W)-5 b(enzel.)25 b Ff(Using)17 b(Axiomatic)i(Type)f(Classes)f+ −
(in)g(Isabelle)p FF(.)26 b(Manual)19 b(in)e(the)h(Isabelle)h(distrib)o+ −
(ution.)p 0 TeXcolorgray 0 1380 a(38.)p 0 TeXcolorgray+ −
38 w(M.)d(W)-5 b(enzel.)24 b(Structured)19 b(Induction)g(Proofs)d(in)h+ −
(Isabelle/Isar)l(.)26 b(In)17 b Ff(Pr)m(oc.)f(of)h(the)g(5th)g+ −
(International)j(Confer)n(ence)e(on)121 1457 y(Mathematical)j(Knowledg)+ −
o(e)f(Mana)o(g)o(ement)g(\(MKM\))p FF(,)d(v)o(olume)h(4108)f(of)g+ −
Ff(LN)n(AI)p FF(,)f(pages)i(17\22630,)g(2006.)p 0 TeXcolorgray+ −
0 TeXcolorgray eop end+ −
%%Trailer+ −
+ −
userdict /end-hook known{end-hook}if+ −
%%EOF+ −