Publications/nom-tech.ps
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Sun, 20 Mar 2016 18:36:07 +0000
changeset 399 4d5c31bb78c5
parent 14 680070975206
permissions -rw-r--r--
added Nominal packages

%!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