Publications/nom-tech.ps
author Christian Urban <urbanc@in.tum.de>
Thu, 06 Sep 2012 21:26:52 +0100
changeset 138 302706611017
parent 14 680070975206
permissions -rw-r--r--
tuned
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
%!PS-Adobe-2.0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
%%Title: Main-jv.dvi
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
%%Pages: 27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
%%PageOrder: Ascend
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
%%BoundingBox: 0 0 595 842
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
%%DocumentFonts: Times-Bold Times-Roman Times-Italic
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
%%DocumentPaperSizes: a4
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
%%EndComments
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
%DVIPSWebPage: (www.radicaleye.com)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
%DVIPSCommandLine: dvips Main-jv.dvi -o Main-jv.ps
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
%DVIPSParameters: dpi=600
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    13
%DVIPSSource:  TeX output 2008.02.08:1222
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
%%BeginProcSet: tex.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
%!
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    16
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    19
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    20
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    21
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    22
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    23
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    24
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    25
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    26
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    27
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    40
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
(LaserWriter 16/600)]{A length product length le{A length product exch 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    53
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    54
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    55
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    56
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    58
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    59
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    60
%%BeginProcSet: pstricks.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
%!
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
% PostScript prologue for pstricks.tex.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
% Version 97 patch 4, 04/05/10
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
% For distribution, see pstricks.tex.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
/tx@Dict 200 dict def tx@Dict begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
/ADict 25 dict def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
/CM { matrix currentmatrix } bind def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    69
/SLW /setlinewidth load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    70
/CLW /currentlinewidth load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    71
/CP /currentpoint load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    72
/ED { exch def } bind def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    73
/L /lineto load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    74
/T /translate load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    75
/TMatrix { } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    76
/RAngle { 0 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    77
/Atan { /atan load stopped { pop pop 0 } if } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    78
/Div { dup 0 eq { pop } { div } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    79
/NET { neg exch neg exch T } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    80
/Pyth { dup mul exch dup mul add sqrt } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    81
/PtoC { 2 copy cos mul 3 1 roll sin mul } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    82
/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    83
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    84
/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    85
} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    86
/pathforall load stopped { pop pop pop pop } if z } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    87
/STP { .996264 dup scale } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    88
/STV { SDict begin normalscale end STP  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    89
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    90
%%-------------- DG begin patch 15 ---------------%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    91
%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    92
%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    93
%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    94
%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    95
%0 } ifelse setdash stroke } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    96
/DashLine {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    97
  dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    98
  /b ED /x1 ED /y1 ED /x ED /y ED 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    99
  /z y x add y1 add x1 add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   100
  /Coef b a .5 sub 2 mul y mul sub z Div round 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   101
  z mul a .5 sub 2 mul y mul add b exch Div def 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   102
  /y y Coef mul def /x x Coef mul def /y1 y1 Coef mul def /x1 x1 Coef mul def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   103
  x1 0 gt y1 0 gt x 0 gt y 0 gt and { [ y x y1 x1 ] 1 a sub y mul}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   104
  { [ 1 0] 0 } ifelse setdash stroke
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   105
} def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   106
%%-------------- DG end patch 15 ---------------%%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   107
/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   108
{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   109
def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   110
] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   111
setlinecap stroke } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   112
/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   113
2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   114
% DG/SR modification begin - Dec. 12, 1997 - Patch 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   115
%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   116
itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   117
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   118
Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   119
/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   120
% DG/SR modification begin - Jun.  1, 1998 - Patch 3 (from Michael Vulis)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   121
% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   122
% def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   123
a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   124
pop pop } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   125
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   126
/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   127
exch 3 index sub exch Atan rotate newpath } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   128
/EndArrow { @mtrx setmatrix CP grestore end } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   129
/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   130
scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   131
grestore } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   132
/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   133
CLW moveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   134
/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   135
div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   136
CLW moveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   137
/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   138
2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   139
curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   140
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   141
/SD { 0 360 arc fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   142
/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   143
CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   144
/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   145
/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   146
load } if ] cvx newpath 3 1 roll T exec } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   147
/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   148
cvi def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   149
/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   150
f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   151
/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   152
def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   153
/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   154
ifelse { pop } repeat a } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   155
/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   156
and { pop pop /n n 1 sub def } if } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   157
/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   158
repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   159
ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   160
moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   161
Lineto pop pop closepath } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   162
/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   163
neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   164
def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   165
div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   166
setmatrix } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   167
% DG modification begin - Jan. 15, 1997
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   168
%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   169
%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   170
%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   171
%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   172
%setmatrix } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   173
/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   174
CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   175
div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   176
d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   177
% DG/SR modification begin - Jun.  1, 1998 - Patch 3 (from Michael Vulis)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   178
% setmatrix } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   179
setmatrix pop } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   180
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   181
/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   182
def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   183
/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   184
def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   185
/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   186
def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   187
mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   188
abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   189
/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   190
m mul neg def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   191
/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   192
ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   193
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   194
/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   195
/NC { CC x1 y1 x2 y2 x y curveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   196
/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   197
/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   198
/NAC { x2 y2 x y curveto CC x1 y1 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   199
/EAC { x2 y2 x y ArrowB curveto pop pop } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   200
/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   201
    n { NC } repeat EOC } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   202
/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   203
/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   204
pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   205
/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   206
CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   207
repeat closepath pop pop } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   208
/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   209
/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   210
/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   211
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   212
/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   213
rotate matrix concatmatrix exch findfont exch makefont setfont } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   214
/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   215
x1 y1 lineto closepath } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   216
/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   217
y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   218
exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   219
/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   220
x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   221
ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   222
/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   223
/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   224
pop pop Rect } { OvalFrame } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   225
/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   226
} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   227
aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   228
/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   229
2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   230
ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   231
/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   232
6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   233
/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   234
sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   235
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   236
/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   237
sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   238
x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   239
y0 x0 2 mul x1 sub y1 ] def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   240
/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   241
if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   242
/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   243
round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   244
round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   245
0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   246
/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   247
if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   248
{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   249
exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   250
div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   251
dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   252
dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   253
pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   254
stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   255
{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   256
w add def } repeat grestore gsave n 0 gt
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   257
% DG/SR modification begin - Nov. 7, 1997 - Patch 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   258
%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   259
{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   260
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   261
{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   262
n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   263
div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   264
1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   265
dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   266
{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   267
exch t L stroke /i i h add def } repeat grestore } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   268
/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   269
1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   270
exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   271
mul neg d } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   272
/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   273
/Rot { CP CP translate 3 -1 roll neg rotate NET  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   274
/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   275
def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   276
dup a add ] cvx def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   277
/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   278
cvx def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   279
/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   280
/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   281
/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   282
/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   283
abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   284
div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   285
h1 abs h sub dup s mul abs } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   286
/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   287
mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   288
{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   289
exch } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   290
/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   291
/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   292
} if } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   293
/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   294
/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   295
neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   296
/IfVisible true def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   297
end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   298
% END pstricks.pro
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   299
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   300
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   301
%%BeginProcSet: pst-dots.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   302
%!PS-Adobe-2.0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   303
%%Title: Dot Font for PSTricks
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   304
%%Creator: Timothy Van Zandt <tvz@Princeton.EDU>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   305
%%Creation Date: May 7, 1993
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   306
%% Version 97 patch 1, 99/12/16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   307
%% Modified by Etienne Riga <etienne.riga@skynet.be> - Dec. 16, 1999
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   308
%% to add /Diamond, /SolidDiamond and /BoldDiamond
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   309
10 dict dup begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   310
  /FontType 3 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   311
  /FontMatrix [ .001 0 0 .001 0 0 ] def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   312
  /FontBBox [ 0 0 0 0 ] def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   313
  /Encoding 256 array def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   314
  0 1 255 { Encoding exch /.notdef put } for
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   315
  Encoding
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   316
    dup (b) 0 get /Bullet put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   317
    dup (c) 0 get /Circle put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   318
    dup (C) 0 get /BoldCircle put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   319
    dup (u) 0 get /SolidTriangle put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   320
    dup (t) 0 get /Triangle put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   321
    dup (T) 0 get /BoldTriangle put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   322
    dup (r) 0 get /SolidSquare put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   323
    dup (s) 0 get /Square put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   324
    dup (S) 0 get /BoldSquare put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   325
    dup (q) 0 get /SolidPentagon put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   326
    dup (p) 0 get /Pentagon put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   327
    dup (P) 0 get /BoldPentagon put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   328
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   329
    dup (l) 0 get /SolidDiamond put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   330
    dup (d) 0 get /Diamond put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   331
        (D) 0 get /BoldDiamond put
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   332
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   333
  /Metrics 13 dict def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   334
  Metrics begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   335
    /Bullet        1000   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   336
    /Circle        1000   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   337
    /BoldCircle    1000   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   338
    /SolidTriangle 1344   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   339
    /Triangle      1344   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   340
    /BoldTriangle  1344   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   341
    /SolidSquare    886   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   342
    /Square         886   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   343
    /BoldSquare     886   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   344
    /SolidPentagon 1093.2 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   345
    /Pentagon      1093.2 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   346
    /BoldPentagon  1093.2 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   347
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   348
    /SolidDiamond  1008   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   349
    /Diamond       1008   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   350
    /BoldDiamond   1008   def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   351
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   352
    /.notdef 0 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   353
  end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   354
  /BBoxes 13 dict def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   355
  BBoxes begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   356
    /Circle        { -550 -550 550 550 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   357
    /BoldCircle    /Circle load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   358
    /Bullet        /Circle load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   359
    /Triangle      { -571.5 -330 571.5 660 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   360
    /BoldTriangle  /Triangle load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   361
    /SolidTriangle /Triangle load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   362
    /Square        { -450 -450 450 450 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   363
    /BoldSquare    /Square load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   364
    /SolidSquare   /Square load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   365
    /Pentagon      { -546.6 -465 546.6 574.7 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   366
    /BoldPentagon  /Pentagon load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   367
    /SolidPentagon /Pentagon load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   368
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   369
    /Diamond       { -428.5 -742.5 428.5 742.5 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   370
    /BoldDiamond   /Diamond load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   371
    /SolidDiamond  /Diamond load def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   372
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   373
    /.notdef { 0 0 0 0 } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   374
  end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   375
  /CharProcs 20 dict def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   376
  CharProcs begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   377
    /Adjust {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   378
      2 copy dtransform floor .5 add exch floor .5 add exch idtransform
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   379
      3 -1 roll div 3 1 roll exch div exch scale
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   380
    } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   381
    /CirclePath    { 0 0 500 0 360 arc closepath } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   382
    /Bullet        { 500 500 Adjust CirclePath fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   383
    /Circle        { 500 500 Adjust CirclePath .9 .9 scale CirclePath
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   384
                     eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   385
    /BoldCircle    { 500 500 Adjust CirclePath .8 .8 scale CirclePath
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   386
                     eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   387
    /BoldCircle    { CirclePath .8 .8 scale CirclePath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   388
    /TrianglePath  { 0  660 moveto -571.5 -330 lineto 571.5 -330 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   389
                     closepath } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   390
    /SolidTriangle { TrianglePath fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   391
    /Triangle      { TrianglePath .85 .85 scale TrianglePath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   392
    /BoldTriangle  { TrianglePath .7 .7 scale TrianglePath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   393
    /SquarePath    { -450 450 moveto 450 450 lineto 450 -450 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   394
                     -450 -450 lineto closepath } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   395
    /SolidSquare   { SquarePath fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   396
    /Square        { SquarePath .89 .89 scale SquarePath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   397
    /BoldSquare    { SquarePath .78 .78 scale SquarePath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   398
    /PentagonPath  {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   399
      -337.8 -465   moveto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   400
       337.8 -465   lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   401
       546.6  177.6 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   402
         0    574.7 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   403
      -546.6  177.6 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   404
      closepath
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   405
    } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   406
    /SolidPentagon { PentagonPath fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   407
    /Pentagon      { PentagonPath .89 .89 scale PentagonPath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   408
    /BoldPentagon  { PentagonPath .78 .78 scale PentagonPath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   409
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   410
    /DiamondPath   { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   411
                     428.5 0 lineto closepath } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   412
    /SolidDiamond  { DiamondPath fill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   413
    /Diamond       { DiamondPath .85 .85 scale DiamondPath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   414
    /BoldDiamond   { DiamondPath .7 .7 scale DiamondPath eofill } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   415
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   416
    /.notdef { } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   417
  end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   418
  /BuildGlyph {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   419
    exch
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   420
    begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   421
      Metrics 1 index get exec 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   422
      BBoxes 3 index get exec
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   423
      setcachedevice
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   424
      CharProcs begin load exec end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   425
    end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   426
  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   427
  /BuildChar {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   428
    1 index /Encoding get exch get
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   429
    1 index /BuildGlyph get exec
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   430
  } bind def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   431
end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   432
/PSTricksDotFont exch definefont pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   433
%END pst-dots.pro
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   434
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   435
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   436
%%BeginProcSet: pst-node.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   437
%!
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   438
% PostScript prologue for pst-node.tex.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   439
% Version 97 patch 1, 97/05/09.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   440
% For distribution, see pstricks.tex.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   441
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   442
/tx@NodeDict 400 dict def tx@NodeDict begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   443
tx@Dict begin /T /translate load def end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   444
/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   445
if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   446
grestore } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   447
/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   448
} def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   449
/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   450
Sin mul } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   451
/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   452
} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   453
ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   454
dup Sin mul Cos Div } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   455
/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   456
/u ED /NodePos { GetRnodePos } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   457
/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   458
Cos mul exch Sin mul } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   459
/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   460
mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   461
} ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   462
/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   463
ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   464
sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   465
sin def /NodePos { TriNodePos } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   466
/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   467
hh mul Atan dup cos ww mul exch sin hh mul } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   468
/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   469
/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   470
Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   471
{ 0 Dist Sin mul } ifelse } ifelse Do } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   472
/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   473
exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   474
dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   475
XYPos } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   476
/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   477
roll sin mul sub exch } ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   478
/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   479
AddOffset yA add /yA1 ED xA add /xA1 ED } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   480
/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   481
AddOffset yB add /yB1 ED xB add /xB1 ED } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   482
/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   483
AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   484
ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   485
} ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   486
/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   487
AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   488
ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   489
} ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   490
/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   491
/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   492
known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   493
ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   494
/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   495
mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   496
/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   497
{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   498
} repeat LPutLine cleartomark } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   499
/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   500
/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   501
mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   502
sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   503
add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   504
y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   505
mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   506
/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   507
} def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   508
/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   509
/NAngle yyB yyA sub xxB xxA sub Atan def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   510
/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   511
/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   512
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   513
} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   514
} def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   515
/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   516
} def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   517
/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   518
/NAngle yyB yyA sub xxB xxA sub Atan def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   519
/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   520
/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   521
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   522
exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   523
VPosEnd  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   524
/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   525
roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   526
def grestore exec /LPutVar /SaveLPutVar load def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   527
/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   528
GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   529
LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   530
LPutVar VPutLine } def LPutVar } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   531
/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   532
end } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   533
/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   534
Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   535
/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   536
yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   537
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   538
ifelse } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   539
/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   540
roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   541
GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   542
begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   543
cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   544
} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   545
/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   546
def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   547
itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   548
yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   549
yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   550
/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   551
/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   552
yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   553
/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   554
tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   555
cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   556
VPutLines } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   557
/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   558
xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   559
transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   560
{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   561
0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   562
begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   563
def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   564
VPutLines } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   565
/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   566
xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   567
/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   568
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   569
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   570
/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   571
GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   572
false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   573
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   574
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   575
/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   576
def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   577
mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   578
mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   579
xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   580
Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ]
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   581
cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   582
VPutLines } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   583
% DG/SR modification begin - May 9, 1997 - Patch 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   584
%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   585
%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   586
%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   587
%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   588
/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   589
r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   590
exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   591
mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   592
% DG/SR modification end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   593
} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   594
AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   595
Div def /y ED /x ED } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   596
/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   597
180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   598
mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   599
/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   600
add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   601
{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   602
tx@Dict begin false Polygon end } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   603
/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   604
def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   605
mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   606
/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   607
def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   608
GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   609
sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   610
eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   611
{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   612
0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   613
roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   614
0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   615
roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   616
ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   617
{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   618
r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   619
{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   620
add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   621
mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   622
sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   623
y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   624
LPutPos } def } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   625
/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   626
sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   627
ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   628
w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   629
{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   630
{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   631
def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   632
/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   633
/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   634
exch X sub neg exch moveto setmatrix CP grestore } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   635
/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   636
def } ifelse LPutCoor  } def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   637
/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   638
if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   639
ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   640
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   641
/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   642
r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   643
ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED }
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   644
def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   645
end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   646
% END pst-node.pro
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   647
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   648
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   649
%%BeginProcSet: 8r.enc 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   650
% File 8r.enc  TeX Base 1 Encoding  Revision 2.0  2002-10-30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   651
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   652
% @@psencodingfile@{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   653
%   author    = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   654
%                W. Schmidt, P. Lehman",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   655
%   version   = "2.0",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   656
%   date      = "30 October 2002",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   657
%   filename  = "8r.enc",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   658
%   email     = "tex-fonts@@tug.org",
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   659
%   docstring = "This is the encoding vector for Type1 and TrueType
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   660
%                fonts to be used with TeX.  This file is part of the
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   661
%                PSNFSS bundle, version 9"
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   662
% @}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   663
% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   664
% The idea is to have all the characters normally included in Type 1 fonts
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   665
% available for typesetting. This is effectively the characters in Adobe
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   666
% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol,
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   667
% MacRoman, and some extra characters from Lucida.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   668
% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   669
% Character code assignments were made as follows:
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   670
% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   671
% (1) the Windows ANSI characters are almost all in their Windows ANSI
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   672
% positions, because some Windows users cannot easily reencode the
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   673
% fonts, and it makes no difference on other systems. The only Windows
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   674
% ANSI characters not available are those that make no sense for
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   675
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   676
% (173). quotesingle and grave are moved just because it's such an
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   677
% irritation not having them in TeX positions.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   678
% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   679
% (2) Remaining characters are assigned arbitrarily to the lower part
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   680
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   681
% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   682
% (3) Y&Y Lucida Bright includes some extra text characters; in the
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   683
% hopes that other PostScript fonts, perhaps created for public
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   684
% consumption, will include them, they are included starting at 0x12.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   685
% These are /dotlessj /ff /ffi /ffl.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   686
% 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   687
% (4) hyphen appears twice for compatibility with both ASCII and Windows.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   688
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   689
% (5) /Euro was assigned to 128, as in Windows ANSI
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   690
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   691
% (6) Missing characters from MacRoman encoding incorporated as follows:
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   692
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   693
%     PostScript      MacRoman        TeXBase1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   694
%     --------------  --------------  --------------
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   695
%     /notequal       173             0x16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   696
%     /infinity       176             0x17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   697
%     /lessequal      178             0x18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   698
%     /greaterequal   179             0x19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   699
%     /partialdiff    182             0x1A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   700
%     /summation      183             0x1B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   701
%     /product        184             0x1C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   702
%     /pi             185             0x1D
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   703
%     /integral       186             0x81
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   704
%     /Omega          189             0x8D
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   705
%     /radical        195             0x8E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   706
%     /approxequal    197             0x8F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   707
%     /Delta          198             0x9D
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   708
%     /lozenge        215             0x9E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   709
%
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   710
/TeXBase1Encoding [
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   711
% 0x00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   712
 /.notdef /dotaccent /fi /fl
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   713
 /fraction /hungarumlaut /Lslash /lslash
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   714
 /ogonek /ring /.notdef /breve
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   715
 /minus /.notdef /Zcaron /zcaron
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   716
% 0x10
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   717
 /caron /dotlessi /dotlessj /ff
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   718
 /ffi /ffl /notequal /infinity
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   719
 /lessequal /greaterequal /partialdiff /summation
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   720
 /product /pi /grave /quotesingle
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   721
% 0x20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   722
 /space /exclam /quotedbl /numbersign
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   723
 /dollar /percent /ampersand /quoteright
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   724
 /parenleft /parenright /asterisk /plus
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   725
 /comma /hyphen /period /slash
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   726
% 0x30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   727
 /zero /one /two /three
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   728
 /four /five /six /seven
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   729
 /eight /nine /colon /semicolon
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   730
 /less /equal /greater /question
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   731
% 0x40
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   732
 /at /A /B /C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   733
 /D /E /F /G
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   734
 /H /I /J /K
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   735
 /L /M /N /O
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   736
% 0x50
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   737
 /P /Q /R /S
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   738
 /T /U /V /W
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   739
 /X /Y /Z /bracketleft
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   740
 /backslash /bracketright /asciicircum /underscore
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   741
% 0x60
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   742
 /quoteleft /a /b /c
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   743
 /d /e /f /g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   744
 /h /i /j /k
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   745
 /l /m /n /o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   746
% 0x70
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   747
 /p /q /r /s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   748
 /t /u /v /w
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   749
 /x /y /z /braceleft
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   750
 /bar /braceright /asciitilde /.notdef
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   751
% 0x80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   752
 /Euro /integral /quotesinglbase /florin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   753
 /quotedblbase /ellipsis /dagger /daggerdbl
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   754
 /circumflex /perthousand /Scaron /guilsinglleft
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   755
 /OE /Omega /radical /approxequal
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   756
% 0x90
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   757
 /.notdef /.notdef /.notdef /quotedblleft
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   758
 /quotedblright /bullet /endash /emdash
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   759
 /tilde /trademark /scaron /guilsinglright
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   760
 /oe /Delta /lozenge /Ydieresis
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   761
% 0xA0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   762
 /.notdef /exclamdown /cent /sterling
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   763
 /currency /yen /brokenbar /section
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   764
 /dieresis /copyright /ordfeminine /guillemotleft
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   765
 /logicalnot /hyphen /registered /macron
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   766
% 0xD0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   767
 /degree /plusminus /twosuperior /threesuperior
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   768
 /acute /mu /paragraph /periodcentered
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   769
 /cedilla /onesuperior /ordmasculine /guillemotright
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   770
 /onequarter /onehalf /threequarters /questiondown
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   771
% 0xC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   772
 /Agrave /Aacute /Acircumflex /Atilde
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   773
 /Adieresis /Aring /AE /Ccedilla
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   774
 /Egrave /Eacute /Ecircumflex /Edieresis
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   775
 /Igrave /Iacute /Icircumflex /Idieresis
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   776
% 0xD0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   777
 /Eth /Ntilde /Ograve /Oacute
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   778
 /Ocircumflex /Otilde /Odieresis /multiply
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   779
 /Oslash /Ugrave /Uacute /Ucircumflex
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   780
 /Udieresis /Yacute /Thorn /germandbls
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   781
% 0xE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   782
 /agrave /aacute /acircumflex /atilde
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   783
 /adieresis /aring /ae /ccedilla
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   784
 /egrave /eacute /ecircumflex /edieresis
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   785
 /igrave /iacute /icircumflex /idieresis
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   786
% 0xF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   787
 /eth /ntilde /ograve /oacute
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   788
 /ocircumflex /otilde /odieresis /divide
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   789
 /oslash /ugrave /uacute /ucircumflex
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   790
 /udieresis /yacute /thorn /ydieresis
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   791
] def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   792
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   793
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   794
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   795
%%BeginProcSet: texps.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   796
%!
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   797
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   798
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   799
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   800
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   801
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   802
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   803
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   804
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   805
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   806
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   807
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   808
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   809
end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   810
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   811
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   812
%%BeginProcSet: special.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   813
%!
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   814
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   815
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   816
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   817
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   818
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   819
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   820
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   821
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   822
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   823
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   824
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   825
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   826
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   827
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   828
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   829
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   830
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   831
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   832
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   833
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   834
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   835
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   836
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   837
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   838
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   839
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   840
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   841
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   842
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   843
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   844
save N userdict maxlength dict begin/magscale true def normalscale
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   845
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   846
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   847
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   848
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   849
TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   850
@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   851
newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   852
closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   853
/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   854
currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   855
N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   856
neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   857
rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   858
scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   859
lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   860
ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   861
/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   862
pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   863
restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   864
/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   865
setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   866
moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   867
matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   868
savematrix setmatrix}N end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   869
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   870
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   871
%%BeginProcSet: color.pro 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   872
%!
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   873
TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   874
setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   875
}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   876
/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   877
setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   878
/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   879
known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   880
/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   881
/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   882
setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   883
setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   884
0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   885
/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   886
setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   887
0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   888
0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   889
0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   890
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   891
setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   892
setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   893
0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   894
/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   895
setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   896
0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   897
0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   898
0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   899
/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   900
setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   901
/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   902
0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   903
0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   904
0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   905
setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   906
0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   907
/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   908
setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   909
0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   910
1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   911
/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   912
setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   913
0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   914
DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   915
setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   916
setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   917
setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   918
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   919
%%EndProcSet
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   920
TeXDict begin 39139632 55387786 1000 600 600 (Main-jv.dvi)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   921
@start
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   922
%DVIPSBitmapFont: Fa cmsy5 5 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   923
/Fa 3 106 df<038007C007C007C00F800F800F800F001F001E001E003E003C003C0038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   924
007800780070007000E000E0000A157D9612>48 D<0030007000F000E001E001C003C003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   925
80078007000F000E000E001E001C003C00380078007000F000E000F0007000780038003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   926
001C001E000E000E000F0007000780038003C001C001E000E000F0007000300C297A9E19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   927
>104 D<E000E000F0007000780038003C001C001E000E000F00070007000780038003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   928
01C001E000E000F0007000F000E001E001C003C003800780070007000F000E001E001C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   929
3C00380078007000F000E000E0000C297B9E19>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   930
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   931
%DVIPSBitmapFont: Fb msam9 9 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   932
/Fb 2 114 df<7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF0F0000000F0000000F0000000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   933
000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   934
000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   935
000000F0000000F0000000600000001D1D7CB326>112 D<7FFFFFF0FFFFFFF8FFFFFFF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   936
7FFFFFF80000007800000078000000780000007800000078000000780000007800000078
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   937
000000780000007800000078000000780000007800000078000000780000007800000078
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   938
00000078000000780000007800000078000000780000007800000078000000301D1D7CB3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   939
26>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   940
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   941
%DVIPSBitmapFont: Fc cmtt8 7 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   942
/Fc 3 110 df<FFFC0000FFFC0000FFFC0000FFFC00000F8000000F8000000F8000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   943
8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   944
8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   945
8000000F8007C00F8007C00F8007C00F8007C00F8007C00F8007C0FFFFFFC0FFFFFFC0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   946
FFFFC0FFFFFF801A247EA31F>76 D<0FFE00003FFF80007FFFE0007FFFF0007E03F8007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   947
01FC003C00FC0000007C000007FC0000FFFC0007FFFC001FFFFC003FFC7C007F807C00FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   948
007C00FC007C00F8007C00F8007C00FC00FC00FC00FC007F07FC003FFFFFC01FFFFFE00F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   949
FFBFE003FC0FC01B197D981F>97 D<7C7C1F00FFFE7F80FFFFFFC07FFFFFE01FCFF3E01F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   950
87E1E01F07C1E01F07C1E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   951
0781E01E0781E01E0781E01E0781E01E0781E01E0781E01E0781E07F87E1F8FFCFF3FCFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   952
CFF3FC7F87E1F81E1980981F>109 D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   953
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   954
%DVIPSBitmapFont: Fd cmtt8 6 7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   955
/Fd 7 115 df<007C00007C0000FE0000FE0000FE0000EE0000EE0001EF0001EF0001EF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   956
0001C70001C70003C78003C78003C78003C7800783C00783C00783C00783C007FFC00FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   957
E00FFFE00FFFE00F01E00F01E01E00F07F83FCFFC7FEFFC7FE7F83FC171F7F9E1A>65
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   958
D<7FF000FFF800FFF8007FF0000F00000F00000F00000F00000F00000F00000F00000F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   959
000F00000F00000F00000F00000F00000F00000F00000F00000F00000F003C0F003C0F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   960
3C0F003C0F003C7FFFFCFFFFFCFFFFFC7FFFFC161E7F9D1A>76 D<FF83FEFF83FEFF83FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   961
FF83FE1E00F01E00F01E00F00F01E00F01E00F01E00F01E00F83E00783C00783C00783C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   962
0783C003C78003C78003C78003C78001C70001EF0001EF0001EF0001EF0000EE0000FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   963
00FE0000FE00007C00007C00171F7F9D1A>86 D<0FF8001FFF003FFF803FFFC03E0FE01C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   964
03E00001E000FFE007FFE01FFFE07FF1E07E01E0F801E0F001E0F001E0F803E0FC0FE07F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   965
FFFE3FFFFE1FFCFE07F07E17157E941A>97 D<7CF87C00FFFDFE00FFFFFE007FFFFF001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   966
1F8F001E0F07001E0F07001C0E07001C0E07001C0E07001C0E07001C0E07001C0E07001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   967
0E07001C0E07001C0E07001C0E07007F1F8FC0FFBFDFE0FFBFDFE07F1F8FC01B1581941A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   968
>109 D<7F1FC0FF7FE0FFFFF07FFFF80FE0FC0F807C0F003C0F003E0F001E0F001E0F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   969
1E0F001E0F001E0F803E0F803C0FC07C0FE1F80FFFF80FFFF00F7FE00F1F800F00000F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   970
000F00000F00000F00000F00000F00007FE000FFF000FFF0007FE000172080941A>112
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   971
D<7FC3F8FFCFFCFFDFFE7FFFFE03FE3E03F81C03F00003E00003E00003C00003C00003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   972
0003C00003C00003C00003C00003C0007FFF80FFFF80FFFF807FFF8017157F941A>114
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   973
D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   974
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   975
/Fe 169[46 1[39 4[46 46 4[21 3[39 69[{TeXBase1Encoding ReEncodeFont}6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   976
63.0966 /Times-Roman rf /Ff 133[26 29 29 44 29 33 18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   977
26 26 33 33 33 33 48 18 29 1[18 33 33 18 29 33 29 33
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   978
33 9[55 41 48 37 33 41 1[41 48 44 55 37 44 29 22 48 48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   979
41 41 48 44 41 41 6[22 33 33 33 33 33 1[33 33 33 33 1[17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   980
22 3[22 22 37[33 2[{TeXBase1Encoding ReEncodeFont}62
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   981
66.4176 /Times-Italic rf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   982
%DVIPSBitmapFont: Fg cmti8 8 8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   983
/Fg 8 118 df<0000003FF800000001FFFE00000003F00F8000000FC003C000001F0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   984
C000001F000FC000003E000FC000003E000FC000007E000FC000007C00070000007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   985
0000007C0000000000FC0000000000F80000000000F80000000000F80000000000F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   986
000000F8000000007FFFFFFE00007FFFFFFE000001F0007E000001F0007C000001F0007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   987
000003F0007C000003E000FC000003E000F8000003E000F8000003E000F8000007E001F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   988
000007C001F0000007C001F0000007C001F0000007C003F000000FC003E000000F8003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   989
00000F8003E000000F8007E180000F8007C380001F8007C380001F8007C380001F0007C3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   990
80001F0007C780001F00078700003F00078700003E00078E00003E0003DE00003E0001FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   991
00003E0000F800007E00000000007C00000000007C00000000007C0000000038F8000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   992
00FCF800000000FCF800000000FCF000000000FDF000000000F1E000000000F3C0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   993
007F80000000001E00000000002A3D81AE28>12 D<0003F800000FFE00003E0F0000F807
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   994
0001F0038003E0038007C003800FC007801F8007001F800F003F001E003F003C007F03F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   995
007FFFE0007FFE00007E000000FE000000FC000000FC000000FC000000FC0000007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   996
007C0001807C0003C07C0007803E000F003E001E001F007C000F83F00003FFC00000FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   997
001A1F799D21>101 D<000E00001F00003F80003F80001F00000E000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   998
0000000000000000000000000000000000000003E0000FF0001E78001C7C00387C00787C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
   999
00707C0070FC00F0F800E0F800E1F800C1F00001F00003F00003E00007E00007C00007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1000
000FC0000F83000F87001F87001F07001F0F003F0E003E0E001E1C001E3C001E38000FF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1001
0003C000112E7AAC16>105 D<07801FC0001FE07FF0003DF1E0F80038F3C0780078FF00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1002
7C0070FE007C0070FE007C00F1FC007C00E1F8007C00E1F8007C00E1F0007C00C3F000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1003
0003F000F80003E000F80003E000F80007E001F80007E001F00007C001F00007C003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1004
0FC003E0C00FC003E1C00F8007E1C00F8007C1C01F8007C3C01F800FC3801F000F83801F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1005
000787003F000787003F00078E003E0003FC001C0000F000221F7A9D28>110
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1006
D<003C01F00000FF07FC0001E79E1E0001C7BC0F0003C7F80F800387F007800387E007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1007
078FC007C0070FC007C0070F8007C0070F8007C0061F800FC0001F800FC0001F000FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1008
1F000FC0003F001FC0003F001F80003E001F80003E001F80007E003F00007E003F00007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1009
003E00007C007E0000FC007C0000FC00F80000FE01F80000FE01F00001FF03E00001FF0F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1010
800001F3FE000001F0F8000003F000000003F000000003E000000003E000000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1011
0007E000000007C000000007C00000000FC00000000FC0000000FFFC000000FFFC000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1012
222B7F9D24>112 D<000FC0007FF000F03C01E01C03C01E07801E07803E07803E0F803C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1013
0F80180FC0000FF8000FFF0007FFC003FFE001FFF0007FF00007F00003F00001F07800F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1014
FC00F0FC00F0FC01F0F801E0E001E0E003C0F00780781F001FFC0007F000171F7A9D1D>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1015
115 D<001C00003E00003E00007E00007E00007C00007C0000FC0000FC0000F80000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1016
01F80001F800FFFFE0FFFFE003F00003F00003E00003E00007E00007E00007C00007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1017
0FC0000FC0000F80000F80001F80001F80001F00001F00003F00C03F01C03E01C03E03C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1018
3E03803E07803C07003C0E003C1E001E3C000FF00007C000132B7AA918>I<03C000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1019
F000381E78007C1C7C00FC387C00F8787C00F8707C00F870FC01F8F0F801F0E0F801F0E1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1020
F801F0C1F003F001F003E003F003E003E003E003E007E007E007C007C007C007C007C007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1021
C00FC30FC00F870F800F870F800F870F801F870F801F8F07803F0E07807F0E07C07F1C03
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1022
E1E7BC01FF83F8007E01E0201F7A9D26>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1023
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1024
%DVIPSBitmapFont: Fh msbm9 9 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1025
/Fh 1 64 df<000007FC0000C000007FFFC003E00001FFFFF007E00003FFFFF80FC0000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1026
FC07FE1F80001FC0007F3F00003F00001FFE00007E00000FFC0000FC000007F00001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1027
0007F00003F000000FF80003E000001FF80007C000007F7C0007C00000FE7C0007800001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1028
F83C000F800003F03E000F800007E03E000F00000FC01E000F00003F801E000F00007F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1029
1E000F0000FC001E000F0001F8001F000F0003F0001F000F0007E0001E000F001FC0001E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1030
000F003F80001E000F007E00001E000F80FC00003E000F81F800003E000783F000003C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1031
07CFE000007C0007DFC000007C0003FF000000F80003FE000001F80001FC000003F00001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1032
FC000007E00007FE00000FC0000FFF00001F80001F9FC0007F00003F0FFC07FE00007E03
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1033
FFFFF80000FC01FFFFF00000F8007FFFC00000600007FC000000332C7CAB3C>63
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1034
D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1035
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1036
/Fi 153[16 26 29 100[{TeXBase1Encoding ReEncodeFont}3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1037
58.1154 /Times-Italic rf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1038
%DVIPSBitmapFont: Fj cmr5 5 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1039
/Fj 3 52 df<00600001E0000FE000FFE000F1E00001E00001E00001E00001E00001E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1040
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1041
01E00001E00001E00001E0007FFF807FFF80111C7B9B1C>49 D<03FC000FFF003C0FC070
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1042
03E07801F0FC00F0FC00F8FC00F8FC00787800780000F80000F00000F00001E00003C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1043
0780000F00001C0000380000E00001C0180380180600180C00383FFFF07FFFF0FFFFF0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1044
FFF0151C7D9B1C>I<01FC000FFF801E07C03001E07C01F07C00F07E00F07C01F03801E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1045
0003E00007C0001F8003FE0003FC000007800003C00001E00000F00000F83000F87800F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1046
FC00F8FC00F8FC00F07801F07003E03C07C00FFF0003FC00151D7D9B1C>I
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1047
E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1048
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1049
%DVIPSBitmapFont: Fk cmti9 9 20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1050
/Fk 20 118 df<00000003FF800000001FFFF00000003F00F8000000F8003C000001F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1051
3E000003E0007E000003E000FE000007C000FE000007C000FC000007C0003800000F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1052
0000000F80000000000F80000000001F80000000001F00000000001F00000000001F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1053
0000001F00000000001F00000000003F00000000003E000000001FFFFFFFE0001FFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1054
E0001FFFFFFFC000007E0007C000007C0007C000007C000FC000007C000F8000007C000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1055
800000FC000F800000F8001F800000F8001F000000F8001F000000F8001F000001F8003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1056
000001F0003E000001F0003E000001F0003E000001F0007E000003F0007C000003E0007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1057
000003E0007C180003E000FC1C0003E000F83C0007E000F8380007C000F8380007C000F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1058
780007C000F8700007C000F070000FC000F0F0000F8000F8E0000F800079E0000F80003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1059
C0001F80000F00001F80000000001F00000000001F00000000001F00000000003E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1060
00003E00000000383E000000007E3C000000007E7C00000000FE7800000000FC78000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1061
00F8F00000000079E0000000003FC0000000000F00000000002F4582B42B>12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1062
D<000000001C00000000003C00000000003C00000000007C0000000000FC0000000000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1063
0000000001FC0000000001FE0000000003FE0000000003FE00000000077E000000000F7E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1064
000000000E7E000000001C7E000000001C7E00000000387E00000000387E00000000707E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1065
00000000F07E00000000E07E00000001C07E00000001C07E00000003807F00000003803F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1066
00000007003F00000007003F0000000E003F0000001E003F0000001C003F00000038003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1067
00000038003F00000070003F00000070003F000000E0003F000001FFFFFF000001FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1068
000003FFFFFF00000380003F00000700001F80000700001F80000E00001F80001E00001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1069
80001C00001F80003C00001F80003800001F80007000001F8000F000001F8000E000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1070
8001E000001F8003E000001F800FF000003FC0FFFE0007FFFEFFFE0007FFFEFFFE0007FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1071
FE2F367BB539>65 D<0007FFFFC000000FFFFFC000000FFFFFC00000003FC0000000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1072
80000000003F80000000003F00000000003F00000000007F00000000007F00000000007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1073
00000000007E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1074
0000000001FC0000000001F80000000001F80000000003F80000000003F80000000003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1075
0000000003F00000000007F00000000007F00000000007E00000000007E0000000000FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1076
000000000FE0000000000FC0000000000FC00000E0001FC00001E0001FC00001C0001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1077
0001C0001F800003C0003F80000380003F80000780003F00000780003F00000F00007F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1078
000F00007F00001F00007E00003E00007E00003E0000FE00007C0000FE0001FC0000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1079
03FC0001FC001FF8007FFFFFFFF800FFFFFFFFF800FFFFFFFFF0002B337CB230>76
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1080
D<0007FFC00000007FFC000FFFC0000000FFFC000FFFE0000000FFFC00003FE0000001FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1081
0000003FE0000001FE0000003FE0000003FE0000003BE00000077C0000003BE00000077C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1082
0000007BE000000EFC0000007BE000000EF800000073E000001CF800000073E0000038F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1083
000000F1F0000039F8000000F1F0000071F0000000E1F0000071F0000000E1F00000E1F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1084
000001E1F00001C3F0000001E1F00001C3E0000001C1F0000383E0000001C1F0000703E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1085
000003C1F0000707E0000003C1F0000E07C000000380F8000E07C000000380F8001C07C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1086
00000780F800380FC000000780F800380F8000000700F800700F8000000700F800700F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1087
00000F00F800E01F8000000F00F801C01F0000000E00F801C01F0000000E00F803801F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1088
00001E007C03803F0000001E007C07003E0000001C007C0E003E0000001C007C0E003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1089
00003C007C1C007E0000003C007C1C007C00000038007C38007C00000038007C70007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1090
000078007C7000FC00000078003EE000F800000070003EE000F800000070003FC000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1091
0000F0003F8001F8000000F0003F8001F0000001F0003F0001F0000007F8003F0003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1092
007FFF803E00FFFFC000FFFF803C01FFFFC000FFFF801C01FFFFC00046337BB245>I<00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1093
07FF80003FFFC0000FFFC0007FFFC0000FFFC0007FFFC000001FC00003F80000003FE000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1094
01F00000003FE00001E00000003FE00001C00000003BF00001C00000007BF00003C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1095
007BF000038000000071F800038000000071F8000380000000F1F8000780000000F0FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1096
0700000000E0FC000700000000E0FC000700000001E07E000F00000001E07E000E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1097
01C07E000E00000001C03F000E00000003C03F001E00000003C03F801C00000003801F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1098
1C00000003801F801C00000007801FC03C00000007800FC03800000007000FC038000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1099
07000FE0380000000F0007E0780000000F0007E0700000000E0007F0700000000E0003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1100
700000001E0003F0F00000001E0003F8E00000001C0001F8E00000001C0001F8E0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1101
3C0001FDE00000003C0000FDC0000000380000FDC0000000380000FFC00000007800007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1102
C00000007800007F800000007000003F800000007000003F80000000F000003F80000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1103
F000001F00000001F000001F00000007F800001F0000007FFF80000F000000FFFF80000E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1104
000000FFFF80000E0000003A337BB239>I<0007FFFFFE0000000FFFFFFFC000000FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1105
FFF00000003F8007F80000003F8001FC0000003F80007E0000003F00007F0000003F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1106
3F0000007F00003F0000007F00003F8000007E00003F8000007E00003F800000FE00003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1107
800000FE00007F000000FC00007F000000FC00007F000001FC0000FE000001FC0000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1108
0001F80001FC000001F80001F8000003F80003F0000003F8000FC0000003F0001F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1109
03F000FE00000007FFFFF000000007FFFFC000000007E003E000000007E001F80000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1110
E000FC0000000FE0007C0000000FC0007E0000000FC0007E0000001FC0007E0000001FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1111
007E0000001F80007E0000001F80007E0000003F8000FE0000003F8000FE0000003F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1112
FE0000003F0000FE0000007F0001FE0000007F0001FC0000007E0001FC0000007E0001FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1113
01C000FE0001FC03C000FE0001FC038000FC0001FC038001FC0001FC07807FFFF000FC07
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1114
00FFFFF000FE0E00FFFFF0007E1C00000000001FF8000000000007E00032357BB238>82
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1115
D<000001FC018000000FFF038000003FFFC78000007E07EF800001F801FF000003F000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1116
000003E0007F000007C0007F00000F80003E00001F80003E00001F00003E00003F00003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1117
00003E00003C00003E00003C00003E00003C00007E00003C00007E00003800007E000038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1118
00007E00000000007F00000000007F00000000003F80000000003FE0000000003FFE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1119
00001FFFC00000000FFFF800000007FFFC00000001FFFE000000007FFF000000000FFF80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1120
00000000FF80000000003F80000000001FC0000000000FC0000000000FC0000000000FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1121
000000000FC0000E00000FC0000E00000FC0001E00000F80001C00000F80001C00000F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1122
001C00001F80003C00001F00003C00001F00003E00003E00003E00007C00007E00007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1123
007F0000F800007F8001F000007FC007E00000F3F80FC00000F0FFFF000000E03FFC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1124
00C00FF000000029377AB42B>I<FFFFC0003FFF80FFFFC0003FFF80FFFFC0003FFF8007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1125
F8000007F80007F0000003E00007F0000003C00003F0000007800003F0000007000003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1126
00000F000003F000000E000003F000001C000003F000001C000003F0000038000003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1127
0078000003F0000070000003F00000E0000003F80000E0000001F80001C0000001F80003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1128
C0000001F8000380000001F8000700000001F8000700000001F8000E00000001F8001E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1129
000001F8001C00000001F8003800000001FC003800000001FC007000000000FC00F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1130
0000FC00E000000000FC01C000000000FC01C000000000FC038000000000FC0380000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1131
00FC070000000000FC0E0000000000FC0E0000000000FE1C00000000007E1C0000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1132
7E3800000000007E7800000000007E7000000000007EE000000000007EE000000000007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1133
C000000000007FC000000000007F8000000000007F0000000000007F0000000000003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1134
00000000003E0000000000003C000000000000380000000000313570B239>86
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1135
D<0000FC000007FF00001F0780003E03C000FC01C001F803C003F007C007E00FC007C00F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1136
C00FC00FC01F8007001F8000003F0000003F0000003F0000007F0000007E0000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1137
007E000000FE000000FC000000FC000000FC000000FC0000007C0000C07C0001E07C0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1138
E07C0003C03E000F803E001F001F007C000F81F00003FFC00000FE00001B2278A023>99
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1139
D<0003F800000FFE00003E0F0000F8078001F0038003E0038007C003800FC003801F8003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1140
801F8007803F0007003F000F007E003E007E03F8007FFFE000FFFE0000FC000000FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1141
00FC000000FC000000F8000000F8000000F8000000F8000000F8000180F80003C0F80003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1142
C07C0007807C001F003C003E001E00F8000F03E00007FF800001FC00001A2277A023>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1143
101 D<0000001F000000007FC0000000F0E0000001F0F0000003E3F0000003E3F0000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1144
C3F0000007C3E0000007C1C000000FC00000000F800000000F800000000F800000000F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1145
0000001F800000001F000000001F000000001F000000001F000000003F000000003E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1146
001FFFFE00001FFFFE00001FFFFE0000007E000000007C000000007C000000007C000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1147
007C00000000FC00000000F800000000F800000000F800000000F800000000F800000001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1148
F800000001F000000001F000000001F000000001F000000003F000000003E000000003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1149
00000003E000000003E000000007E000000007C000000007C000000007C00000000FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1150
00000FC00000000F800000000F800000000F800000001F800000001F000000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1151
001F000000003F000000003E000000383E0000007E3C0000007E3C000000FE78000000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1152
78000000F8F000000078E00000003FC00000000F00000000244582B418>I<0001800007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1153
E00007E0000FE00007C00003800000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1154
0000000000000000000001F00003FC000F1E000E1E001C1E003C1E00381E00783E00703E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1155
00703E00707E00F07C0060FC0000F80000F80001F80001F00001F00003F00003E00003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1156
0007E0C007C1E00FC1C00F81C00F81C00F83C00F03800F07800F07000F0E000F1E0007F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1157
0001F00013337AB118>105 D<03C003F8007F00000FF00FFE01FFC0001E783C1F07C1E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1158
001C7CF00F8F01F0003C3DE0079E00F000383FC007FC00F800387F8007F800F800707F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1159
07F000F800707F0007E000F800707E0007E000F800F0FC000FC001F800E0FC000FC001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1160
0060F8000F8001F00000F8000F8001F00001F8001F8003F00001F8001F8003E00001F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1161
1F0003E00001F0001F0003E00003F0003F0007E00003F0003F0007C00003E0003E000FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1162
0003E0003E000F818007E0007E000F83C007E0007E001F838007C0007C001F038007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1163
7C001F03800FC000FC001F07800FC000FC003E07000F8000F8003E0F000F8000F8001E0E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1164
001F8001F8001E1C001F8001F8001E3C001F0001F0000FF0000E0000E00003E0003A227A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1165
A03F>109 D<03C007F0000FF01FFC001E787C1E001C7CF01F003C3DE00F00383FC00F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1166
387F800F80787F000F80707E000F80707E000F80F0FC001F80E0FC001F0060F8001F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1167
F8001F0001F8003F0001F8003E0001F0003E0001F0003E0003F0007E0003F0007C0003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1168
00FC0003E000F81807E000F83C07E001F83807C001F03807C001F0380FC001F0780FC001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1169
E0700F8001E0F00F8001E0E01F8001E1C01F8001E3C01F0000FF000E00003E0026227AA0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1170
2B>I<0000FC000007FF00001F07C0003E03E000FC01F001F801F003F000F807E000F807
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1171
C000F80FC000F81F8000FC1F8000FC3F0000FC3F0000FC3F0001FC7F0001F87E0001F87E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1172
0001F87E0003F8FE0003F0FC0003F0FC0003F0FC0007E0FC0007E07C000FC07C000F807C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1173
001F807C003F003E007E003E00FC001F01F0000F83E00003FF800000FC00001E2278A027
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1174
>I<001E007C00007F81FF0000F3C387C000E3EF03E001E1FE01E001C1FC01F001C3F801
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1175
F003C3F001F00383F001F80383E001F80787E001F80707E001F80307C001F80007C001F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1176
000FC003F8000FC003F0000F8003F0000F8003F0001F8007F0001F8007E0001F0007E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1177
1F0007E0003F000FC0003F000FC0003E001F80003E001F80007E003F00007F003E00007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1178
007C00007F00F80000FF81F00000FDC3E00000F8FF800000F87E000001F800000001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1179
000001F000000001F000000003F000000003F000000003E000000003E000000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1180
0007E000000007C0000000FFFF000000FFFF000000FFFF00000025307FA027>I<03C00F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1181
C00FF03FF01E78F0781C7DE03C3C3FC0FC383F80FC387F00FC787F00F8707E0070707E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1182
00F0FC0000E0FC000060F8000000F8000001F8000001F8000001F0000001F0000003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1183
0003F0000003E0000003E0000007E0000007E0000007C0000007C000000FC000000FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1184
000F8000000F8000001F8000001F8000001F0000000E0000001E227AA020>114
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1185
D<0003F0001FFC003C1E00780F00F00701E00701E00F03E01F03C01F03C01F03E00403E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1186
0003F00003FF8003FFE001FFF000FFF8007FFC0007FC0000FE00007E00003E38003EFC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1187
3CFC003CFC003CFC007CF00078E000F0F001F07803E03C0F801FFE0003F80018227AA01F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1188
>I<000300000F80000F80000F80001F80001F80001F00001F00003F00003F00003E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1189
3E00007E00007E00007C007FFFF87FFFF8FFFFF800F80000F80001F80001F80001F00001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1190
F00003F00003F00003E00003E00007E00007E00007C00007C0000FC0000FC0000F80000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1191
80601F80F01F80E01F00E01F01E01F01C01F03C01E03801E07001E0F000F1E0007F80001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1192
E00015307AAE19>I<01F000000003FC0007000F1E000F000E1E001F001C1E001F003C1E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1193
001F00381E003F00783E003E00703E003E00703E003E00707E007E00F07C007C0060FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1194
7C0000F8007C0000F800FC0001F800F80001F000F80001F000F80001F001F80003F001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1195
0003E001F00003E001F06003E003F07003E003E0F007C003E0E007C003E0E003C007E1E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1196
03C007E1C003E00FC1C003E01FC3C001E03FE38001F071E780007FE0FF00001F803C0024
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1197
227AA029>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1198
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1199
%DVIPSBitmapFont: Fl cmsy7 7 5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1200
/Fl 5 49 df<FFFFFFFFFEFFFFFFFFFEFFFFFFFFFE27037A8F34>0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1201
D<00380000380000380000380000380060380CF8383EFC387EFE38FE3FBBF807FFC001FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1202
00007C0001FF0007FFC03FBBF8FE38FEFC387EF8383E60380C0038000038000038000038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1203
0000380017197B9A22>3 D<01FE0000006007FF800000600FFFE00000601FFFF0000060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1204
3F03F80000E03C00FE0000E078003F0001C070001F8003C0E0000FE00780E00003F81F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1205
C00001FFFF00C00000FFFE00C000003FFC00C000000FF000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1206
01FE0000006007FF800000600FFFE00000601FFFF00000603F03F80000E03C00FE0000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1207
78003F0001C070001F8003C0E0000FE00780E00003F81F80C00001FFFF00C00000FFFE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1208
C000003FFC00C000000FF0002B1E7C9D34>25 D<00000000380000000000000038000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1209
000000003C000000000000001C000000000000001E000000000000000F00000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1210
0700000000000000078000000000000003C00000FFFFFFFFFFE00000FFFFFFFFFFF80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1211
FFFFFFFFFFFC000000000000001E000000000000000F8000000000000007E00000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1212
0001FC000000000000007F800000000000003F80000000000000FC00000000000003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1213
000000000007C00000000000001F000000000000003E0000FFFFFFFFFFF80000FFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1214
FFF00000FFFFFFFFFFE000000000000003C0000000000000078000000000000007000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1215
000000000F000000000000001E000000000000001C000000000000003C00000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1216
38000000000000003800000039237C9F42>41 D<00E001F003F803F803F807F007F007F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1217
07E007E00FE00FC00FC00FC01F801F801F001F003F003E003E003E007C007C007C007800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1218
F800F800F00010000D1E7D9F13>48 D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1219
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1220
%DVIPSBitmapFont: Fm cmex9 9 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1221
/Fm 3 61 df<00000F8000003F8000007F800001FF800003FF800007FF00000FFC00001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1222
F800003FF000007FE00000FFC00001FF800001FF800003FF000007FE000007FE00000FFC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1223
00000FFC00001FF800001FF800003FF000003FF000003FF000007FE000007FE000007FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1224
00007FE00000FFE00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1225
0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1226
0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1227
0000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1228
0000FFC00000FFC00000FFC00000FFC00000FFC000001943637E44>56
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1229
D<FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1230
00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1231
00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1232
00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1233
00FFC00000FFC00000FFC00000FFE000007FE000007FE000007FE000007FE000003FF000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1234
003FF000003FF000001FF800001FF800000FFC00000FFC000007FE000007FE000003FF00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1235
0001FF800001FF800000FFC000007FE000003FF000001FF800000FFC000007FF000003FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1236
800001FF8000007F8000003F8000000F801943638044>58 D<0000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1237
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1238
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1239
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1240
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1241
C00001FFC00001FF800001FF800001FF800001FF800003FF000003FF000003FF000003FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1242
000007FE000007FE00000FFC00000FFC00001FF800001FF000003FF000003FE000007FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1243
00007FC00000FF800001FF000003FE000007FC00000FF800001FF000003FE000007FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1244
00FF000000FE000000FE000000FF0000007FC000003FE000001FF000000FF8000007FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1245
0003FE000001FF000000FF8000007FC000007FE000003FE000003FF000001FF000001FF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1246
00000FFC00000FFC000007FE000007FE000003FE000003FF000003FF000003FF000001FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1247
800001FF800001FF800001FF800001FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1248
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1249
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1250
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1251
C00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC01A88738044>60
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1252
D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1253
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1254
/Fn 153[19 26 29 100[{TeXBase1Encoding ReEncodeFont}3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1255
58.1154 /Times-Roman rf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1256
%DVIPSBitmapFont: Fo cmbsy10 14.4 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1257
/Fo 1 2 df<03F8000FFE001FFF003FFF807FFFC07FFFC0FFFFE0FFFFE0FFFFE0FFFFE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1258
FFFFE0FFFFE0FFFFE07FFFC07FFFC03FFF801FFF000FFE0003F800131377A726>1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1259
D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1260
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1261
%DVIPSBitmapFont: Fp cmmi7 7 8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1262
/Fp 8 122 df<000FE00000003FF8000000F83E000001E01F006003C00F80C007800780
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1263
C00F0007C0C01E0007C1803E0007C1803C0007E3007C0003E3007C0003E600F80003E600
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1264
F80003EC00F80003EC00F80003F800F00003F000F00003E000F00003E000F00003E000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1265
0003E00078000FE00078001DE0C03C0079F1801E03E0F3800FFF807F0003FC003C00231B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1266
7C992B>11 D<01FFFFFF8007FFFFFFC00FFFFFFF801FFFFFFF003C0C060000700C060000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1267
C00C060000C01C0E000000180E000000180E000000380E000000380E000000701E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1268
701E000000701E000000F01E000000E01E000001E01E000001E01F000003E01F000003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1269
1F000007C01F800007C01F80000F800F80000F800F80000700070000221A7D9827>25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1270
D<000001800000038000000780000007000000070000000F0000000E0000001E0000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1271
0000001C0000003C00000038000000780000007000000070000000F0000000E0000000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1272
000001E0000001C0000003C00000038000000380000007800000070000000F0000000E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1273
00000E0000001E0000001C0000003C00000038000000380000007800000070000000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1274
0000E0000000E0000001E0000001C0000003C00000038000000380000007800000070000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1275
00070000000F0000000E0000001E0000001C0000001C0000003C00000038000000780000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1276
007000000070000000F0000000E0000000E0000000193B7CAB22>61
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1277
D<000003E000000FF000001E3800003C3C00003C7C00007CFC000078FC0000F8F80000F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1278
700000F8000000F8000001F0000001F0000001F0000001F0000001F00000FFFFE000FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1279
E00003E0000003E0000003E0000003E0000007C0000007C0000007C0000007C0000007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1280
00000F8000000F8000000F8000000F8000000F8000000F8000001F0000001F0000001F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1281
00001F0000001F0000003E0000003E0000003E0000003E0000003C0000007C00003C7C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1282
007C7800007E780000FC700000FCF0000078E0000071C000003F8000001E0000001E357C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1283
A820>102 D<07801FC0000FE07FF00018F0E0F80030F1807C0030FB007C0060FE003C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1284
60FC003C0060F8003C00C1F8007C00C1F0007C0001F0007C0001F0007C0003E000F80003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1285
E000F80003E000F80003E001F00007C001F00007C001F06007C003E06007C003E0600F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1286
07C0C00F8007C0C00F8007C1800F8003C3001F0003C7001F0001FE000E0000F800231B7D
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1287
9929>110 D<000FE0007FF800F03C01C00E03C01E07803E07803E07803C0F80180FE000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1288
07FF0007FFC003FFE001FFF000FFF80007F80001F83C00F87E00787E0078FC00F0F800F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1289
7001E07003C03C0F801FFE0007F800171B7C991F>115 D<001C00003E00003E00007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1290
007C00007C00007C0000F80000F80000F80000F80001F000FFFFE0FFFFE001F00003E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1291
03E00003E00003E00007C00007C00007C00007C0000F80000F80000F80000F80001F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1292
1F00601F00601F00C03E00C03E01803E03001E06001F1C000FF80003E00013267EA419>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1293
I<03E0000007F000700C7800F8187C00F8307C01F0307C01F0607C01F060F801F0C0F803
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1294
E0C0F803E001F003E001F003E001F007C003E007C003E007C003E007C007C00F8007C00F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1295
8007C00F8007C00F8007C01F0007C01F0007C03F0003C07F0001E0FE0000FFBE00003F3E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1296
0000003E0000007C001E007C003F00F8003F00F0007E01E0003C03C000300780001C1F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1297
000FFC000007F000001D267D9922>121 D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1298
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1299
%DVIPSBitmapFont: Fq cmr7 7 5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1300
/Fq 5 52 df<0006000C00180030006000E001C00380038007000F000E001E001E001C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1301
3C003C003C0078007800780078007800F800F000F000F000F000F000F000F000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1302
F000F000F800780078007800780078003C003C003C001C001E001E000E000F0007000380
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1303
038001C000E0006000300018000C00060F3B7AAB1A>40 D<C0006000300018000C000E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1304
07000380038001C001E000E000F000F00070007800780078003C003C003C003C003C003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1305
001E001E001E001E001E001E001E001E001E001E001E003E003C003C003C003C003C0078
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1306
00780078007000F000F000E001E001C00380038007000E000C00180030006000C0000F3B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1307
7DAB1A>I<00380000780001F8001FF800FEF800E0F80000F80000F80000F80000F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1308
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1309
F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1310
F80001FC00FFFFF8FFFFF815267BA521>49 D<00FF000003FFE0000E03F0001800F80030
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1311
007C0060007E0078003F00FC003F00FE001F80FE001F80FE001F80FE001F807C001F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1312
001F8000001F0000003F0000003E0000007E0000007C000000F8000001F0000003E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1313
03C00000078000000E0000001C0000003800000070018000E00180018001800300030006
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1314
0003000C0003001FFFFF003FFFFF007FFFFE00FFFFFE00FFFFFE0019267DA521>I<00FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1315
000003FFE0000F01F8001C007C0030007E003C003E007E003F007E003F007E003F007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1316
3F003C003F0000003E0000007E0000007C000000F8000001F0000007E00001FF800001FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1317
00000001E0000000F00000007C0000003E0000003F0000001F0000001F8000001F803800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1318
1F807C001F80FE001F80FE001F80FE001F00FC003F0078003E0070007C003800F8001F01
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1319
F00007FFC00000FF000019277DA521>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1320
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1321
%DVIPSBitmapFont: Fr cmr9 9 10
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1322
/Fr 10 94 df<3C7EFFFFFFFFFFFFFFFF7E7E7E7E7E7E7E7E7E7E7E3E3C3C3C3C3C3C3C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1323
3C3C3C3C181818181818000000000000003C7EFFFFFFFF7E3C08367AB515>33
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1324
D<3C00F07E01F8FF03FCFF03FCFF83FEFF83FE7F81FE3D80F60180060180060180060180
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1325
0603800E03000C03000C07001C0600180E00380C00301C00703800E07001C06001801717
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1326
7EB326>I<0000003000180000000078003C0000000078003C00000000F8007C00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1327
F8007C00000000F0007800000000F0007800000000F0007800000001F000F800000001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1328
00F800000001E000F000000001E000F000000003E001F000000003E001F000000003C001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1329
E000000003C001E000000003C001E000000007C003E000000007C003E0000000078003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1330
000000078003C0000000078003C00000000F8007C0007FFFFFFFFFFFFCFFFFFFFFFFFFFE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1331
FFFFFFFFFFFFFE7FFFFFFFFFFFFC00003E001F000000003E001F000000003C001E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1332
003C001E000000003C001E000000007C003E000000007C003E0000000078003C00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1333
78003C0000000078003C00000000F8007C00000000F8007C00007FFFFFFFFFFFFCFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1334
FFFFFFFEFFFFFFFFFFFFFE7FFFFFFFFFFFFC0003E001F000000003C001E000000003C001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1335
E000000007C003E000000007C003E0000000078003C0000000078003C00000000F8007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1336
0000000F8007C00000000F0007800000000F0007800000001F000F800000001F000F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1337
00001E000F000000001E000F000000003E001F000000003E001F000000003C001E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1338
003C001E000000007C003E000000007C003E0000000078003C0000000078003C00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1339
30001800000037437CB340>I<0000C00001C0000380000F00000E00001C00003C000078
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1340
0000F00000F00001E00003C00003C00007C0000780000F80000F00001F00001F00001E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1341
003E00003E00003E00003C00007C00007C00007C00007C00007C0000F80000F80000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1342
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1343
00F800007C00007C00007C00007C00007C00003C00003E00003E00003E00001E00001F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1344
001F00000F00000F800007800007C00003C00003C00001E00000F00000F000007800003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1345
00001C00000E00000F000003800001C00000C0124A79B71E>40 D<C00000E00000700000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1346
3C00001C00000E00000F000007800003C00003C00001E00000F00000F00000F800007800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1347
007C00003C00003E00003E00001E00001F00001F00001F00000F00000F80000F80000F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1348
000F80000F800007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1349
0007C00007C00007C00007C00007C00007C0000F80000F80000F80000F80000F80000F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1350
001F00001F00001F00001E00003E00003E00003C00007C0000780000F80000F00000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1351
01E00003C00003C0000780000F00000E00001C00003C0000700000E00000C00000124A7C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1352
B71E>I<3C7EFFFFFFFF7E3C000000000000000000000000000000003C7EFFFFFFFF7E3C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1353
08207A9F15>58 D<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE07FFFFFFFFFFFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1354
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1355
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1356
0000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE07FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1357
FFFFFFC033147C9C3C>61 D<000007FC00000000007FFFC000000001F803F00000000780
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1358
003C0000001E00000F0000003800000380000070000001C00000E0000000E00001C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1359
00700003800000003800070003F8001C000E001FFE000E000C007E078006001C00F801C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1360
07001801F000E003003803F0007003803007E0003F01803007C0003F8180700FC0001F81
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1361
C0601F80001F80C0601F80001F80C0E01F80001F80E0C03F80001F8060C03F00001F8060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1362
C03F00001F8060C03F00001F8060C03F00001F8060C03F00001F8060C03F00001F8060C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1363
3F00001F8060C03F00001F8060C03F80001F8060E01F80001F8060601F80001F8060601F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1364
80001F8060700FC0001F80E03007C0003F80C03007E0003F80C03803F0007F80C01801F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1365
00FF81C01C00F801CFC1800C007E0787C3800E001FFE03FF00070003F800FC0003800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1366
00000001C0000000000000E00000000000007000000003E000380000000FE0001E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1367
7F800007800003FC000001F8007FE00000007FFFFE0000000007FF80000033367CB43C>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1368
64 D<FFF0FFF0FFF0FFF0F000F000F000F000F000F000F000F000F000F000F000F000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1369
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1370
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1371
00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1372
00FFF0FFF0FFF0FFF00C4B79B715>91 D<FFF0FFF0FFF0FFF000F000F000F000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1373
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1374
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1375
F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1376
F000F000F000F000F000F000F000F0FFF0FFF0FFF0FFF00C4B7FB715>93
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1377
D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1378
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1379
%DVIPSBitmapFont: Fs cmtt9 9 35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1380
/Fs 35 122 df<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A728927>46
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1381
D<000000380000007C000000FC000000FC000001FC000001F8000003F8000003F0000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1382
F0000007E000000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1383
0000007E000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1384
00000FE000000FC000000FC000001FC000001F8000003F8000003F0000007F0000007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1385
0000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F0000007E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1386
000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E000000FE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1387
00FC000000FC000000F8000000780000001E3A7CB327>I<1E007F807F80FFC0FFC0FFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1388
FFC07F807F801E000000000000000000000000000000000000000000000000001E007F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1389
7F80FFC0FFC0FFC0FFC07F807F801E000A20729F27>58 D<0003F000000007F800000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1390
F80000000FFC0000000FFC0000000FFC0000000FFC0000000F3C0000001F3E0000001F3E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1391
0000001F3E0000001F3E0000001F3E0000003F3F0000003F3F0000003F3F0000003E1F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1392
00003E1F0000007E1F8000007E1F8000007E1F8000007E1F800000FC0FC00000FC0FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1393
00FC0FC00000FC0FC00000FC0FC00001F807E00001F807E00001F807E00001FFFFE00001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1394
FFFFE00003FFFFF00003FFFFF00003FFFFF00003F003F00003F003F00007E001F80007E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1395
01F80007E001F80007E001F8000FE001FC007FFC0FFF80FFFC0FFFC0FFFE1FFFC0FFFC0F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1396
FFC07FFC0FFF80222F7EAE27>65 D<7FFFFF0000FFFFFFC000FFFFFFE000FFFFFFF8007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1397
FFFFF80007E003FC0007E000FE0007E0007E0007E0007F0007E0003F0007E0003F0007E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1398
003F0007E0003F0007E0003F0007E0003F0007E0007E0007E0007E0007E000FC0007E003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1399
FC0007E00FF80007FFFFF00007FFFFC00007FFFFF00007FFFFF80007FFFFFC0007E000FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1400
0007E0007F0007E0003F8007E0001F8007E0001F8007E0000FC007E0000FC007E0000FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1401
07E0000FC007E0000FC007E0000FC007E0001FC007E0001F8007E0003F8007E0007F0007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1402
E001FF007FFFFFFE00FFFFFFFC00FFFFFFF800FFFFFFE0007FFFFF8000222E7FAD27>I<
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1403
7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFFC007E0000FC007E0000FC007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1404
E0000FC007E0000FC007E0000FC007E0000FC007E000078007E000000007E000000007E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1405
00000007E000000007E007800007E00FC00007E00FC00007E00FC00007FFFFC00007FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1406
C00007FFFFC00007FFFFC00007FFFFC00007E00FC00007E00FC00007E00FC00007E00780
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1407
0007E000000007E000000007E000000007E000000007E00003C007E00007E007E00007E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1408
07E00007E007E00007E007E00007E007E00007E007E00007E07FFFFFFFE0FFFFFFFFE0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1409
FFFFFFE0FFFFFFFFE07FFFFFFFC0232E7FAD27>69 D<7FFFFFFF80FFFFFFFFC0FFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1410
C0FFFFFFFFC07FFFFFFFC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1411
07E0000FC007E000078007E000000007E000000007E000000007E000000007E007800007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1412
E00FC00007E00FC00007E00FC00007FFFFC00007FFFFC00007FFFFC00007FFFFC00007FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1413
FFC00007E00FC00007E00FC00007E00FC00007E007800007E000000007E000000007E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1414
000007E000000007E000000007E000000007E000000007E000000007E000000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1415
0007E000000007E00000007FFF800000FFFFC00000FFFFC00000FFFFC000007FFF800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1416
222E7EAD27>I<7FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF07FFFFFE0001F8000001F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1417
1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1418
1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1419
1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1420
1F8000001F8000001F8000001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1421
FFFFF0FFFFFFF07FFFFFE01C2E7BAD27>73 D<7FFFC000007FFFE00000FFFFE000007FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1422
E000007FFFC0000003F000000003F000000003F000000003F000000003F000000003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1423
000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1424
0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1425
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1426
F000000003F000078003F0000FC003F0000FC003F0000FC003F0000FC003F0000FC003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1427
000FC003F0000FC07FFFFFFFC07FFFFFFFC0FFFFFFFFC07FFFFFFFC07FFFFFFF80222E7F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1428
AD27>76 D<7FF003FFE0FFF807FFF0FFF807FFF0FFFC07FFF07FFC03FFE007FC003E0007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1429
DE003E0007DE003E0007DE003E0007CF003E0007CF003E0007CF003E0007CF803E0007C7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1430
803E0007C7C03E0007C7C03E0007C3C03E0007C3E03E0007C3E03E0007C1E03E0007C1F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1431
3E0007C1F03E0007C1F03E0007C0F83E0007C0F83E0007C0F83E0007C0783E0007C07C3E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1432
0007C07C3E0007C03C3E0007C03E3E0007C03E3E0007C01E3E0007C01F3E0007C00F3E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1433
07C00F3E0007C00F3E0007C007BE0007C007BE0007C007BE0007C003FE007FFC03FE00FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1434
FE03FE00FFFE01FE00FFFE01FE007FFC00FC00242E7FAD27>78 D<7FFFFF0000FFFFFFE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1435
00FFFFFFF000FFFFFFF8007FFFFFFC0007E003FE0007E000FF0007E0007F0007E0003F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1436
07E0001F8007E0001FC007E0000FC007E0000FC007E0000FC007E0000FC007E0000FC007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1437
E0000FC007E0001FC007E0001F8007E0003F8007E0007F0007E000FF0007E003FE0007FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1438
FFFC0007FFFFF80007FFFFF00007FFFFE00007FFFF000007E000000007E000000007E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1439
000007E000000007E000000007E000000007E000000007E000000007E000000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1440
0007E000000007E000000007E00000007FFE000000FFFF000000FFFF000000FFFF000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1441
7FFE000000222E7FAD27>80 D<007FC0E001FFF1F007FFFFF00FFFFFF01FFFFFF03FE0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1442
F03F801FF07F000FF07E0007F0FE0007F0FC0007F0FC0003F0FC0003F0FC0003F0FC0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1443
E0FE0000007E0000007F0000003FC000003FF800001FFF80000FFFF80007FFFE0003FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1444
8000FFFFC0000FFFE00000FFF000000FF0000007F8000003F8000001F8000001FC000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1445
FC780000FCFC0000FCFC0000FCFC0000FCFC0000FCFE0001F8FE0001F8FF0003F8FF8007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1446
F0FFF01FE0FFFFFFE0FFFFFFC0FFFFFF00F8FFFE00701FF8001E307CAE27>83
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1447
D<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FC03F00FC0FC03F00FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1448
FC03F00FC0FC03F00FC0FC03F00FC0FC03F00FC07803F007800003F000000003F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1449
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1450
F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1451
00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1452
000003F000000003F000000003F000000003F000000003F0000000FFFFC00001FFFFE000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1453
01FFFFE00001FFFFE00000FFFFC000222E7EAD27>I<7FFC03FFE07FFE07FFE0FFFE07FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1454
F07FFE07FFE07FFC03FFE007E0007E0007E0007E0007E0007E0007E0007E0003F000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1455
03F000FC0003F000FC0003F000FC0003F801FC0001F801F80001F801F80001F801F80001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1456
F801F80000FC03F00000FC03F00000FC03F00000FC03F000007E07E000007E07E000007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1457
07E000007E07E000007E07E000003F0FC000003F0FC000003F0FC000003F0FC000001F0F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1458
8000001F9F8000001F9F8000001F9F8000000F9F0000000F9F0000000F9F0000000F9F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1459
00000F9F00000007FE00000007FE00000007FE00000007FE00000003FC00000003FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1460
0001F80000242F7FAD27>86 D<03FFC000000FFFF000001FFFFC00003FFFFF00003FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1461
80003F80FF80003F801FC0001F000FC00004000FE000000007E000000007E000000FFFE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1462
00007FFFE00003FFFFE0000FFFFFE0001FFFFFE0003FFC07E0007FC007E0007F0007E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1463
FE0007E000FC0007E000FC0007E000FC0007E000FC0007E000FE000FE0007F001FE0007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1464
C0FFE0003FFFFFFF801FFFFFFFC00FFFFFFFC003FFF1FFC000FF807F8022207C9F27>97
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1465
D<7FE0000000FFF0000000FFF0000000FFF00000007FF000000003F000000003F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1466
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1467
F0FF000003F3FFC00003FFFFF00003FFFFF80003FFFFFC0003FF81FE0003FE00FF0003FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1468
003F8003F8001F8003F8001FC003F0000FC003F0000FC003F0000FE003F00007E003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1469
07E003F00007E003F00007E003F00007E003F00007E003F0000FE003F0000FC003F8000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1470
C003F8001FC003FC003F8003FC007F8003FE00FF0003FF83FE0003FFFFFC0003FFFFF800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1471
03FFFFF00003F3FFC00001E0FE0000232E7FAD27>I<000FFF00007FFFC001FFFFE003FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1472
FFF007FFFFF00FF807F01FE007F03FC003E03F8000807F0000007E0000007E000000FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1473
0000FC000000FC000000FC000000FC000000FC000000FC000000FE0000007E0000007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1474
00007F0000F03F8001F83FC001F81FE003F80FF80FF007FFFFF003FFFFE001FFFFC0007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1475
FF00000FF8001D207B9F27>I<00003FF00000007FF80000007FF80000007FF80000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1476
F800000001F800000001F800000001F800000001F800000001F800000001F800000001F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1477
00000001F800000001F800000FE1F800007FFDF80001FFFFF80003FFFFF80007FFFFF800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1478
0FF83FF8001FE00FF8003FC007F8003F8003F8007F0003F8007E0001F8007E0001F800FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1479
0001F800FC0001F800FC0001F800FC0001F800FC0001F800FC0001F800FC0001F800FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1480
01F8007E0003F8007E0003F8007F0003F8003F0007F8003F800FF8001FE01FF8000FF03F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1481
F80007FFFFFFC003FFFFFFE001FFFDFFE0007FF9FFE0001FE0FFC0232E7EAD27>I<000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1482
F800003FFE0000FFFF8003FFFFC007FFFFE00FFC0FF01FE003F81FC001F83F8001FC7F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1483
00FC7E0000FC7E00007EFE00007EFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFCFC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1484
0000FE0000007E0000007F0000003F00003C3F80007E1FC0007E1FF000FE0FFC07FC07FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1485
FFFC01FFFFF800FFFFF0003FFFC00007FE001F207D9F27>I<00001FF00000FFF80001FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1486
FC0003FFFE0007FFFE000FF0FE000FC0FE001FC07C001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1487
00001F8000001F80007FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF0001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1488
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1489
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1490
00001F8000001F80003FFFFFC07FFFFFE07FFFFFE07FFFFFE03FFFFFC01F2E7EAD27>I<
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1491
0000003F00001FC0FF80007FF3FFC001FFFFFFE003FFFFFFE007FFFFEFE00FF07F87E01F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1492
C01FC3C01FC01FC0001F800FC0003F0007E0003F0007E0003F0007E0003F0007E0003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1493
07E0003F0007E0001F800FC0001FC01FC0001FC01FC0000FF07F80000FFFFF00000FFFFE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1494
00001FFFFC00001F7FF000001F1FC000001F000000001F000000001F800000000FFFFF00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1495
000FFFFFE0000FFFFFF8001FFFFFFE003FFFFFFF003F8001FF007E00003F807C00000F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1496
FC00000FC0F8000007C0F8000007C0F8000007C0F8000007C0FC00000FC07C00000F807F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1497
00003F803F80007F003FF807FF001FFFFFFE0007FFFFF80003FFFFF00000FFFFC000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1498
FC000023337EA027>I<7FE0000000FFF0000000FFF0000000FFF00000007FF000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1499
F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1500
00000003F000000003F07F000003F1FFC00003F7FFF00003FFFFF00003FFFFF80003FFC1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1501
F80003FF01FC0003FE00FC0003FC00FC0003F800FC0003F800FC0003F000FC0003F000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1502
0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1503
03F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1504
FF83FFE0FFFFC7FFF0FFFFC7FFF0FFFFC7FFF07FFF83FFE0242E7FAD27>I<000F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1505
1F8000003FC000003FC000003FC000003FC000001F8000000F0000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1506
000000000000000000000000000000000000003FFF80007FFFC0007FFFC0007FFFC0003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1507
FFC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1508
0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1509
0FC000000FC000000FC000000FC000000FC0007FFFFFF0FFFFFFF0FFFFFFF8FFFFFFF07F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1510
FFFFF01D2F7BAE27>I<7FFF8000FFFFC000FFFFC000FFFFC0007FFFC000000FC000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1511
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1512
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1513
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1514
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1515
FFFCFFFFFFFCFFFFFFFC7FFFFFF81E2E7CAD27>108 D<7F07C01F0000FF9FF07FC000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1516
FFF9FFE000FFFFFFFFF0007FFFFFFFF0000FFC7FF1F8000FF03FC0F8000FE03F80F8000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1517
C03F00F8000FC03F00F8000FC03F00F8000F803E00F8000F803E00F8000F803E00F8000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1518
803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1519
803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F803E00F8000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1520
803E00F8007FF0FFC3FF00FFF8FFE3FF80FFF9FFE7FF80FFF8FFE3FF807FF0FFC3FF0029
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1521
20819F27>I<7FE07F0000FFF1FFC000FFF7FFF000FFFFFFF0007FFFFFF80003FFC1F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1522
03FF01FC0003FE00FC0003FC00FC0003F800FC0003F800FC0003F000FC0003F000FC0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1523
F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1524
00FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC007FFF83
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1525
FFE0FFFFC7FFF0FFFFC7FFF0FFFFC7FFF07FFF83FFE024207F9F27>I<001FE000007FF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1526
0001FFFE0003FFFF0007FFFF800FF03FC01FC00FE03F8007F03F0003F07F0003F87E0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1527
F87E0001F8FC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFC0000FCFE0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1528
FC7E0001F87E0001F87F0003F83F8007F03F8007F01FE01FE00FF03FC007FFFF8003FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1529
0001FFFE00007FF800001FE0001E207C9F27>I<7FE0FF0000FFF3FFC000FFFFFFF000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1530
FFFFF8007FFFFFFC0003FF81FE0003FE00FF0003FC003F8003F8001F8003F8001FC003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1531
000FC003F0000FC003F0000FE003F00007E003F00007E003F00007E003F00007E003F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1532
07E003F00007E003F0000FE003F0000FC003F8000FC003F8001FC003FC003F8003FC007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1533
8003FE00FF0003FF83FE0003FFFFFC0003FFFFF80003FFFFF00003F3FFC00003F0FE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1534
03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1535
F000000003F000000003F000000003F000000003F00000007FFF800000FFFFC00000FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1536
C00000FFFFC000007FFF80000023317F9F27>I<7FFC03FC00FFFE0FFF00FFFE3FFF80FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1537
FE7FFFC07FFEFFFFC0007FFE1FC0007FF81FC0007FF00F80007FE00200007FC00000007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1538
800000007F800000007F000000007F000000007E000000007E000000007E000000007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1539
0000007E000000007E000000007E000000007E000000007E000000007E000000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1540
00007E000000007E0000007FFFFF8000FFFFFFC000FFFFFFC000FFFFFFC0007FFFFF8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1541
22207E9F27>114 D<00FFF38007FFFFC01FFFFFC03FFFFFC07FFFFFC07F803FC0FC000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1542
C0F8000FC0F8000FC0F8000780FC0000007F8000007FFC00003FFFF0001FFFFC0007FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1543
0001FFFF80000FFFC000003FE0000007E0780003F0FC0001F0FC0001F0FE0001F0FE0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1544
F0FF0007E0FFE01FE0FFFFFFC0FFFFFF80FFFFFF00FBFFFC00707FF0001C207B9F27>I<
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1545
003C0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1546
7FFFFFF0FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF0007E0000007E0000007E0000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1547
007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1548
007E0000007E0018007E007E007E007E007E007E007E007E007E00FE003F00FC003F83FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1549
003FFFF8001FFFF0000FFFE00003FFC00000FF001F297EA827>I<7FE01FF800FFF03FFC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1550
00FFF03FFC00FFF03FFC007FF01FFC0003F000FC0003F000FC0003F000FC0003F000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1551
03F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1552
F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F000FC0003F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1553
01FC0003F001FC0003F003FC0003FC0FFC0001FFFFFFE001FFFFFFF000FFFFFFF0003FFE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1554
FFF0000FF87FE024207F9F27>I<7FFC0FFF80FFFE1FFFC0FFFE1FFFC0FFFE1FFFC07FFC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1555
0FFF8007C000F80007E001F80003E001F00003E001F00003F003F00001F003E00001F003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1556
E00001F807E00000F807C00000F807C00000F807C000007C0F8000007C0F8000007C0F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1557
00003E1F0000003E1F0000003E1F0000003F3F0000001F3E0000001F3E0000001FFE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1558
000FFC0000000FFC0000000FFC00000007F800000007F800000003F0000022207E9F27>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1559
I<3FFC1FFF007FFE3FFF007FFE3FFF807FFE3FFF003FFC1FFF0001F807E00000FC0FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1560
00FC1F8000007E1F0000003F3F0000001F7E0000001FFC0000000FF800000007F8000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1561
03F000000003E000000003F000000007F80000000FF80000001FFC0000001F3E0000003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1562
3F0000007E1F0000007C0F800000F80FC00001F807E00003F003E0007FFE1FFF807FFE1F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1563
FF80FFFF3FFFC07FFE1FFF807FFE1FFF8022207E9F27>120 D<7FFC0FFF80FFFE1FFFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1564
FFFE1FFFC0FFFE1FFFC07FFC0FFF8007E000F80003E001F80003E001F00003F001F00001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1565
F003F00001F803E00000F803E00000F803E00000FC07C000007C07C000007C07C000007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1566
0F8000003E0F8000003E0F8000001F0F0000001F1F0000001F1F0000000F1F0000000F9E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1567
0000000FBE00000007BE00000007FC00000003FC00000003FC00000003F800000001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1568
000001F800000001F000000001F000000003F000000003E000000003E000000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1569
0007C000000807C000003E0FC000007F0F8000007F1F8000007E7F0000007FFE0000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1570
FC0000003FF80000001FF000000007C000000022317E9F27>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1571
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1572
%DVIPSBitmapFont: Ft cmtt8 8 51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1573
/Ft 51 123 df<7801E0FC03F0FE07F0FE07F0FE07F0FE07F0FC03F0FC03F0FC03F0FC03
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1574
F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F0FC03F07C03E07C03E03000C0141479A923
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1575
>34 D<0F003F803FC03FC03FE03FE00FE003E003E003E007E007E007C00FC01FC03F807F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1576
00FF00FE00F80070000B1574A823>39 D<000380000FC0001FC0003F8000FF0000FE0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1577
F80003F80007F0000FE0000FC0001F80001F80003F00003F00003E00007E00007E00007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1578
00007C0000FC0000FC0000F80000F80000F80000F80000F80000F80000F80000F80000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1579
0000FC00007C00007C00007E00007E00003E00003F00003F00001F80001F80000FC0000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1580
E00007F00003F80001F80000FE0000FF00003F80001FC0000FC0000380123476AD23>I<
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1581
700000FC0000FE00007F00003FC0001FC00007E00007F00003F80001FC0000FC00007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1582
007E00003F00003F00001F00001F80001F80000F80000F80000FC0000FC00007C00007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1583
0007C00007C00007C00007C00007C00007C0000FC0000FC0000F80000F80001F80001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1584
001F00003F00003F00007E00007E0000FC0001FC0003F80007F00007E0001FC0003FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1585
7F0000FE0000FC000070000012347AAD23>I<00078000000FC000000FC000000FC00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1586
0FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC0007FFFFFF8FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1587
FFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF8000FC000000FC000000FC000000FC00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1588
0FC000000FC000000FC000000FC000000FC000000FC000000FC000000780001E1E7EA223
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1589
>43 D<1F003F807FC07FE07FE07FE07FE03FE01FE007E007E00FC01FC07F80FF00FE00FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1590
0070000B12748823>I<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A06
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1591
7C9623>I<3E007F00FF80FF80FF80FF80FF807F003E000909738823>I<00000380000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1592
C000000FC000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1593
000000FE000000FC000001FC000001F8000003F8000003F0000007F0000007E0000007E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1594
00000FE000000FC000001FC000001F8000003F8000003F0000003F0000007F0000007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1595
0000FE000000FC000001FC000001F8000001F8000003F8000003F0000007F0000007E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1596
000FE000000FC000001FC000001F8000001F8000003F8000003F0000007F0000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1597
00FE000000FC000000FC000000F8000000780000001A347CAD23>I<001F8000007FE000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1598
01FFF80003FFFC0007FFFE0007F0FE000FC03F001F801F801F000F803F000FC03E0007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1599
3E0007C07C0003E07C0003E07C0003E0780001E0F80001F0F80001F0F80001F0F80001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1600
F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F07C0003E07C0003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1601
7C0003E07E0007E03E0007C03E0007C03F000FC01F801F801F801F800FC03F0007F0FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1602
07FFFE0003FFFC0001FFF800007FE000001F80001C2B7DA923>I<001800003C00007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1603
007C0000FC0001FC0003FC0007FC007FFC00FFFC00FFFC00FF7C007C7C00007C00007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1604
007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1605
007C00007C00007C00007C00007C00007C00007C00007C00007C00007C007FFFFC7FFFFE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1606
7FFFFE7FFFFE7FFFFC172A7AA923>I<007FC00003FFF00007FFFC001FFFFE003FFFFF80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1607
7F80FF807E003FC0FE000FE0FC0007E0FE0003F0FE0003F0FE0003F0FE0001F07C0001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1608
380001F0000001F0000003F0000003F0000007E0000007E000000FC000001FC000003F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1609
00003F000000FE000001FE000003F8000007F000000FE000003FC000007F800000FE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1610
01FC000003F800000FF000E01FE001F03F8001F07FFFFFF0FFFFFFF0FFFFFFF0FFFFFFF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1611
7FFFFFE01C2A7DA923>I<007FC00001FFF00007FFFC000FFFFE001FFFFF003FE07F803F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1612
801FC03F800FC03F8007C03F8007C03F8007C00E0007C000000FC000000FC000001F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1613
003F800001FF00007FFE0000FFFC0000FFF80000FFFC00007FFF0000007F8000001FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1614
000FE0000007E0000003F0000003F0000001F0000001F07C0001F0FE0001F0FE0003F0FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1615
0003F0FE0007E0FC000FE0FE001FC07FC07FC03FFFFF801FFFFF000FFFFC0003FFF80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1616
7FC0001C2B7DA923>I<3E007F00FF80FF80FF80FF80FF807F003E000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1617
00000000000000000000000000003E007F00FF80FF80FF80FF80FF807F003E00091D739C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1618
23>58 D<1F003F807FC07FC07FC07FC07FC03F801F000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1619
00000000000000001E003F807F807FC07FC07FC07FC03FC01FC00FC00FC01F803F807F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1620
FF00FE00F80070000A26749C23>I<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC3F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1621
FFFFF80000000000000000000000000000000000000000000000003FFFFFF8FFFFFFFCFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1622
FFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E127E9C23>61 D<01FFC00007FFF8001FFFFE003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1623
FFFF007FFFFF80FF007FC0FE000FC0FE0007C0FE0007C0FE000FC07C001FC038007F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1624
00FF800003FF000007FC00000FF000001FE000001FC000003F8000003F8000003F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1625
3F0000003F0000003F0000003F0000003F0000003E000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1626
000000000000000000000000000000001C0000007F0000007F0000007F0000007F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1627
7F0000001C00001A297CA823>63 D<000FC000000FC000001FE000001FE000001FE00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1628
1FE000003CF000003CF000003CF000003CF000003CF000007CF800007CF800007CF80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1629
78780000F87C0000F87C0000F87C0000F87C0000F87C0001F03E0001F03E0001F03E0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1630
F03E0003F03F0003E01F0003E01F0003FFFF0003FFFF0007FFFF8007FFFF8007FFFF8007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1631
C00F800FC00FC00F8007C00F8007C00F8007C07FF03FF8FFF03FFCFFF03FFCFFF03FFC7F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1632
F03FF81E2A7EA923>65 D<FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE007C00007C00007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1633
7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1634
7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1635
7C00007C00007C00007C00FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE17297AA823>73
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1636
D<7FFE0000FFFF0000FFFF0000FFFF00007FFE000007C0000007C0000007C0000007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1637
0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1638
0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1639
0007C0000007C0000007C0007C07C0007C07C0007C07C0007C07C0007C07C0007C07C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1640
7C7FFFFFFCFFFFFFFCFFFFFFFCFFFFFFFC7FFFFFF81E297EA823>76
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1641
D<FF8001FFFF8001FFFFC003FFFFC003FFFFC003FF1EE007781EE007781EE007781EF00F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1642
781E700E781E700E781E781E781E781E781E381C781E3C3C781E3C3C781E1C38781E1E78
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1643
781E1E78781E0E70781E0E70781E0E70781E07E0781E07E0781E07E0781E03C0781E03C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1644
781E0000781E0000781E0000781E0000781E0000781E0000781E0000781E0000781E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1645
78FFC003FFFFC003FFFFC003FFFFC003FFFFC003FF20297FA823>I<7FC01FF8FFC03FFC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1646
FFE03FFCFFE03FFC7FF01FF80F7003C00F7003C00F7803C00F3803C00F3803C00F3C03C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1647
0F3C03C00F1C03C00F1E03C00F1E03C00F0E03C00F0F03C00F0F03C00F0F03C00F0783C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1648
0F0783C00F0783C00F03C3C00F03C3C00F03C3C00F01C3C00F01E3C00F01E3C00F00E3C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1649
0F00F3C00F00F3C00F0073C00F0073C00F007BC00F003BC00F003BC07FE03FC0FFF01FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1650
FFF01FC0FFF00FC07FE00F801E297EA823>I<FFFFF000FFFFFE00FFFFFF00FFFFFF80FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1651
FFFFC00F801FE00F8007F00F8003F00F8001F00F8001F80F8000F80F8000F80F8000F80F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1652
8000F80F8000F80F8001F80F8001F00F8003F00F8007F00F801FE00FFFFFC00FFFFF800F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1653
FFFF000FFFFE000FFFF0000F8000000F8000000F8000000F8000000F8000000F8000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1654
8000000F8000000F8000000F8000000F800000FFF80000FFFC0000FFFC0000FFFC0000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1655
F800001D297EA823>80 D<7FFFFFF8FFFFFFFCFFFFFFFCFFFFFFFCFFFFFFFCF807C07CF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1656
07C07CF807C07CF807C07CF807C07C7007C0380007C0000007C0000007C0000007C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1657
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1658
07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1659
07C0000007C0000007C00000FFFE0001FFFF0001FFFF0001FFFF0000FFFE001E297EA823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1660
>84 D<7FF00FFEFFF00FFFFFF00FFFFFF00FFF7FF00FFE0F8001F00F8001F007C003E007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1661
C003E007C003E007C003E003E007C003E007C003E007C003E007C003F00FC001F00F8001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1662
F00F8001F00F8001F00F8000F81F0000F81F0000F81F0000F81F00007C3E00007C3E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1663
7C3E00007C3E00003C3C00003E7C00003E7C00003E7C00001E7800001E7800001E780000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1664
1E7800001FF800000FF000000FF000000FF0000007E0000007E000202A7FA823>86
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1665
D<7FFFC0FFFFE0FFFFE0FFFFE0FFFFC0F80000F80000F80000F80000F80000F80000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1666
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1667
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1668
00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1669
C0FFFFE0FFFFE0FFFFE07FFFC0133473AD23>91 D<7FFFC0FFFFE0FFFFE0FFFFE07FFFE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1670
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1671
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1672
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1673
0003E00003E00003E00003E00003E00003E07FFFE0FFFFE0FFFFE0FFFFE07FFFC013347E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1674
AD23>93 D<7FFFFF80FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC07FFFFF801A067C7E23>95
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1675
D<01C003E00FE01FE01FC03F807F007E007C00FC00FC00F800F800F800FE00FF80FF807F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1676
807F803F801E000B1574AD23>I<03FF80000FFFE0001FFFF8003FFFFC003FFFFE003F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1677
FF003F803F801F001F8000001F8000000F800000FF80007FFF8003FFFF800FFFFF801FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1678
FF807FF00F807F000F80FC000F80FC000F80F8000F80F8001F80FC001F80FE003F807F81
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1679
FF807FFFFFFC3FFFFFFE1FFFFFFE07FFC7FE01FE01FC1F1D7D9C23>I<FF800000FFC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1680
00FFC00000FFC00000FFC0000007C0000007C0000007C0000007C0000007C0000007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1681
0007C0000007C1FC0007C7FF0007DFFFC007FFFFE007FFFFF007FE0FF807F803F807F001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1682
FC07E000FC07E000FC07C0007E07C0007E07C0003E07C0003E07C0003E07C0003E07C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1683
3E07C0007E07E0007E07E000FC07F000FC07F001FC07F803F807FE0FF007FFFFF007FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1684
E007DFFF8007CFFF000383F8001F297FA823>I<003FF00000FFFC0003FFFF0007FFFF00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1685
0FFFFF001FE07F003F807F007F003E007E0000007E000000FC000000FC000000F8000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1686
F8000000F8000000F8000000F8000000FC000000FC0000007E0007007F000F807F001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1687
3FC01F801FF07F000FFFFF0007FFFE0003FFFC0000FFF000003FC000191D7B9C23>I<00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1688
00FF800000FFC00000FFC00000FFC00000FFC0000007C0000007C0000007C0000007C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1689
0007C0000007C0000007C0007F87C001FFE7C003FFF7C00FFFFFC01FFFFFC01FE0FFC03F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1690
803FC07F001FC07E000FC07E000FC0FC0007C0FC0007C0F80007C0F80007C0F80007C0F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1691
0007C0F80007C0FC000FC0FC000FC07E000FC07E001FC07F003FC03F807FC03FE0FFC01F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1692
FFFFFE0FFFFFFE03FFF7FE01FFC7FE007F03FE1F297EA823>I<003FC00000FFF80003FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1693
FC0007FFFF000FFFFF801FF07F803F801FC03F000FC07E0007C07E0007E0FC0007E0FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1694
FFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFC0F8000000FC000000FC0000007E0001C07F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1695
03E03F8007E03FE007E01FF81FC00FFFFFC007FFFF8001FFFE00007FFC00001FE0001B1D
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1696
7D9C23>I<00007F000001FFC00007FFE0000FFFE0001FFFE0003FCFE0003F0FE0003E07
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1697
C0003E0000003E0000003E0000003E00007FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1698
80003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1699
00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1700
00003E00003FFFFE007FFFFF007FFFFF007FFFFF003FFFFE001B297EA823>I<000001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1701
003F07FC00FFDFFE03FFFFFE07FFFFFE0FFFFF7E1FE1FE7E1F807E183F003F003F003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1702
3E001F003E001F003E001F003E001F003F003F003F003F001F807E001FE1FE000FFFFC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1703
1FFFF8001FFFF0001EFFC0001E3F00001E0000001F0000001F4000000FFFFC000FFFFF80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1704
1FFFFFC03FFFFFF07E0007F87C0000F8F800007CF800007CF000003CF000003CF000003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1705
F800007CFC0000FC7F0003F87FE01FF83FFFFFF00FFFFFC007FFFF8001FFFE00003FF000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1706
1F2E7E9D23>I<FF800000FFC00000FFC00000FFC00000FFC0000007C0000007C0000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1707
C0000007C0000007C0000007C0000007C0000007C1FC0007C7FF0007DFFF8007FFFFC007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1708
FFFFC007FE0FE007F807E007F003E007E003E007E003E007E003E007C003E007C003E007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1709
C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1710
C003E007C003E0FFFE1FFFFFFE3FFFFFFE3FFFFFFE3FFFFFFE1FFF20297FA823>I<0038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1711
0000FE0000FE0000FE0000FE0000FE000038000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1712
007FFC00FFFE00FFFE00FFFE007FFE00003E00003E00003E00003E00003E00003E00003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1713
00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1714
007FFFFEFFFFFFFFFFFFFFFFFF7FFFFE182A7AA923>I<7FFE0000FFFF0000FFFF0000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1715
FF00007FFF0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1716
1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1717
1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1718
1F0000001F0000001F0000001F0000001F0000001F00007FFFFFC0FFFFFFE0FFFFFFE0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1719
FFFFE07FFFFFC01B297CA823>108 D<7E1F01F000FF7FC7FC00FFFFEFFE00FFFFFFFE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1720
7FFFFFFF000FE1FE1F000FC1FC1F000FC0FC0F000F80F80F000F80F80F000F00F00F000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1721
00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1722
F00F000F00F00F000F00F00F000F00F00F000F00F00F000F00F00F007FE3FE3FE0FFF3FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1723
3FF0FFF3FF3FF0FFF3FF3FF07FE3FE3FE0241D819C23>I<FF81FC00FFC7FF00FFDFFF80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1724
FFFFFFC0FFFFFFC007FE0FE007F807E007F003E007E003E007E003E007E003E007C003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1725
07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1726
07C003E007C003E007C003E0FFFE1FFFFFFE3FFFFFFE3FFFFFFE3FFFFFFE1FFF201D7F9C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1727
23>I<003F000001FFE00003FFF00007FFF8000FFFFC001FC0FE003F807F003E001F007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1728
001F807C000F80FC000FC0F80007C0F80007C0F80007C0F80007C0F80007C0F80007C0FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1729
000FC0FC000FC07C000F807E001F803F003F003F807F001FE1FE000FFFFC0007FFF80003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1730
FFF00001FFE000003F00001A1D7C9C23>I<FF81FC00FFC7FF00FFDFFFC0FFFFFFE0FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1731
FFF007FE0FF807F803F807F001FC07E000FC07E000FC07C0007E07C0007E07C0003E07C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1732
003E07C0003E07C0003E07C0003E07C0007E07E0007E07E000FC07F000FC07F001FC07F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1733
03F807FE0FF007FFFFF007FFFFE007DFFF8007CFFF0007C3F80007C0000007C0000007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1734
000007C0000007C0000007C0000007C0000007C0000007C0000007C00000FFFE0000FFFE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1735
0000FFFE0000FFFE0000FFFE00001F2C7F9C23>I<7FF00FE0FFF87FF8FFF8FFFCFFFBFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1736
FC7FFFFFFC00FFF8FC00FFC07800FF800000FF000000FE000000FE000000FC000000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1737
0000FC000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1738
0000F8000000F800007FFFFC00FFFFFE00FFFFFE00FFFFFE007FFFFC001E1D7E9C23>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1739
114 D<01FF9C0FFFFE1FFFFE7FFFFE7FFFFEFF00FEFC007EF8003EF8003EFC001CFE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1740
7FF0003FFF800FFFE007FFF8007FFC0001FE00007F70003FF8001FFC001FFC003FFE003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1741
FF80FFFFFFFEFFFFFCFFFFF8FFFFF070FF80181D7B9C23>I<0070000000F8000000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1742
0000F8000000F8000000F8000000F8000000F800007FFFFF80FFFFFFC0FFFFFFC0FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1743
C07FFFFF8000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1744
0000F8000000F8000000F8000000F8000000F801C000F803E000F803E000F803E000FC07
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1745
E000FC0FE000FE1FC0007FFFC0007FFF80003FFE00000FFC000007F0001B257EA423>I<
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1746
FF807FC0FFC07FE0FFC07FE0FFC07FE0FFC07FE007C003E007C003E007C003E007C003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1747
07C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E007C003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1748
07C003E007C003E007C003E007C007E007C00FE007E03FE007FFFFFF03FFFFFF03FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1749
00FFF3FF003FC1FF201D7F9C23>I<FFF03FFCFFF03FFCFFF03FFCFFF03FFCFFF03FFC0F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1750
8007C0078007800780078007C00F8003C00F0003C00F0003E01F0001E01E0001E01E0001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1751
F03E0000F03C0000F03C0000F87C000078780000787800007CF800003CF000003CF00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1752
3FF000001FE000001FE000001FE000000FC000000780001E1D7E9C23>I<7FF07FF0FFF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1753
FFF8FFF8FFF8FFF8FFF87FF07FF003E03E0001F03C0000F87C000078F800007CF000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1754
E000001FE000000FC000000F800000078000000FC000001FE000003DE000003CF0000078
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1755
780000F07C0001F03C0001E01E0003C01F007FF03FF8FFF87FFCFFF87FFCFFF87FFC7FF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1756
3FF81E1D7E9C23>120 D<FFF03FFCFFF03FFCFFF03FFCFFF03FFCFFF03FFC078007C007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1757
80078007C0078003C00F8003C00F0001E00F0001E01F0001F01E0000F01E0000F01E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1758
F83C0000783C0000783C00003C7800003C7800003C7800001E7000001EF000000EF00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1759
0FE000000FE0000007E0000007C0000007C0000007C0000007800000078000000F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1760
0F0000000F00003E1F00007F1E00007F3E00007CFC00007FFC00007FF800003FF000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1761
E000000F8000001E2C7E9C23>I<3FFFFFF07FFFFFF87FFFFFF87FFFFFF87FFFFFF87C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1762
0FF07C001FE07C003FC038007F800000FF000001FC000003F8000007F000000FE000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1763
C000003F8000007F000000FE000001FC000007F800700FF000F81FE000F83FC000F87F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1764
00F8FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF87FFFFFF01D1D7E9C23>I
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1765
E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1766
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1767
/Fu 198[25 25 25 25 25 25 25 25 25 49[{TeXBase1Encoding ReEncodeFont}9
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1768
49.8132 /Times-Roman rf /Fv 134[28 22[28 40[28 28 28
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1769
28 28 28 28 28 28 7[18 18 40[{TeXBase1Encoding ReEncodeFont}13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1770
55.2093 /Times-Roman rf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1771
%DVIPSBitmapFont: Fw msam8 8 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1772
/Fw 1 4 df<FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFCE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1773
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1774
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1775
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1776
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1777
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1778
E0000000001CE0000000001CE0000000001CE0000000001CE0000000001CE0000000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1779
E0000000001CE0000000001CE0000000001CFFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFFC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1780
2E2F7CAE37>3 D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1781
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1782
%DVIPSBitmapFont: Fx cmr6 6 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1783
/Fx 2 51 df<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1784
01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1785
01E00001E00001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1786
A01E>49 D<01FC0007FF801C0FC03003E06001F06000F8F800F8FC00FCFC00FCFC007C78
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1787
007C3000FC0000FC0000F80000F80001F00003E00003C0000780000F00001E0000380000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1788
700000E00001C00C03800C0600180C00181800183FFFF87FFFF8FFFFF0FFFFF016217CA0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1789
1E>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1790
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1791
%DVIPSBitmapFont: Fy cmr8 8 7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1792
/Fy 7 94 df<000001C001C000000001C001C000000001C001C000000003C003C0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1793
038003800000000380038000000003800380000000078007800000000700070000000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1794
000700000000070007000000000F000F000000000E000E000000000E000E000000000E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1795
0E000000001E001E000000001C001C000000001C001C000000001C001C000000003C003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1796
0000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0000070007000000000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1797
000000E000E000000000E000E000000000E000E000000000E000E000000001E001E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1798
0001C001C000000001C001C000000001C001C000000001C001C000000003C003C0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1799
038003800000FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0000F000F000000000E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1800
000E000000000E000E000000000E000E000000001E001E000000001C001C000000001C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1801
1C000000001C001C000000003C003C000000003800380000000038003800000000380038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1802
0000000078007800000000700070000000007000700000000070007000000000F000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1803
000000E000E000000000E000E000000000E000E0000000323B7CAD3B>35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1804
D<00030007000E001C0038007000F001E001C003C0078007800F000F001E001E001E003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1805
003C003C003C0078007800780078007800F800F800F000F000F000F000F000F000F000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1806
00F000F000F000F800F800780078007800780078003C003C003C003C001E001E001E000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1807
000F000780078003C001C001E000F000700038001C000E0007000310437AB11B>40
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1808
D<C000E000700038001C000E000F000780038003C001E001E000F000F000780078007800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1809
3C003C003C003C001E001E001E001E001E001F001F000F000F000F000F000F000F000F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1810
0F000F000F000F001F001F001E001E001E001E001E003C003C003C003C00780078007800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1811
F000F001E001E003C0038007800F000E001C0038007000E000C00010437CB11B>I<3C7E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1812
FFFFFFFF7E3C000000000000000000000000003C7EFFFFFFFF7E3C081D7A9C14>58
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1813
D<FFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC0000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1814
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1815
00000000000000000000000000000000000000000000000000FFFFFFFFFFFCFFFFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1816
FCFFFFFFFFFFFC2E137C9937>61 D<FFE0FFE0FFE0E000E000E000E000E000E000E000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1817
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1818
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1819
00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1820
E0FFE0FFE00B4379B114>91 D<FFE0FFE0FFE000E000E000E000E000E000E000E000E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1821
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1822
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1823
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E0FFE0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1824
E0FFE00B437FB114>93 D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1825
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1826
%DVIPSBitmapFont: Fz cmsy8 8 8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1827
/Fz 8 104 df<FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02A037A9137>0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1828
D<FFFFFFFFFFFCFFFFFFFFFFFC7FFFFFFFFFFC0000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1829
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1830
00000000000000000000000000000000000000000000000000FFFFFFFFFFFCFFFFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1831
FCFFFFFFFFFFFC0000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1832
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1833
000000000000000000000000007FFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC2E237CA137
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1834
>17 D<00FE0000000C03FF8000000C07FFE000000C0FFFF000000C1F83FC00000C3E00FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1835
00001C3C003F00001C78001F800038700007E00078E00003F000F0E00001FC01F0C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1836
FF07E0C000003FFFC0C000001FFF80C0000007FF00C0000001FC00000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1837
00000000FE0000000C03FF8000000C07FFE000000C0FFFF000000C1F83FC00000C3E00FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1838
00001C3C003F00001C78001F800038700007E00078E00003F000F0E00001FC01F0C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1839
FF07E0C000003FFFC0C000001FFF80C0000007FF00C0000001FC002E227CA137>25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1840
D<0000000004000000000000000E000000000000000F0000000000000007800000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1841
00078000000000000003C000000000000001C000000000000001E000000000000000F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1842
00000000000078000000000000003C0000FFFFFFFFFFFE0000FFFFFFFFFFFF0000FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1843
FFFFFF8000000000000003E000000000000001F0000000000000007C000000000000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1844
000000000000000FE000000000000003FC00000000000001FC00000000000007E0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1845
0000001F800000000000007E00000000000000F800000000000001E000000000000003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1846
00FFFFFFFFFFFF8000FFFFFFFFFFFF0000FFFFFFFFFFFE000000000000003C0000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1847
00007800000000000000F000000000000001E000000000000001C000000000000003C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1848
0000000000078000000000000007000000000000000F000000000000000E000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1849
00040000003E297CA447>41 D<0000FFFFC00007FFFFC0001FFFFFC0007F80000000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1850
000001F000000003C000000007800000000F000000000E000000001E000000003C000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1851
003800000000780000000070000000007000000000F000000000E000000000E000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1852
E000000000FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0E000000000E000000000E000000000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1853
0000000070000000007000000000780000000038000000003C000000001E000000000E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1854
0000000F00000000078000000003C000000001F000000000FC000000007F800000001FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1855
FFC00007FFFFC00000FFFFC0222B7AA52F>50 D<00000001C000000001C000000003C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1856
00000380000000078000000007000000000F000000000E000000001E000000003C000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1857
00380000000078000000007000000000F000000000E000000001E000000001C000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1858
C00000000380000000078000000007000000000F000000000E000000001E000000003C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1859
000000380000000078000000007000000000F000000000E000000001E000000001C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1860
0003C00000000380000000078000000007000000000F000000001E000000001C00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1861
3C00000000380000000078000000007000000000F000000000E000000001E000000001C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1862
00000003C00000000380000000078000000007000000000F000000001E000000001C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1863
00003C00000000380000000078000000007000000000F000000000E00000000060000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1864
00223D76AE00>54 D<00001F0000FF0003F0000FC0001F80001F00003F00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1865
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1866
003E00003E00003E00003E00003E00003E00007E00007C0000FC0001F80003F0007FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1867
FF00007FC00003F00001F80000FC00007C00007E00003E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1868
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1869
003E00003E00003E00003F00001F00001F80000FC00003F00000FF00001F18437BB123>
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1870
102 D<FC0000FF80000FE00001F00000FC00007C00007E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1871
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1872
003E00003E00003E00003E00003E00001F00001F80000F800007E00001FE00007F0001FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1873
0007E0000F80001F80001F00003E00003E00003E00003E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1874
003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1875
003E00007E00007C0000FC0001F0000FE000FF8000FC000018437BB123>I
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1876
E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1877
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1878
%DVIPSBitmapFont: FA cmmi8 8 17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1879
/FA 17 123 df<0001FC0000000FFF0000003F07C000007C03E00001F801F00C03F001F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1880
0C07E000F80C0FC000F81C0F8000FC181F80007C183F00007C383F00007C307F00007C70
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1881
7E00007C607E00007CE07E00007CC0FE00007DC0FC00007F80FC00007F00FC00007E00FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1882
00007E00FC00007C00FC00007C007C00007C007C0000FE007C0003FE0C3E00073E0C1F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1883
1E3E1C0F81F81F3803FFE00FF000FE0003C0261F7D9D2D>11 D<00FC00000000FF000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1884
001FC00000000FC000000007E000000007E000000007E000000003F000000003F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1885
01F000000001F800000001F800000000FC00000000FC00000000FC000000007E00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1886
7E000000003F000000003F000000003F000000001F800000001F800000000F800000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1887
C00000000FC00000001FE00000003FE00000007FE0000000F3F0000001E3F0000003C1F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1888
00000781F800000F81F800001F00FC00003E00FC00007C00FC0000F8007E0001F0007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1889
03E0003F0007E0003F000FC0003F001F80001F803F00001F807E00001F80FC00000FC0F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1890
000007E070000003E0232F7DAD29>21 D<3C7EFFFFFFFF7E3C08087A8714>58
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1891
D<3C007E00FF00FF00FF80FF807F803D80018001800180038003000300070006000E001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1892
0038007000600009157A8714>I<003FFFFFFFFF003FFFFFFFFF0000FE00007F0000FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1893
001F0000FC00000F0000FC00000F0001FC0000070001FC0000060001F80000060001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1894
00060003F80000060003F80000060003F00000060003F00030060007F00070060007F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1895
70000007E00060000007E000E000000FE000E000000FE001E000000FC007C000000FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1896
C000001FFFFFC000001FC007C000001F80038000001F80038000003F80038000003F8003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1897
8000003F00030000003F00030000007F00030000007F00000000007E00000000007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1898
000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1899
000001F80000000001F80000000003F800000000FFFFF0000000FFFFF0000000302D7DAC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1900
2D>70 D<003FFFFE0000003FFFFE00000000FF0000000000FE0000000000FC0000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1901
FC0000000001FC0000000001FC0000000001F80000000001F80000000003F80000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1902
F80000000003F00000000003F00000000007F00000000007F00000000007E00000000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1903
E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1904
C0000000001F80000000001F80000000003F80000000003F80000000003F00000180003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1905
00000180007F00000380007F00000300007E00000700007E0000060000FE00000E0000FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1906
00000E0000FC00001C0000FC00003C0001FC00003C0001FC0000780001F80001F80001F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1907
0003F00003F8001FF000FFFFFFFFF000FFFFFFFFE000292D7DAC30>76
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1908
D<003FFE00000001FFF0003FFE00000003FFF00000FF00000003F8000000FF00000007F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1909
000000DF0000000DF0000000DF0000000DF0000001DF0000001BF0000001DF00000033E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1910
0000018F80000033E00000018F80000063E00000038F800000C7E00000038F800000C7C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1911
0000030F80000187C00000030F80000307C000000707C000030FC000000707C000060F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1912
00000607C0000C0F8000000607C0000C0F8000000E07C000181F8000000E07C000301F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1913
00000C03E000301F0000000C03E000601F0000001C03E000C03F0000001C03E000C03E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1914
00001803E001803E0000001803E003003E0000003801F003007E0000003801F006007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1915
00003001F00C007C0000003001F00C007C0000007001F01800FC0000007001F03000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1916
00006001F03000F80000006000F86000F8000000E000F8C001F8000000E000F8C001F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1917
0000C000F98001F0000000C000FB0001F0000001C000FB0003F0000001C0007E0003E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1918
000180007C0003E0000003C0007C0003E000000FE000780007E00000FFFE007001FFFF80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1919
00FFFE003001FFFF8000442D7CAC44>I<003FFE0000FFFF003FFE0000FFFF0000FF0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1920
07E00000FF000007C00000FF800003800000DF800003000001DFC00007000001CFC00006
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1921
0000018FE0000600000187E0000600000387F0000E00000387F0000C00000303F0000C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1922
000303F8000C00000701F8001C00000701FC001800000600FC001800000600FE00180000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1923
0E007E003800000E007F003000000C003F003000000C003F003000001C003F807000001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1924
001F8060000018001FC060000018000FC060000038000FE0E00000380007E0C000003000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1925
07F0C00000300003F0C00000700003F1C00000700003F9800000600001F9800000600001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1926
FD800000E00000FF800000E00000FF000000C000007F000000C000007F000001C000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1927
000001C000003E0000018000003E000003C000001E00000FE000001E0000FFFE00000C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1928
00FFFE00000C0000382D7CAC38>I<FFFFC0000FFFC0FFFFC0000FFFC007F8000001FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1929
03F0000000F00003F0000000E00003F0000001C00003F0000001800003F8000003000001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1930
F8000003000001F8000006000001F800000C000001F800000C000001F8000018000001FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1931
000030000000FC000030000000FC000060000000FC0000C0000000FC0000C0000000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1932
0180000000FE000300000000FE0003000000007E0006000000007E000C000000007E000C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1933
000000007E0018000000007F0030000000007F0030000000003F0060000000003F00C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1934
0000003F00C0000000003F0180000000003F8300000000003F8300000000001F86000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1935
00001F8C00000000001F8C00000000001F9800000000001FF000000000001FF000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1936
000FE000000000000FC000000000000FC000000000000F8000000000000F000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1937
0F000000000000060000000000322E7CAC29>86 D<0007E000001FF800007C1CE000F80D
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1938
E001F00FE003E007E007C007E00FC007E01F8007C01F8007C03F0007C03F000FC07F000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1939
807E000F807E000F807E001F80FE001F00FC001F00FC001F00FC003F02FC003E06FC003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1940
06F8003E06F8007E0E7C00FE0C7C00FC0C7C01FC1C3E07BE181F0E1E380FFC0FF003F003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1941
C01F1F7D9D25>97 D<00F800001FF800001FF8000001F8000001F8000001F0000001F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1942
0003F0000003F0000003E0000003E0000007E0000007E0000007C0000007C000000FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1943
000FC7E0000F9FF8000FB83C001FF01E001FE01F001FC01F001F800F803F000F803F000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1944
803E000F803E000F807E001F807E001F807C001F807C001F807C003F80FC003F00F8003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1945
00F8003F00F8007E00F8007E00F8007C00F800FC00F800F8007801F0007803F0007807E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1946
003C0F80001E1F00000FFC000003F00000192F7DAD1E>I<07C01F000FF07FC01CF8E0E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1947
3879C1E0307B87E0707F07E0607E07E060FC07E0E0FC0380C0F80000C0F8000081F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1948
01F8000001F0000001F0000003F0000003F0000003E0000003E0000007E0000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1949
07C0000007C000000FC000000FC000000F8000000F8000001F8000001F8000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1950
0E0000001B1F7E9D20>114 D<0007E0003FF800781E00F00601E00703C00F03C01F03C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1951
1F07C01E07C00C07E00007F80007FF8003FFE001FFF000FFF8003FFC0001FC0000FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1952
7C78003CFC003CFC003CFC007CF80078E000F8E000F06001E07807C01FFF0007F800181F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1953
7C9D21>I<000E00001F00001F00003F00003F00003E00003E00007E00007E00007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1954
7C0000FC0000FC00FFFFF8FFFFF801F80001F80001F00001F00003F00003F00003E00003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1955
E00007E00007E00007C00007C0000FC0000FC0000F80000F80001F80101F80301F00301F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1956
00701F00601F00E01E01C01E03801F07000F0E0007FC0001F000152B7EA919>I<003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1957
7C0000FFC1FF0001C1E383800380F703C00700F60FC00E00FE0FC01C00FC0FC01800FC0F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1958
C03800FC07003000F800003000F800002001F800000001F000000001F000000001F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1959
0003F000000003E000000003E000000003E000000007E001000007E003000007C0030038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1960
07C007007C0FC00600FC0FC00E00FC1FC00C00FC1BC01C00F03BE038007071E0F0003FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1961
FFC0000F803F0000221F7E9D28>120 D<01E0000007F8000E0E3C001F1C3E003F383E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1962
3E303E003E703E003E607E007EE07C007CC07C007CC0FC007C80F800FC00F800F801F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1963
F801F000F801F001F803F001F003E001F003E001F003E003F007E003E007C003E007C003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1964
E007C007E007C007C003C00FC003E01FC003E03FC001F07F80007FEF80001F8F8000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1965
8000001F0000001F003E003E003E003E007E007C007E00F8007C01F0007003E0003007C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1966
003C0F80000FFE000003F00000202C7E9D23>I<001E0030003F803000FFC07001FFE0E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1967
01FFF1C003C0FFC003803F800300070007000E0000001C0000003800000070000000E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1968
0001C0000003800000070000001E0000003800000070000000E0004001C000C0038000C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1969
070001C00E0003800FE007801FF81F00387FFF00703FFE00601FFC00E00FF000C003C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1970
1C1F7D9D21>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1971
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1972
/FB 134[33 33 48 33 37 22 26 29 37 37 33 37 55 18 2[18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1973
37 33 22 29 37 29 37 33 13[37 2[41 3[44 5[41 2[48 8[22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1974
6[33 33 33 2[17 43[37 2[{TeXBase1Encoding ReEncodeFont}34
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1975
66.4176 /Times-Bold rf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1976
%DVIPSBitmapFont: FC cmmi6 6 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1977
/FC 2 64 df<000FC000007FF00001F07C0003C01E0307801E060F000F061E000F063E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1978
0F8C3E00078C7C0007987C0007987C0007B0F80007E0F80007E0F80007C0F80007807800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1979
078078000FC078001FC23C0073C31E03E1C60FFF81FC01FC007820177E9528>11
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1980
D<00080000000800000008000000080000001C0000001C0000001C0000001C0000001C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1981
00C01C01807FBEFF001FFFFC0007FFF00001FFC000007F0000007F000000FF800000F780
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1982
0001E3C00001C1C0000380E0000300600006003000040010000800080019197D9820>63
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1983
D E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1984
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1985
%DVIPSBitmapFont: FD cmsy9 9 24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1986
/FD 24 118 df<7FFFFFFFFFFCFFFFFFFFFFFEFFFFFFFFFFFE7FFFFFFFFFFC2F047A943C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1987
>0 D<3C7EFFFFFFFF7E3C08087A9615>I<6000000030F8000000F8FC000001F87E000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1988
F03F000007E01F80000FC00FC0001F8007E0003F0003F0007E0001F800FC0000FC01F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1989
007E03F000003F07E000001F8FC000000FDF80000007FF00000003FE00000001FC000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1990
01FC00000003FE00000007FF0000000FDF8000001F8FC000003F07E000007E03F00000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1991
01F80001F800FC0003F0007E0007E0003F000FC0001F801F80000FC03F000007E07E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1992
03F0FC000001F8F8000000F86000000030252475A43C>I<000E0000001F0000001F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1993
001F0000001F0000001F0000001F0000700E01C0F80E03E0FE0E0FE0FF0E1FE07F8E3FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1994
1FEEFF0003FFF80000FFE000003F8000003F800000FFE00003FFF8001FEEFF007F8E3FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1995
FF0E1FE0FE0E0FE0F80E03E0700E01C0001F0000001F0000001F0000001F0000001F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1996
001F0000000E00001B207BA226>I<7FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFFFFFFFFE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1997
7FFFFFFFFFFFC00000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1998
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  1999
000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFFE0FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2000
FFFFFFE07FFFFFFFFFFFC000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2001
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2002
00000000000000000000000000000000000000000000007FFFFFFFFFFFC0FFFFFFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2003
E0FFFFFFFFFFFFE07FFFFFFFFFFFC033247CA43C>17 D<00003FFFFFFC0001FFFFFFFE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2004
07FFFFFFFE001FFFFFFFFC003FE000000000FF0000000001FC0000000003F00000000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2005
E0000000000FC0000000000F80000000001F00000000003F00000000003E00000000007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2006
00000000007C0000000000780000000000780000000000F80000000000F80000000000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2007
0000000000F00000000000F00000000000F00000000000F00000000000F00000000000F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2008
0000000000F800000000007800000000007800000000007C00000000007C00000000003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2009
00000000003F00000000001F00000000000F80000000000FC00000000007E00000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2010
F00000000001FC0000000000FF00000000003FE0000000001FFFFFFFFC0007FFFFFFFE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2011
01FFFFFFFE00003FFFFFFC00000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2012
000000000000000000000000000000000000000000000000000000000000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2013
00000000000000000000001FFFFFFFFFFC3FFFFFFFFFFE3FFFFFFFFFFE1FFFFFFFFFFC2F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2014
3E7AB03C>I<003F000000004001FFE0000000E003FFF8000000E007FFFC000000E00FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2015
FF000000E01FFFFF800000E03FC0FFC00001E03E001FE00001C07C0007F80003C0780003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2016
FC0007C0700000FF000F80F000007FE07F80E000003FFFFF00E000001FFFFE00E0000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2017
FFFC00E0000003FFF800E0000000FFF000400000001F800033127C9B3C>24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2018
D<007F800000004001FFE0000000E007FFF8000000E00FFFFE000000E01FFFFF800000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2019
3FFFFFC00001E03F807FF00001C07E001FFC0003C0780007FF000FC0700001FFC03F80F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2020
00007FFFFF80E000003FFFFF00E000000FFFFE00E0000003FFFC00E0000000FFF0004000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2021
00003FC00000000000000000000000000000000000000000000000000000000000007F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2022
0000004001FFE0000000E007FFF8000000E00FFFFE000000E01FFFFF800000E03FFFFFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2023
0001E03F807FF00001C07E001FFC0003C0780007FF000FC0700001FFC03F80F000007FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2024
FF80E000003FFFFF00E000000FFFFE00E0000003FFFC00E0000000FFF000400000003FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2025
0033247CA43C>I<000000000000700000000000000000F00000000000000000F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2026
0000000000F800000000000000007800000000000000007800000000000000007C000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2027
00000000003C00000000000000003E00000000000000001F00000000000000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2028
00000000000F800000000000000007C00000000000000007E00000000000000003F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2029
000000000001F80000000000000000FC00000000000000007F007FFFFFFFFFFFFFFFC0FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2030
FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFC0000000000000007F0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2031
000000000000FC0000000000000001F80000000000000003F00000000000000007E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2032
000000000007C0000000000000000F80000000000000001F00000000000000001F000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2033
00000000003E00000000000000003C00000000000000007C000000000000000078000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2034
0000000000780000000000000000F80000000000000000F00000000000000000F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2035
000000000070000044287CA64D>33 D<000000F00000000000000000F000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2036
01F00000000000000003E00000000000000003C00000000000000007C000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2037
0F80000000000000000F80000000000000001F00000000000000003E0000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2038
7C0000000000000000FFFFFFFFFFFFE00001FFFFFFFFFFFFF00003FFFFFFFFFFFFF0000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2039
FFFFFFFFFFFFE0001F80000000000000007F0000000000000000FC0000000000000007F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2040
000000000000001FE000000000000000FF8000000000000000FF80000000000000001FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2041
0000000000000007F80000000000000000FC00000000000000007F00000000000000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2042
80000000000000000FFFFFFFFFFFFFE00003FFFFFFFFFFFFF00001FFFFFFFFFFFFF00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2043
FFFFFFFFFFFFE000007C00000000000000003E00000000000000001F0000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2044
0F80000000000000000F800000000000000007C00000000000000003C000000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2045
03E00000000000000001F00000000000000000F00000000000000000F00000000000442A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2046
7CA74D>40 D<0000000000F00000000000000000F00000000000000000F8000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2047
00007C00000000000000003C00000000000000003E00000000000000001F000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2048
00001F00000000000000000F800000000000000007C00000000000000003E000007FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2049
FFFFFFF00000FFFFFFFFFFFFF80000FFFFFFFFFFFFFC00007FFFFFFFFFFFFF0000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2050
0000001F80000000000000000FE00000000000000003F00000000000000001FE00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2051
000000007F80000000000000001FF0000000000000001FF0000000000000007F80000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2052
00000001FE0000000000000003F0000000000000000FE0000000000000001F80007FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2053
FFFFFFFF0000FFFFFFFFFFFFFC0000FFFFFFFFFFFFF800007FFFFFFFFFFFF00000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2054
000003E00000000000000007C0000000000000000F80000000000000001F000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2055
00001F00000000000000003E00000000000000003C00000000000000007C000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2056
0000F80000000000000000F00000000000000000F0000000442A7CA74D>I<00003FFFF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2057
0001FFFFFC0007FFFFFC001FFFFFF8003FE0000000FF00000001FC00000003F000000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2058
E00000000FC00000000F800000001F000000003F000000003E000000007C000000007C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2059
00000078000000007800000000F800000000F800000000F000000000FFFFFFFFF8FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2060
FFFCFFFFFFFFFCFFFFFFFFF8F000000000F800000000F800000000780000000078000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2061
007C000000007C000000003E000000003F000000001F000000000F800000000FC0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2062
07E000000003F000000001FC00000000FF000000003FE00000001FFFFFF80007FFFFFC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2063
01FFFFFC00003FFFF8262E7AA933>50 D<0000000030000000007800000000F800000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2064
F800000001F000000001F000000003E000000003E000000007C000000007C00000000F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2065
0000000F800000001F000000001F000000003E000000003E000000007C000000007C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2066
0000F800000000F800000001F000000001F000000003E000000003E000000007C0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2067
07C00000000F800000000F800000001F000000001F000000003E000000003E000000007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2068
000000007C00000000F800000000F800000001F000000001F000000003E000000003E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2069
000007C000000007C00000000F800000000F800000001F000000001F000000003E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2070
003E000000007C000000007C00000000F800000000F800000001F000000001F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2071
E000000003E000000007C000000007C00000000F800000000F800000001F000000001F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2072
0000003E000000003E000000007C000000007C00000000F800000000F800000000F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2073
00006000000000254675B500>54 D<F0F0F0F0F0F0F0F0F0F0F0F0F8FCFCF8F0F0F0F0F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2074
F0F0F0F0F0F0F0061C7CA000>I<600000000180F000000003C0F800000007C0F8000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2075
07C07800000007807C0000000F807C0000000F803C0000000F003E0000001F003E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2076
1F001F0000003E001F0000003E000F0000003C000F8000007C000F8000007C0007C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2077
F80007C00000F80003C00000F00003FFFFFFF00003FFFFFFF00001FFFFFFE00001FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2078
E00001F00003E00000F80007C00000F80007C000007800078000007C000F8000007C000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2079
8000003C000F0000003E001F0000003E001F0000001F003E0000001F003E0000000F003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2080
0000000F807C0000000F807C00000007807800000007C0F800000007C0F800000003E1F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2081
00000003E1F000000001E1E000000001F3E000000001F3E000000000FFC000000000FFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2082
000000007F80000000007F80000000007F80000000003F00000000003F00000000003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2083
000000001E00000000000C0000002A3680B32B>I<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2084
7FFFFFFFC000000003C000000003C000000003C000000003C000000003C000000003C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2085
000003C000000003C000000003C000000003C000000003C000000003C000000003C00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2086
0003C000000003C000000003C000000003C000000003C000000003C000000003C03FFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2087
FFC07FFFFFFFC07FFFFFFFC03FFFFFFFC000000003C000000003C000000003C000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2088
C000000003C000000003C000000003C000000003C000000003C000000003C000000003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2089
00000003C000000003C000000003C000000003C000000003C000000003C000000003C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2090
000003C000000003C07FFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022347CB32B>I<
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2091
7FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC07FFFFFFFFFC00000000003C00000000003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2092
0000000003C00000000003C00000000003C00000000003C00000000003C00000000003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2093
0000000003C00000000003C00000000003C00000000003C00000000003C00000000003C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2094
0000000003C00000000003C00000000001802A157C9A33>I<600000000180F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2095
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2096
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2097
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2098
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2099
C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003C0F000000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2100
C0F000000003C0F000000003C0F800000007C0F800000007C07C0000000F807C0000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2101
803E0000001F003F0000003F001F8000007E000FE00001FC0007F80007F80001FF807FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2102
0000FFFFFFC000003FFFFF0000000FFFFC00000000FFC000002A307CAD33>91
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2103
D<00000C00000000001E00000000003F00000000003F00000000007F80000000007F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2104
0000007F8000000000FFC000000000FFC000000001F3E000000001F3E000000003E1F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2105
000003E1F000000003C0F000000007C0F800000007C0F80000000F807C0000000F807C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2106
00001F003E0000001F003E0000001E001E0000003E001F0000003E001F0000007C000F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2107
00007C000F800000F80007C00000F80007C00000F00003C00001F00003E00001F00003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2108
0003E00001F00003E00001F00007C00000F80007C00000F8000780000078000F8000007C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2109
000F8000007C001F0000003E001F0000003E003E0000001F003E0000001F003C0000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2110
007C0000000F807C0000000F80F800000007C0F800000007C0F000000003C06000000001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2111
802A307CAD33>94 D<000007E000003FE00000FE000003F8000007F000000FE000000FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2112
00001FC000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2113
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2114
00001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F0000007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2115
0000FC000003F800007FE00000FF0000007FE0000003F8000000FC0000007E0000003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2116
00003F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2117
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2118
00001F8000001F8000001F8000001F8000001F8000001F8000001FC000000FC000000FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2119
000007F0000003F8000000FE0000003FE0000007E01B4B7BB726>102
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2120
D<FC000000FFC0000007F0000001FC000000FE0000007F0000003F0000003F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2121
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2122
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2123
00001F8000001F8000001F8000001F8000001FC000000FC0000007E0000003F0000001FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2124
0000007FC000001FE000007FC00001FC000003F0000007E000000FC000001FC000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2125
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2126
00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2127
00001F8000001F8000001F8000001F8000003F8000003F0000007F000000FE000001FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2128
0007F00000FFC00000FC0000001B4B7BB726>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2129
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2130
F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F060044B78B715>106
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2131
D<6000000006F00000000FF00000000FF00000000FF00000000FF00000000FF00000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2132
F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2133
0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2134
00000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2135
000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2136
0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FFFFFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2137
FFFFFFFFFFFFFFFFFFFF7FFFFFFFFE282E7BAD33>116 D<7FFFFFFFFEFFFFFFFFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2138
FFFFFFFFFFFFFFFFF00000000FF00000000FF00000000FF00000000FF00000000FF00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2139
000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2140
0FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2141
F00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2142
0000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2143
00000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000F600000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2144
0006282E7BAD33>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2145
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2146
/FE 134[35 35 53 35 39 22 31 31 39 39 39 39 57 22 35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2147
22 22 39 39 22 35 39 35 39 39 12[44 3[48 6[26 1[57 48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2148
48 1[53 48 48 6[26 7[39 39 2[20 26 20 2[26 26 26 36[39
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2149
2[{TeXBase1Encoding ReEncodeFont}44 78.8709 /Times-Italic
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2150
rf /FF 75[22 29[33 1[29 29 24[29 33 33 48 33 33 18 26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2151
22 33 33 33 33 52 18 33 18 18 33 33 22 29 33 29 33 29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2152
3[22 1[22 41 48 48 63 48 48 41 37 44 48 37 48 48 59 41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2153
48 26 22 48 48 37 41 48 44 44 48 61 5[18 33 33 33 33
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2154
33 33 33 33 33 33 18 17 22 17 2[22 22 22 36[37 2[{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2155
TeXBase1Encoding ReEncodeFont}78 66.4176 /Times-Roman
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2156
rf
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2157
%DVIPSBitmapFont: FG cmmi9 9 31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2158
/FG 31 123 df<00007F0000000003FFE00000000FC0F80000003F007C0000007C007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2159
6000F8003F006001F0003F00E003E0001F80C007E0001F80C00FC0001F81C00FC0001FC1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2160
801F80000FC1803F80000FC3803F00000FC3003F00000FC7007F00000FC6007E00000FCE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2161
007E00000FDC007E00000FD8007E00000FF800FC00000FF000FC00000FE000FC00000FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2162
007C00000FC0007C00000FC0007C00000FC0007C00001FC0003E00003FC0003E000077C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2163
C01F0001E7E0C00F800783E1C007C07E03E38001FFF801FF00007F80007C002B227EA031
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2164
>11 D<007C000000007F800000001FE00000000FE000000007F000000007F000000003F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2165
00000003F800000003F800000001FC00000001FC00000001FC00000000FE00000000FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2166
000000FF000000007F000000007F000000003F800000003F800000003F800000001FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2167
00001FC00000001FE00000000FE00000000FE000000007F000000007F000000007F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2168
0007F80000000FF80000001FF80000003DFC00000079FC000000F8FE000001F0FE000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2169
E0FE000007C07F00000F807F00001F007F00003E003F80007E003F8000FC003FC001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2170
1FC003F0001FC007E0000FE01FC0000FE03FC0000FE07F800007F0FF000007F0FE000007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2171
F8FC000003F8F8000001FCF0000000FC26357CB32D>21 D<003FFFFFFF8000FFFFFFFFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2172
03FFFFFFFFC007FFFFFFFF800FFFFFFFFF001F00C01800001C00C03800003801C0380000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2173
7001C0300000600180300000E00380300000000380700000000380700000000700700000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2174
000700700000000F00700000000F00F00000000E00F00000001E00F00000001E00F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2175
003E00F80000003C00F80000007C00F80000007C00F8000000FC00F8000000F800FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2176
00F800FC000001F800FE000001F800FE000003F000FE000003F0007E000003F0007E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2177
01C0003800002A217E9F2C>25 D<3C7EFFFFFFFF7E3C08087A8715>58
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2178
D<3C007E00FF00FF00FF80FF807F803D800180018001800180038003000300070006000E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2179
000C001C0038007000600009177A8715>I<000030000000003000000000300000000030
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2180
000000003000000000780000000078000000007800000000780000000078000000007800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2181
0000007800000000780000F00078003CFF807807FC1FFCFCFFE007FFFFFF8001FFFFFE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2182
007FFFF800001FFFE0000003FF00000003FF00000003FF00000007FF80000007FF800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2183
0FCFC000000F87C000001F03E000003E01F000003C00F0000078007800007000380000F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2184
003C0001E0001E0001C0000E000180000600262480A426>63 D<00000000030000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2185
00070000000000000F0000000000000F0000000000001F8000000000001F800000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2186
3F8000000000007F8000000000007F800000000000FF800000000000FF800000000001BF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2187
8000000000033F8000000000033FC000000000063FC000000000061FC0000000000C1FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2188
00000000181FC000000000181FC000000000301FC000000000701FC000000000601FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2189
000000C01FC000000000C01FE000000001801FE000000003800FE000000003000FE00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2190
0006000FE000000006000FE00000000C000FE00000001C000FE000000018000FE0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2191
30000FF000000030000FF00000007FFFFFF0000000FFFFFFF0000000FFFFFFF000000180
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2192
0007F0000001800007F0000003000007F0000006000007F0000006000007F800000C0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2193
07F800000C000003F8000018000003F8000030000003F8000070000003F8000060000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2194
F80000E0000003F80001E0000003F80007F0000007FC00FFFF0001FFFFF0FFFF0001FFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2195
F0FFFE0001FFFFF034367DB53A>65 D<000FFFFFFFFFFC000FFFFFFFFFFC000FFFFFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2196
F800003FC00007F800003FC00000F800003FC000007800003F8000007800003F80000038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2197
00007F8000003800007F8000003000007F0000003000007F000000300000FF0000003000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2198
00FF000000300000FE000000300000FE000600300001FE000E00700001FE000C00600001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2199
FC000C00000001FC000C00000003FC001C00000003FC003800000003F8003800000003F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2200
00F800000007FFFFF800000007FFFFF800000007FFFFF000000007F001F00000000FF000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2201
F00000000FF000600000000FE000600000000FE000600000001FE000E00000001FE000C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2202
0000001FC000C00000001FC000C00000003FC000000000003FC000000000003F80000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2203
00003F8000000000007F8000000000007F8000000000007F0000000000007F0000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2204
00FF000000000000FF000000000000FE000000000001FF0000000000FFFFFF00000000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2205
FFFF00000000FFFFFF0000000036337DB231>70 D<000FFFFFF000000FFFFFF000000FFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2206
FFF00000003FE0000000003FC0000000003FC0000000003F80000000003F80000000007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2207
80000000007F80000000007F00000000007F0000000000FF0000000000FF0000000000FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2208
0000000000FE0000000001FE0000000001FE0000000001FC0000000001FC0000000003FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2209
0000000003FC0000000003F80000000003F80000000007F80000000007F80000000007F0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2210
0000000007F0000000000FF0000000000FF0000000000FE0000000000FE000000C001FE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2211
00001C001FE0000018001FC0000018001FC0000038003FC0000030003FC0000070003F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2212
000070003F800000E0007F800000E0007F800001E0007F000003C0007F000007C000FF00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2213
000F8000FF00001F8000FE00007F8001FE0003FF00FFFFFFFFFF00FFFFFFFFFF00FFFFFF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2214
FFFE002E337DB234>76 D<000FFFE00000000FFFC0000FFFE00000001FFFC0000FFFE000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2215
00003FFFC000003FE00000003FE00000003FE00000007FC00000003FE0000000DFC00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2216
0033F0000000DF8000000033F00000019F8000000073F00000033F8000000073F0000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2217
3F0000000063F00000063F0000000063F000000C3F00000000E3F000000C7F00000000E1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2218
F80000187E00000000C1F80000187E00000000C1F80000307E00000001C1F8000060FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2219
000001C1F8000060FC0000000181F80000C0FC0000000181F8000180FC0000000381F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2220
0181FC0000000380FC000301F80000000300FC000301F80000000300FC000601F8000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2221
0700FC000C03F80000000700FC000C03F00000000600FC001803F00000000600FC003003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2222
F00000000E007E003007F00000000E007E006007E00000000C007E00C007E00000000C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2223
7E00C007E00000001C007E01800FE00000001C007E01800FC000000018007E03000FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2224
000018007E06000FC000000038003F06001FC000000038003F0C001F8000000030003F18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2225
001F8000000030003F18001F8000000070003F30003F8000000070003F30003F00000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2226
60003F60003F0000000060001FC0003F00000000E0001FC0007F00000000E0001F80007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2227
00000001E0001F00007E00000007F0001F0000FE000000FFFF801E007FFFFC0000FFFF80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2228
1C007FFFFC0000FFFF800C007FFFFC00004A337CB24A>I<000FFFE00001FFFF000FFFE0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2229
0001FFFF000FFFF00001FFFF00001FF000000FE000003FF80000078000003FF800000700
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2230
000033FC00000600000033FC00000600000071FE00000E00000071FE00000C00000060FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2231
00000C00000060FF00000C000000E07F00001C000000E07F800018000000C03F80001800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2232
0000C03FC00018000001C03FC00038000001C01FE00030000001801FE00030000001800F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2233
F00030000003800FF000700000038007F800600000030007F800600000030003F8006000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2234
00070003FC00E00000070001FC00C00000060001FE00C00000060000FE00C000000E0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2235
FF01C000000E0000FF018000000C00007F818000000C00007F818000001C00003FC38000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2236
001C00003FC30000001800001FE30000001800001FE30000003800000FF7000000380000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2237
0FF600000030000007F600000030000007FE00000070000003FE00000070000003FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2238
0060000001FC00000060000001FC000000E0000001FC000000E0000000F8000001E00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2239
00F8000007F0000000780000FFFF800000780000FFFF800000300000FFFF800000300000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2240
40337DB23D>I<000FFFFFFFF000000FFFFFFFFE00000FFFFFFFFF0000003FC0007FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2241
003FC0001FE000003FC00007F000003F800007F000003F800003F800007F800003F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2242
7F800003F800007F000003FC00007F000003FC0000FF000003FC0000FF000007F80000FE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2243
000007F80000FE000007F80001FE000007F00001FE00000FF00001FC00000FE00001FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2244
001FC00003FC00003F800003FC00007F000003F80000FE000003F80003FC000007F8001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2245
F0000007FFFFFFC0000007FFFFFE00000007F000000000000FF000000000000FF0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2246
00000FE000000000000FE000000000001FE000000000001FE000000000001FC000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2247
001FC000000000003FC000000000003FC000000000003F8000000000003F800000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2248
7F8000000000007F8000000000007F0000000000007F000000000000FF000000000000FF
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2249
000000000000FE000000000001FE0000000000FFFFFC00000000FFFFFC00000000FFFFFC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2250
0000000036337DB231>80 D<000000FF0018000007FFE03800001FFFF87800007F00FCF8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2251
0000FC001FF00001F0000FF00003E00007F00007C00003F0000F800003E0000F800003E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2252
001F000001E0001F000001E0003E000001C0003E000001C0003E000001C0007E000001C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2253
007E00000180007E00000180007F00000000007F80000000007FC0000000003FF0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2254
003FFF000000003FFFF00000001FFFFE0000000FFFFF80000007FFFFC0000003FFFFE000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2255
0000FFFFF00000000FFFF800000000FFF8000000000FF80000000007FC0000000003FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2256
00000001FC0000000000FC0000000000FC000C000000FC000C000000FC001C000000F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2257
18000000F80018000000F80018000001F80038000001F0003C000003F0003C000003E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2258
3C000007C0007E00000F80007F00001F80007F80003F00007BE0007C0000F9FC03F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2259
F07FFFE00000E01FFF800000C003FE0000002D377CB42F>83 D<FFFFF00001FFFCFFFFF0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2260
0001FFFCFFFFF00001FFFC03FE0000003F8003FC0000001E0003FC0000001C0003FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2261
00380001FC000000300001FC000000700001FC000000600001FC000000C00001FC000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2262
C00001FC000001800001FE000003000000FE000003000000FE000006000000FE00000C00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2263
0000FE00000C000000FE000018000000FE000038000000FF000030000000FF0000600000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2264
007F0000E00000007F0000C00000007F0001800000007F0001800000007F000300000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2265
7F8006000000007F8006000000003F800C000000003F8018000000003F8018000000003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2266
8030000000003F8070000000003FC060000000003FC0C0000000001FC1C0000000001FC1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2267
80000000001FC300000000001FC300000000001FC600000000001FEC00000000001FEC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2268
000000000FF800000000000FF800000000000FF000000000000FE000000000000FE00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2269
0000000FC000000000000F80000000000007800000000000070000000000000600000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2270
0036357CB22D>86 D<0003FFFFC007FFFC0007FFFFC007FFFC0007FFFFC007FFFC00000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2271
FC0000FF8000000FF80000FC00000007F80000F000000007F80000E000000003FC0001C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2272
00000003FC00038000000001FC00070000000001FE000E0000000001FE001C0000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2273
FF00380000000000FF007000000000007F806000000000007F80C000000000003F818000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2274
000000003FC30000000000003FC60000000000001FEC0000000000001FF8000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2275
0FF00000000000000FF000000000000007F000000000000007F800000000000007F80000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2276
0000000007FC0000000000000FFC0000000000001DFE00000000000039FE000000000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2277
70FE000000000000E0FF000000000001C0FF000000000003807F800000000003007F8000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2278
00000006003FC0000000000C003FC00000000018001FC00000000030001FE00000000060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2279
001FE000000000C0000FF00000000180000FF000000003000007F800000006000007F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2280
00000E000003F80000003C000003FC0000007C000003FC000003FE000007FE0000FFFFC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2281
007FFFFC00FFFFC0007FFFFC00FFFFC0007FFFF8003E337EB23F>88
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2282
D<0001F800000007FE0000001F071C00007C03FE0000F801FE0001F001FE0003F000FE00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2283
07E000FC0007C000FC000FC000FC001F8001FC001F8001F8003F0001F8003F0001F8003F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2284
0003F8007F0003F0007E0003F0007E0003F0007E0007F000FE0007E000FC0007E000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2285
07E040FC000FE060FC000FC0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2286
81803E00EF83801E01C7C3000F0787C70007FE03FE0000F800F80023227EA029>97
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2287
D<003F00001FFF00001FFF00001FFE000000FE000000FE000000FE000000FC000000FC00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2288
0001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F0000007F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2289
0007F0000007E0F80007E3FF000FEF07800FFC03C00FF803E00FF001E01FE001F01FC001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2290
F01F8001F01F8001F83F8001F83F8001F83F0001F83F0001F87F0003F87F0003F07E0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2291
F07E0003F07E0007F0FE0007E0FC0007E0FC0007E0FC000FC0FC000FC0FC001F807C001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2292
007C003F007C007E003C007C003E00F8001E01F0000F07C00007FF000000FC00001D357E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2293
B321>I<00007F000003FFC0000FC0F0003F0038007C003800F800F801F001F803E003F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2294
07E003F80FC003F80F8001F01F8000003F8000003F0000003F0000007F0000007E000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2295
7E0000007E0000007E000000FC000000FC000000FC0000007C0000007C00000C7C00001C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2296
7C0000383E0000703E0000E01F0003C00F800F0007C07E0001FFF000007F80001E227EA0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2297
21>I<00000001F8000000FFF8000000FFF8000000FFF000000007F000000007F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2298
07F000000007E000000007E00000000FE00000000FE00000000FC00000000FC00000001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2299
C00000001FC00000001F800000001F800000003F800000003F800001F83F000007FE3F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2300
001F077F00007C03FF0000F801FE0001F001FE0003F000FE0007E000FE0007C000FC000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2301
C000FC001F8001FC001F8001FC003F0001F8003F0001F8003F0003F8007F0003F8007E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2302
03F0007E0003F0007E0007F000FE0007F000FC0007E000FC0007E040FC000FE060FC000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2303
E0E0FC000FC0C07C000FC0C07C001FC1C07C003FC1803C007F81803E00EF83801E01C7C3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2304
000F0787C70007FE03FE0000F800F80025357EB328>I<0000FE000007FF80001F03C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2305
7C01E001F800E003F000E007E000E00FC000E01F8000E01F8001E03F0001C03F0003C07E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2306
000F807E00FE007FFFF800FFFF8000FC000000FC000000FC000000FC000000F8000000F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2307
000000F8000000F8000000F8000018FC0000387C0000707C0000E03C0001C03E0007801F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2308
001E000F80FC0003FFE00000FF00001D227DA024>I<0000000F800000003FE000000078
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2309
70000001F0F8000001E3F8000003E3F8000003E3F8000007E3F0000007E3F000000FC1C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2310
00000FC00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2311
001F800000001F800000003F800000003F0000001FFFFF80003FFFFF80003FFFFF000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2312
7F000000007E000000007E000000007E000000007E00000000FE00000000FC00000000FC
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2313
00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2314
000001F800000003F800000003F000000003F000000003F000000003F000000007F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2315
0007E000000007E000000007E000000007E00000000FE00000000FC00000000FC0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2316
0FC00000000FC00000000F800000001F800000001F800000001F0000001C1F0000007F1E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2317
0000007F3E0000007F3E000000FE3C000000FE78000000787800000070F00000003FC000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2318
00000F8000000025457CB425>I<0001C00007E00007F0000FF0000FE00007E000038000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2319
000000000000000000000000000000000000000000000000000000000000F00003FC0007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2320
1E000E1F001C1F00381F00301F80303F00703F00603F00607F00E07E0040FE0000FE0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2321
FC0001FC0001F80001F80003F80003F00007F00007F02007E0700FE0600FC0600FC0E00F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2322
C0C01F80C00F81C00F83800F8700078E0003FC0000F00014337EB11A>105
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2323
D<001F001F00007FC07FE000E3E1E0F000C3E3807801C1F7007C0181FE003C0183FC003E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2324
0383F8003E0303F0003E0303F0003F0707F0003F0607F0003F0207E0003F0007E0003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2325
0FE0007F000FE0007E000FC0007E000FC0007E001FC000FE001FC000FC001F8000FC001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2326
8000FC003F8001F8003F8001F8003F0003F0003F0003E0007F0007E0007F000FC0007F80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2327
0F80007F801F0000FFC03E0000FEE0F80000FC7FE00000FC1F800001FC00000001FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2328
0001F800000001F800000003F800000003F800000003F000000003F000000007F0000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2329
07F000000007E0000000FFFF800000FFFF800000FFFF800000283083A027>112
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2330
D<0001F8030007FE07001F071F007C03BF00F801BE01F001FE03F000FE07E000FE07C000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2331
FC0FC000FC1F8000FC1F8001FC3F0001F83F0001F83F0001F87F0003F87E0003F07E0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2332
F07E0003F0FE0007F0FC0007E0FC0007E0FC0007E0FC000FE0FC000FC07C000FC07C001F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2333
C07C003FC03C007F803E00FF801E01DF800F07BF8007FE3F0000F83F0000003F0000007F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2334
0000007E0000007E0000007E000000FE000000FC000000FC000001FC000001FC000001F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2335
00007FFFE000FFFFE000FFFFE020307EA022>I<03E003E00FF81FF81C7C3C1C187C703E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2336
383EE0FE303FC0FE307F80FE707F00FC607E00FC607E0070E07E0000C0FE000040FC0000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2337
00FC000000FC000001FC000001F8000001F8000001F8000003F8000003F0000003F00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2338
03F0000007F0000007E0000007E0000007E000000FE000000FC000000FC000000FC00000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2339
1FC000001F800000070000001F227EA023>I<0001FC00000FFF00003E03C0007800E000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2340
F0006001E001E001E003E003E007E003C007E003E007E003E0038003F0000003FF000003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2341
FFF00003FFFC0001FFFE0000FFFF00007FFF80000FFF8000007FC000001FC000000FC07E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2342
0007C0FE000780FE000780FE000780FE000F00FC000F00C0001E00E0003C00700078003C
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2343
01F0000FFFC00003FE00001B227CA024>I<000380000FC0000FC0000FC0001FC0001FC0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2344
001F80001F80003F80003F80003F00003F00007F00007F00007E007FFFFE7FFFFEFFFFFE
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2345
00FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2346
07E00007E0000FE0000FE0000FC0000FC0081FC01C1FC0181F80181F80381F80701F8060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2347
1F00E01F01C00F83800F870007FE0001F80017307FAE1C>I<00F0000E0003FC001F0007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2348
1E003F800E1F003F801C1F003F80381F801F80301F800F80303F800780703F000780603F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2349
000380607F000380E07E000300407E00030000FE00030000FC00070001FC00060001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2350
060001F800060001F8000E0003F8000C0003F0000C0003F0001C0003F000180003F00038
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2351
0003E000300003E000700003E000600003F000E00003F001C00001F003800001F8070000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2352
00FC1E0000003FF800000007E0000021227EA025>118 D<001F801F80007FE07FE000E0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2353
F0E07001C0F9C0F803807D83F807007F83F80E007F03F80C007F03F01C007E03F018007E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2354
01C01800FE00003800FC00001000FC00000000FC00000001FC00000001F800000001F800
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2355
000001F800000003F800000003F800000003F000000003F000400007F000E00007F000C0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2356
1C07E000C07E07E001C07E0FE00180FE0FE00380FE1FE00700FE1BE00E00F839F01C0070
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2357
70F878003FE07FE0000F801F800025227EA02C>120 D<00F000000003FC0001C0071E00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2358
03E00E1F0007E01C1F0007E0381F8007E0301F800FE0303F800FC0703F000FC0603F000F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2359
C0607F001FC0E07E001F80407E001F8000FE001F8000FC003F8001FC003F0001F8003F00
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2360
01F8003F0001F8007F0003F8007E0003F0007E0003F0007E0003F000FE0003F000FC0003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2361
E000FC0003E000FC0003E001FC0003E001F80003F003F80003F007F80001F00FF80000F8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2362
3FF000003FFBF000000FC3F000000007F000000007E000000007E00007000FE0001F800F
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2363
C0003F801F80003F801F80003F803F00003F007E00003E007C00003800F800001803F000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2364
001E07C0000007FF00000001F800000023317EA026>I<00078003001FE007003FF00600
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2365
7FF80E00FFFC1C01FFFE7801E03FF0038001F0030000E0030001C0000003800000070000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2366
000E0000003C00000070000000E0000001C0000003800000070000000E0000003C000000
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2367
70000C00E0001C01C0001803800038070000780EC000F00FFE03F01F3FFFE0381FFFC070
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2368
0FFF806007FF00E003FE00C000F00020227DA024>I E
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2369
%EndDVIPSBitmapFont
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2370
/FH 138[60 1[42 1[60 1[54 60 90 30 2[30 60 2[48 1[48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2371
60 54 12[72 4[84 78 1[72 2[42 84 24[30 47[{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2372
TeXBase1Encoding ReEncodeFont}20 107.929 /Times-Bold
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2373
rf /FI 87[26 16[79 39 1[35 35 24[35 39 39 57 39 39 22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2374
31 26 39 39 39 39 61 22 39 22 22 39 39 26 35 39 35 39
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2375
35 3[26 1[26 3[74 1[57 48 44 53 1[44 57 57 70 48 57 31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2376
26 57 57 44 48 57 53 53 57 1[35 3[22 22 39 39 39 39 39
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2377
39 39 39 39 39 22 20 26 20 2[26 26 26 5[26 15[22 13[44
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2378
44 2[{TeXBase1Encoding ReEncodeFont}78 78.8709 /Times-Roman
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2379
rf /FJ 134[39 39 57 39 44 26 31 35 44 44 39 44 66 22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2380
44 1[22 44 39 26 35 44 35 44 39 9[79 1[57 53 44 57 1[48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2381
1[57 1[53 61 1[31 2[48 53 57 57 53 57 6[26 39 39 39 39
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2382
39 39 39 39 39 39 1[20 26 20 2[26 26 26 36[44 2[{
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2383
TeXBase1Encoding ReEncodeFont}58 78.8709 /Times-Bold
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2384
rf end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2385
%%EndProlog
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2386
%%BeginSetup
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2387
%%Feature: *Resolution 600dpi
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2388
TeXDict begin
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2389
%%PaperSize: A4
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2390
 end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2391
%%EndSetup
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2392
%%Page: 1 1
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2393
TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2394
1 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2395
0 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2396
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2397
0 TeXcolorgray 0 TeXcolorgray 0.25 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2398
0.5 TeXcolorgray 0 TeXcolorgray 0 -175 2881 4 v 0 35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2399
4 211 v 28 -96 a FJ(Noname)20 b(manuscript)g(No.)28 -7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2400
y FI(\(will)g(be)g(inserted)h(by)f(the)g(editor\))p 2878
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2401
35 V 0 38 2881 4 v 0 154 2881 9 v 0 514 a FH(Nominal)27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2402
b(T)-10 b(echniques)27 b(in)g(Isabelle/HOL)1709 478 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2403
FG(?)0 753 y FJ(Christian)20 b(Urban)0 1495 y FF(Recei)n(v)o(ed:)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2404
(date)d(/)f(Accepted:)j(date)p 0 TeXcolorgray 0 1760
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2405
a FJ(Abstract)p 0 TeXcolorgray 39 w FI(This)g(paper)h(describes)f(a)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2406
(formalisation)i(of)e(the)h(lambda-calculus)g(in)g(a)e(HOL-based)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2407
(the-)0 1855 y(orem)d(pro)o(v)o(er)h(using)f(nominal)h(techniques.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2408
(Central)e(to)h(the)f(formalisation)i(is)e(an)h(inducti)n(v)o(e)h(set)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2409
(that)g(is)0 1951 y(bijecti)n(v)o(e)24 b(with)g(the)g(alpha-equated)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2410
(lambda-terms.)f(Unlik)o(e)f(de-Bruijn)h(indices,)f(ho)n(we)n(v)o(er)m
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2411
(,)h(this)e(in-)0 2046 y(ducti)n(v)o(e)d(set)f(includes)h(names)g(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2412
(reasoning)h(about)g(it)e(is)g(v)o(ery)h(similar)f(to)h(informal)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2413
(reasoning)g(with)0 2141 y(\223pencil)f(and)h(paper\224.)f(T)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2414
b(o)20 b(sho)n(w)g(this)f(we)h(pro)o(vide)h(a)e(structural)i(induction)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2415
g(principle)g(that)f(requires)h(to)0 2237 y(pro)o(v)o(e)d(the)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2416
(lambda-case)i(for)f(fresh)h(binders)f(only)-5 b(.)17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2417
b(Furthermore,)i(we)d(adapt)i(w)o(ork)f(by)h(Pitts)d(pro)o(viding)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2418
2332 y(a)20 b(recursion)h(combinator)h(for)f(the)f(inducti)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2419
(set.)e(The)h(main)h(technical)f(no)o(v)o(elty)h(of)g(this)e(w)o(ork)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2420
(is)f(that)0 2428 y(it)h(is)g(compatible)i(with)e(the)h(axiom)h(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2421
(choice)g(\(unlik)o(e)h(earlier)f(nominal)h(logic)f(w)o(ork)g(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2422
(Pitts)f FE(et)g(al)p FI(\);)0 2523 y(thus)k(we)f(were)h(able)g(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2423
(implement)g(all)g(results)f(in)h(Isabelle/HOL)f(and)i(use)e(them)h(to)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2424
g(formalise)g(the)0 2619 y(standard)f(proofs)g(for)g(Church-Rosser)m(,)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2425
f(strong-normalisation)j(of)d(beta-reduction,)i(the)e(correctness)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2426
2714 y(of)d(the)h(type-inference)h(algorithm)f(W)-7 b(,)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2427
b(typical)g(proofs)h(from)g(SOS)f(and)g(much)h(more.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2428
2866 y FJ(K)n(eyw)o(ords)40 b FI(Lambda-calculus)22 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2429
FD(\001)e FI(nominal)i(logic)e(w)o(ork)h FD(\001)f FI(theorem)h(pro)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2430
(v)o(ers.)0 3167 y FJ(1)28 b(Intr)o(oduction)576 3326
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2431
y FI(W)-6 b(e)23 b(thank)i(T)-6 b(.)23 b(Thacher)h(Robinson)g(for)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2432
(sho)n(wing)h(us)e(on)h(August)g(19,)f(1962)i(by)f(a)576
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2433
3421 y(countere)o(xample)j(the)e(e)o(xistence)f(of)h(an)g(error)h(in)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2434
(our)g(handling)h(of)f(bound)i(v)n(ari-)576 3517 y(ables.)2041
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2435
3612 y(S.)19 b(C.)g(Kleene)h([17,)h(P)o(age)f(16])0 3768
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2436
y(When)32 b(reasoning)h(informally)g(about)f(syntax,)f(issues)g(with)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2437
(binders)h(and)g(alpha-equiv)n(alence)i(are)0 3864 y(almost)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2438
b(uni)n(v)o(ersally)h(percei)n(v)o(ed)h(as)d(unimportant)k(and)d(thus)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2439
(mostly)f(ignored.)i(Ho)n(we)n(v)o(er)m(,)e(errors)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2440
FE(do)0 3959 y FI(arise)20 b(from)h(these)f(issues)f(as)h(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2441
(quotation)i(from)f(Kleene)g(sho)n(ws.)f(It)g(is)f(therefore)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2442
(desirable)e(to)h(ha)n(v)o(e)0 4055 y(con)m(v)o(enient)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2443
b(techniques)f(for)g(formalising)h(informal)f(proofs.)g(In)g(this)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2444
(paper)h(such)g(a)f(technique)h(is)0 4150 y(described)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2445
b(in)f(the)g(conte)o(xt)h(of)f(the)g(lambda-calculus)i(and)e(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2446
(theorem)h(pro)o(v)o(er)h(Isabelle/HOL.)d(Ho)n(w-)0 4246
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2447
y(e)n(v)o(er)m(,)h(the)h(techniques)g(generalise)g(to)f(more)h(comple)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2448
(x)h(calculi)e(and)h(parts)f(ha)n(v)o(e)h(already)h(been)f(adapted)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2449
4341 y(in)h(HOL4,)g(HOL-light)h(and)f(Coq.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2450
0 4420 898 4 v 0 4484 a FC(?)57 4508 y FF(This)i(paper)h(is)f(a)f(re)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2451
(vised)j(and)e(much)g(e)o(xtended)i(v)o(ersion)f(of)f(Urban)h(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2452
(Ber)o(ghofer)h([32],)f(and)g(Urban)h(and)f(T)-5 b(asson)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2453
4585 y([36].)p 0 4630 V 0 4721 a(Christian)19 b(Urban)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2454
4798 y(T)-5 b(echnical)20 b(Uni)n(v)o(ersity)f(Munich,)f(German)o(y)l
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2455
(,E-mail:)g(urbanc@in.tum.de)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2456
0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2457
%%Page: 2 2
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2458
TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2459
71 2881 4 v 0 17 a FF(2)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2460
0 149 V 0 1339 4 1190 v 78 227 a FB(Substitution)18 b(Lemma:)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2461
FF(If)f FA(x)i Fz(6\021)h FA(y)f FF(and)e FA(x)i Fz(62)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2462
FA(F)10 b(V)15 b Fy(\()p FA(L)p Fy(\))p FF(,)i(then)550
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2463
340 y FA(M)7 b Fy([)p FA(x)19 b Fy(:=)g FA(N)7 b Fy(][)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2464
FA(y)22 b Fy(:=)d FA(L)p Fy(])g Fz(\021)g FA(M)7 b Fy([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2465
FA(y)22 b Fy(:=)d FA(L)p Fy(][)p FA(x)f Fy(:=)h FA(N)7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2466
b Fy([)p FA(y)22 b Fy(:=)d FA(L)p Fy(]])p FF(.)78 475
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2467
y FB(Pr)o(oof:)e FF(By)g(induction)j(on)d(the)h(structure)h(of)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2468
FA(M)7 b FF(.)78 552 y FB(Case)17 b(1:)g FA(M)24 b FF(is)16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2469
b(a)i(v)n(ariable.)196 629 y(Case)g(1.1.)23 b FA(M)k
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2470
Fz(\021)19 b FA(x)p FF(.)d(Then)h(both)h(sides)f(equal)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2471
FA(N)7 b Fy([)p FA(y)21 b Fy(:=)e FA(L)p Fy(])e FF(since)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2472
FA(x)h Fz(6\021)g FA(y)r FF(.)196 706 y(Case)f(1.2.)23
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2473
b FA(M)k Fz(\021)19 b FA(y)r FF(.)e(Then)g(both)g(sides)h(equal)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2474
FA(L)p FF(,)e(for)h FA(x)j Fz(62)f FA(F)10 b(V)16 b Fy(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2475
FA(L)p Fy(\))h FF(implies)h FA(L)p Fy([)p FA(x)h Fy(:=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2476
FA(:)12 b(:)f(:)p Fy(])19 b Fz(\021)g FA(L)p FF(.)196
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2477
783 y(Case)f(1.3.)23 b FA(M)k Fz(\021)19 b FA(z)j Fz(6\021)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2478
FA(x;)11 b(y)r FF(.)16 b(Then)h(both)h(sides)g(equal)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2479
FA(z)s FF(.)78 859 y FB(Case)g(2:)g FA(M)29 b Fz(\021)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2480
b FA(\025z)s(:M)644 868 y Fx(1)678 859 y FF(.)17 b(By)i(the)g(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2481
(ariable)i(con)m(v)o(ention)g(we)d(may)g(assume)h(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2482
FA(z)25 b Fz(6\021)d FA(x;)11 b(y)20 b FF(and)f FA(z)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2483
FF(is)e(not)h(free)78 936 y(in)e FA(N)s(;)12 b(L)p FF(.)k(Then)h(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2484
(induction)j(hypothesis)243 1037 y Fy(\()p FA(\025z)s(:M)435
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2485
1046 y Fx(1)470 1037 y Fy(\)[)p FA(x)f Fy(:=)g FA(N)7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2486
b Fy(][)p FA(y)21 b Fy(:=)e FA(L)p Fy(])47 b Fz(\021)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2487
FA(\025z)s(:)p Fy(\()p FA(M)1332 1046 y Fx(1)1366 1037
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2488
y Fy([)p FA(x)19 b Fy(:=)h FA(N)7 b Fy(][)p FA(y)21 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2489
Fy(:=)e FA(L)p Fy(]\))1038 1113 y Fz(\021)47 b FA(\025z)s(:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2490
Fy(\()p FA(M)1332 1122 y Fx(1)1366 1113 y Fy([)p FA(y)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2491
b Fy(:=)d FA(L)p Fy(][)p FA(x)g Fy(:=)g FA(N)7 b Fy([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2492
FA(y)21 b Fy(:=)e FA(L)p Fy(]]\))1038 1190 y Fz(\021)47
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2493
b Fy(\()p FA(\025z)s(:M)1332 1199 y Fx(1)1366 1190 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2494
Fy(\)[)p FA(y)22 b Fy(:=)e FA(L)p Fy(][)p FA(x)e Fy(:=)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2495
FA(N)7 b Fy([)p FA(y)22 b Fy(:=)d FA(L)p Fy(]])p FF(.)78
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2496
1291 y FB(Case)e(3:)g FA(M)27 b Fz(\021)19 b FA(M)540
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2497
1300 y Fx(1)574 1291 y FA(M)642 1300 y Fx(2)677 1291
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2498
y FF(.)d(The)h(statement)i(follo)n(ws)f(again)g(from)f(the)h(induction)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2499
h(hypothesis.)360 b Fw(\003)p 2878 1339 V 0 1342 2881
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2500
4 v 0 1458 a FB(Fig)o(.)20 b(1)53 b FF(An)20 b(informal)h(proof)g(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2501
(the)h(substitution)i(lemma)d(tak)o(en)i(from)e(Barendre)o(gt')l(s)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2502
(book)e([5].)f(In)g(second)h(case,)g(the)0 1535 y(v)n(ariable)f(con)m
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2503
(v)o(ention)h(allo)n(ws)e(him)e(to)h(mo)o(v)o(e)g(the)g(substitutions)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2504
(under)e(the)h(binder)m(,)f(to)g(apply)h(the)f(induction)i(hypothesis)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2505
1612 y(and)e(\002nally)g(to)f(pull)h(the)g(substitutions)h(back)f(out)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2506
(from)f(under)g(the)h(binder)l(.)p 0 TeXcolorgray 125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2507
1904 a FI(The)h(main)h(point)g(of)g(this)f(paper)h(is)f(to)g(gi)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2508
(e)h(a)f(representation)h(for)g FE(alpha-equated)25 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2509
FI(lambda-terms)0 2000 y(that)f(is)f(based)h(on)g(names,)g(is)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2510
(inducti)n(v)o(e)h(and)h(comes)f(with)f(a)h(structural)g(induction)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2511
(principle)g(where)0 2095 y(the)18 b(lambda-case)h(needs)f(to)g(be)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2512
(pro)o(v)o(ed)j(for)e(only)h(fresh)f(binders.)g(Furthermore,)i(we)d(gi)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2513
n(v)o(e)h(a)g(structural)0 2191 y(recursion)31 b(combinator)h(for)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2514
(de\002ning)h(functions)g(o)o(v)o(er)g(this)e(set.)g(In)h(practice)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2515
(this)g(will)f(mean)i(that)0 2286 y(we)23 b(come)h(quite)g(close)g(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2516
(the)h(informal)h(reasoning)g(using)f(Barendre)o(gt')l(s)g(v)n(ariable)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2517
h(con)m(v)o(ention)g([5].)0 2382 y(An)20 b(illustrati)n(v)o(e)h(e)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2518
(xample)g(of)f(such)h(informal)h(reasoning)f(is)f(Barendre)o(gt')l(s)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2519
(proof)h(of)e(the)h(substitution)0 2477 y(lemma)26 b(sho)n(wn)h(in)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2520
(Fig.)g(1.)f(In)i(this)f(paper)g(we)g(describe)h(a)e(reasoning)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2521
(infrastructure)f(for)g(formalis-)0 2572 y(ing)c(such)g(informal)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2522
(proofs)g(with)e(ease.)g(This)h(reasoning)h(infrastructure)g(has)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2523
(been)h(implemented)i(in)0 2668 y(Isabelle/HOL)20 b(as)f(part)i(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2524
(the)g(nominal)i(datatype)e(package.)1720 2636 y Fv(1)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2525
2778 y FI(Our)h(w)o(ork)g(is)f(based)h(on)h(the)f(nominal)h(logic)f(w)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2526
(ork)h(by)f(Pitts)f FE(et)g(al)h FI([11,)8 b(26].)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2527
b(The)f(main)g(technical)0 2873 y(no)o(v)o(elty)h(is)e(that)i(our)g(w)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2528
(ork)g(is)e(compatible)i(with)f(the)h(axiom)g(of)f(choice.)h(This)f(is)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2529
f(important,)i(because)0 2969 y(otherwise)k(we)f(w)o(ould)i(not)f(be)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2530
(able)h(to)g(b)n(uilt)g(in)f(a)h(HOL-based)g(theorem)g(pro)o(v)o(er)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2531
(a)e(frame)n(w)o(ork)j(for)0 3064 y(reasoning)22 b(based)f(on)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2532
(nominal)h(techniques.)f(The)g(reason)h(why)e(the)h(original)h(nominal)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2533
g(logic)f(w)o(ork)g(is)0 3160 y(incompatible)d(with)e(the)g(axiom)h(of)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2534
g(choice)g(has)f(to)g(do)h(with)f(the)g(w)o(ay)h(ho)n(w)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2535
(\002nite)g(support)i(property)0 3255 y(is)26 b(enforced:)i(FM-set)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2536
(theory)i(is)e(de\002ned)h(in)g([11])h(so)e(that)h(e)n(v)o(ery)g(set)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2537
(in)h(the)f(FM-set-uni)n(v)o(erse)i(has)0 3351 y(\002nite)f(support.)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2538
(In)f(nominal)h(logic)g([26],)g(the)f(axioms)g(\(E3\))h(and)g(\(E4\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2539
(imply)f(that)g(e)n(v)o(ery)h(function)0 3446 y(symbol)e(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2540
(proposition)i(has)e(\002nite)g(support.)g(Ho)n(we)n(v)o(er)m(,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2541
(there)h(are)e(notions)i(in)f(HOL)g(that)g(do)g FE(not)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2542
3542 y FI(ha)n(v)o(e)c(\002nite)f(support,)i(most)e(notably)i(choice)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2543
(functions)g(\(see)f([27,)h(Example)h(3.4,)e(P)o(age)g(470]\).)i(Here,)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2544
0 3637 y(we)j(will)g(a)n(v)n(oid)i(the)f(incompatibility)h(with)f(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2545
(axiom)i(of)e(choice)h(by)h(not)f(a)f(priory)i(restricting)f(our)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2546
3733 y(discourse)31 b(to)f(only)h(\002nitely)g(supported)h(entities)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2547
(as)h(done)h(pre)n(viously)-5 b(,)32 b(rather)f(we)e(will)h(e)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2548
(xplicitly)0 3828 y(assume)21 b(this)g(property)i(whene)n(v)o(er)g(it)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2549
(is)f(needed)i(in)g(proofs.)g(One)f(consequence)i(is)e(that)g(we)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2550
(state)g(our)0 3924 y(basic)g(de\002nitions)i(not)f(in)g(terms)f(of)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2551
(nominal)h(sets)e(\(as)g(done)h(for)h(e)o(xample)f(in)g([27]\),)g(b)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2552
(ut)h(in)f(terms)f(of)0 4019 y(the)g(weak)o(er)g(notion)h(of)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2553
(permutation)j(types\227essentially)d(sets)g(equipped)i(with)f(a)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2554
(\223sensible\224)g(notion)0 4115 y(of)g(permutation)i(operation.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2555
4225 y(The)16 b(paper)h(is)f(or)o(ganised)g(as)g(follo)n(w:)h(Sec.)e(2)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2556
i(introduces)g(the)g(basic)f(notions)h(of)f(the)h(nominal)g(logic)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2557
4320 y(w)o(ork)g(adapted)g(to)g(our)g(Isabelle/HOL)f(setting.)g(Sec.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2558
(3)i(\002rst)e(re)n(vie)n(ws)i(alpha-equi)n(v)n(alence)i(for)d(lambda-)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2559
0 4415 y(terms)g(and)g(then)g(gi)n(v)o(es)g(a)f(construction)j(of)e(an)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2560
g(inducti)n(v)o(e)g(set)f(that)h(is)f(bijecti)n(v)o(e)h(with)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2561
(alpha-equated)0 4511 y(lambda-terms.)23 b(T)-6 b(w)o(o)23
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2562
b(structural)g(induction)h(principles)f(for)g(this)f(set)g(are)g(deri)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2563
(v)o(ed)i(in)e(Sec.)g(4.)g(Recent)0 4606 y(w)o(ork)e(by)g(Pitts)f([27])
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2564
i(is)d(adapted)j(in)e(Sec.)g(5)h(to)f(gi)n(v)o(e)h(a)f(structural)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2565
(recursion)h(combinator)g(for)f(de\002ning)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2566
0 4735 898 4 v 62 4799 a Fu(1)125 4823 y FF(A)-5 b(v)n(ailable)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2567
b(from)d Ft(http://isabelle.in.tum.de)q(/nom)q(ina)q(l)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2568
FF(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2569
end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2570
%%Page: 3 3
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2571
TeXDict begin 3 2 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2572
71 2881 4 v 2848 17 a FF(3)p 0 TeXcolorgray 0 228 a FI(functions)23
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2573
b(o)o(v)o(er)g(the)f(bijecti)n(v)o(e)g(set.)f(Sec.)h(6)g(gi)n(v)o(es)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2574
(e)o(xamples;)g(related)h(w)o(ork)g(is)e(mentioned)j(in)e(Sec.)f(7)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2575
324 y(and)g(Sec.)e(8)h(concludes.)0 779 y FJ(2)28 b(Atoms,)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2576
b(P)n(ermutations)g(and)g(Support)0 987 y FI(In)c(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2577
(lambda-calculus)h(there)f(is)f(a)h(single)g(type)g(of)g(bindable)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2578
(names,)f(here)g(denoted)h(by)f Fs(name)q FI(,)f(whose)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2579
1083 y(elements)26 b(in)h(the)f(tradition)i(of)e(the)h(nominal)h(logic)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2580
e(w)o(ork)i(we)e(call)g FE(atoms)p FI(.)g(While)h(the)f(structure)h(of)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2581
0 1178 y(atoms)g(is)e(immaterial,)i(tw)o(o)g(properties)g(need)g(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2582
(hold)g(for)g(the)g(type)g Fs(name)q FI(:)f(one)h(has)f(to)g(be)h(able)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2583
g(to)0 1274 y(distinguishing)33 b(dif)n(ferent)f(atoms)e(and)i(one)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2584
(needs)g(to)g(kno)n(w)h(that)f(there)g(are)f(countably)j(in\002nitely)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2585
1369 y(man)o(y)d(of)f(them.)g(This)g(can)g(be)g(achie)n(v)o(ed)g(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2586
(Isabelle/HOL)g(by)h(implementing)g(the)f(type)h Fs(name)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2587
FI(as)0 1464 y(natural)21 b(numbers)g(or)g(strings.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2588
1579 y(Permutations)h(are)f(\002nite)g(bijecti)n(v)o(e)g(mappings)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2589
(from)f Fs(name)f FI(to)h Fs(name)q FI(.)e(The)o(y)i(can)f(be)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2590
(represented)0 1675 y(as)h(\002nite)f(lists)g(whose)i(elements)f(are)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2591
(sw)o(appings)h(\(i.e.)f(pairs)g(of)g(atoms\).)g(In)h(what)f(follo)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2592
(ws)h(the)f(type-)0 1770 y(abbre)n(viation)j Fs(name)d(prm)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2593
FI(will)f(stand)h(for)g(the)g(type)g(of)g(permutations,)h(that)f(is)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2594
Fr(\()p Fs(name)d FD(\002)f Fs(name)p Fr(\))22 b Fs(list)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2595
FI(,)0 1866 y(and)f(we)e(will)h(write)g(permutations)h(as)1044
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2596
2147 y Fr(\()p FG(a)1115 2159 y Fq(1)1165 2147 y FG(b)1198
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2597
2159 y Fq(1)1235 2147 y Fr(\)\()p FG(a)1336 2159 y Fq(2)1385
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2598
2147 y FG(b)1418 2159 y Fq(2)1455 2147 y Fr(\))13 b FD(\001)g(\001)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2599
(\001)g Fr(\()p FG(a)1671 2155 y Fp(n)1729 2147 y FG(b)1762
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2600
2155 y Fp(n)1807 2147 y Fr(\))0 2448 y FI(with)22 b(the)h(empty)g(list)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2601
e Fr([])i FI(standing)g(for)g(the)g(identity)g(permutation.)g(The)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2602
(operation)h(of)f(a)f(permutation)0 2544 y FG(\031)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2603
FE(acting)f FI(on)g(an)f(atom)g FG(a)g FI(is)f(de\002ned)i(as:)1192
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2604
2846 y Fr([])1234 2855 y Fo(\001)1272 2846 y FG(a)1338
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2605
2803 y Fn(def)1345 2846 y Fr(=)32 b FG(a)814 3036 y Fr(\(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2606
FG(a)915 3048 y Fq(1)965 3036 y FG(a)1006 3048 y Fq(2)1043
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2607
3036 y Fr(\))21 b(::)h FG(\031)s Fr(\))1235 3045 y Fo(\001)1272
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2608
3036 y FG(a)1338 2993 y Fn(def)1345 3036 y Fr(=)1437
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2609
2883 y Fm(8)1437 2950 y(<)1437 3085 y(:)1518 2941 y FG(a)1559
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2610
2953 y Fq(2)1668 2941 y FI(if)g FG(\031)1785 2950 y Fo(\001)1823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2611
2941 y FG(a)f Fr(=)g FG(a)2007 2953 y Fq(1)1518 3036
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2612
y FG(a)1559 3048 y Fq(1)1668 3036 y FI(if)h FG(\031)1785
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2613
3045 y Fo(\001)1823 3036 y FG(a)f Fr(=)g FG(a)2007 3048
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2614
y Fq(2)1518 3132 y FG(\031)1565 3141 y Fo(\001)1603 3132
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2615
y FG(a)j FI(otherwise)2789 2976 y(\(1\))0 3430 y(where)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2616
Fr(\()p FG(a)12 b(b)p Fr(\))31 b(::)h FG(\031)27 b FI(is)e(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2617
(composition)j(of)d(a)g(permutation)j(follo)n(wed)e(by)g(the)g(sw)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2618
(apping)g Fr(\()p FG(a)13 b(b)p Fr(\))p FI(.)24 b(The)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2619
3526 y(composition)d(of)e FG(\031)j FI(follo)n(wed)e(by)g(another)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2620
(permutation)h FG(\031)1656 3494 y Fl(0)1698 3526 y FI(is)d(gi)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2621
(en)i(by)g(list-concatenation,)g(written)0 3621 y(as)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2622
FG(\031)132 3590 y Fl(0)155 3621 y Fr(@)p FG(\031)s FI(,)g(and)i(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2623
(in)m(v)o(erse)g(of)g(a)g(permutation)i(is)d(gi)n(v)o(en)i(by)g(list)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2624
(re)n(v)o(ersal,)h(written)g(as)f FG(\031)2475 3590 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2625
Fl(\000)p Fq(1)2564 3621 y FI(.)125 3736 y(Our)31 b(representation)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2626
(of)e(permutations)i(as)e(lists)f(does)h(not)h(gi)n(v)o(e)g(unique)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2627
(representati)n(v)o(es:)g(for)0 3832 y(e)o(xample,)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2628
b(the)g(permutation)h Fr(\()p FG(a)13 b(a)p Fr(\))20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2629
b FI(is)h(\223equal\224)h(to)g(the)g(identity)g(permutation.)h(W)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2630
b(e)22 b(equate)g(the)g(repre-)0 3927 y(sentations)e(of)h(permutations)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2631
g(with)f(a)g(relation)h FD(\030)p FI(:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2632
0 4194 a FJ(De\002nition)f(1)p 0 TeXcolorgray 42 w(\(P)n(ermutation)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2633
b(Equality\))f FE(T)-6 b(wo)24 b(permutations)h(ar)m(e)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2634
FI(equal)p FE(,)h(written)g FG(\031)2471 4206 y Fq(1)2536
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2635
4194 y FD(\030)k FG(\031)2668 4206 y Fq(2)2705 4194 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2636
FE(,)c(pr)l(o-)0 4289 y(vided)d FG(\031)235 4301 y Fq(1)272
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2637
4298 y Fo(\001)310 4289 y FG(a)g Fr(=)g FG(\031)497 4301
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2638
y Fq(2)534 4298 y Fo(\001)572 4289 y FG(a)f FE(for)g(all)g(atoms)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2639
FG(a)p FE(.)125 4536 y FI(T)-6 b(o)25 b(generalise)h(the)g(notion)g(gi)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2640
n(v)o(en)h(in)e(\(1\))h(of)g(a)f(permutation)j(acting)e(on)g(an)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2641
(atom,)f(we)g(tak)o(e)h(ad-)0 4632 y(v)n(antage)f(of)g(the)f(o)o(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2642
(erloading)j(mechanism)e(in)f(Isabelle)g(by)h(declaring)h(a)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2643
(constant,)g(written)h(in\002x)f(as)0 4727 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2644
FD(\000)p Fr(\))120 4736 y Fo(\001)158 4727 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2645
FD(\000)p Fr(\))p FI(,)g(with)i(the)f(polymorphic)k(type)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2646
Fs(name)c(prm)g FD(\))f FG(\013)h FD(\))f FG(\013)p FI(.)k(A)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2647
(de\002nition)i(of)f(the)g(permutation)0 4823 y(operation)j(can)e(then)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2648
h(be)f(gi)n(v)o(en)i(separately)e(for)h(each)g(type-constructor;)h(for)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2649
f(lists,)e(products,)i(unit,)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2650
eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2651
%%Page: 4 4
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2652
TeXDict begin 4 3 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2653
71 2881 4 v 0 17 a FF(4)p 0 TeXcolorgray 0 228 a FI(sets,)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2654
b(functions,)i(options)g(and)f(booleans)h(the)g(de\002nitions)f(are)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2655
(as)g(follo)n(ws:)696 408 y FG(\013)i Fs(list)g Fr(:)350
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2656
b FG(\031)1363 417 y Fo(\001)1401 408 y Fr([])1469 365
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2657
y Fn(def)1476 408 y Fr(=)32 b([])1143 527 y FG(\031)1190
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2658
536 y Fo(\001)1228 527 y Fr(\()p FG(x)20 b Fr(::)i FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2659
Fr(\))1469 485 y Fn(def)1476 527 y Fr(=)32 b(\()p FG(\031)1645
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2660
536 y Fo(\001)1683 527 y FG(x)p Fr(\))20 b(::)i(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2661
FG(\031)1918 536 y Fo(\001)1956 527 y FG(t)p Fr(\))696
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2662
647 y FG(\013)745 659 y Fq(1)800 647 y FD(\002)17 b FG(\013)926
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2663
659 y Fq(2)984 647 y Fr(:)99 b FG(\031)1151 656 y Fo(\001)1188
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2664
647 y Fr(\()p FG(x)1262 659 y Fq(1)1299 647 y FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2665
b(x)1377 659 y Fq(2)1414 647 y Fr(\))1469 604 y Fn(def)1476
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2666
647 y Fr(=)32 b(\()p FG(\031)1645 656 y Fo(\001)1683
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2667
647 y FG(x)1727 659 y Fq(1)1763 647 y FG(;)13 b(\031)1844
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2668
656 y Fo(\001)1882 647 y FG(x)1926 659 y Fq(2)1963 647
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2669
y Fr(\))696 766 y Fs(unit)22 b Fr(:)404 b FG(\031)1346
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2670
775 y Fo(\001)1384 766 y Fr(\(\))1469 723 y Fn(def)1476
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2671
766 y Fr(=)32 b(\(\))696 886 y FG(\013)22 b Fs(set)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2672
Fr(:)363 b FG(\031)1337 895 y Fo(\001)1375 886 y FG(X)1469
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2673
843 y Fn(def)1476 886 y Fr(=)32 b FD(f)p FG(\031)1653
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2674
895 y Fo(\001)1691 886 y FG(x)12 b FD(j)i FG(x)20 b FD(2)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2675
FG(X)6 b FD(g)696 1005 y FG(\013)745 1017 y Fq(1)804
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2676
1005 y FD(\))21 b FG(\013)951 1017 y Fq(2)1010 1005 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2677
Fr(:)255 b FG(\031)1333 1014 y Fo(\001)1371 1005 y Fk(fn)1469
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2678
962 y Fn(def)1476 1005 y Fr(=)32 b FG(\025x:\031)1725
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2679
1014 y Fo(\001)1762 1005 y Fr(\()p Fk(fn)19 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2680
FG(\031)1955 973 y Fl(\000)p Fq(1)2043 1014 y Fo(\001)2081
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2681
1005 y FG(x)p Fr(\)\))696 1124 y FG(\013)j Fs(option)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2682
Fr(:)134 b FG(\031)1226 1133 y Fo(\001)1264 1124 y Fk(None)1469
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2683
1081 y Fn(def)1476 1124 y Fr(=)32 b Fk(None)1070 1244
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2684
y FG(\031)1117 1253 y Fo(\001)1155 1244 y Fk(Some)6 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2685
Fr(\()p FG(x)p Fr(\))1469 1201 y Fn(def)1476 1244 y Fr(=)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2686
b Fk(Some)6 b Fr(\()p FG(\031)1831 1253 y Fo(\001)1869
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2687
1244 y FG(x)p Fr(\))696 1363 y Fs(bool)22 b Fr(:)431
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2688
b FG(\031)1373 1372 y Fo(\001)1411 1363 y FG(b)1469 1320
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2689
y Fn(def)1476 1363 y Fr(=)32 b FG(b)2789 873 y FI(\(2\))125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2690
1517 y(It)19 b(will)g(sa)n(v)o(e)h(much)h(w)o(ork)g(later)e(on)i(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2691
FE(not)h FI(establish)f(properties)h(for)f(each)g(of)g(these)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2692
(permutation)0 1613 y(operations)h(indi)n(vidually)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2693
b(,)21 b(b)n(ut)f(reason)g(abstractly)g(o)o(v)o(er)g(them)g(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2694
(requiring)i(that)d(e)n(v)o(ery)i(permutation)0 1708
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2695
y(operation)h(satis\002es)c(three)i(basic)g(properties:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2696
0 TeXcolorgray 0 1869 a FJ(De\002nition)g(2)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2697
42 w(\(P)n(ermutation)h(T)-6 b(ype\))21 b FE(A)f(type)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2698
FG(\013)h FE(will)e(be)h(r)m(eferr)m(ed)g(to)g(as)h FI(permutation)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2699
(type)p FE(,)e(written)0 1965 y FG(pt)67 1973 y Fp(\013)114
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2700
1965 y FE(,)f(pr)l(o)o(vided)j(the)e(permutation)h(oper)o(ation)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2701
(satis\002es)f(the)g(following)h(thr)m(ee)f(pr)l(operties:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2702
0 TeXcolorgray 56 2103 a(\(i\))p 0 TeXcolorgray 63 w
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2703
Fr([])235 2112 y Fo(\001)274 2103 y FG(x)42 b Fr(=)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2704
FG(x)p 0 TeXcolorgray 34 2198 a FE(\(ii\))p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2705
63 w Fr(\()p FG(\031)267 2210 y Fq(1)304 2198 y Fr(@)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2706
FG(\031)408 2210 y Fq(2)445 2198 y Fr(\))475 2207 y Fo(\001)513
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2707
2198 y FG(x)f Fr(=)h FG(\031)746 2210 y Fq(1)783 2207
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2708
y Fo(\001)821 2198 y Fr(\()p FG(\031)895 2210 y Fq(2)932
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2709
2207 y Fo(\001)970 2198 y FG(x)p Fr(\))p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2710
12 2294 a FE(\(iii\))p 0 TeXcolorgray 63 w FG(\031)237
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2711
2306 y Fq(1)296 2294 y FD(\030)21 b FG(\031)421 2306
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2712
y Fq(2)501 2294 y FE(implies)42 b FG(\031)815 2306 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2713
Fq(1)852 2303 y Fo(\001)890 2294 y FG(x)h Fr(=)f FG(\031)1123
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2714
2306 y Fq(2)1160 2303 y Fo(\001)1198 2294 y FG(x)0 2455
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2715
y FI(These)25 b(properties)i(entail)e(that)g(the)h(permutations)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2716
(operation)f(beha)n(v)o(es)h(o)o(v)o(er)e(permutation)j(types)d(as)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2717
2551 y(one)c(e)o(xpects:)p 0 TeXcolorgray 0 2712 a FJ(Lemma)e(1)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2718
0 TeXcolorgray 42 w FE(Assuming)i FG(x)e FE(and)i FG(y)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2719
FE(ar)m(e)e(of)g(permutation)h(type)f(then:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2720
56 2850 a(\(i\))p 0 TeXcolorgray 42 w FG(\031)219 2818
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2721
y Fl(\000)p Fq(1)308 2859 y Fo(\001)346 2850 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2722
FG(\031)423 2859 y Fo(\001)460 2850 y FG(x)p Fr(\))h(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2723
FG(x)p FE(,)p 0 TeXcolorgray 34 2945 a(\(ii\))p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2724
42 w FG(\031)219 2954 y Fo(\001)257 2945 y FG(x)f Fr(=)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2725
FG(y)g FE(if)d(and)i(only)g(if)e FG(x)i Fr(=)g FG(\031)1076
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2726
2913 y Fl(\000)p Fq(1)1165 2954 y Fo(\001)1203 2945 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2727
FG(y)s FE(,)p 0 TeXcolorgray 12 3041 a(\(iii\))p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2728
42 w FG(\031)219 3050 y Fo(\001)257 3041 y FG(x)f Fr(=)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2729
FG(\031)450 3050 y Fo(\001)487 3041 y FG(y)h FE(if)c(and)i(only)g(if)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2730
FG(x)i Fr(=)g FG(y)s FE(,)e(and)p 0 TeXcolorgray 21 3136
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2731
a(\(iv\))p 0 TeXcolorgray 42 w FG(\031)219 3145 y Fo(\001)257
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2732
3136 y FG(x)h FD(2)i FG(\031)441 3145 y Fo(\001)479 3136
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2733
y FG(X)k FE(if)19 b(and)i(only)g(if)f FG(x)g FD(2)i FG(X)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2734
b FE(.)p 0 TeXcolorgray 0 3348 a(Pr)l(oof)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2735
40 w FI(The)21 b(\002rst)f(property)j(holds)f(by)f(Def.)g(2)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2736
FE(\(i-iii\))g FI(since)g Fr(\()p FG(\031)1725 3316 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2737
Fl(\000)p Fq(1)1814 3348 y Fr(@)p FG(\031)s Fr(\))h FD(\030)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2738
Fr([])p FI(,)e(which)g(can)g(be)g(sho)n(wn)h(by)0 3444
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2739
y(an)f(induction)i(o)o(v)o(er)e(the)g(length)h(of)f FG(\031)s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2740
FI(.)f(The)h(second)h(property)h(follo)n(ws)e(from)h(the)f(\002rst.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2741
(The)h(third)h(is)e(a)0 3539 y(consequence)25 b(of)e(the)g(\002rst)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2742
(and)h(second.)f(F)o(or)g(the)h(fourth)g(one)g(has)f(to)g(unwind)i(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2743
e(de\002nition)h(of)f(the)0 3635 y(permutation)f(operation)g(for)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2744
(sets)f(and)i(apply)g(the)f(third)h(property)-5 b(.)80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2745
b FD(u)-51 b(t)125 3781 y FI(Using)17 b(Isabelle')l(s)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2746
FE(axiomatic)h(type-classes)g FI([37],)g(it)f(is)g(v)o(ery)h(con)m(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2747
(enient)h(to)f(ensure)g(that)f(a)g(type)h(is)0 3876 y(a)f(permutation)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2748
(type)e(because)h(most)e(of)i(the)e(routine)i(w)o(ork)g(can)f(be)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2749
(performed)i(by)e(the)g(type-checking)0 3972 y(algorithm)27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2750
b(of)f(Isabelle:)g(one)g(only)h(has)f(to)g(establish)f(that)h(some)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2751
(\223base\224)g(types,)f(such)h(as)g Fs(name)g FI(and)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2752
4067 y Fs(unit)q FI(,)21 b(are)g(permutation)i(types)f(and)g(that)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2753
(type-constructors,)i(such)f(as)e(products)j(and)f(lists,)e(preserv)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2754
(e)0 4163 y(the)g(property)i(of)e(being)h(a)f(permutation)i(type.)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2755
(More)h(formally)g(we)f(ha)n(v)o(e:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2756
0 4324 a FJ(Lemma)f(2)p 0 TeXcolorgray 42 w FE(Given)30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2757
b FG(pt)644 4332 y Fp(\013)691 4324 y FE(,)f FG(pt)807
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2758
4332 y Fp(\013)850 4340 y Fj(1)915 4324 y FE(and)i FG(pt)1130
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2759
4332 y Fp(\013)1173 4340 y Fj(2)1209 4324 y FE(,)e(the)h(types)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2760
Fs(name)q FE(,)f Fs(unit)q FE(,)g FG(\013)39 b Fs(list)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2761
FE(,)29 b FG(\013)40 b Fs(set)p FE(,)30 b FG(\013)39
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2762
b Fs(option)q FE(,)0 4420 y FG(\013)49 4432 y Fq(1)104
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2763
4420 y FD(\002)16 b FG(\013)229 4432 y Fq(2)267 4420
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2764
y FE(,)j FG(\013)355 4432 y Fq(1)414 4420 y FD(\))i FG(\013)561
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2765
4432 y Fq(2)618 4420 y FE(and)g Fs(bool)g FE(ar)m(e)f(also)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2766
(permutation)h(types.)p 0 TeXcolorgray 0 4632 a(Pr)l(oof)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2767
0 TeXcolorgray 40 w FI(All)i(properties)i(follo)n(w)g(by)f(unwinding)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2768
(the)e(de\002nition)h(of)g(the)f(corresponding)j(permutation)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2769
4727 y(operation)c(and)f(routine)g(inductions.)g(The)g(property)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2770
FG(pt)1566 4735 y Fp(\013)1609 4743 y Fj(1)1641 4735
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2771
y Fl(\))p Fp(\013)1750 4743 y Fj(2)1807 4727 y FI(uses)e(the)g(f)o(act)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2772
h(that)f FG(\031)2403 4739 y Fq(1)2463 4727 y FD(\030)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2773
FG(\031)2591 4739 y Fq(2)2649 4727 y FI(implies)0 4823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2774
y FG(\031)47 4790 y Fl(\000)p Fq(1)44 4847 y(1)157 4823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2775
y FD(\030)d FG(\031)285 4790 y Fl(\000)p Fq(1)282 4847
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2776
y(2)374 4823 y FI(.)p 0 TeXcolorgray 0 TeXcolorgray eop
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2777
end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2778
%%Page: 5 5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2779
TeXDict begin 5 4 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2780
71 2881 4 v 2848 17 a FF(5)p 0 TeXcolorgray 125 228 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2781
FI(Note)20 b(that)g(the)g(permutation)i(operation)f(o)o(v)o(er)g(a)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2782
(function-type,)i(say)e FG(\013)2121 240 y Fq(1)2180
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2783
228 y FD(\))h FG(\013)2327 240 y Fq(2)2385 228 y FI(with)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2784
FG(\013)2594 240 y Fq(1)2651 228 y FI(being)h(a)0 324
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2785
y(permutation)h(type,)e(is)f(de\002ned)i(so)f(that)g(for)h(e)n(v)o(ery)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2786
g(function)g Fk(fn)26 b FI(we)19 b(ha)n(v)o(e)i(the)f(equation)1050
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2787
502 y FG(\031)1097 511 y Fo(\001)1135 502 y Fr(\()p Fk(fn)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2788
FG(x)p Fr(\))j(=)g(\()p FG(\031)1503 511 y Fo(\001)1540
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2789
502 y Fk(fn)6 b Fr(\)\()p FG(\031)1720 511 y Fo(\001)1758
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2790
502 y FG(x)p Fr(\))957 b FI(\(3\))0 682 y(in)35 b(Isabelle/HOL;)g(this)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2791
g(is)f(because)h(we)g(ha)n(v)o(e)g FG(\031)1456 651 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2792
Fl(\000)p Fq(1)1545 691 y Fo(\001)1583 682 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2793
FG(\031)1660 691 y Fo(\001)1698 682 y FG(x)p Fr(\))48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2794
b(=)g FG(x)34 b FI(by)h(Lem.)g(1)p FE(\(i\))h FI(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2795
FG(\031)2662 691 y Fo(\001)2700 682 y Fk(fn)54 b Fr(=)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2796
778 y FG(\025x:\031)157 787 y Fo(\001)194 778 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2797
Fk(fn)19 b Fr(\()p FG(\031)387 746 y Fl(\000)p Fq(1)475
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2798
787 y Fo(\001)514 778 y FG(x)p Fr(\)\))g FI(by)h(de\002nition)h(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2799
(permutations)g(acting)g(on)f(functions.)125 875 y(The)28
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2800
b(most)g(interesting)g(feature)h(of)f(the)g(nominal)h(logic)f(w)o(ork)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2801
(is)e(that)h(as)f(soon)i(as)e(one)h(\002x)o(es)g(a)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2802
971 y(\223sensible\224)23 b(permutation)i(operation)f(for)g(a)e(type,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2803
(then)h(the)f FE(support)i FI(for)e(the)g(elements)g(of)h(this)e(type,)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2804
0 1066 y(v)o(ery)f(roughly)h(speaking)f(their)f(set)g(of)g(free)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2805
(atoms,)g(is)g(\002x)o(ed)g(as)f(well.)h(The)g(de\002nition)h(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2806
(support)g(and)0 1162 y(the)f(deri)n(v)o(ed)h(notion)h(of)e(freshness)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2807
(is:)p 0 TeXcolorgray 0 1342 a FJ(De\002nition)g(3)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2808
0 TeXcolorgray 42 w(\(Support)32 b(and)g(Fr)o(eshness\))e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2809
FE(The)i FI(support)h FE(of)f FG(x)p FE(,)f(written)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2810
Fk(supp)5 b Fr(\()p FG(x)p Fr(\))p FE(,)31 b(is)g(the)h(set)g(of)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2811
1437 y(atoms)20 b(de\002ned)i(as:)768 1570 y Fk(supp)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2812
b Fr(\()p FG(x)p Fr(\))1048 1522 y Fi(def)1054 1570 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2813
Fr(=)27 b FD(f)p FG(a)21 b FD(j)h Fk(in\014nite)6 b FD(f)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2814
FG(b)21 b FD(j)h Fr(\()p FG(a)12 b(b)p Fr(\))1808 1579
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2815
y Fo(\001)1846 1570 y FG(x)21 b FD(6)p Fr(=)g FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2816
FD(gg)0 1722 y FE(wher)m(e)28 b Fk(in\014nite)5 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2817
FD(\000)p Fr(\))28 b FE(means)g(that)h(the)f(set)f(is)h(in\002nite)o(.)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2818
1545 1691 y Fv(2)1605 1722 y FE(An)g(atom)h FG(a)e FE(is)h(said)g(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2819
(be)h FI(fresh)f FE(for)g(an)h FG(x)p FE(,)0 1818 y(written)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2820
b FG(a)i Fr(#)h FG(x)p FE(,)d(pr)l(o)o(vided)i FG(a)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2821
FD(62)h Fk(supp)5 b Fr(\()p FG(x)p Fr(\))p FE(.)0 1996
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2822
y FI(Intuiti)n(v)o(ely)-5 b(,)25 b(this)f(de\002nition)h(says)e(that)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2823
FG(a)g FI(is)f(fresh)h(for)h FG(x)e FI(if)h(and)h(only)g(if)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2824
Fr(\()p FG(a)12 b(b)p Fr(\))2226 2005 y Fo(\001)2264
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2825
1996 y FG(x)28 b Fr(=)g FG(x)c FI(holds)g(for)h(all)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2826
2091 y(b)n(ut)f(\002nitely)f(man)o(y)h FG(b)p FI(.)e(Unwinding)j(this)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2827
(de\002nition)j(and)e(the)g(permutation)i(operations)f(gi)n(v)o(en)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2828
(in)f(\(2\),)0 2187 y(one)e(can)f(often)h(easily)e(calculate)h(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2829
(support)i(for)e(\223\002nitary\224)h(permutation)h(types)e(such)g(as:)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2830
570 2368 y Fs(name)i Fr(:)291 b Fk(supp)6 b Fr(\()p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2831
Fr(\))21 b(=)g FD(f)p FG(a)p FD(g)570 2473 y FG(\013)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2832
Fs(list)i Fr(:)220 b Fk(supp)6 b Fr(\([]\))22 b(=)f Fh(?)1060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2833
2579 y Fk(supp)6 b Fr(\()p FG(x)21 b Fr(::)h FG(xs)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2834
Fr(\))e(=)h Fk(supp)6 b Fr(\()p FG(x)p Fr(\))16 b FD([)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2835
Fk(supp)6 b Fr(\()p FG(xs)p Fr(\))570 2684 y FG(\013)619
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2836
2696 y Fq(1)673 2684 y FD(\002)17 b FG(\013)799 2696
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2837
y Fq(2)858 2684 y Fr(:)181 b Fk(supp)6 b Fr(\(\()p FG(x)1320
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2838
2696 y Fq(1)1356 2684 y FG(;)13 b(x)1434 2696 y Fq(2)1471
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2839
2684 y Fr(\)\))21 b(=)g Fk(supp)6 b Fr(\()p FG(x)1863
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2840
2696 y Fq(1)1900 2684 y Fr(\))17 b FD([)g Fk(supp)6 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2841
Fr(\()p FG(x)2245 2696 y Fq(2)2281 2684 y Fr(\))570 2789
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2842
y Fs(unit)22 b Fr(:)291 b Fk(supp)6 b Fr(\(\(\)\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2843
b(=)g Fh(?)570 2894 y FG(\013)g Fs(option)i Fr(:)142
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2844
b Fk(supp)6 b Fr(\()p Fk(None)g Fr(\))21 b(=)g Fh(?)1060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2845
2999 y Fk(supp)6 b Fr(\()p Fk(Some)g Fr(\()p FG(x)p Fr(\)\))20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2846
b(=)h Fk(supp)6 b Fr(\()p FG(x)p Fr(\))570 3104 y Fs(bool)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2847
b Fr(:)291 b Fk(supp)6 b Fr(\()p FG(b)p Fr(\))21 b(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2848
Fh(?)2789 2734 y FI(\(4\))0 3282 y(More)e(subtle)f(is)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2849
(calculation)h(of)g(the)g(support)g(for)g(\223in\002nitary\224)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2850
(permutation)i(types)d(such)h(as)e(func-)0 3377 y(tions)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2851
b(and)h(in\002nite)f(sets.)f(Ho)n(we)n(v)o(er)m(,)h(the)g(use)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2852
(the)g(notion)i(of)e(support,)h(as)f(opposed)h(to)f(the)g(usual)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2853
3473 y(notion)19 b(of)g(free)f(atoms,)g(is)g(crucial)g(for)h(this)f(w)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2854
(ork:)h(the)f(bijecti)n(v)o(e)h(set)e(we)h(describe)g(in)h(the)f(ne)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2855
(xt)g(section)0 3568 y(includes)25 b(some)f(functions,)h(and)f(for)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2856
(those)f(it)g(is)f(f)o(ar)h(from)h(ob)o(vious)h(what)e(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2857
(de\002nition)h(of)f(the)g(set)0 3664 y(of)c(free)f(atoms)g(should)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2858
(be)e(\(the)h(obstacle)f(is)f(to)i(\002nd)f(an)h(appropriate)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2859
(de\002nition)f(for)g(free)g(v)n(ariables)f(of)0 3759
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2860
y(functions)i(with)f(type,)g(say)g FG(\013)822 3771 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2861
Fq(1)881 3759 y FD(\))h FG(\013)1028 3771 y Fq(2)1065
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2862
3759 y FI(,)f(in)g(terms)f(of)i(the)f(free)g(v)n(ariables)g(for)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2863
(elements)f(of)g(the)g(type)g FG(\013)2843 3771 y Fq(1)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2864
3855 y FI(and)25 b FG(\013)187 3867 y Fq(2)225 3855 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2865
FI(\).)f(Contrast)h(this)g(with)g(the)g(de\002nition)h(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2866
(permutation)i(for)e(functions)h(gi)n(v)o(en)g(in)f(\(2\),)g(which)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2867
3950 y(is)d(de\002ned)h(in)g(terms)f(of)h(the)g(permutation)h(acting)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2868
(on)g(the)g(domain)h(and)f(co-domain)h(of)f(functions.)h(It)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2869
4046 y(will)17 b(turn)h(out)g(that,)g(albeit)f(slightly)h(unwieldy)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2870
b(,)19 b(Def.)e(3)g(coincides)i(e)o(xactly)e(with)h(what)g(one)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2871
(intuiti)n(v)o(ely)0 4141 y(associates)h(with)h(the)g(set)g(of)g(free)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2872
(atoms)g(for)h(the)f(functions)h(we)f(shall)g(use.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2873
4239 y(F)o(or)e(permutation)j(types)d(the)h(notion)h(of)f(support)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2874
(and)g(freshness)g(ha)n(v)o(e)g(good)h(properties:)g(we)e(\002rst)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2875
4334 y(sho)n(w)f(that)h(the)f(support)h(and)g(the)g(permutation)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2876
(operation)f(commute)h(and)f(that)f(permutation)i(preserv)o(e)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2877
4430 y(freshness.)313 4398 y Fv(3)p 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2878
4492 898 4 v 62 4556 a Fu(2)125 4580 y FF(In)g(Isabelle/HOL)i(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2879
(predicate)i Fg(in\014nite)i FF(is)19 b(de\002ned)h(as)f(\223not)i(a)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2880
(\002nite)i(set\224)f(with)g(the)g(predicate)i(for)d(a)h(set)f(being)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2881
4656 y(\002nite)f(de\002ned)g(inducti)n(v)o(ely)j(starting)e(with)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2882
(the)f(empty)h(set)f(and)h(by)f(adding)h(elements.)62
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2883
4722 y Fu(3)125 4746 y FF(Pitts)24 b(gi)n(v)o(es)h(in)f([27])g(a)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2884
(simpler)h(proof)f(for)g Ff(\(i\))p FF(,)f(b)o(ut)h(in)g(a)g(more)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2885
(restricted)j(setting,)e(namely)g(where)f FA(x)f FF(has)h(\002nite)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2886
4823 y(support.)17 b(Our)g(lemma)h(is)f(more)g(general)i(as)e(we)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2887
(only)g(require)i FA(x)d FF(to)i(be)f(of)g(permutation)j(type.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2888
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2889
%%Page: 6 6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2890
TeXDict begin 6 5 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2891
71 2881 4 v 0 17 a FF(6)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2892
0 228 a FJ(Lemma)19 b(3)p 0 TeXcolorgray 42 w FE(F)-8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2893
b(or)20 b(all)g FG(x)f FE(of)h(permutation)i(type:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2894
0 TeXcolorgray 56 375 a(\(i\))p 0 TeXcolorgray 42 w FG(\031)219
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2895
384 y Fo(\001)257 375 y Fk(supp)5 b Fr(\()p FG(x)p Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2896
b(=)g Fk(supp)6 b Fr(\()p FG(\031)851 384 y Fo(\001)888
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2897
375 y FG(x)p Fr(\))p FE(,)p 0 TeXcolorgray 34 471 a(\(ii\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2898
0 TeXcolorgray 42 w FG(a)21 b Fr(#)g FG(\031)366 480
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2899
y Fo(\001)404 471 y FG(x)41 b FE(if)19 b(and)i(only)g(if)41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2900
b FG(\031)978 439 y Fl(\000)p Fq(1)1066 480 y Fo(\001)1105
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2901
471 y FG(a)21 b Fr(#)g FG(x)p FE(,)e(and)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2902
12 566 a(\(iii\))p 0 TeXcolorgray 63 w FG(\031)240 575
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2903
y Fo(\001)278 566 y FG(a)i Fr(#)g FG(\031)472 575 y Fo(\001)510
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2904
566 y FG(x)e FE(if)h(and)h(only)f(if)g FG(a)h Fr(#)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2905
FG(x)g FE(.)p 0 TeXcolorgray 0 841 a(Pr)l(oof)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2906
40 w FI(The)f(\002rst)f(property)j(follo)n(ws)f(from)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2907
(calculation:)p 0 TeXcolorgray 0 TeXcolorgray 306 1017
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2908
a FG(\031)353 1026 y Fo(\001)391 1017 y Fk(supp)6 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2909
FG(x)p Fr(\))674 975 y Fn(def)681 1017 y Fr(=)31 b FG(\031)819
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2910
1026 y Fo(\001)856 1017 y FD(f)p FG(a)13 b FD(j)g Fk(in\014nite)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2911
b FD(f)p FG(b)13 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1490
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2912
1026 y Fo(\001)1528 1017 y FG(x)21 b FD(6)p Fr(=)g FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2913
FD(gg)674 1094 y Fn(def)681 1137 y Fr(=)31 b FD(f)p FG(\031)857
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2914
1146 y Fo(\001)895 1137 y FG(a)12 b FD(j)h Fk(in\014nite)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2915
b FD(f)p FG(b)13 b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1490
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2916
1146 y Fo(\001)1528 1137 y FG(x)21 b FD(6)p Fr(=)g FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2917
FD(gg)681 1235 y Fr(=)31 b FD(f)p FG(\031)857 1244 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2918
Fo(\001)895 1235 y FG(a)12 b FD(j)h Fk(in\014nite)6 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2919
FD(f)p FG(\031)1310 1244 y Fo(\001)1348 1235 y FG(b)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2920
b FD(j)g Fr(\()p FG(a)g(b)p Fr(\))1575 1244 y Fo(\001)1613
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2921
1235 y FG(x)20 b FD(6)p Fr(=)i FG(x)p FD(gg)560 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2922
FD(\003)2507 1203 y Fq(1)2545 1235 y Fr(\))681 1332 y(=)31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2923
b FD(f)p FG(a)12 b FD(j)i Fk(in\014nite)5 b FD(f)p FG(b)14
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2924
b FD(j)f Fr(\()p FG(\031)1336 1301 y Fl(\000)p Fq(1)1424
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2925
1341 y Fo(\001)1462 1332 y FG(a)34 b(\031)1584 1301 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2926
Fl(\000)p Fq(1)1673 1341 y Fo(\001)1711 1332 y FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2927
Fr(\))1774 1341 y Fo(\001)1812 1332 y FG(x)21 b FD(6)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2928
Fr(=)g FG(x)p FD(gg)681 1430 y Fr(=)31 b FD(f)p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2929
b FD(j)i Fk(in\014nite)5 b FD(f)p FG(b)14 b FD(j)f FG(\031)1306
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2930
1439 y Fo(\001)1343 1430 y Fr(\()p FG(\031)1420 1399
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2931
y Fl(\000)p Fq(1)1509 1439 y Fo(\001)1547 1430 y FG(a)34
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2932
b(\031)1669 1399 y Fl(\000)p Fq(1)1758 1439 y Fo(\001)1796
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2933
1430 y FG(b)p Fr(\))1859 1439 y Fo(\001)1897 1430 y FG(x)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2934
b FD(6)p Fr(=)g FG(\031)2090 1439 y Fo(\001)2128 1430
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2935
y FG(x)p FD(gg)191 b Fr(\()p FD(\003)2507 1399 y Fq(2)2545
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2936
1430 y Fr(\))681 1550 y(=)31 b FD(f)p FG(a)12 b FD(j)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2937
Fk(in\014nite)5 b FD(f)p FG(b)14 b FD(j)f Fr(\()p FG(a)f(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2938
Fr(\))1405 1559 y Fo(\001)1443 1550 y FG(\031)1490 1559
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2939
y Fo(\001)1528 1550 y FG(x)21 b FD(6)p Fr(=)g FG(\031)1721
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2940
1559 y Fo(\001)1759 1550 y FG(x)p FD(gg)1900 1507 y Fn(def)1907
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2941
1550 y Fr(=)29 b Fk(supp)5 b Fr(\()p FG(\031)2228 1559
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2942
y Fo(\001)2266 1550 y FG(x)p Fr(\))99 b(\()p FD(\003)2507
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2943
1518 y Fq(3)2545 1550 y Fr(\))0 1716 y FI(where)18 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2944
Fr(\()p FD(\003)278 1684 y Fq(1)315 1716 y Fr(\))f FI(holds)i(because)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2945
(the)h(sets)e FD(f)p FG(b)p FD(j)e FG(:)f(:)g(:)p FD(g)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2946
b FI(and)g FD(f)p FG(\031)1533 1725 y Fo(\001)1571 1716
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2947
y FG(b)p FD(j)13 b FG(:)h(:)f(:)p FD(g)18 b FI(ha)n(v)o(e)g(the)f(same)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2948
h(number)h(of)f(elements,)0 1811 y(and)h(where)g Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2949
FD(\003)411 1779 y Fq(2)448 1811 y Fr(\))f FI(holds)h(because)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2950
(permutations)h(preserv)o(e)f(by)g(Lem.)f(1)p FE(\(ii\))h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2951
FI(\(in\)equalities;)g Fr(\()p FD(\003)2624 1779 y Fq(3)2662
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2952
1811 y Fr(\))f FI(holds)0 1907 y(because)g FG(\031)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2953
FI(commutes)e(with)g(the)f(sw)o(apping,)i(that)e(is)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2954
FG(\031)s Fr(@\()p FG(c)12 b(d)p Fr(\))21 b FD(\030)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2955
Fr(\()p FG(\031)1918 1916 y Fo(\001)1956 1907 y FG(c)39
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2956
b(\031)2075 1916 y Fo(\001)2112 1907 y FG(d)p Fr(\)@)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2957
FG(\031)20 b FI(for)e(all)f(atoms)h FG(c)f FI(and)0 2002
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2958
y FG(d)p FI(.)k(F)o(or)h(the)g(second)h(and)f(third)h(property)h(we)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2959
(ha)n(v)o(e)g(by)h(Lem.)f(1)p FE(\(iv\))g FI(that)g FG(a)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2960
FD(2)g Fk(supp)5 b Fr(\()p FG(x)p Fr(\))21 b FI(if)h(and)h(only)g(if)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2961
2098 y FG(\031)47 2107 y Fo(\001)85 2098 y FG(a)e FD(2)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2962
FG(\031)266 2107 y Fo(\001)304 2098 y Fk(supp)6 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2963
FG(x)p Fr(\))p FI(;)19 b(the)o(y)h(then)h(follo)n(w)f(from)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2964
FE(\(i\))g FI(and)f(Lem.)g(1)p FE(\(i\))p FI(.)80 b FD(u)-51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2965
b(t)125 2270 y FI(Another)17 b(important)h(property)h(of)d(freshness)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2966
(is)f(the)h(f)o(act)f(that)h(if)f(tw)o(o)h(atoms)g(are)f(fresh)h(w)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2967
b(.r)l(.t.)15 b(an)i(el-)0 2366 y(ement)i(of)g(a)g(permutation)h(type)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2968
(then)f(the)g(permutation)h(sw)o(apping)g(those)f(tw)o(o)g(atoms)g(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2969
(this)f(element)0 2461 y(has)i(no)g(ef)n(fect:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2970
0 2634 a FJ(Lemma)f(4)p 0 TeXcolorgray 42 w FE(F)-8 b(or)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2971
b(all)g FG(x)f FE(of)h(permutation)i(type)o(,)e(if)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2972
FG(a)i Fr(#)g FG(x)f FE(and)h FG(b)g Fr(#)g FG(x)f FE(then)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2973
Fr(\()p FG(a)12 b(b)p Fr(\))2228 2643 y Fo(\001)2266
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2974
2634 y FG(x)21 b Fr(=)g FG(x)p FE(.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2975
0 2858 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)30 b(case)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2976
FG(a)39 b Fr(=)g FG(b)30 b FI(is)g(clear)g(by)g(Def.)g(2)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2977
FE(\(i,iii\))g FI(and)h(the)f(f)o(act)h(that)f Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2978
FG(a)12 b(a)p Fr(\))39 b FD(\030)h Fr([])p FI(.)30 b(In)h(the)f(other)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2979
2953 y(case,)h(the)g(assumption)i(implies)f(that)f(both)i(sets)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2980
FD(f)p FG(c)14 b FD(j)f Fr(\()p FG(c)g(a)p Fr(\))1705
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2981
2962 y Fo(\001)1742 2953 y FG(x)42 b FD(6)p Fr(=)g FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2982
FD(g)31 b FI(and)h FD(f)p FG(c)14 b FD(j)f Fr(\()p FG(c)g(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2983
Fr(\))2446 2962 y Fo(\001)2484 2953 y FG(x)41 b FD(6)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2984
Fr(=)h FG(x)p FD(g)32 b FI(are)0 3049 y(\002nite,)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2985
b(and)h(therefore)h(also)e(their)h(union)h(must)f(be)g(\002nite.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2986
(Hence)g(the)h(corresponding)i(co-set,)e(that)f(is)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2987
3144 y FD(f)p FG(c)13 b FD(j)h Fr(\()p FG(c)e(a)p Fr(\))265
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2988
3153 y Fo(\001)303 3144 y FG(x)21 b Fr(=)g FG(x)8 b FD(^)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2989
Fr(\()p FG(c)k(b)p Fr(\))698 3153 y Fo(\001)736 3144
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2990
y FG(x)21 b Fr(=)g FG(x)p FD(g)p FI(,)16 b(is)h(in\002nite)h(\(recall)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2991
(that)h(there)f(are)h(in\002nitely)g(man)o(y)g(atoms\).)f(If)h(one)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2992
3239 y(picks)f(from)h(this)f(co-set)g(one)h(element,)f(say)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2993
FG(c)p FI(,)g(which)h(can)f(be)g(assumed)h(to)f(be)g(dif)n(ferent)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2994
(from)f FG(a)f FI(and)g FG(b)p FI(,)0 3335 y(one)k(has)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2995
Fr(\()p FG(c)13 b(a)p Fr(\))407 3344 y Fo(\001)444 3335
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2996
y FG(x)23 b Fr(=)f FG(x)e FI(and)h Fr(\()p FG(c)13 b(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2997
Fr(\))930 3344 y Fo(\001)968 3335 y FG(x)22 b Fr(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2998
FG(x)p FI(.)e(Thus)h Fr(\()p FG(c)13 b(a)p Fr(\))1525
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  2999
3344 y Fo(\001)1563 3335 y Fr(\()p FG(c)g(b)p Fr(\))1702
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3000
3344 y Fo(\001)1740 3335 y Fr(\()p FG(c)g(a)p Fr(\))1887
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3001
3344 y Fo(\001)1924 3335 y FG(x)23 b Fr(=)f FG(x)p FI(.)e(Under)h(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3002
(assumptions)0 3430 y FG(a)26 b FD(6)p Fr(=)g FG(c)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3003
FI(,)c FG(b)27 b FD(6)p Fr(=)f FG(c)c(a)k FD(6)p Fr(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3004
FG(b)p FI(,)d(the)f(permutations)j Fr(\()p FG(c)13 b(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3005
Fr(\)\()p FG(c)f(b)p Fr(\)\()p FG(c)h(a)p Fr(\))22 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3006
FI(and)h Fr(\()p FG(a)13 b(b)p Fr(\))22 b FI(are)h(equal.)g(Therefore)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3007
(one)f(can)0 3526 y(conclude)e(with)f Fr(\()p FG(a)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3008
b(b)p Fr(\))611 3535 y Fo(\001)649 3526 y FG(x)21 b Fr(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3009
FG(x)e FI(by)h(using)h(Def.)f(2)p FE(\(ii,iii\))p FI(.)79
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3010
b FD(u)-51 b(t)125 3698 y FI(A)18 b(further)i(restriction)g(on)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3011
(permutation)i(types)e(\002lters)f(out)i(all)e(those)h(that)g(contain)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3012
(elements)f(with)0 3794 y(in\002nite)h(support:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3013
0 3967 a FJ(De\002nition)g(4)p 0 TeXcolorgray 42 w(\(Finitely)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3014
(Supported)g(P)n(ermutation)h(T)-6 b(ypes\))21 b FE(A)g(permutation)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3015
(type)f FG(\013)g FE(is)f(said)h(to)g(be)0 4062 y FI(\002nitely)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3016
(supported)p FE(,)i(written)d(fs)890 4083 y Fp(\013)937
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3017
4062 y FE(,)g(if)h(e)o(very)f(element)h(of)g FG(\013)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3018
FE(has)h(\002nite)f(support.)0 4235 y FI(W)-6 b(e)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3019
b(shall)g(write)g Fs(finite)q Fr(\()p Fk(supp)5 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3020
FG(x)p Fr(\)\))21 b FI(to)i(indicate)f(that)g(an)g(element)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3021
FG(x)e FI(from)i(a)f(permutation)i(type)f(has)0 4330
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3022
y(\002nite)d(support.)h(The)f(follo)n(wing)i(holds:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3023
0 TeXcolorgray 0 4504 a FJ(Lemma)d(5)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3024
42 w FE(Given)i(fs)620 4524 y Fp(\013)667 4504 y FE(,)f(fs)760
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3025
4524 y Fp(\013)803 4532 y Fj(1)860 4504 y FE(and)h(fs)1051
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3026
4524 y Fp(\013)1094 4532 y Fj(2)1130 4504 y FE(,)f(the)h(types)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3027
Fs(name)q FE(,)f Fs(unit)q FE(,)h FG(\013)i Fs(list)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3028
FE(,)d FG(\013)j Fs(option)q FE(,)e FG(\013)2524 4516
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3029
y Fq(1)2579 4504 y FD(\002)d FG(\013)2705 4516 y Fq(2)2763
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3030
4504 y FE(and)0 4599 y Fs(bool)k FE(ar)m(e)f(also)g(\002nitely)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3031
(supported)h(permutation)h(types.)p 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3032
4823 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(Routine)e(proofs)h(using)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3033
(the)f(calculations)g(gi)n(v)o(en)h(in)f(\(4\).)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3034
0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3035
%%Page: 7 7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3036
TeXDict begin 7 6 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3037
71 2881 4 v 2848 17 a FF(7)p 0 TeXcolorgray 125 228 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3038
FI(The)27 b(crucial)h(property)h(entailed)f(by)g(Def.)f(4)g(is)g(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3039
(if)g(an)h(element,)f(say)h FG(x)p FI(,)e(of)i(a)f(permutation)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3040
324 y(type)20 b(has)f(\002nite)f(support,)j(then)e(there)h(must)f(be)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3041
(a)g(fresh)g(atom)h(for)g FG(x)p FI(,)e(since)h(there)g(are)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3042
(in\002nitely)h(man)o(y)0 419 y(atoms.)g(Therefore)h(we)f(ha)n(v)o(e:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3043
0 TeXcolorgray 0 587 a FJ(Pr)o(oposition)g(1)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3044
42 w FE(If)j FG(x)e FE(of)i(permutation)h(type)f(has)f(\002nite)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3045
(support,)g(then)h(ther)m(e)e(e)n(xists)g(an)h(atom)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3046
FG(a)f FE(with)0 682 y FG(a)f Fr(#)g FG(x)p FE(.)0 850
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3047
y FI(As)d(a)g(result,)h(whene)n(v)o(er)h(we)e(need)h(to)g(ha)n(v)o(e)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3048
(a)g(fresh)g(atom)g(for)g(an)g FG(x)f FI(of)h(permutation)i(type,)e(we)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3049
f(ha)n(v)o(e)i(to)0 945 y(mak)o(e)j(sure)f(that)h FG(x)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3050
FI(has)h(\002nite)h(support.)g(This)f(task)g(can)h(be)f(automatically)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3051
(performed)g(by)f(Isabelle')l(s)0 1041 y(axiomatic)h(type-classes)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3052
(for)h(most)f(constructions)i(occurring)g(in)e(informal)i(proofs:)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3053
(Isabelle)f(has)h(to)0 1136 y(just)c(e)o(xamine)g(the)h(types)f(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3054
(the)g(construction)i(using)f(Lem.)f(5.)125 1232 y(Prop)i(1)g(also)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3055
(implies)g(that)g(for)g(e)n(v)o(ery)h(\002nitely)f(supported)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3056
(function)f(a)f(fresh)g(atom)g(e)o(xists.)f(Ho)n(w-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3057
1327 y(e)n(v)o(er)m(,)e(to)g(determine)h(whether)g(a)e(function)j(has)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3058
(\002nite)g(support)h(is)e(more)i(subtle,)f(because)g(not)h(all)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3059
(func-)0 1422 y(tions)25 b(are)g(\002nitely)g(supported,)i(e)n(v)o(en)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3060
(if)g(their)g(domain)h(and)g(codomain)h(are)e(\002nitely)g(supported)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3061
(per)n(-)0 1518 y(mutation)21 b(types)g(\(see)f([27,)h(Example)g(3.4,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3062
(P)o(age)f(470]\).)h(Introducing)i(a)d(\002nitely)h(supported)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3063
(function)0 1613 y(space)d(and)g(blending)i(it)d(well)g(into)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3064
(Isabelle')l(s)g(reasoning)h(infrastructure)g(seems)f(impractical)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3065
(for)g(rea-)0 1709 y(sons)31 b(ho)n(w)g(Isabelle)g(is)f(implemented.)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3066
(So)f(for)g(functions)h(one)g(has)e(to)h(\223manually\224)h(ensure)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3067
(\002nite)0 1804 y(support,)23 b(which)g(we)f(shall)h(do)g(in)f(Sec.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3068
(5)g(by)h(introducing)i(a)d(weak)o(er)h(notion)h(that)e(approximates)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3069
(the)0 1900 y(support)d(of)g(an)f(element)g(from)h(\223abo)o(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3070
(e\224.)0 2180 y FJ(3)28 b(Constructing)20 b(a)g(Repr)o(esentation)g(f)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3071
n(or)h(Alpha-Equated)f(Lambda-T)-7 b(erms)0 2368 y FI(In)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3072
b(this)f(section)h(we)f(de\002ne)h(an)g(inducti)n(v)o(e)g(set)f(that)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3073
(is)f(bijecti)n(v)o(e)h(with)f(the)h(set)f(of)g(alpha-equated)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3074
2464 y(lambda-terms.)25 b(In)f(doing)h(so)f(our)g(goal)g(is)f(to)h(gi)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3075
(v)o(e)g(in)g(Isabelle/HOL)g(a)f(formal)i(implementation)g(of)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3076
2559 y(the)j(usual)g(con)m(v)o(ention)i(\(from)g(Barendre)o(gt)f([5,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3077
(P)o(age)g(26]\))h(emplo)o(yed)h(e)o(xplicitly)e(or)h(implicitly)g(in)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3078
2655 y(man)o(y)21 b(informal)g(proofs:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3079
0 TeXcolorgray 290 2811 a(C)t Fe(O)t(N)t(V)t(E)t(N)t(T)t(I)t(O)t(N)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3080
FI(.)28 b(T)-6 b(erms)34 b(that)f(are)h FG(\013)p FI(-congruent)i(are)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3081
(identi\002ed.)h(So)f(no)n(w)h(we)288 2906 y(write)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3082
b FG(\025x:x)g FD(\021)h FG(\025y)s(:y)s FI(,)e(etcetera.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3083
3060 y(W)-6 b(e)19 b(be)o(gin)h(with)g(de\002ning)h(\223ra)o(w\224)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3084
(lambda-terms.)i(The)o(y)f(can)g(be)g(de\002ned)g(in)g(Isabelle/HOL)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3085
(with)0 3156 y(the)g(datatype)h(declaration:)844 3317
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3086
y Fs(datatype)i(lam)i Fr(=)g Fs(Var)43 b Fr(")p Fs(name)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3087
Fr(")1341 3412 y FD(j)h Fs(App)f Fr(")p Fs(lam)31 b FD(\002)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3088
Fs(lam)q Fr(")1341 3508 y FD(j)44 b Fs(Lam)f Fr(")p Fs(name)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3089
b FD(\002)d Fs(lam)q Fr(")2789 3412 y FI(\(5\))0 3667
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3090
y(Gi)n(v)o(en)20 b(the)g(follo)n(wing)i(permutation)g(operation)f(for)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3091
(lambda-terms)1033 3852 y FG(\031)1080 3861 y Fo(\001)1118
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3092
3852 y Fs(Var)q Fr(\()p FG(a)p Fr(\))1361 3809 y Fn(def)1368
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3093
3852 y Fr(=)32 b Fs(Var)q Fr(\()p FG(\031)1655 3861 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3094
Fo(\001)1692 3852 y FG(a)p Fr(\))910 3971 y FG(\031)957
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3095
3980 y Fo(\001)995 3971 y Fs(App)p Fr(\()p FG(t)1170
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3096
3983 y Fq(1)1207 3971 y FG(;)13 b(t)1269 3983 y Fq(2)1306
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3097
3971 y Fr(\))1361 3928 y Fn(def)1368 3971 y Fr(=)32 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3098
Fs(App)q Fr(\()p FG(\031)1655 3980 y Fo(\001)1692 3971
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3099
y FG(t)1720 3983 y Fq(1)1757 3971 y FG(;)14 b(\031)1839
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3100
3980 y Fo(\001)1876 3971 y FG(t)1904 3983 y Fq(2)1941
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3101
3971 y Fr(\))971 4090 y FG(\031)1018 4099 y Fo(\001)1056
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3102
4090 y Fs(Lam)q Fr(\()p FG(a;)e(t)p Fr(\))1361 4048 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3103
Fn(def)1368 4090 y Fr(=)32 b Fs(Lam)q Fr(\()p FG(\031)1655
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3104
4099 y Fo(\001)1692 4090 y FG(a;)13 b(\031)1814 4099
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3105
y Fo(\001)1852 4090 y FG(t)p Fr(\))2789 3959 y FI(\(6\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3106
4250 y(the)18 b(datatype)h Fs(lam)g FI(is)f(a)g(permutation)i(type)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3107
(\(routine)i(proof)g(by)f(structural)f(induction\).)i(As)e(mentioned)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3108
4345 y(earlier)m(,)25 b(\002xing)h(the)g(permutation)h(operation)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3109
(also)d(\002x)o(es)g(the)g(notion)i(of)f(support,)h(which)f(in)f(case)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3110
(of)0 4441 y Fs(lam)e FI(coincides)g(with)f(the)g(set)g(of)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3111
FE(all)f FI(atoms)g(occurring)i(in)f(a)f(lambda-term.)i(Hence)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3112
Fs(lam)h FI(is)e(a)h(\002nitely)0 4536 y(supported)g(permutation)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3113
(type.)125 4632 y(The)k(notion)i(of)f(alpha-equi)n(v)n(alence)h(for)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3114
Fs(lam)g FI(is)f(usually)h(de\002ned)g(as)f(the)g(least)g(congruence)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3115
(of)0 4727 y(the)e(equation)h Fs(Lam)q Fr(\()p FG(a;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3116
b(t)p Fr(\))31 b(=)790 4735 y Fp(\013)869 4727 y Fs(Lam)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3117
Fr(\()p FG(b;)13 b(t)p Fr([)p FG(a)31 b Fr(:=)h FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3118
Fr(]\))25 b FI(in)m(v)n(olving)j(a)e(renaming)h(substitution)g(and)f(a)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3119
g(side-)0 4823 y(condition,)k(namely)f(that)g FG(b)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3120
FI(does)h(not)g(occur)h(freely)f(in)f FG(t)p FI(.)g(In)h(the)g(nominal)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3121
h(logic)f(w)o(ork,)g(ho)n(we)n(v)o(er)m(,)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3122
0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3123
%%Page: 8 8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3124
TeXDict begin 8 7 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3125
71 2881 4 v 0 17 a FF(8)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3126
0 149 V 0 1074 4 926 v 581 244 491 4 v 581 310 a Ft(Var)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3127
Fy(\()p FA(a)p Fy(\))21 b Fz(\031)f Ft(Var)q Fy(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3128
FA(a)p Fy(\))1113 256 y Fz(\031)1168 264 y Fd(Var)1498
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3129
214 y FA(t)1523 223 y Fx(1)1578 214 y Fz(\031)g FA(s)1686
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3130
223 y Fx(1)1786 214 y FA(t)1811 223 y Fx(2)1866 214 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3131
Fz(\031)f FA(s)1973 223 y Fx(2)p 1387 244 733 4 v 1387
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3132
310 a Ft(App)p Fy(\()p FA(t)1544 319 y Fx(1)1580 310
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3133
y FA(;)11 b(t)1636 319 y Fx(2)1671 310 y Fy(\))20 b Fz(\031)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3134
Ft(App)q Fy(\()p FA(s)1959 319 y Fx(1)1993 310 y FA(;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3135
b(s)2058 319 y Fx(2)2092 310 y Fy(\))2161 251 y Fz(\031)2216
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3136
259 y Fd(App)655 446 y FA(t)20 b Fz(\031)g FA(s)p 426
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3137
467 612 4 v 426 533 a Ft(Lam)q Fy(\()p FA(a;)12 b(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3138
Fy(\))20 b Fz(\031)g Ft(Lam)q Fy(\()p FA(a;)12 b(s)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3139
Fy(\))1079 479 y Fz(\031)1134 488 y Fd(Lam)q Fx(1)1382
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3140
430 y FA(a)20 b Fz(6)p Fy(=)g FA(b)59 b(t)20 b Fz(\031)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3141
Fy(\()p FA(a)13 b(b)p Fy(\))1856 439 y Fo(\001)1895 430
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3142
y FA(s)58 b(a)8 b Fz(62)g Ft(fv)q Fy(\()p FA(s)p Fy(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3143
1382 467 863 4 v 1511 533 a Ft(Lam)q Fy(\()p FA(a;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3144
b(t)p Fy(\))20 b Fz(\031)g Ft(Lam)p Fy(\()p FA(b;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3145
b(s)p Fy(\))2286 479 y Fz(\031)2341 488 y Fd(Lam)q Fx(2)781
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3146
704 y FA(a)21 b Fz(6)p Fy(=)e FA(b)p 654 737 417 4 v
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3147
654 803 a(a)8 b Fz(62)g Ft(fv)q Fy(\()p Ft(Var)q Fy(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3148
FA(b)p Fy(\)\))1112 753 y Ft(fv)1183 761 y Fd(Var)1401
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3149
700 y FA(a)g Fz(62)g Ft(fv)q Fy(\()p FA(t)1624 709 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3150
Fx(1)1659 700 y Fy(\))59 b FA(a)8 b Fz(62)g Ft(fv)q Fy(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3151
FA(t)1968 709 y Fx(2)2004 700 y Fy(\))p 1401 737 631
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3152
4 v 1447 803 a FA(a)g Fz(62)g Ft(fv)q Fy(\()p Ft(App)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3153
Fy(\()p FA(t)1803 812 y Fx(1)1839 803 y FA(;)j(t)1895
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3154
812 y Fx(2)1930 803 y Fy(\)\))2073 748 y Ft(fv)2143 756
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3155
y Fd(App)p 670 960 481 4 v 670 1026 a FA(a)d Fz(62)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3156
Ft(fv)q Fy(\()p Ft(Lam)q Fy(\()p FA(a;)k(t)p Fy(\)\))1192
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3157
976 y Ft(fv)1263 985 y Fd(Lam)q Fx(1)1512 923 y FA(a)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3158
b Fz(6)p Fy(=)g FA(b)59 b(a)8 b Fz(62)g Ft(fv)q Fy(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3159
FA(t)p Fy(\))p 1511 960 474 4 v 1511 1026 a FA(a)g Fz(62)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3160
Ft(fv)q Fy(\()p Ft(Lam)r Fy(\()p FA(b;)k(t)p Fy(\)\))2026
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3161
976 y Ft(fv)2097 985 y Fd(Lam)q Fx(2)p 2878 1074 4 926
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3162
v 0 1077 2881 4 v 0 1194 a FB(Fig)o(.)k(2)34 b FF(Inducti)n(v)o(e)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3163
b(de\002nitions)f(for)e Fy(\()p Fz(\000)p Fy(\))j Fz(\031)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3164
Fy(\()p Fz(\000)p Fy(\))d FF(and)h Fy(\()p Fz(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3165
Fy(\))8 b Fz(62)g Ft(fv)q Fy(\()p Fz(\000)p Fy(\))p FF(.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3166
0 TeXcolorgray 0 1467 a FI(atoms)20 b(are)g(manipulated)h(not)f(by)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3167
(renaming)g(substitutions,)f(b)n(ut)h(by)f(permutations.)h(This)f(has)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3168
(a)f(num-)0 1563 y(ber)27 b(of)g(technical)g(adv)n(antages)g(\(compare)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3169
h(the)f(technical)g(subtleties)f(of)g(Do)n(wek)h FE(et)f(al)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3170
FI([9])g(with)f(the)0 1658 y(approach)e(in)f(Urban)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3171
FE(et)f(al)g FI([35]\),)i(because)f(permutations)h(are)e(bijections)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3172
(on)g(atoms,)f(while)h(renam-)0 1753 y(ing)d(substitution)h(might)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3173
(identify)g(some)f(atoms.)g(As)f(a)g(consequence)j(of)e(the)g(bijecti)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3174
(vity)-5 b(,)20 b(a)g(renaming)0 1849 y(based)27 b(on)g(permutations)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3175
(preserv)o(es)f(the)g(binding)h(structure.)f(In)g(contrast,)g(applying)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3176
i(na)n(\250)-24 b(\021v)o(ely)27 b(a)f(re-)0 1944 y(naming)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3177
b(substitution)g(one)g(might)g(identify)g(an)f(atom)g(that)g(is)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3178
(bound)i(with)e(one)g(that)g(is)f(free.)125 2044 y(Using)i(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3179
(permutation)i(operation)g(gi)n(v)o(en)f(in)g(\(6\),)f(alpha-equi)n(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3180
(alence)j(for)e Fs(lam)g FI(can)f(be)h(de\002ned)0 2139
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3181
y(in)28 b(a)g(simple)g(and)g(syntax)h(directed)g(f)o(ashion)g(using)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3182
(the)g(relations)g Fr(\()p FD(\000)p Fr(\))23 b FD(\031)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3183
Fr(\()p FD(\000)p Fr(\))27 b FI(and)i Fr(\()p FD(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3184
Fr(\))35 b FD(62)h Fs(fv)p Fr(\()p FD(\000)p Fr(\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3185
2235 y FI(whose)25 b(rules)g(are)g(gi)n(v)o(en)h(in)f(Fig.)f(2.)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3186
(Because)f(of)i(the)f(\223asymmetric\224)g(rule)h FD(\031)2210
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3187
2247 y Fc(Lam)o Fq(2)2339 2235 y FI(,)f(it)f(might)i(be)f(sur)n(-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3188
2330 y(prising,)c(b)n(ut:)p 0 TeXcolorgray 0 2498 a FJ(Pr)o(oposition)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3189
(2)p 0 TeXcolorgray 42 w FE(The)g(r)m(elation)h FD(\031)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3190
FE(is)h(an)g(equivalence)i(r)m(elation.)0 2663 y FI(The)g(proof)h(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3191
(this)f(proposition)j(is)d(omitted:)h(it)f(can)h(be)g(found)h(in)e(a)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3192
(more)g(general)h(setting)e(in)h(Urban)0 2759 y FE(et)j(al)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3193
FI([35].)h(\(W)-6 b(e)25 b(also)g(omit)h(a)f(proof)h(sho)n(wing)h(that)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3194
e FD(\031)f FI(and)i Fr(=)1792 2767 y Fp(\013)1864 2759
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3195
y FI(coincide\).)g(In)g(the)f(follo)n(wing,)h Fr([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3196
FG(t)p Fr(])2833 2767 y Fp(\013)0 2876 y FI(will)19 b(stand)g(for)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3197
(the)f(alpha-equi)n(v)n(alence)j(class)c(of)i(the)f(lambda-term)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3198
FG(t)p FI(,)d(that)h(is)g Fr([)p FG(t)p Fr(])2281 2884
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3199
y Fp(\013)2350 2834 y Fn(def)2357 2876 y Fr(=)29 b FD(f)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3200
b FG(t)2533 2845 y Fl(0)2578 2876 y FD(j)g FG(t)2648
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3201
2845 y Fl(0)2693 2876 y FD(\031)g FG(t)g FD(g)p FI(,)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3202
2972 y(and)g Fs(lam)251 2990 y Fp(=)p Fl(\031)361 2972
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3203
y FI(for)g(the)f(set)f(of)i(lambda-terms)g(quotient)g(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3204
FD(\031)p FI(.)125 3071 y(Ne)o(xt)e(we)g(will)g(de\002ne)h(a)f(set)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3205
Fs(phi)p FI(;)h(inside)f(this)g(set)g(we)g(will)g(subsequently)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3206
(identify)g(\(inducti)n(v)o(ely\))0 3167 y(a)29 b(subset,)f(called)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3207
Fs(lam)644 3175 y Fp(\013)691 3167 y FI(,)g(that)f(is)h(in)g(bijection)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3208
g(with)g Fs(lam)1649 3184 y Fp(=)p Fl(\031)1739 3167
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3209
y FI(.)f(Since)h(Isabelle/HOL)g(supports)h(sub-)0 3262
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3210
y(set)h(types,)g(we)g(can)h(later)f(turn)i Fs(lam)1047
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3211
3270 y Fp(\013)1126 3262 y FI(into)f(a)f(ne)n(w)h(type.)f(In)h(order)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3212
(to)e(obtain)i(the)e(bijection,)h Fs(phi)0 3357 y FI(needs)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3213
b(to)g(be)h(de\002ned)g(so)f(that)g(it)f(contains)i(elements)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3214
(corresponding,)j(roughly)f(speaking,)f(to)f(alpha-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3215
3453 y(equated)c(v)n(ariables,)f(applications)h(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3216
(lambda-abstractions\227that)i(is)d(to)h Fr([)p Fs(Var)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3217
Fr(\()p FG(a)p Fr(\)])2366 3461 y Fp(\013)2413 3453 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3218
FI(,)f Fr([)p Fs(App)q Fr(\()p FG(t)2646 3465 y Fq(1)2683
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3219
3453 y FG(;)d(t)2745 3465 y Fq(2)2782 3453 y Fr(\)])2833
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3220
3461 y Fp(\013)0 3548 y FI(and)20 b Fr([)p Fs(Lam)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3221
FG(a;)12 b(t)p Fr(\)])455 3556 y Fp(\013)502 3548 y FI(.)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3222
b(Whereas)g(this)g(is)f(straightforw)o(ard)j(for)f(v)n(ariables)f(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3223
(applications,)f(the)g(lambda-)0 3644 y(abstractions)29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3224
b(are)f(non-tri)n(vial:)i(for)g(them)e(we)g(shall)h(use)f(some)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3225
FE(speci\002c)f FI(\223partial\224)h(functions)h(from)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3226
3739 y Fs(name)19 b FI(to)g Fs(phi)g FI(\(by)g(\223partial\224)g(we)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3227
(mean)h(here)g(functions)g(that)g(return)g Fk(None)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3228
b FI(for)19 b(unde\002ned)h(v)n(alues)f(and)0 3835 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3229
Fk(Some)6 b Fr(\()p FG(x)p Fr(\))19 b FI(for)i(de\002ned)g(ones)817
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3230
3803 y Fv(4)849 3835 y FI(\).)f(W)-6 b(e)19 b(therefore)j(de\002ne)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3231
Fs(phi)h FI(as)e(the)h(Isabelle/HOL)g(datatype:)705 4022
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3232
y Fs(datatype)j(phi)j Fr(=)e Fs(Am)44 b Fr(")p Fs(name)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3233
Fr(")1202 4117 y FD(j)g Fs(Pr)g Fr(")p Fs(phi)30 b FD(\002)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3234
Fs(phi)p Fr(")1202 4213 y FD(j)44 b Fs(Se)g Fr(")p Fs(name)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3235
b FD(\))f Fr(\()p Fs(phi)h(option)p Fr(\)")2789 4117
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3236
y FI(\(7\))0 4400 y(where)27 b Fs(Am)g FI(will)e(be)i(used)g(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3237
(encode)i(atoms;)e Fs(Pr)h FI(to)g(encode)g(applications,)g(which)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3238
(are)g(b)n(uilt)g(up)g(by)0 4496 y(a)g(pair)g(of)h(terms;)f(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3239
Fs(Se)f FI(to)g(encode)h(an)g(alpha-equi)n(v)n(alence)h(class)d(\(that)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3240
i(is)e(a)h(set\))g(of)g(terms.)g(The)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3241
0 4581 898 4 v 62 4646 a Fu(4)125 4669 y FF(In)c(Urban)i(and)f(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3242
b(asson)23 b([36])h(a)g(special)i(error)o(-element)g(w)o(as)e(used)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3243
(to)h(stand)f(for)g(unde\002nedness.)h(Ho)n(we)n(v)o(er)m(,)h(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3244
4746 y(approach)18 b(based)f(on)f(the)h(option-type)i(turned)f(out)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3245
(to)h(be)f(more)g(con)m(v)o(enient)k(for)c(b)o(uilding)i(a)e(nominal)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3246
(datatype)g(package)0 4823 y(in)f(Isabelle/HOL.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3247
0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3248
%%Page: 9 9
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3249
TeXDict begin 9 8 bop 0 TeXcolorgray 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3250
71 2881 4 v 2848 17 a FF(9)p 0 TeXcolorgray 0 228 a FI(permutation)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3251
b(operation)g(for)e Fs(phi)h FI(is)e(de\002ned)i(o)o(v)o(er)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3252
(structure)h(as)f(follo)n(ws:)1072 477 y FG(\031)1119
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3253
486 y Fo(\001)1157 477 y Fs(Am)q Fr(\()p FG(a)p Fr(\))1361
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3254
434 y Fn(def)1368 477 y Fr(=)32 b Fs(Am)p Fr(\()p FG(\031)1615
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3255
486 y Fo(\001)1653 477 y FG(a)p Fr(\))949 620 y FG(\031)996
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3256
629 y Fo(\001)1034 620 y Fs(Pr)p Fr(\()p FG(t)1170 632
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3257
y Fq(1)1207 620 y FG(;)13 b(t)1269 632 y Fq(2)1306 620
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3258
y Fr(\))1361 577 y Fn(def)1368 620 y Fr(=)32 b Fs(Pr)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3259
Fr(\()p FG(\031)1615 629 y Fo(\001)1653 620 y FG(t)1681
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3260
632 y Fq(1)1718 620 y FG(;)13 b(\031)1799 629 y Fo(\001)1837
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3261
620 y FG(t)1865 632 y Fq(2)1902 620 y Fr(\))1040 763
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3262
y FG(\031)1087 772 y Fo(\001)1125 763 y Fs(Se)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3263
Fk(fn)5 b Fr(\))1361 720 y Fn(def)1368 763 y Fr(=)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3264
b Fs(Se)p Fr(\()p FG(\031)1615 772 y Fo(\001)1653 763
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3265
y Fk(fn)6 b Fr(\))2789 607 y FI(\(8\))0 996 y(using)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3266
b(in)f(the)g(last)g(clause)g(the)g(permutations)i(operation)g(for)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3267
(functions)g(gi)n(v)o(en)g(in)g(\(2\).)f(It)g(is)g(not)h(hard)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3268
1092 y(to)c(sho)n(w)g(that)g Fs(phi)h FI(is)e(a)h(permutation)i(type)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3269
(\(routine)i(induction)f(o)o(v)o(er)g(the)f(structure)h(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3270
Fs(phi)q FI(-terms\).)125 1197 y(W)-6 b(e)16 b(mentioned)j(earlier)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3271
(that)h(we)g(are)f(not)i(going)g(to)f(use)f(all)h(functions)h(from)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3272
Fs(name)h FI(to)e Fs(phi)22 b(option)0 1293 y FI(for)34
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3273
b(representing)g(alpha-equated)h(lambda-abstractions,)g(b)n(ut)f(some)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3274
(speci\002c)g(functions.)2627 1261 y Fv(5)2693 1293 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3275
FI(These)0 1388 y(functions)21 b(are)f(of)h(the)f(form:)519
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3276
1629 y Fr([)p FG(a)p Fr(])p FG(:t)672 1586 y Fn(def)680
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3277
1629 y Fr(=)28 b FG(\025b:)13 b Fs(if)22 b FG(a)f Fr(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3278
FG(b)g Fs(then)h Fk(Some)6 b Fr(\()p FG(t)p Fr(\))880
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3279
1757 y Fs(else)22 b(if)g FG(b)f Fr(#)g FG(t)g Fs(then)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3280
Fk(Some)6 b Fr(\(\()p FG(a)12 b(b)p Fr(\))1887 1766 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3281
Fo(\001)1925 1757 y FG(t)p Fr(\))21 b Fs(else)h Fk(None)2789
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3282
1684 y FI(\(9\))0 2005 y(and)g(we)f(will)g(refer)h(to)f(them)h(as)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3283
FE(abstr)o(action)h(functions)p FI(;)g(their)g(parameters)g(are)f(an)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3284
(atom)g(and)g(a)f Fs(phi)q FI(-)0 2100 y(term.)125 2206
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3285
y(W)-6 b(e)20 b(claim)h(that)f(these)h(functions)g(represent)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3286
(alpha-equi)n(v)n(alence)h(classes.)c(T)-6 b(o)21 b(see)f(this,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3287
(consider)0 2302 y Fr([)p Fs(Lam)q Fr(\()p FG(a;)13 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3288
Fs(App)p Fr(\()p Fs(Var)q Fr(\()p FG(a)p Fr(\))p FG(;)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3289
Fs(Var)q Fr(\()p FG(b)p Fr(\)\)\)])935 2310 y Fp(\013)1015
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3290
2302 y FI(and)34 b(the)f(corresponding)j Fs(phi)p FI(-term)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3291
Fs(Se)p Fr(\([)p FG(a)p Fr(])p FG(:)p Fs(Pr)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3292
Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 b Fs(Am)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3293
FG(b)p Fr(\)\)\))p FI(.)0 2397 y(The)34 b(graph)h(of)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3294
(abstraction)g(function)h(is)e(as)g(follo)n(ws:)h(the)g(atom)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3295
FG(a)f FI(is)g(mapped)i(to)f(the)f(term)0 2492 y Fk(Some)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3296
b Fr(\()p Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p FG(a)p Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3297
FG(;)12 b Fs(Am)q Fr(\()p FG(b)p Fr(\)\)\))i FI(since)i(the)g(\002rst)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3298
Fs(if)q FI(-condition)i(is)e(true.)h(F)o(or)g FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3299
FI(,)f(the)h(\002rst)f Fs(if)q FI(-condition)j(ob)o(vi-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3300
2588 y(ously)f(f)o(ails,)f(b)n(ut)i(also)f(the)f(second)i(one)f(f)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3301
(ails,)f(because)h Fk(supp)6 b Fr(\()p Fs(Pr)p Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3302
Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12 b Fs(Am)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3303
FG(b)p Fr(\)\)\))20 b(=)h FD(f)p FG(a;)14 b(b)p FD(g)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3304
FI(;)i(therefore)0 2683 y FG(b)i FI(is)g(mapped)i(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3305
Fk(None)6 b FI(.)18 b(F)o(or)h(all)f(other)i(atoms)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3306
FG(c)p FI(,)h(we)f(ha)n(v)o(e)i FG(a)h FD(6)p Fr(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3307
FG(c)d FI(and)i FG(c)h Fr(#)g Fs(Pr)q Fr(\()p Fs(Am)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3308
Fr(\()p FG(a)p Fr(\))p FG(;)13 b Fs(Am)p Fr(\()p FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3309
Fr(\)\))p FI(;)18 b(conse-)0 2779 y(quently)25 b(these)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3310
FG(c)p FI(')l(s)g(are)h(mapped)h(by)f(the)f(abstraction)i(function)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3311
(to)f Fk(Some)5 b Fr(\(\()p FG(a)13 b(c)p Fr(\))2271
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3312
2788 y Fo(\001)2309 2779 y Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3313
FG(a)p Fr(\))p FG(;)f Fs(Am)q Fr(\()p FG(b)p Fr(\)\)\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3314
FI(,)0 2874 y(which)35 b(is)f Fk(Some)6 b Fr(\()p Fs(Pr)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3315
Fr(\()p Fs(Am)p Fr(\()p FG(c)p Fr(\))p FG(;)13 b Fs(Am)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3316
Fr(\()p FG(b)p Fr(\)\)\))p FI(.)33 b(Clearly)-5 b(,)34
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3317
b(the)g(abstraction)h(function)h(returns)f Fk(None)41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3318
b FI(when-)0 2970 y(e)n(v)o(er)23 b(the)f(corresponding)j(lambda-term)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3319
(is)e FE(not)i FI(in)e(the)h(alpha-equi)n(v)n(alence)h(class\227in)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3320
(this)g(e)o(xample)0 3065 y(the)f(lambda-term)h Fs(Lam)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3321
Fr(\()p FG(b;)13 b Fs(App)p Fr(\()p Fs(Var)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3322
FG(b)p Fr(\))p FG(;)g Fs(Var)p Fr(\()p FG(b)p Fr(\)\)\))22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3323
b FD(62)h Fr([)p Fs(Lam)q Fr(\()p FG(a;)13 b Fs(App)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3324
Fr(\()p Fs(Var)p Fr(\()p FG(a)p Fr(\))p FG(;)g Fs(Var)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3325
Fr(\()p FG(b)p Fr(\)\)\)])2448 3073 y Fp(\013)2495 3065
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3326
y FI(;)21 b(in)g(all)f(other)0 3161 y(cases,)f(ho)n(we)n(v)o(er)m(,)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3327
(it)e(returns)i(an)f(appropriately)i(\223renamed\224)g(v)o(ersion)e(of)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3328
h Fs(Pr)p Fr(\()p Fs(Am)q Fr(\()p FG(a)p Fr(\))p FG(;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3329
b Fs(Am)q Fr(\()p FG(b)p Fr(\)\))p FI(.)125 3267 y(T)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3330
b(o)17 b(sho)n(w)g(formally)h(that)f(abstraction)h(functions)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3331
(represent)g(alpha-equiv)n(alence)h(classes,)d(we)g(\002rst)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3332
3362 y(establish)24 b(ho)n(w)g(the)g(permutation)i(operation)f(beha)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3333
(v)o(es)g(on)g(those)f(functions)h(and)f(then)h(establish)e(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3334
3457 y(conditions)e(under)h(which)e(tw)o(o)g(such)h(functions)g(are)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3335
(equal:)p 0 TeXcolorgray 0 3679 a FJ(Lemma)f(6)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3336
42 w FE(All)h(abstr)o(action)h(functions)g(satisfy:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3337
0 TeXcolorgray 56 3855 a(\(i\))p 0 TeXcolorgray 42 w
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3338
FG(\031)219 3864 y Fo(\001)257 3855 y Fr(\([)p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3339
Fr(])p FG(:t)p Fr(\))g(=)g([)p FG(\031)619 3864 y Fo(\001)657
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3340
3855 y FG(a)p Fr(])p FG(:)p Fr(\()p FG(\031)817 3864
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3341
y Fo(\001)855 3855 y FG(t)p Fr(\))p FE(,)e(and)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3342
34 3950 a(\(ii\))p 0 TeXcolorgray 42 w Fr([)p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3343
Fr(])p FG(:t)304 3962 y Fq(1)363 3950 y Fr(=)i([)p FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3344
Fr(])p FG(:t)568 3962 y Fq(2)625 3950 y FE(if)f(and)h(only)g(if)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3345
(either:)578 4178 y FG(a)i Fr(=)g FG(b)c FD(^)g FG(t)867
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3346
4190 y Fq(1)925 4178 y Fr(=)k FG(t)1034 4190 y Fq(2)1229
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3347
4178 y FE(or)158 b FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3348
FG(t)1746 4190 y Fq(1)1804 4178 y Fr(=)k(\()p FG(a)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3349
b(b)p Fr(\))2032 4187 y Fo(\001)2070 4178 y FG(t)2098
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3350
4190 y Fq(2)2152 4178 y FD(^)k FG(a)k Fr(#)g FG(t)2395
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3351
4190 y Fq(2)2454 4178 y FG(:)p 0 TeXcolorgray 0 4547
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3352
a FE(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)f(\002rst)f(property)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3353
(follo)n(ws)f(from)g(the)f(follo)n(wing)h(calculation:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3354
0 TeXcolorgray 0 4658 898 4 v 62 4722 a Fu(5)125 4746
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3355
y FF(This)c(is)g(in)h(contrast)h(to)f(\223weak\224)h(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3356
(\223full\224)h(HO)n(AS)e([8,)7 b(25])17 b(which)h(use)g(the)g(full)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3357
(function)i(space)e(for)g(representing)0 4823 y(lambda-abstractions.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3358
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3359
%%Page: 10 10
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3360
TeXDict begin 10 9 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3361
0 71 2881 4 v 0 17 a FF(10)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3362
0 TeXcolorgray 345 212 a FG(\031)392 221 y Fo(\001)430
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3363
212 y Fr([)p FG(a)p Fr(])p FG(:t)247 289 y Fn(def)254
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3364
332 y Fr(=)31 b FG(\031)392 341 y Fo(\001)430 332 y FG(\025b:)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3365
b Fs(if)21 b FG(a)g Fr(=)g FG(b)h Fs(then)g Fk(Some)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3366
b Fr(\()p FG(t)p Fr(\))542 403 y Fs(else)22 b(if)g FG(b)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3367
Fr(#)g FG(t)g Fs(then)h Fk(Some)6 b Fr(\(\()p FG(a)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3368
b(b)p Fr(\))1549 412 y Fo(\001)1587 403 y FG(t)p Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3369
b Fs(else)h Fk(None)247 480 y Fn(def)254 523 y Fr(=)31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3370
b FG(\025b:)13 b(\031)504 532 y Fo(\001)542 523 y Fs(if)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3371
b FG(a)g Fr(=)g FG(\031)831 491 y Fl(\000)p Fq(1)920
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3372
532 y Fo(\001)958 523 y FG(b)h Fs(then)g Fk(Some)6 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3373
Fr(\()p FG(t)p Fr(\))457 597 y Fs(else)22 b(if)g FG(\031)782
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3374
565 y Fl(\000)p Fq(1)870 606 y Fo(\001)909 597 y FG(b)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3375
Fr(#)g FG(t)g Fs(then)i Fk(Some)6 b Fr(\(\()p FG(a)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3376
b(\031)1635 565 y Fl(\000)p Fq(1)1723 606 y Fo(\001)1762
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3377
597 y FG(b)p Fr(\))1825 606 y Fo(\001)1862 597 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3378
Fr(\))c Fs(else)i Fk(None)254 695 y Fr(=)31 b FG(\025b:)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3379
b Fs(if)21 b FG(\031)603 704 y Fo(\001)641 695 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3380
FG(a)g Fr(=)g FG(\031)861 663 y Fl(\000)p Fq(1)950 704
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3381
y Fo(\001)988 695 y FG(b)p Fr(\))g Fs(then)i Fk(Some)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3382
b Fr(\()p FG(\031)1514 704 y Fo(\001)1551 695 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3383
Fr(\))457 769 y Fs(else)22 b(if)g FG(\031)782 778 y Fo(\001)820
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3384
769 y Fr(\()p FG(\031)897 737 y Fl(\000)p Fq(1)985 778
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3385
y Fo(\001)1023 769 y FG(b)g Fr(#)f FG(t)p Fr(\))g Fs(then)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3386
Fk(Some)6 b Fr(\()p FG(\031)1683 778 y Fo(\001)1721 769
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3387
y Fr(\()p FG(a)25 b(\031)1864 737 y Fl(\000)p Fq(1)1953
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3388
778 y Fo(\001)1991 769 y FG(b)p Fr(\))2054 778 y Fo(\001)2092
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3389
769 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 695 y FI(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3390
FD(\003)2570 663 y Fq(1)2608 695 y FI(\))254 867 y Fr(=)31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3391
b FG(\025b:)13 b Fs(if)21 b FG(\031)603 876 y Fo(\001)641
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3392
867 y Fr(\()p FG(a)g Fr(=)g FG(\031)861 835 y Fl(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3393
Fq(1)950 876 y Fo(\001)988 867 y FG(b)p Fr(\))g Fs(then)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3394
Fk(Some)6 b Fr(\()p FG(\031)1514 876 y Fo(\001)1551 867
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3395
y FG(t)p Fr(\))457 941 y Fs(else)22 b(if)g FG(\031)782
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3396
950 y Fo(\001)820 941 y Fr(\()p FG(\031)897 909 y Fl(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3397
Fq(1)985 950 y Fo(\001)1023 941 y FG(b)g Fr(#)f FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3398
Fr(\))g Fs(then)h Fk(Some)6 b Fr(\(\()p FG(\031)1713
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3399
950 y Fo(\001)1751 941 y FG(a)25 b(b)p Fr(\))1880 950
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3400
y Fo(\001)1918 941 y FG(\031)1965 950 y Fo(\001)2003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3401
941 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506 867 y FI(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3402
FD(\003)2570 835 y Fq(2)2608 867 y FI(\))254 1039 y Fr(=)31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3403
b FG(\025b:)13 b Fs(if)21 b FG(\031)603 1048 y Fo(\001)641
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3404
1039 y FG(a)g Fr(=)g FG(b)h Fs(then)g Fk(Some)6 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3405
FG(\031)1280 1048 y Fo(\001)1318 1039 y FG(t)p Fr(\))457
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3406
1111 y Fs(else)22 b(if)g FG(b)f Fr(#)g FG(\031)921 1120
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3407
y Fo(\001)959 1111 y FG(t)g Fs(then)h Fk(Some)6 b Fr(\(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3408
FG(\031)1479 1120 y Fo(\001)1517 1111 y FG(a)25 b(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3409
Fr(\))1646 1120 y Fo(\001)1684 1111 y FG(\031)1731 1120
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3410
y Fo(\001)1769 1111 y FG(t)p Fr(\))c Fs(else)h Fk(None)2506
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3411
1039 y FI(\()p FD(\003)2570 1007 y Fq(3)2608 1039 y FI(\))247
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3412
1187 y Fn(def)254 1230 y Fr(=)31 b([)p FG(\031)413 1239
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3413
y Fo(\001)451 1230 y FG(a)p Fr(])p FG(:)p Fr(\()p FG(\031)611
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3414
1239 y Fo(\001)649 1230 y FG(t)p Fr(\))0 1395 y FI(where)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3415
b(we)g(use)g(in)g(\()p FD(\003)594 1364 y Fq(1)632 1395
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3416
y FI(\))g(the)g(f)o(act)g(that)608 1563 y FG(\031)655
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3417
1572 y Fo(\001)692 1563 y Fs(if)q FG(:::)p Fs(then)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3418
FG(:::)p Fs(else)r FG(:::)i Fr(=)f Fs(if)13 b FG(\031)1517
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3419
1572 y Fo(\001)1555 1563 y FG(:::)p Fs(then)23 b FG(\031)1844
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3420
1572 y Fo(\001)1882 1563 y FG(:::)p Fs(else)g FG(\031)2171
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3421
1572 y Fo(\001)2209 1563 y FG(:::)477 b FI(\(10\))0 1732
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3422
y(and)27 b(in)g Fr(\()p FD(\003)296 1700 y Fq(2)334 1732
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3423
y Fr(\))f FI(that)h FG(\031)s Fr(@\()p FG(a)45 b(\031)805
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3424
1700 y Fl(\000)p Fq(1)894 1741 y Fo(\001)932 1732 y FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3425
Fr(\))33 b FD(\030)g Fr(\()p FG(\031)1198 1741 y Fo(\001)1236
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3426
1732 y FG(a)46 b(b)p Fr(\)@)p FG(\031)s FI(;)26 b(for)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3427
Fr(\()p FD(\003)1727 1700 y Fq(3)1765 1732 y Fr(\))f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3428
FI(the)h(f)o(acts)f(that)h FG(\031)2310 1741 y Fo(\001)2348
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3429
1732 y Fr(\()p FG(a)33 b Fr(=)g FG(\031)2592 1700 y Fl(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3430
Fq(1)2681 1741 y Fo(\001)2719 1732 y FG(b)p Fr(\))26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3431
b FI(if)n(f)0 1827 y FG(\031)47 1836 y Fo(\001)85 1827
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3432
y FG(a)i Fr(=)f FG(b)d FI(and)g FG(\031)482 1836 y Fo(\001)520
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3433
1827 y Fr(\()p FG(\031)597 1795 y Fl(\000)p Fq(1)685
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3434
1836 y Fo(\001)724 1827 y FG(b)j Fr(#)h FG(t)p Fr(\))c
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3435
FI(if)n(f)f FG(b)28 b Fr(#)g FG(\031)1253 1836 y Fo(\001)1291
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3436
1827 y FG(t)p FI(,)23 b(which)h(can)g(be)g(easily)f(deri)n(v)o(ed)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3437
(from)g(Lemmas)f(1)p FE(\(ii\))0 1923 y FI(and)d(3)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3438
FE(\(ii\))f FI(and)h(the)f(permutation)i(operation)f(on)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3439
Fs(bool)q FI(.)125 2018 y(F)o(or)d(the)h(second)g(property)i(the)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3440
(case)g FG(a)k Fr(=)f FG(b)d FI(is)g(by)h(a)f(simple)h(calculation)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3441
(using)g(e)o(xtensionality)h(of)0 2114 y(functions.)h(In)f(case)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3442
FG(a)i FD(6)p Fr(=)g FG(b)f FI(we)f(sho)n(w)h(\002rst)f(the)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3443
FD(\))p FI(-direction:)h(the)f(follo)n(wing)h(formula)g(holds)g(then)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3444
(by)0 2209 y(e)o(xtensionality)h(of)f(functions:)586
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3445
2377 y FD(8)p FG(c:)89 b Fs(if)22 b FG(a)f Fr(=)g FG(c)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3446
Fs(then)g Fk(Some)6 b Fr(\()p FG(t)1492 2389 y Fq(1)1529
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3447
2377 y Fr(\))772 2473 y Fs(else)22 b(if)g FG(c)g Fr(#)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3448
FG(t)1218 2485 y Fq(1)1276 2473 y Fs(then)i Fk(Some)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3449
b Fr(\(\()p FG(a)12 b(c)p Fr(\))1817 2482 y Fo(\001)1855
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3450
2473 y FG(t)1883 2485 y Fq(1)1920 2473 y Fr(\))21 b Fs(else)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3451
Fk(None)687 2592 y Fr(=)j Fs(if)d FG(b)f Fr(=)g FG(c)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3452
Fs(then)g Fk(Some)6 b Fr(\()p FG(t)1484 2604 y Fq(2)1521
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3453
2592 y Fr(\))772 2687 y Fs(else)22 b(if)g FG(c)g Fr(#)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3454
FG(t)1218 2699 y Fq(2)1276 2687 y Fs(then)i Fk(Some)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3455
b Fr(\(\()p FG(b)12 b(c)p Fr(\))1809 2696 y Fo(\001)1847
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3456
2687 y FG(t)1875 2699 y Fq(2)1912 2687 y Fr(\))21 b Fs(else)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3457
Fk(None)0 2851 y FI(Instantiating)e(this)f(formula)h(with)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3458
FG(a)g FI(yields)g(the)g(equation)537 3019 y Fk(Some)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3459
b Fr(\()p FG(t)781 3031 y Fq(1)818 3019 y Fr(\))21 b(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3460
Fs(if)h FG(a)f Fr(#)g FG(t)1225 3031 y Fq(2)1283 3019
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3461
y Fs(then)h Fk(Some)6 b Fr(\(\()p FG(b)13 b(a)p Fr(\))1824
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3462
3028 y Fo(\001)1862 3019 y FG(t)1890 3031 y Fq(2)1927
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3463
3019 y Fr(\))21 b Fs(else)h Fk(None)28 b FG(:)0 3187
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3464
y FI(Ne)o(xt,)20 b(one)i(distinguishes)f(the)g(cases)f(where)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3465
FG(a)i Fr(#)g FG(t)1455 3199 y Fq(2)1512 3187 y FI(and)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3466
FD(:)13 b FG(a)23 b Fr(#)g FG(t)1889 3199 y Fq(2)1926
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3467
3187 y FI(,)d(respecti)n(v)o(ely)-5 b(.)21 b(In)g(the)g(\002rst)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3468
(case,)0 3283 y Fk(Some)6 b Fr(\()p FG(t)244 3295 y Fq(1)281
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3469
3283 y Fr(\))22 b(=)f Fk(Some)6 b Fr(\(\()p FG(b)13 b(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3470
Fr(\))777 3292 y Fo(\001)814 3283 y FG(t)842 3295 y Fq(2)879
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3471
3283 y Fr(\))p FI(,)20 b(which)h(by)g(Def.)f(2)p Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3472
FG(iii)p Fr(\))h FI(implies)f FG(t)1897 3295 y Fq(1)1956
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3473
3283 y Fr(=)h(\()p FG(a)13 b(b)p Fr(\))2184 3292 y Fo(\001)2222
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3474
3283 y FG(t)2250 3295 y Fq(2)2307 3283 y FI(since)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3475
b Fr(\()p FG(a)12 b(b)p Fr(\))d FD(\030)g Fr(\()p FG(b)j(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3476
Fr(\))p FI(;)0 3378 y(and)26 b(ob)o(viously)i FG(a)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3477
Fr(#)h FG(t)671 3390 y Fq(2)733 3378 y FI(by)26 b(assumption.)h(In)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3478
(the)g(second)g(case)f Fk(Some)6 b Fr(\()p FG(t)2104
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3479
3390 y Fq(1)2141 3378 y Fr(\))31 b(=)h Fk(None)f FI(which)c(gi)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3480
(es)0 3474 y(a)h(contradiction.)j(The)e FD(\()p FI(-direction)h(for)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3481
(the)g(case)f FG(a)37 b FD(6)p Fr(=)g FG(b)28 b FI(is)g(similarly)h(by)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3482
h(e)o(xtensionality)f(and)h(a)0 3569 y(case-analysis.)79
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3483
b FD(u)-51 b(t)0 3741 y FI(Note)26 b(that,)f(in)g FE(g)o(ener)o(al)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3484
FI(,)h(one)h(cannot)f(decide)g(whether)h(tw)o(o)e(functions)i(from)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3485
Fs(name)f FI(to)f Fs(phi)d(option)0 3836 y FI(are)28
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3486
b(equal;)h(ho)n(we)n(v)o(er)g(for)g(the)f(abstraction)h(functions)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3487
(Lem.)f(6)p FE(\(ii\))h FI(pro)o(vides)g(the)f(means)h(to)f(decide)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3488
3932 y(whether)g Fr([)p FG(a)p Fr(])p FG(:t)413 3944
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3489
y Fq(1)486 3932 y Fr(=)35 b([)p FG(b)p Fr(])p FG(:t)705
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3490
3944 y Fq(2)771 3932 y FI(holds:)28 b(one)g(just)f(has)h(to)g(consider)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3491
g(whether)h FG(a)35 b Fr(=)g FG(b)p FI(,)27 b(which)h(is)f(just)g(lik)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3492
(e)0 4027 y(deciding)f(the)f(alpha-equi)n(v)n(alence)i(of)e(tw)o(o)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3493
(lambda-terms)h(using)g(the)e(relation)i Fr(\()p FD(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3494
Fr(\))9 b FD(\031)g Fr(\()p FD(\000)p Fr(\))22 b FI(gi)n(v)o(en)k(in)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3495
4123 y(Fig.)e(2.)h(No)n(w)g(it)f(is)g(also)h(clear)g(why)f(abstraction)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3496
i(functions)g(represent)g(alpha-equi)n(v)n(alence)h(classes:)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3497
4218 y(the)19 b(condition)i(we)e(deri)n(v)o(ed)h(for)f(the)h(equality)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3498
(between)h(abstraction)g(functions)g(paraphrase)g(the)g(rules)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3499
4314 y FD(\031)60 4326 y Fc(Lam)o Fq(1)209 4314 y FI(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3500
FD(\031)403 4326 y Fc(Lam)o Fq(2)552 4314 y FI(de\002ning)g(alpha-equi)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3501
n(v)n(alence)i(for)e Fs(lam)p FI(.)125 4409 y(The)g(properties)i(in)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3502
(Lem.)g(6)h(also)f(help)h(us)f(to)g(calculate)g(the)h(support)h(for)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3503
(abstraction)i(functions,)0 4505 y(pro)o(vided)f(the)o(y)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3504
(\223abstract\224)g(o)o(v)o(er)h(a)f(\002nitely)g(supported)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3505
Fs(phi)p FI(-term.)p 0 TeXcolorgray 0 4676 a FJ(Lemma)d(7)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3506
0 TeXcolorgray 42 w FE(Given)h FG(a)h FD(6)p Fr(=)g FG(b)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3507
FE(and)h FG(t)e FE(being)i(\002nitely)g(supported,)g(then)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3508
0 TeXcolorgray 56 4823 a(\(i\))p 0 TeXcolorgray 42 w
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3509
FG(a)g Fr(#)g([)p FG(b)p Fr(])p FG(:t)f FE(if)g(and)h(only)g(if)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3510
FG(a)i Fr(#)h FG(t)p FE(,)d(and)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3511
eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3512
%%Page: 11 11
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3513
TeXDict begin 11 10 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3514
0 71 2881 4 v 2814 17 a FF(11)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3515
34 228 a FE(\(ii\))p 0 TeXcolorgray 42 w FG(a)21 b Fr(#)g([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3516
FG(a)p Fr(])p FG(:t)p 0 TeXcolorgray 0 490 a FE(Pr)l(oof)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3517
0 TeXcolorgray 40 w FI(By)h(a)g(simple)h(calculations)g(we)f(ha)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3518
(e)h(that)g Fk(supp)5 b Fr(\([)p FG(b)p Fr(])p FG(:t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3519
Fr(\))26 b FD(\022)g Fk(supp)6 b Fr(\()p FG(b;)13 b(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3520
Fr(\))21 b FI(because)i(for)g(all)g FG(c)f FI(and)0 585
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3521
y FG(d)28 b FI(we)h(ha)n(v)o(e)h FD(f)p FG(d)13 b FD(j)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3522
Fr(\()p FG(c)g(d)p Fr(\))635 594 y Fo(\001)673 585 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3523
Fr([)p FG(b)p Fr(])p FG(:t)38 b FD(6)p Fr(=)f([)p FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3524
Fr(])p FG(:t)p FD(g)h(\022)f(f)p FG(d)13 b FD(j)g Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3525
FG(c)g(d)p Fr(\))1500 594 y Fo(\001)1538 585 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3526
FG(b;)g(t)p Fr(\))37 b FD(6)p Fr(=)g(\()p FG(b;)13 b(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3527
Fr(\))p FD(g)p FI(.)28 b(Since)h FG(b)g FI(and)g FG(t)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3528
FI(are)h(\002nitely)0 681 y(supported,)c Fr([)p FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3529
Fr(])p FG(:t)e FI(must)g(be)h(\002nitely)f(supported.)h(Hence)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3530
Fr(\()p FG(a;)12 b(b;)h(t;)g Fr([)p FG(b)p Fr(])p FG(:t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3531
Fr(\))24 b FI(is)e(\002nitely)h(supported)i(and)f(by)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3532
776 y(Prop.)c(1)h(there)f(e)o(xists)f(an)h(atom)h FG(c)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3533
FI(with)g Fr(\()p FD(\003)p Fr(\))g FG(c)h Fr(#)g(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3534
FG(a;)13 b(b;)g(t;)g Fr([)p FG(b)p Fr(])p FG(:t)p Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3535
FI(.)125 878 y(No)n(w)30 b(we)f(sho)n(w)i(the)f(direction)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3536
FE(\(i)f FD(\))p FE(\))p FI(:)g(using)h(the)f(assumption)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3537
FG(a)39 b Fr(#)h([)p FG(b)p Fr(])p FG(:t)30 b FI(and)h(the)f(f)o(act)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3538
(that)0 974 y FG(c)e Fr(#)f([)p FG(b)p Fr(])p FG(:t)c
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3539
FI(\(from)h FD(\003)p FI(\),)f(Lem.)g(4)g(and)h(6)p FE(\(i\))f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3540
FI(gi)n(v)o(e)h Fr([)p FG(b)p Fr(])p FG(:t)k Fr(=)f(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3541
FG(c)13 b(a)p Fr(\))1684 983 y Fo(\001)1721 974 y Fr([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3542
FG(b)p Fr(])p FG(:t)29 b Fr(=)f([\()p FG(c)14 b(a)p Fr(\))2131
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3543
983 y Fo(\001)2168 974 y FG(b)p Fr(])p FG(:)p Fr(\(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3544
FG(c)g(a)p Fr(\))2421 983 y Fo(\001)2458 974 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3545
Fr(\))p FI(.)23 b(The)i(right-)0 1069 y(hand)33 b(side)e(is)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3546
Fr([)p FG(b)p Fr(])p FG(:)p Fr(\(\()p FG(c)13 b(a)p Fr(\))700
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3547
1078 y Fo(\001)738 1069 y FG(t)p Fr(\))31 b FI(because)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3548
FG(c)42 b FD(6)p Fr(=)g FG(b)31 b FI(\(from)i FD(\003)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3549
FI(\))e(and)h FG(a)42 b FD(6)p Fr(=)g FG(b)31 b FI(by)h(assumption.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3550
(Hence)g(by)0 1165 y(Lem.)d(6)p FE(\(ii\))g FI(we)f(can)h(infer)g(that)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3551
g FG(t)36 b Fr(=)h(\()p FG(c)13 b(a)p Fr(\))1247 1174
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3552
y Fo(\001)1285 1165 y FG(t)p FI(.)28 b(No)n(w)g FG(c)37
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3553
b Fr(#)g FG(t)28 b FI(\(from)i FD(\003)p FI(\))f(implies)g(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3554
FG(c)37 b Fr(#)g(\()p FG(c)12 b(a)p Fr(\))2793 1174 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3555
Fo(\001)2831 1165 y FG(t)p FI(;)0 1260 y(and)31 b(mo)o(ving)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3556
(permutation)i(to)d(the)h(other)g(side)g(by)g(Lem.)f(3)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3557
FE(\(ii\))i FI(gi)n(v)o(es)e FG(a)40 b Fr(#)h FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3558
FI(.)30 b(The)g(direction)0 1356 y FE(\(i)i FD(\()p FE(\))f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3559
FI(is)g(as)g(follo)n(ws:)h(from)g(\()p FD(\003)p FI(\),)g(we)g(ha)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3560
(e)g(that)g FG(c)42 b Fr(#)h([)p FG(b)p Fr(])p FG(:t)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3561
b FI(and)g(therefore)h(by)f(Lem.)g(3)p FE(\(iii\))g FI(also)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3562
1451 y Fr(\()p FG(a)12 b(c)p Fr(\))146 1460 y Fo(\001)185
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3563
1451 y FG(c)25 b Fr(#)f(\()p FG(a)13 b(c)p Fr(\))478
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3564
1460 y Fo(\001)516 1451 y Fr(\([)p FG(b)p Fr(])p FG(:t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3565
Fr(\))p FI(,)21 b(which)i(implies)f(by)g(Lem.)g(6)p FE(\(i\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3566
FI(that)g FG(a)i Fr(#)h([)p FG(b)p Fr(])p FG(:)p Fr(\(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3567
FG(a)13 b(c)p Fr(\))2198 1460 y Fo(\001)2236 1451 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3568
Fr(\))p FI(.)21 b(From)i(\()p FD(\003)p FI(\))f(we)g(also)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3569
1547 y(ha)n(v)o(e)e FG(c)h Fr(#)h FG(t)c FI(and)i(from)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3570
(assumption)h FG(a)h Fr(#)g FG(t)p FI(;)d(then)i(Lem.)f(4)g(implies)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3571
(that)h FG(t)i Fr(=)h(\()p FG(a)12 b(c)p Fr(\))2424 1556
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3572
y Fo(\001)2462 1547 y FG(t)p FI(,)18 b(and)i(we)e(can)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3573
1642 y(conclude)j(with)f FG(a)h Fr(#)h([)p FG(b)p Fr(])p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3574
FG(:t)p FI(.)125 1744 y(The)e(second)h(property)i(follo)n(ws)d(from)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3575
(the)e(\002rst:)g(we)g(ha)n(v)o(e)h FG(c)i Fr(#)f FG(t)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3576
FI(and)h FG(c)h FD(6)p Fr(=)g FG(a)d FI(\(both)j(from)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3577
FD(\003)p FI(\),)g(and)0 1840 y(can)c(use)g FE(\(i\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3578
FI(to)f(infer)i FG(c)j Fr(#)h([)p FG(a)p Fr(])p FG(:t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3579
FI(.)16 b(Further)m(,)i(from)f(Lem.)g(3)p FE(\(iii\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3580
FI(it)g(holds)g(that)g Fr(\()p FG(c)c(a)p Fr(\))2210
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3581
1849 y Fo(\001)2247 1840 y FG(c)22 b Fr(#)f(\()p FG(c)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3582
b(a)p Fr(\))2534 1849 y Fo(\001)2572 1840 y Fr([)p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3583
Fr(])p FG(:t)p FI(.)k(This)0 1935 y(is)k FG(a)j Fr(#)h([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3584
FG(c)p Fr(])p FG(:)p Fr(\()p FG(c)14 b(a)p Fr(\))472
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3585
1944 y Fo(\001)509 1935 y FG(t)22 b FI(by)g(Lem.)g(6)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3586
FE(\(i\))p FI(.)g(Since)f FG(c)k FD(6)p Fr(=)f FG(a)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3587
FI(and)i FG(c)h Fr(#)h FG(t)p FI(,)c(Lem.)g(6)p FE(\(ii\))i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3588
FI(implies)e(that)h Fr([)p FG(c)p Fr(])p FG(:)p Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3589
FG(c)14 b(a)p Fr(\))2731 1944 y Fo(\001)2769 1935 y FG(t)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3590
b Fr(=)0 2031 y([)p FG(a)p Fr(])p FG(:t)p FI(.)c(Therefore,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3591
FG(a)g Fr(#)h([)p FG(a)p Fr(])p FG(:t)p FI(.)79 b FD(u)-51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3592
b(t)0 2228 y FI(Note)18 b(that)g(taking)h(both)g(f)o(acts)f(of)g(Lem.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3593
(7)g(together)i(implies)e(the)g(follo)n(wing)h(equation)g(for)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3594
(support)0 2324 y(of)i(abstraction)h(functions)988 2461
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3595
y Fk(supp)6 b Fr(\([)p FG(a)p Fr(])p FG(:t)p Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3596
b(=)g Fk(supp)6 b Fr(\()p FG(t)p Fr(\))16 b FD(\000)h(f)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3597
FG(a)p FD(g)857 b FI(\(11\))0 2638 y(pro)o(vided)22 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3598
FG(t)d FI(is)h(\002nitely)g(supported.)125 2740 y(No)n(w)g(e)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3599
(erything)i(is)e(in)g(place)h(for)g(de\002ning)h(the)e(subset)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3600
Fs(lam)1833 2748 y Fp(\013)1880 2740 y FI(.)g(It)h(is)e(de\002ned)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3601
(inducti)n(v)o(ely)g(by)e(the)0 2835 y(three)g(rules:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3602
375 3034 438 4 v 375 3107 a Fs(Am)q Fr(\()p FG(a)p Fr(\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3603
FD(2)i Fs(lam)765 3115 y Fp(\013)1025 3002 y FG(t)1053
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3604
3014 y Fq(1)1112 3002 y FD(2)f Fs(lam)1302 3010 y Fp(\013)1428
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3605
3002 y FG(t)1456 3014 y Fq(2)1514 3002 y FD(2)h Fs(lam)1705
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3606
3010 y Fp(\013)p 1025 3034 727 4 v 1108 3107 a Fs(Pr)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3607
Fr(\()p FG(t)1245 3119 y Fq(1)1281 3107 y FG(;)14 b(t)1344
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3608
3119 y Fq(2)1381 3107 y Fr(\))21 b FD(2)g Fs(lam)1622
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3609
3115 y Fp(\013)2086 3006 y FG(t)g FD(2)h Fs(lam)2325
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3610
3014 y Fp(\013)p 1965 3034 530 4 v 1965 3107 a Fs(Se)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3611
Fr(\([)p FG(a)p Fr(])p FG(:t)p Fr(\))f FD(2)h Fs(lam)2447
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3612
3115 y Fp(\013)2749 3065 y FI(\(12\))0 3316 y(using)f(in)f(the)g(third)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3613
h(rule)f(the)g(abstraction)h(functions)g(gi)n(v)o(en)g(in)f(\(9\).)g(W)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3614
-6 b(e)20 b(note:)p 0 TeXcolorgray 0 3521 a FJ(Lemma)f(8)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3615
0 TeXcolorgray 42 w FE(F)-8 b(or)20 b(the)g(set)f Fs(lam)830
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3616
3529 y Fp(\013)897 3521 y FE(we)g(have)i(that:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3617
56 3687 a(\(i\))p 0 TeXcolorgray 42 w(all)f(its)f(elements)h(ar)m(e)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3618
(\002nitely)g(supported,)h(and)p 0 TeXcolorgray 34 3782
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3619
a(\(ii\))p 0 TeXcolorgray 42 w(it)e(is)h(closed)g(under)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3620
(permutations,)f(that)h(is)e FG(t)i FD(2)h Fs(lam)1642
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3621
3790 y Fp(\013)1709 3782 y FE(implies)e FG(\031)2004
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3622
3791 y Fo(\001)2042 3782 y FG(t)h FD(2)g Fs(lam)2281
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3623
3790 y Fp(\013)2328 3782 y FE(.)p 0 TeXcolorgray 0 3980
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3624
a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(Both)e(properties)i(follo)n(w)f(by)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3625
g(routine)g(inductions)h(o)o(v)o(er)f(the)f(de\002nition)i(of)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3626
Fs(lam)2429 3988 y Fp(\013)2476 3980 y FI(.)g(F)o(or)h(the)f(\002rst)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3627
4075 y(induction)j(we)d(use)h(the)g(equations)927 4279
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3628
y Fk(supp)6 b Fr(\()p Fs(Am)p Fr(\()p FG(a)p Fr(\)\))24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3629
b(=)h FD(f)p FG(a)p FD(g)804 4398 y Fk(supp)5 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3630
Fs(Pr)q Fr(\()p FG(t)1126 4410 y Fq(1)1163 4398 y FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3631
b(t)1225 4410 y Fq(2)1262 4398 y Fr(\)\))24 b(=)h Fk(supp)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3632
b Fr(\()p FG(t)1645 4410 y Fq(1)1681 4398 y Fr(\))17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3633
b FD([)h Fk(supp)5 b Fr(\()p FG(t)2010 4410 y Fq(2)2047
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3634
4398 y Fr(\))835 4518 y Fk(supp)h Fr(\()p Fs(Se)p Fr(\([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3635
FG(a)p Fr(])p FG(:t)p Fr(\)\))25 b(=)g Fk(supp)6 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3636
FG(t)p Fr(\))16 b FD(\000)h(f)p FG(a)p FD(g)2749 4398
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3637
y FI(\(13\))0 4727 y(where)27 b(the)g(last)f(follo)n(ws)h(from)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3638
(\(11\)\227)p FG(t)g FI(is)e(\002nitely)h(supported)i(by)e(induction)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3639
(hypothesis;)e(for)g(the)0 4823 y(second)21 b(we)e(use)h(Lem.)g(6)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3640
FE(\(i\))p FI(.)80 b FD(u)-51 b(t)p 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3641
TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3642
%%Page: 12 12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3643
TeXDict begin 12 11 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3644
0 71 2881 4 v 0 17 a FF(12)p 0 TeXcolorgray 125 228 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3645
FI(Ne)o(xt,)18 b(one)h(of)f(the)h(main)g(points)g(of)g(this)f(paper:)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3646
(there)g(is)f(a)g(bijection)h(between)g Fs(lam)2456 246
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3647
y Fp(=)p Fl(\031)2564 228 y FI(and)g Fs(lam)2814 236
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3648
y Fp(\013)2861 228 y FI(.)0 324 y(This)h(is)f(sho)n(wn)i(using)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3649
(follo)n(wing)h(mapping)h(from)f Fs(lam)f FI(to)g Fs(lam)1892
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3650
332 y Fp(\013)1939 324 y FI(:)1035 510 y FG(q)s Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3651
Fs(Var)p Fr(\()p FG(a)p Fr(\)\))1375 467 y Fn(def)1382
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3652
510 y Fr(=)32 b Fs(Am)p Fr(\()p FG(a)p Fr(\))911 653
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3653
y FG(q)s Fr(\()p Fs(App)q Fr(\()p FG(t)1154 665 y Fq(1)1191
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3654
653 y FG(;)13 b(t)1253 665 y Fq(2)1290 653 y Fr(\)\))1375
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3655
610 y Fn(def)1382 653 y Fr(=)32 b Fs(Pr)p Fr(\()p FG(q)s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3656
Fr(\()p FG(t)1677 665 y Fq(1)1714 653 y Fr(\))p FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3657
b(q)s Fr(\()p FG(t)1873 665 y Fq(2)1910 653 y Fr(\)\))973
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3658
796 y FG(q)s Fr(\()p Fs(Lam)q Fr(\()p FG(a;)f(t)p Fr(\)\))1375
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3659
753 y Fn(def)1382 796 y Fr(=)32 b Fs(Se)p Fr(\([)p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3660
Fr(])p FG(:q)s Fr(\()p FG(t)p Fr(\)\))0 957 y FI(and)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3661
b(the)f(lemma:)p 0 TeXcolorgray 0 1126 a FJ(Lemma)f(9)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3662
0 TeXcolorgray 42 w FG(t)387 1138 y Fq(1)445 1126 y FD(\031)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3663
FG(t)554 1138 y Fq(2)611 1126 y FE(if)f(and)h(only)f(if)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3664
FG(q)s Fr(\()p FG(t)1127 1138 y Fq(1)1164 1126 y Fr(\))h(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3665
FG(q)s Fr(\()p FG(t)1391 1138 y Fq(2)1428 1126 y Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3666
FE(.)p 0 TeXcolorgray 0 1345 a(Pr)l(oof)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3667
40 w FI(By)e(routine)i(induction)h(o)o(v)o(er)f(de\002nition)g(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3668
Fs(lam)1570 1353 y Fp(\013)1617 1345 y FI(.)79 b FD(u)-51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3669
b(t)p 0 TeXcolorgray 0 1514 a FJ(Theor)o(em)19 b(1)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3670
0 TeXcolorgray 42 w FE(Ther)m(e)h(is)f(a)h(bijection)h(between)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3671
Fs(lam)1430 1532 y Fp(=)p Fl(\031)1540 1514 y FE(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3672
Fs(lam)1795 1522 y Fp(\013)1843 1514 y FE(.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3673
0 1733 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(The)d(mapping)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3674
FG(q)g FI(needs)e(to)f(be)h(lifted)g(to)f(alpha-equi)n(v)n(alence)k
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3675
(classes)17 b(\(see)h(P)o(aulson)h([24]\).)g(F)o(or)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3676
1828 y(this)24 b(de\002ne)g FG(q)391 1796 y Fl(0)414
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3677
1828 y Fr(\([)p FG(t)p Fr(])514 1836 y Fp(\013)562 1828
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3678
y Fr(\))f FI(as)g(follo)n(ws:)i(apply)f FG(q)j FI(to)d(e)n(v)o(ery)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3679
(element)f(of)g(the)g(set)f Fr([)p FG(t)p Fr(])2188 1836
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3680
y Fp(\013)2260 1828 y FI(and)h(b)n(uild)h(the)f(union)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3681
1924 y(of)i(the)g(results.)e(By)i(Lem.)f(9)h(this)f(must)h(yield)g(a)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3682
(singleton)i(set.)d(The)i(result)g(of)g FG(q)2320 1892
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3683
y Fl(0)2343 1924 y Fr(\([)p FG(t)p Fr(])2443 1932 y Fp(\013)2490
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3684
1924 y Fr(\))g FI(is)e(then)i(the)0 2019 y(singleton.)k(Surjecti)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3685
(vity)f(of)h FG(q)864 1987 y Fl(0)916 2019 y FI(is)e(sho)n(wn)h(by)h(a)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3686
f(routine)h(induction)g(o)o(v)o(er)g(the)f(de\002nition)h(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3687
Fs(lam)2814 2027 y Fp(\013)2861 2019 y FI(.)0 2115 y(Injecti)n(vity)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3688
b(of)f FG(q)464 2083 y Fl(0)507 2115 y FI(follo)n(ws)h(from)g(Lem.)f(9)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3689
g(since)g Fr([)p FG(t)1409 2127 y Fq(1)1446 2115 y Fr(])1467
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3690
2123 y Fp(\013)1536 2115 y Fr(=)h([)p FG(t)1666 2127
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3691
y Fq(2)1703 2115 y Fr(])1724 2123 y Fp(\013)1792 2115
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3692
y FI(for)f(all)g FG(t)2030 2127 y Fq(1)2088 2115 y FD(\031)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3693
FG(t)2197 2127 y Fq(2)2234 2115 y FI(.)79 b FD(u)-51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3694
b(t)125 2284 y FI(W)-6 b(e)19 b(de\002ned)i Fs(lam)617
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3695
2292 y Fp(\013)683 2284 y FI(as)f(an)g(inducti)n(v)o(e)g(subset)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3696
Fs(phi)h FI(and)f(sho)n(wed)g(that)g(there)g(is)g(a)f(bijection)i(with)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3697
0 2379 y Fs(lam)118 2397 y Fp(=)p Fl(\031)208 2379 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3698
FI(.)e(W)-6 b(e)20 b(can)g(no)n(w)g(apply)h(standard)g(HOL-techniques)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3699
(and)f(turn)h(the)f FE(set)h Fs(lam)2301 2387 y Fp(\013)2368
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3700
2379 y FI(into)f(a)g FE(type)g Fs(lam)2834 2387 y Fp(\013)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3701
2475 y FI(of)j(HOL)g(\(see)f(for)h(e)o(xample)h(the)e(Isabelle)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3702
(tutorial)g([21,)h(Sec.)d(8.5.2])j(or)f(Melham)g([19,)8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3703
b(20])24 b(for)g(more)0 2570 y(details\).)c(The)g(construction)i(we)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3704
(can)i(perform)g(in)f(HOL)g(is)f(illustrated)i(by)f(the)g(follo)n(wing)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3705
i(picture:)p 0 TeXcolorgray 0 TeXcolorgray 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3706
@beginspecial @setspecial
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3707
 tx@Dict begin STP newpath 1.13809 SLW 0  setgray  0.2 true 142.26372
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3708
0.0 219.08603 71.13185 .5 Frame  gsave 1.13809 SLW 0  setgray 0 setlinecap
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3709
stroke  grestore end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3710
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3711
@endspecial @beginspecial
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3712
@setspecial
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3713
 tx@Dict begin STP newpath 0.85358 SLW 0  setgray  170.71646 42.67911
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3714
17.07181 0 CLW mul sub 0 360 arc closepath gsave 0.85358 SLW 0  setgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3715
0 setlinecap stroke  grestore end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3716
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3717
@endspecial @beginspecial @setspecial
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3718
 tx@Dict begin STP newpath 1.13809 SLW 0  setgray  0.2 true 31.29819
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3719
59.75093 65.44139 25.60728 0 Frame  gsave 1.13809 SLW 0  setgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3720
setlinecap stroke  grestore end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3721
 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3722
@endspecial
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3723
436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3724
 tx@Dict begin tx@NodeDict begin {73.9773 42.67911 } false /N@@@A 10
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3725
{InitPnode } NewNode end end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3726
 436 3252 a 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3727
 tx@Dict begin tx@NodeDict begin {136.57324 42.67911 } false /N@@@B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3728
10 {InitPnode } NewNode end end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3729
 436 3252 a 436 3252
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3730
a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3731
 tx@Dict begin gsave STV newpath 1.13809 SLW 0  setgray  /ArrowA {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3732
moveto } def /ArrowB { BeginArrow 1.  1.  scale false 0.4 1.4 1.5 2.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3733
Arrow  EndArrow  } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3734
0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine  } if end gsave 1.13809 SLW
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3735
0  setgray 0 setlinecap stroke  grestore  grestore end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3736
 436 3252 a 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3737
 tx@Dict begin tx@NodeDict begin {62.59595 59.75093 } false /N@@@A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3738
10 {InitPnode } NewNode end end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3739
 436 3252 a 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3740
 tx@Dict begin tx@NodeDict begin {170.71646 59.75093 } false /N@@@B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3741
10 {InitPnode } NewNode end end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3742
 436 3252
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3743
a 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3744
 tx@Dict begin gsave STV newpath 0.56905 SLW 0  setgray  /ArrowA {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3745
moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3746
neg 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine  } if end gsave 0.56905
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3747
SLW 0  setgray 0 setlinecap stroke  grestore  grestore end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3748
 436 3252 a 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3749
 tx@Dict begin tx@NodeDict begin {62.59595 25.60728 } false /N@@@A
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3750
10 {InitPnode } NewNode end end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3751
 436 3252 a 436 3252
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3752
a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3753
 tx@Dict begin tx@NodeDict begin {170.71646 25.60728 } false /N@@@B
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3754
10 {InitPnode } NewNode end end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3755
 436 3252 a 436 3252 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3756
 tx@Dict begin gsave STV newpath 0.56905 SLW 0  setgray  /ArrowA {
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3757
moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3758
neg 0.0 0.0 0 0 /N@@@A /N@@@B InitNC { NCLine  } if end gsave 0.56905
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3759
SLW 0  setgray 0 setlinecap stroke  grestore  grestore end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3760
 436 3252 a 2102 2747 a Fs(phi)1771
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3761
2916 y(lam)1889 2924 y Fp(\013)2282 2758 y FI(e)o(xisting)2282
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3762
2815 y(type)534 2887 y(ne)n(w)534 2945 y(type)1707 3124
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3763
y(non-empty)1707 3181 y(subset)756 2916 y Fs(lam)873
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3764
2924 y Fp(\013)1105 2857 y FI(isomorphism)0 3413 y(W)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3765
b(e)23 b(are)h(allo)n(wed)g(to)g(introduce)h(the)f(type)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3766
Fs(lam)1320 3421 y Fp(\013)1390 3413 y FI(by)g(means)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3767
(identifying)i(a)d(non-empty)j(subset)e(in)0 3508 y(the)i(e)o(xisting)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3768
(type)h Fs(phi)g FI(\(this)e(type)i(w)o(as)f(introduced)i(by)e(the)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3769
(datatype)f(declaration)i(in)e(\(7\)\))h(and)f(an)0 3603
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3770
y(isomorphism,)e(which)g(we)e(write)h(here)g(as)g Fb(p)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3771
FD(\000)p Fb(q)p FI(.)g(The)g(properties)h(of)f(the)g(type)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3772
Fs(lam)2361 3611 y Fp(\013)2431 3603 y FI(are)f(then)h(gi)n(v)o(en)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3773
3699 y(by)g(the)g(isomorphism)i(and)e(ho)n(w)h(the)f(subset)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3774
Fs(lam)1411 3707 y Fp(\013)1482 3699 y FI(is)g(de\002ned.)g(F)o(or)g(e)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3775
o(xample)h(we)e(can)h(characterise)0 3794 y(term-constructors)e(of)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3776
(the)h(type)f Fs(lam)1051 3802 y Fp(\013)1118 3794 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3777
FI(as)f(follo)n(ws:)1040 3957 y Fb(p)p Fs(Var)1196 3965
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3778
y Fp(\013)1243 3957 y Fr(\()p FG(a)p Fr(\))p Fb(q)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3779
b FD(7!)g Fs(Am)p Fr(\()p FG(a)p Fr(\))916 4052 y Fb(p)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3780
Fs(App)1072 4073 y Fp(\013)1120 4052 y Fr(\()p FG(t)1178
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3781
4064 y Fq(1)1215 4052 y FG(;)13 b(t)1277 4064 y Fq(2)1314
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3782
4052 y Fr(\))p Fb(q)25 b FD(7!)g Fs(Pr)p Fr(\()p Fb(p)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3783
FG(t)1683 4064 y Fq(1)1720 4052 y Fb(q)p FG(;)14 b Fb(p)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3784
FG(t)1859 4064 y Fq(2)1896 4052 y Fb(q)p Fr(\))978 4148
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3785
y Fb(p)p Fs(Lam)1134 4156 y Fp(\013)1181 4148 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3786
FG(a;)f(t)p Fr(\))p Fb(q)25 b FD(7!)g Fs(Se)p Fr(\([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3787
FG(a)p Fr(])p FG(:)p Fb(p)p FG(t)p Fb(q)p Fr(\))2749
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3788
4052 y FI(\(14\))0 4308 y(with)20 b(the)g(follo)n(wing)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3789
(\223injection\224)e(principles)784 4471 y Fs(Var)901
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3790
4479 y Fp(\013)949 4471 y Fr(\()p FG(a)p Fr(\))g(=)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3791
Fs(Var)1269 4479 y Fp(\013)1316 4471 y Fr(\()p FG(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3792
Fr(\))160 b FI(if)n(f)26 b FG(a)21 b Fr(=)g FG(b)648
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3793
4566 y Fs(App)766 4587 y Fp(\013)813 4566 y Fr(\()p FG(t)871
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3794
4578 y Fq(1)908 4566 y FG(;)13 b(t)970 4578 y Fq(2)1007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3795
4566 y Fr(\))21 b(=)g Fs(App)1257 4587 y Fp(\013)1304
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3796
4566 y Fr(\()p FG(s)1370 4578 y Fq(1)1407 4566 y FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3797
b(s)1477 4578 y Fq(2)1514 4566 y Fr(\))25 b FI(if)n(f)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3798
FG(t)1695 4578 y Fq(1)1753 4566 y Fr(=)21 b FG(s)1870
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3799
4578 y Fq(1)1924 4566 y FD(^)c FG(t)2020 4578 y Fq(2)2079
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3800
4566 y Fr(=)k FG(s)2196 4578 y Fq(2)684 4662 y Fs(Lam)802
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3801
4670 y Fp(\013)849 4662 y Fr(\()p FG(a;)13 b(t)982 4674
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3802
y Fq(1)1019 4662 y Fr(\))21 b(=)g Fs(Lam)1269 4670 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3803
Fp(\013)1316 4662 y Fr(\()p FG(b;)13 b(t)1441 4674 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3804
Fq(2)1478 4662 y Fr(\))61 b FI(if)n(f)26 b Fr([)p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3805
Fr(])p FG(:t)1799 4674 y Fq(1)1858 4662 y Fr(=)21 b([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3806
FG(b)p Fr(])p FG(:t)2063 4674 y Fq(2)2749 4566 y FI(\(15\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3807
4823 y(and)g(the)f(support)h(beha)n(ving)h(as)e(follo)n(ws:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3808
0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3809
%%Page: 13 13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3810
TeXDict begin 13 12 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3811
0 71 2881 4 v 2814 17 a FF(13)p 0 TeXcolorgray 822 304
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3812
a Fk(supp)6 b Fr(\()p Fs(Var)1125 312 y Fp(\013)1173
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3813
304 y Fr(\()p FG(a)p Fr(\)\))86 b(=)24 b FD(f)p FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3814
FD(g)761 399 y Fk(supp)5 b Fr(\()p Fs(App)1064 420 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3815
Fp(\013)1111 399 y Fr(\()p FG(t)1169 411 y Fq(1)1206
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3816
399 y FG(;)13 b(t)1268 411 y Fq(2)1305 399 y Fr(\)\))25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3817
b(=)f Fk(supp)6 b Fr(\()p FG(t)1688 411 y Fq(1)1725 399
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3818
y Fr(\))17 b FD([)g Fk(supp)6 b Fr(\()p FG(t)2054 411
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3819
y Fq(2)2090 399 y Fr(\))791 495 y Fk(supp)g Fr(\()p Fs(Lam)1095
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3820
503 y Fp(\013)1142 495 y Fr(\()p FG(a;)13 b(t)p Fr(\)\))55
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3821
b(=)24 b Fk(supp)6 b Fr(\()p FG(t)p Fr(\))16 b FD(\000)h(f)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3822
FG(a)p FD(g)2749 399 y FI(\(16\))0 633 y(Since)27 b(by)h(Lem.)f(8)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3823
FE(\(ii\))g FI(the)h(permutation)h(operation)f(is)f(closed)g(on)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3824
(set)f Fs(lam)2286 641 y Fp(\013)2333 633 y FI(,)h(we)g(can)g(also)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3825
(lift)0 729 y(the)21 b(permutation)i(operation)g(de\002ned)e(o)o(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3826
(er)h Fs(phi)f FI(to)g(the)g(ne)n(w)h(type)f(so)g(that)g(the)g(follo)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3827
(wing)h(properties)0 824 y(hold:)993 901 y FG(\031)1040
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3828
910 y Fo(\001)1078 901 y Fs(Var)1196 909 y Fp(\013)1243
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3829
901 y Fr(\()p FG(a)p Fr(\))i(=)h Fs(Var)1570 909 y Fp(\013)1618
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3830
901 y Fr(\()p FG(\031)1695 910 y Fo(\001)1732 901 y FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3831
Fr(\))870 996 y FG(\031)917 1005 y Fo(\001)954 996 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3832
Fs(App)1072 1017 y Fp(\013)1119 996 y Fr(\()p FG(t)1177
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3833
1008 y Fq(1)1214 996 y FG(;)13 b(t)1276 1008 y Fq(2)1313
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3834
996 y Fr(\))25 b(=)g Fs(App)1570 1017 y Fp(\013)1618
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3835
996 y Fr(\()p FG(\031)1695 1005 y Fo(\001)1732 996 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3836
FG(t)1760 1008 y Fq(1)1797 996 y FG(;)14 b(\031)1879
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3837
1005 y Fo(\001)1916 996 y FG(t)1944 1008 y Fq(2)1981
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3838
996 y Fr(\))931 1092 y FG(\031)978 1101 y Fo(\001)1016
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3839
1092 y Fs(Lam)1134 1100 y Fp(\013)1181 1092 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3840
FG(a;)f(t)p Fr(\))24 b(=)h Fs(Lam)1570 1100 y Fp(\013)1618
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3841
1092 y Fr(\()p FG(\031)1695 1101 y Fo(\001)1732 1092
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3842
y FG(a;)13 b(\031)1854 1101 y Fo(\001)1892 1092 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3843
Fr(\))2749 996 y FI(\(17\))0 1230 y(W)-6 b(e)20 b(can)g(further)h(sho)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3844
(w)g(that:)p 0 TeXcolorgray 0 1400 a FJ(Lemma)e(10)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3845
0 TeXcolorgray 43 w FE(The)30 b(type)g Fs(lam)826 1408
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3846
y Fp(\013)903 1400 y FE(is)g(a)g(\(i\))g(permutation)i(type)e(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3847
(\(ii\))g(all)f(its)f(elements)h(ar)m(e)g(\002nitely)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3848
1496 y(supported.)p 0 TeXcolorgray 0 1716 a(Pr)l(oof)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3849
0 TeXcolorgray 40 w FI(By)23 b(routine)i(induction)g(the)f(o)o(v)o(er)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3850
(de\002nition)f(of)h Fs(lam)1712 1724 y Fp(\013)1760
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3851
1716 y FI(.)e(F)o(or)h FE(\(i\))g FI(we)f(lift)g(the)h(property)i(of)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3852
Fs(phi)0 1812 y FI(being)d(a)f(permutation)i(type)e(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3853
Fs(lam)1005 1820 y Fp(\013)1072 1812 y FI(using)h(Lem.)f(8)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3854
FE(\(ii\))p FI(;)g(for)h FE(\(ii\))f FI(we)f(use)h(\(16\).)80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3855
b FD(u)-51 b(t)0 1982 y FI(The)16 b(crux)h(of)f(constructing)i(the)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3856
(ne)n(w)g(type)g Fs(lam)1307 1990 y Fp(\013)1370 1982
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3857
y FI(is)f(that)h(we)g(no)n(w)g(ha)n(v)o(e)h(an)f(Isabelle/HOL-type)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3858
(where)0 2078 y(lambdas)k(are)f(equal)g(pro)o(vided)376
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3859
2241 y Fs(Lam)493 2249 y Fp(\013)541 2241 y Fr(\()p FG(a;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3860
b(t)673 2253 y Fq(1)710 2241 y Fr(\))22 b(=)f Fs(Lam)960
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3861
2249 y Fp(\013)1008 2241 y Fr(\()p FG(b;)13 b(t)1133
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3862
2253 y Fq(2)1170 2241 y Fr(\))78 b FI(if)20 b(and)h(only)g(if)f(either)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3863
612 2384 y FG(a)h Fr(=)g FG(b)c FD(^)g FG(t)901 2396
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3864
y Fq(1)960 2384 y Fr(=)k FG(t)1069 2396 y Fq(2)1263 2384
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3865
y FI(or)159 b FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g FG(t)1776
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3866
2396 y Fq(1)1834 2384 y Fr(=)22 b(\()p FG(a)12 b(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3867
Fr(\))2062 2393 y Fo(\001)2100 2384 y FG(t)2128 2396
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3868
y Fq(2)2182 2384 y FD(^)17 b FG(a)k Fr(#)g FG(t)2425
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3869
2396 y Fq(2)2484 2384 y FG(:)2749 2312 y FI(\(18\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3870
2546 y(and)g(freshness)f(of)g(a)g(lambda)h(is)e(gi)n(v)o(en)i(by:)804
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3871
2709 y FG(a)g Fr(#)h Fs(Lam)1069 2717 y Fp(\013)1117
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3872
2709 y Fr(\()p FG(b;)12 b(t)p Fr(\))79 b FI(if)20 b(and)g(only)h(if)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3873
(either)1040 2852 y FG(a)h Fr(=)h FG(b)157 b FI(or)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3874
FG(a)21 b FD(6)p Fr(=)g FG(b)c FD(^)g FG(a)k Fr(#)g FG(t)g(:)2749
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3875
2780 y FI(\(19\))0 3014 y(In)i(ef)n(fect)g(we)g(ha)n(v)o(e)h(achie)n(v)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3876
o(ed)f(what)g(we)g(set)f(out)h(at)g(the)g(be)o(ginning)i(of)e(this)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3877
(section:)h(we)g(ha)n(v)o(e)h(a)e(for)n(-)0 3110 y(mal)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3878
(implementation)i(of)f(Barendre)o(gt')l(s)g(con)m(v)o(ention)h(about)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3879
(identifying)i(alpha-equi)n(v)n(alent)f(lambda-)0 3205
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3880
y(terms.)0 3488 y FJ(4)28 b(Structural)20 b(Induction)g(Principles)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3881
3677 y FI(The)27 b(inducti)n(v)o(e)h(de\002nition)g(of)f(the)g(set)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3882
Fs(lam)1242 3685 y Fp(\013)1316 3677 y FI(gi)n(v)o(en)i(in)e(\(12\))i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3883
(comes)f(with)g(an)g(induction)i(principle.)0 3772 y(From)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3884
b(this)f(induction)i(principle)g(we)e(can)g(deri)n(v)o(e)h(the)g(follo)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3885
n(wing)g(structural)g(induction)h(principle)g(for)0 3868
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3886
y(the)d(type)h Fs(lam)389 3876 y Fp(\013)437 3868 y FI(:)771
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3887
4039 y FD(8)p FG(a:)42 b(P)32 b Fr(\()p Fs(Var)1146 4047
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3888
y Fp(\013)1194 4039 y Fr(\()p FG(a)p Fr(\)\))771 4158
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3889
y FD(8)p FG(t)842 4170 y Fq(1)891 4158 y FG(t)919 4170
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3890
y Fq(2)956 4158 y FG(:)43 b(P)32 b(t)1129 4170 y Fq(1)1204
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3891
4158 y FD(^)39 b FG(P)32 b(t)1403 4170 y Fq(2)1483 4158
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3892
y FD(\))21 b FG(P)32 b Fr(\()p Fs(App)1809 4179 y Fp(\013)1857
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3893
4158 y Fr(\()p FG(t)1915 4170 y Fq(1)1951 4158 y FG(;)14
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3894
b(t)2014 4170 y Fq(2)2051 4158 y Fr(\)\))771 4277 y FD(8)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3895
FG(a)e(t)895 4289 y Fq(1)932 4277 y FG(:)43 b(P)32 b(t)1105
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3896
4289 y Fq(1)1184 4277 y FD(\))43 b FG(P)32 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3897
Fs(Lam)1532 4285 y Fp(\013)1580 4277 y Fr(\()p FG(a;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3898
b(t)1712 4289 y Fq(1)1749 4277 y Fr(\)\))p 771 4325 1340
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3899
4 v 1386 4393 a FG(P)32 b(t)1254 b FI(\(20\))0 4536 y(Ho)n(we)n(v)o(er)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3900
m(,)31 b(this)g(structural)h(induction)h(principle)f(is)f(not)h(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3901
(ery)g(con)m(v)o(enient)g(in)g(practice.)f(Consider)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3902
4632 y(again)22 b(Fig.)f(1)h(sho)n(wing)g(a)f(typical)h(informal)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3903
(proof)g(in)m(v)n(olving)h(lambda-terms.)f(This)e(informal)i(proof)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3904
4727 y(establishes)k(the)h(substitution)h(lemma)f(by)h(considering)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3905
(in)e(the)g(lambda-case)g(only)h(binders)g FG(z)i FI(that)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3906
4823 y(ha)n(v)o(e)25 b(suitable)g(properties)h(\(namely)f(being)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3907
(fresh)f(for)g FG(x)p FI(,)e FG(y)s FI(,)h FG(N)32 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3908
FI(and)25 b FG(L)p FI(\).)g(If)g(one)g(w)o(ould)g(use)g(for)g(this)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3909
0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3910
%%Page: 14 14
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3911
TeXDict begin 14 13 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3912
0 71 2881 4 v 0 17 a FF(14)p 0 TeXcolorgray 0 228 a FI(proof)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3913
b(the)f(induction)h(principle)f(gi)n(v)o(en)g(abo)o(v)o(e,)g(then)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3914
(one)g(w)o(ould)h(need)f(to)f(sho)n(w)h(the)g(lambda-case)g(for)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3915
324 y FE(all)g FG(z)s FI(,)f(not)h(just)g(the)g(ones)g(being)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3916
(suitably)f(fresh.)g(This)f(w)o(ould)i(mean)g(one)f(has)g(to)g(rename)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3917
(binders)h(and)0 419 y(establish)g(a)f(number)j(of)f(auxiliary)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3918
(lemmas)f(concerning)i(such)e(renamings.)125 515 y(In)j(this)g(section)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3919
h(we)f(will)f(deri)n(v)o(e)i(an)g(induction)h(principle)f(which)g(allo)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3920
n(ws)f(a)g(similar)g(con)m(v)o(enient)0 610 y(reasoning)e(as)f(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3921
(Barendre)o(gt')l(s)g(informal)i(proof.)f(This)f(induction)i(principle)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3922
f(is)e(as)h(follo)n(ws:)474 765 y FD(8)p FG(c)13 b(a:)43
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3923
b(P)32 b Fr(\()p Fs(Var)896 773 y Fp(\013)944 765 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3924
FG(a)p Fr(\)\))20 b FG(c)474 884 y FD(8)p FG(c)13 b(t)591
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3925
896 y Fq(1)641 884 y FG(t)669 896 y Fq(2)706 884 y FG(:)43
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3926
b Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)1034 896 y Fq(1)1092
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3927
884 y FG(d)p Fr(\))38 b FD(^)h Fr(\()p FD(8)p FG(d:)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3928
b(P)32 b(t)1554 896 y Fq(2)1612 884 y FG(d)p Fr(\))42
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3929
b FD(\))21 b FG(P)32 b Fr(\()p Fs(App)2051 905 y Fp(\013)2098
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3930
884 y Fr(\()p FG(t)2156 896 y Fq(1)2193 884 y FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3931
b(t)2255 896 y Fq(2)2292 884 y Fr(\)\))21 b FG(c)474
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3932
1003 y FD(8)p FG(c)13 b(a)f(t)644 1015 y Fq(1)681 1003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3933
y FG(:)43 b(a)21 b Fr(#)h FG(c)38 b FD(^)h Fr(\()p FD(8)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3934
FG(d:)21 b(P)32 b(t)1318 1015 y Fq(1)1376 1003 y FG(d)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3935
Fr(\))43 b FD(\))f FG(P)24 b Fr(\()p Fs(Lam)1828 1011
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3936
y Fp(\013)1875 1003 y Fr(\()p FG(a;)13 b(t)2008 1015
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3937
y Fq(1)2045 1003 y Fr(\)\))g FG(c)p 474 1051 1933 4 v
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3938
1367 1119 a(P)24 b(t)12 b(c)1236 b FI(\(21\))0 1277 y(where)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3939
b(the)f(v)n(ariable)h FG(t)f FI(in)g(the)h(conclusion)g(stands)g(for)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3940
(a)f Fs(lam)1760 1285 y Fp(\013)1808 1277 y FI(-term)g(o)o(v)o(er)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3941
(which)g(the)f(induction)i(is)0 1372 y(done)18 b(and)f(the)g(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3942
(ariable)h FG(c)f FI(stands)f(for)i(the)f FE(conte)n(xt)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3943
FI(of)e(the)g(induction.)i(By)d(the)h(conte)o(xt)h(of)f(an)g(induction)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3944
0 1468 y(we)k(mean)g(all)g(free)g(v)n(ariables)g(of)g(the)g(lemma)h(to)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3945
f(be)g(sho)n(wn)g(by)h(induction,)g(e)o(xcept)f(the)g(v)n(ariable)h(o)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3946
(v)o(er)0 1563 y(which)i(the)h(induction)g(is)f(performed.)h(W)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3947
b(e)24 b(also)g(assume)g(that)g(the)g(conte)o(xt)h(is)e(of)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3948
(\002nitely)f(supported)0 1659 y(type.)c(In)h(case)e(of)i(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3949
(substitution)h(lemma)f(from)h(Fig.)f(1,)f(for)i(e)o(xample,)g(we)e(ha)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3950
n(v)o(e)639 1816 y FG(M)8 b Fr([)p FG(x)21 b Fr(:=)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3951
FG(N)8 b Fr(][)p FG(y)25 b Fr(:=)c FG(L)p Fr(])h FD(\021)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3952
FG(M)8 b Fr([)p FG(y)24 b Fr(:=)e FG(L)p Fr(][)p FG(x)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3953
Fr(:=)f FG(N)8 b Fr([)p FG(y)25 b Fr(:=)c FG(L)p Fr(]])0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3954
1974 y FI(with)34 b FG(M)41 b FI(being)35 b(the)f(v)n(ariable)g(o)o(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3955
(er)g(which)g(the)g(induction)h(is)e(done.)i(So)e(in)h(this)f(case,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3956
(the)h(con-)0 2069 y(te)o(xt)27 b FG(c)f FI(w)o(ould)i(be)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3957
(instantiated)g(with)f(the)h(other)h(free)f(v)n(ariables)g(in)g(this)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3958
(lemma,)h(namely)g(the)g(tuple)0 2165 y Fr(\()p FG(x;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3959
b(y)s(;)f(N)t(;)h(L)p Fr(\))p FI(\227which)22 b(is)f(of)h(\002nitely)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3960
(supported)h(type.)f(When)h(it)e(comes)g(to)h(pro)o(v)o(e)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3961
(lambda-case,)0 2260 y(that)e(is)973 2356 y FG(P)32 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3962
Fr(\()p Fs(Lam)1202 2364 y Fp(\013)1249 2356 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3963
FG(z)s(;)13 b(M)1426 2368 y Fq(1)1463 2356 y Fr(\)\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3964
b(\()p FG(x;)13 b(y)s(;)f(N)t(;)i(L)p Fr(\))0 2490 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3965
FI(one)24 b(can)f(assume)g(in)g(\(21\))h(that)f(the)g(binder)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3966
FG(z)h FI(is)e(fresh)g(for)g Fr(\()p FG(x;)13 b(y)s(;)g(N)t(;)g(L)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3967
Fr(\))p FI(\227which)23 b(is)g(equi)n(v)n(alent)h(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3968
FG(z)0 2585 y FI(not)18 b(being)h(equal)f(to)f FG(x)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3969
FI(and)h FG(y)s FI(,)f(and)h(not)g(free)g(in)g FG(N)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3970
b FI(and)18 b FG(L)p FI(.)g(As)f(we)g(shall)g(see)g(later)m(,)g(with)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3971
(this)f(induction)0 2681 y(principle)k(one)g(can)f(formalise)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3972
(Barendre)o(gt')l(s)f(slick)g(informal)h(proof)h(without)e(dif)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3973
(\002culties.)125 2776 y(In)f(the)g(follo)n(wing)i(we)d(shall)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3974
(establish)g(a)f(slightly)i(more)g(general)g(v)o(ersion)f(of)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3975
(induction)i(prin-)0 2872 y(ciple)c(gi)n(v)o(en)h(in)g(\(21\).)g(In)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3976
(the)f(generalised)h(v)o(ersion)g(we)f(require)i(that)e(the)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3977
(induction)h(conte)o(xt)f(is)e(\002nitely)0 2967 y(supported,)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3978
b(b)n(ut)g(not)g(necessarily)f(has)g(\002nitely)g(supported)i(type.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3979
0 TeXcolorgray 0 3126 a FJ(Theor)o(em)d(2)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3980
42 w(\(Str)o(ong)27 b(Induction)f(Principle\))g FE(A)h(pr)l(operty)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3981
FG(P)44 b(t)33 b(c)26 b FE(holds)h(for)g(all)f FG(t)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3982
FE(terms)g(of)g(type)0 3222 y Fs(lam)118 3230 y Fp(\013)165
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3983
3222 y FE(,)19 b(pr)l(o)o(vided)j(for)e(a)g(given)h FG(f)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3984
0 TeXcolorgray 56 3358 a FE(\(i\))p 0 TeXcolorgray 84
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3985
w FD(8)p FG(c:)43 b Fk(\014nite)7 b Fr(\()p Fk(supp)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3986
Fr(\()p FG(f)21 b(c)p Fr(\)\))p FE(,)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3987
34 3454 a(\(ii\))p 0 TeXcolorgray 84 w FD(8)p FG(c)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3988
b(a:)43 b(P)32 b Fr(\()p Fs(Var)636 3462 y Fp(\013)684
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3989
3454 y Fr(\()p FG(a)p Fr(\)\))20 b FG(c)p FE(,)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3990
12 3549 a(\(iii\))p 0 TeXcolorgray 84 w FD(8)p FG(c)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3991
b(t)331 3561 y Fq(1)381 3549 y FG(t)409 3561 y Fq(2)446
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3992
3549 y FG(:)43 b Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)774
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3993
3561 y Fq(1)832 3549 y FG(d)p Fr(\))38 b FD(^)h Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3994
FD(8)p FG(d:)21 b(P)32 b(t)1294 3561 y Fq(2)1352 3549
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3995
y FG(d)p Fr(\))43 b FD(\))21 b FG(P)32 b Fr(\()p Fs(App)1791
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3996
3570 y Fp(\013)1839 3549 y Fr(\()p FG(t)1897 3561 y Fq(1)1933
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3997
3549 y FG(;)13 b(t)1995 3561 y Fq(2)2032 3549 y Fr(\)\))22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3998
b FG(c)p FE(,)d(and)p 0 TeXcolorgray 21 3645 a(\(iv\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  3999
0 TeXcolorgray 84 w FD(8)p FG(c)13 b(a)g(t)385 3657 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4000
Fq(1)422 3645 y FG(:)43 b(a)21 b Fr(#)g FG(f)g(c)39 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4001
FD(^)f Fr(\()p FD(8)p FG(d:)21 b(P)32 b(t)1116 3657 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4002
Fq(1)1175 3645 y FG(d)p Fr(\))42 b FD(\))g FG(P)33 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4003
Fr(\()p Fs(Lam)1635 3653 y Fp(\013)1682 3645 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4004
FG(a;)13 b(t)1815 3657 y Fq(1)1852 3645 y Fr(\)\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4005
b FG(c)0 3781 y FE(hold.)p 0 TeXcolorgray 0 3963 a(Pr)l(oof)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4006
0 TeXcolorgray 40 w FI(By)27 b(induction)i(o)o(v)o(er)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4007
FG(t)f FI(using)i(\(20\).)f(W)-6 b(e)27 b(strengthen)i(the)f(induction)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4008
h(hypothesis)g(by)f(aiming)0 4059 y(to)c(pro)o(v)o(e)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4009
FD(8)p FG(\031)15 b(c:)30 b(P)23 b Fr(\()p FG(\031)622
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4010
4068 y Fo(\001)660 4059 y FG(t)p Fr(\))12 b FG(c)p FI(.)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4011
b(The)h(cases)f(for)h Fs(Var)1378 4067 y Fp(\013)1450
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4012
4059 y FI(and)g Fs(App)1705 4080 y Fp(\013)1777 4059
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4013
y FI(are)f(routine.)i(The)e(interesting)h(case)f(is)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4014
4154 y Fs(Lam)118 4162 y Fp(\013)165 4154 y FI(:)e(we)g(need)g(to)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4015
(sho)n(w)f(that)g FG(P)i Fr(\()p FG(\031)1053 4163 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4016
Fo(\001)1091 4154 y Fs(Lam)1208 4162 y Fp(\013)1256 4154
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4017
y Fr(\()p FG(a;)12 b(t)1388 4166 y Fq(1)1425 4154 y Fr(\)\))h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4018
FG(c)p FI(,)22 b(where)g FG(\031)1834 4163 y Fo(\001)1872
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4019
4154 y Fs(Lam)1990 4162 y Fp(\013)2037 4154 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4020
FG(a;)13 b(t)2170 4166 y Fq(1)2207 4154 y Fr(\))25 b(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4021
Fs(Lam)2464 4162 y Fp(\013)2512 4154 y Fr(\()p FG(\031)2589
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4022
4163 y Fo(\001)2626 4154 y FG(a;)13 b(\031)2748 4163
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4023
y Fo(\001)2786 4154 y FG(t)2814 4166 y Fq(1)2851 4154
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4024
y Fr(\))0 4250 y FI(by)35 b(\(17\).)f(Since)g(by)h FE(\(i\))f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4025
FG(f)8 b(c)35 b FI(is)e(\002nitely)h(supported,)i(and)e(by)h(Lemmas)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4026
(4)h(and)f(10)h(also)f FG(\031)2655 4259 y Fo(\001)2693
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4027
4250 y FG(a)f FI(and)0 4345 y FG(\031)47 4354 y Fo(\001)85
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4028
4345 y FG(t)113 4357 y Fq(1)150 4345 y FI(,)26 b(we)g(can)g(use)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4029
(Prop.)f(1)h(to)f(obtain)i(a)e FG(b)g FI(with)g FG(b)33
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4030
b Fr(#)g(\()p FG(f)21 b(c;)13 b(\031)1803 4354 y Fo(\001)1841
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4031
4345 y FG(a;)g(\031)1963 4354 y Fo(\001)2001 4345 y FG(t)2029
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4032
4357 y Fq(1)2066 4345 y Fr(\))p FI(.)25 b(From)i(this)f(we)g(can)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4033
(infer)0 4441 y(that)h FG(b)36 b FD(6)p Fr(=)f FG(\031)357
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4034
4450 y Fo(\001)395 4441 y FG(a)28 b FI(and)g FG(b)36
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4035
b Fr(#)g FG(\031)821 4450 y Fo(\001)859 4441 y FG(t)887
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4036
4453 y Fq(1)924 4441 y FI(,)27 b(which)i(implies)f(by)g(\(18\))h(that)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4037
Fr(\()p FD(\003)p Fr(\))g Fs(Lam)2107 4449 y Fp(\013)2154
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4038
4441 y Fr(\()p FG(b;)13 b Fr(\()p FG(b)38 b(\031)2399
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4039
4450 y Fo(\001)2437 4441 y FG(a)p Fr(\))2508 4450 y Fo(\001)2546
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4040
4441 y Fr(\()p FG(\031)2623 4450 y Fo(\001)2661 4441
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4041
y FG(t)2689 4453 y Fq(1)2726 4441 y Fr(\)\))d(=)0 4536
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4042
y Fs(Lam)118 4544 y Fp(\013)165 4536 y Fr(\()p FG(\031)242
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4043
4545 y Fo(\001)280 4536 y FG(a;)12 b(\031)401 4545 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4044
Fo(\001)439 4536 y FG(t)467 4548 y Fq(1)504 4536 y Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4045
FI(.)26 b(From)g(the)g(induction)i(hypothesis,)e(which)h(is)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4046
FD(8)p FG(\031)15 b(c:)f(P)23 b Fr(\()p FG(\031)2220
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4047
4545 y Fo(\001)2258 4536 y FG(t)2286 4548 y Fq(1)2323
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4048
4536 y Fr(\))12 b FG(c)p FI(,)26 b(we)g(obtain)g(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4049
4632 y(f)o(act)i FD(8)p FG(c:)13 b(P)24 b Fr(\(\(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4050
FG(b)38 b(\031)536 4641 y Fo(\001)574 4632 y FG(a)p Fr(\)@)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4051
FG(\031)s Fr(\))782 4641 y Fo(\001)819 4632 y FG(t)847
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4052
4644 y Fq(1)884 4632 y Fr(\))12 b FG(c)p FI(.)28 b(Then)h(we)f(can)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4053
(use)g(the)g(f)o(act)h FG(b)36 b Fr(#)g FG(f)21 b(c)28
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4054
b FI(and)h FE(\(iv\))p FI(,)f(and)h(infer)g(that)0 4727
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4055
y FG(P)23 b Fr(\()p Fs(Lam)220 4735 y Fp(\013)267 4727
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4056
y Fr(\()p FG(b;)13 b Fr(\(\()p FG(b)38 b(\031)542 4736
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4057
y Fo(\001)580 4727 y FG(a)p Fr(\)@)p FG(\031)s Fr(\))788
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4058
4736 y Fo(\001)825 4727 y FG(t)853 4739 y Fq(1)890 4727
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4059
y Fr(\)\))13 b FG(c)22 b FI(holds.)g(Moreo)o(v)o(er)h(this)f(is)f(by)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4060
(De\002nition)f(2)p FE(\(ii\))h FI(equal)f(to)g(the)g(f)o(act)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4061
4823 y FG(P)h Fr(\()p Fs(Lam)220 4831 y Fp(\013)267 4823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4062
y Fr(\()p FG(b;)13 b Fr(\()p FG(b)38 b(\031)512 4832
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4063
y Fo(\001)550 4823 y FG(a)p Fr(\))621 4832 y Fo(\001)659
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4064
4823 y Fr(\()p FG(\031)736 4832 y Fo(\001)774 4823 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4065
FG(t)802 4835 y Fq(1)839 4823 y Fr(\)\)\))12 b FG(c)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4066
FI(.)20 b(By)f Fr(\()p FD(\003)p Fr(\))h FI(we)g(can)g(conclude)i(with)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4067
e FG(P)j Fr(\()p Fs(Lam)2169 4831 y Fp(\013)2216 4823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4068
y Fr(\()p FG(\031)2293 4832 y Fo(\001)2331 4823 y FG(a;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4069
b(\031)2452 4832 y Fo(\001)2490 4823 y FG(t)2518 4835
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4070
y Fq(1)2555 4823 y Fr(\)\))h FG(c)p FI(.)79 b FD(u)-51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4071
b(t)p 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4072
%%Page: 15 15
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4073
TeXDict begin 15 14 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4074
0 71 2881 4 v 2814 17 a FF(15)p 0 TeXcolorgray 0 228
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4075
a FI(If)22 b(we)f(set)g(in)h(Thm.)g(2)f FG(f)30 b FI(to)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4076
b(the)f(identity-function)k(and)d(require)h(that)e FG(c)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4077
FI(has)f(\002nitely)h(supported)h(type,)0 324 y(we)c(can)g(dischar)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4078
(ge)h(condition)h FE(\(i\))e FI(in)g(and)h(obtain)g(the)g(structural)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4079
(induction)i(principle)g(stated)d(in)i(\(21\).)0 419
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4080
y(The)f(adv)n(antage)i(of)e(\(21\))h(is)e(that)h(Isabelle')l(s)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4081
(axiomatic)h(type)f(classes)f(can)h(be)g(used)g(to)g(ensure)h(that)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4082
(the)0 515 y(induction)h(conte)o(xt)f(is)f(a)g(\002nitely)g(supported)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4083
(type,)f(while)f(the)g(induction)i(principle)g(pro)o(v)o(ed)f(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4084
(Thm.)f(2)0 610 y(requires)23 b(manual)g(reasoning)g(to)f(ensure)h(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4085
f(\002nite)g(support)i(property)-5 b(.)23 b(Ho)n(we)n(v)o(er)m(,)g(we)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4086
(will)h(need)g(the)0 706 y(more)c(general)h(induction)g(principle)g(in)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4087
f(the)g(ne)o(xt)g(section)g(where)g(we)f(deri)n(v)o(e)h(a)g(recursion)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4088
(combinator)0 801 y(for)i Fs(lam)229 809 y Fp(\013)277
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4089
801 y FI(.)0 1082 y FJ(5)28 b(A)20 b(Recursion)f(Combinator)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4090
1271 y FI(Before)24 b(we)f(can)g(formalise)h(Barendre)o(gt')l(s)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4091
(proof)g(of)g(the)f(substitution)i(lemma,)e(we)g(need)h(to)f(be)g(able)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4092
0 1366 y(to)18 b(de\002ne)h(the)g(function)h(of)f(capture-a)n(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4093
(oiding)j(substitution.)d(This)f(can)h(be)g(done)g(by)g(\002rst)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4094
(considering)0 1462 y(an)h(appropriately)i(de\002ned)e(relation)g(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4095
(then)f(sho)n(wing)g(that)g(this)f(relation)i(beha)n(v)o(es)f(lik)o(e)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4096
(a)f(function.)0 1557 y(This)k(has)h(been)g(done)g(in)g(Urban)g(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4097
(T)-6 b(asson)23 b([36].)g(Ho)n(we)n(v)o(er)m(,)g(this)f(w)o(ay)h(is)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4098
(rather)j(inele)o(gant.)e(More)0 1653 y(ele)o(gant)e(is)f(a)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4099
(de\002nition)h(by)g(structural)f(recursion.)125 1748
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4100
y(It)32 b(turns)h(out)g(that)g(de\002ning)h(functions)g(by)f(recursion)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4101
h(o)o(v)o(er)f(the)g(structure)g(of)g(alpha-equated)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4102
1844 y(lambda-terms)18 b(is)e(rather)h(subtle.)g(Let)g(us)f(assume)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4103
(we)f(w)o(ant)h(to)g(de\002ne)g(capture-a)n(v)n(oiding)k(substitution)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4104
1939 y(by)g(the)f(follo)n(wing)h(three)g(clauses)p 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4105
TeXcolorgray 0 TeXcolorgray 469 2096 a Fs(Var)586 2104
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4106
y Fp(\013)634 2096 y Fr(\()p FG(x)p Fr(\)[)p FG(y)i Fr(:=)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4107
FG(t)950 2064 y Fl(0)973 2096 y Fr(])j(=)g(\()p FI(if)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4108
FG(x)g Fr(=)g FG(y)j FI(then)e FG(t)1594 2064 y Fl(0)1638
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4109
2096 y FI(else)f Fs(Var)1900 2104 y Fp(\013)1947 2096
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4110
y Fr(\()p FG(x)p Fr(\)\))348 2215 y Fs(App)466 2236 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4111
Fp(\013)513 2215 y Fr(\()p FG(t)571 2227 y Fq(1)608 2215
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4112
y FG(;)13 b(t)670 2227 y Fq(2)707 2215 y Fr(\)[)p FG(y)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4113
b Fr(:=)d FG(t)950 2184 y Fl(0)973 2215 y Fr(])j(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4114
Fs(App)1219 2236 y Fp(\013)1267 2215 y Fr(\()p FG(t)1325
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4115
2227 y Fq(1)1362 2215 y Fr([)p FG(y)g Fr(:=)d FG(t)1575
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4116
2184 y Fl(0)1598 2215 y Fr(])p FG(;)14 b(t)1682 2227
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4117
y Fq(2)1719 2215 y Fr([)p FG(y)24 b Fr(:=)d FG(t)1932
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4118
2184 y Fl(0)1955 2215 y Fr(]\))407 2334 y Fs(Lam)524
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4119
2342 y Fp(\013)572 2334 y Fr(\()p FG(x;)12 b(t)p Fr(\)[)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4120
FG(y)24 b Fr(:=)d FG(t)950 2303 y Fl(0)973 2334 y Fr(])j(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4121
Fs(Lam)1219 2342 y Fp(\013)1267 2334 y Fr(\()p FG(x;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4122
b(t)p Fr([)p FG(y)24 b Fr(:=)d FG(t)1615 2303 y Fl(0)1639
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4123
2334 y Fr(]\))208 b FI(pro)o(vided)22 b FG(x)f Fr(#)h(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4124
FG(y)s(;)12 b(t)2480 2303 y Fl(0)2503 2334 y Fr(\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4125
2490 y FI(where)18 b(the)f(side-condition)j(in)d(the)h(lambda-case)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4126
(amounts)h(to)e(the)h(usual)g(condition)h(about)f FG(x)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4127
FD(6)p Fr(=)g FG(y)f FI(and)0 2585 y FG(x)k FI(not)i(being)g(a)f(free)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4128
(atom)h(in)f FG(t)898 2554 y Fl(0)921 2585 y FI(.)f(Then)i(de\002ning)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4129
(it)d(o)o(v)o(er)i Fs(lam)1784 2593 y Fp(\013)1857 2585
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4130
y FI(results)e(in)h(a)g(total)g(function,)i(while)0 2681
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4131
y(de\002ning)e(it)e(o)o(v)o(er)g(\223ra)o(w\224)h(lambda-terms)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4132
(type)g Fs(lam)g FI(results)f(in)g(a)h(partial)f(function.)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4133
(Furthermore,)0 2776 y(attempting)30 b(to)f(de\002ne)g(the)h(functions)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4134
g(that)f(return)h(the)f(set)f(of)h(bound)i(names)e(and)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4135
(immediate)0 2872 y(subterms)21 b(by)f(the)g(clauses)516
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4136
3042 y FE(bn)q Fr(\()p Fs(Var)742 3050 y Fp(\013)790
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4137
3042 y Fr(\()p FG(x)p Fr(\)\))34 b(=)h Fh(?)395 3197
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4138
y FE(bn)q Fr(\()p Fs(App)622 3218 y Fp(\013)669 3197
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4139
y Fr(\()p FG(t)727 3209 y Fq(1)764 3197 y FG(;)13 b(t)826
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4140
3209 y Fq(2)863 3197 y Fr(\)\))35 b(=)g FE(bn)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4141
FG(t)1190 3209 y Fq(1)1227 3197 y Fr(\))t FD([)t FI(bn)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4142
Fr(\()p FG(t)1453 3209 y Fq(2)1490 3197 y Fr(\))454 3351
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4143
y FE(bn)q Fr(\()p Fs(Lam)680 3359 y Fp(\013)728 3351
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4144
y Fr(\()p FG(x;)12 b(t)p Fr(\)\))35 b(=)g FE(bn)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4145
FG(t)p Fr(\))t FD([)t(f)p FG(x)p FD(g)1712 3042 y FE(ist)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4146
Fr(\()p Fs(Var)1934 3050 y Fp(\013)1981 3042 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4147
FG(x)p Fr(\)\))g(=)g Fh(?)1591 3197 y FE(ist)p Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4148
Fs(App)1813 3218 y Fp(\013)1860 3197 y Fr(\()p FG(t)1918
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4149
3209 y Fq(1)1955 3197 y FG(;)13 b(t)2017 3209 y Fq(2)2054
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4150
3197 y Fr(\)\))36 b(=)f FD(f)p FG(t)2311 3209 y Fq(1)2348
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4151
3197 y FG(;)13 b(t)2410 3209 y Fq(2)2447 3197 y FD(g)1650
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4152
3351 y FE(ist)o Fr(\()p Fs(Lam)1872 3359 y Fp(\013)1919
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4153
3351 y Fr(\()p FG(x;)g(t)p Fr(\)\))35 b(=)g FD(f)p FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4154
FD(g)2749 3220 y FI(\(22\))0 3535 y(results)15 b(in)h(an)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4155
(inconsistenc)o(y)h(when)f(de\002ned)g(o)o(v)o(er)h Fs(lam)1536
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4156
3543 y Fp(\013)1584 3535 y FI(,)e(while)g(it)h(can)f(be)h(de\002ned)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4157
(without)f(problems)0 3631 y(o)o(v)o(er)27 b Fs(lam)q
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4158
FI(.)f(The)h(inconsistenc)o(y)g(with)g FE(bn)g FI(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4159
FE(ist)f FI(arises)g(by)h(the)g(principle)g(of)g(HOL)g(stating)f(that)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4160
(a)0 3726 y(function)22 b(has)d(to)i(return)g(the)f(\223same)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4161
(ouput\224)j(for)f(the)f(\223same)f(input\224.)i(Since)f(by)h(\(18\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4162
(we)e(ha)n(v)o(e)822 3917 y Fs(Lam)939 3925 y Fp(\013)987
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4163
3917 y Fr(\()p FG(x;)12 b Fs(Var)1212 3925 y Fp(\013)1259
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4164
3917 y Fr(\()p FG(x)p Fr(\)\))21 b(=)g Fs(Lam)1612 3925
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4165
y Fp(\013)1660 3917 y Fr(\()p FG(y)s(;)12 b Fs(Var)1882
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4166
3925 y Fp(\013)1929 3917 y Fr(\()p FG(y)s Fr(\)\))0 4059
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4167
y FI(for)k(all)f FG(x)f FI(and)i FG(y)s FI(,)e(we)h(can)h(assume)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4168
(that)g(this)g(equation)i(holds)f(for)g FG(x)21 b FD(6)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4169
Fr(=)g FG(y)s FI(.)14 b(Then)i FE(bn)q Fr(\()p Fs(Lam)2408
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4170
4067 y Fp(\013)2456 4059 y Fr(\()p FG(x;)c Fs(Var)2681
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4171
4067 y Fp(\013)2728 4059 y Fr(\()p FG(x)p Fr(\)\)\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4172
4154 y FI(must)20 b(be)f(equal)h(to)g FE(bn)q Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4173
Fs(Lam)763 4162 y Fp(\013)810 4154 y Fr(\()p FG(y)s(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4174
b Fs(Var)1033 4162 y Fp(\013)1080 4154 y Fr(\()p FG(y)s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4175
Fr(\)\)\))p FI(,)18 b(which)i(implies)f(by)h(the)g(clauses)f(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4176
(\(22\))i(that)e FG(x)g FI(must)g(be)0 4250 y(equal)i(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4177
FG(y)i FI(gi)n(ving)f(a)f(contradiction)i(with)e(the)g(assumption)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4178
FG(x)g FD(6)p Fr(=)g FG(y)s FI(\227similar)e(with)h(the)g(function)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4179
FE(ist)o FI(.)125 4345 y(One)16 b(w)o(ay)g(around)i(the)e(problem)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4180
(with)e(the)g(inconsistencies)h(is)e(to)i(deri)n(v)o(e)f(a)g(recursion)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4181
i(combinator)0 4441 y(for)27 b Fs(lam)236 4449 y Fp(\013)309
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4182
4441 y FI(that)f(includes)h(certain)g(preconditions)h(for)f(binders)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4183
(ensuring)h(no)f(inconsistenc)o(y)g(can)f(be)0 4536 y(deri)n(v)o(ed.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4184
(F)o(or)g(this)f(we)g(will)g(adapt)h(w)o(ork)g(by)g(Pitts)f([27])h(who)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4185
g(introduced)i(such)d(preconditions.)j(W)-6 b(e)0 4632
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4186
y(will)22 b(also)g(adapt)h(his)f(proof)i(establishing)g(the)e(e)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4187
(xistence)h(of)f(a)h(structural)g(recursion)g(combinator)i(for)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4188
4727 y Fs(lam)118 4735 y Fp(\013)165 4727 y FI(.)20 b(The)g(main)h(dif)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4189
n(ference)h(of)e(our)h(proof)h(is)e(that)g(we)g(gi)n(v)o(e)h(here)f(a)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4190
(direct)h(proof)h(for)f(the)f(e)o(xistence,)0 4823 y(because)31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4191
b(in)g(our)g(implementation)i(we)d(do)i(not)f(use)f(an)o(ywhere)i(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4192
(type)g Fs(lam)g FI(\(Pitts)f(uses)g Fs(lam)i FI(to)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4193
0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4194
%%Page: 16 16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4195
TeXDict begin 16 15 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4196
0 71 2881 4 v 0 17 a FF(16)p 0 TeXcolorgray 0 228 a FI(deri)n(v)o(e)27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4197
b(a)e(structural)i(induction)g(principle\).)g(Another)g(dif)n(ference)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4198
(is)f(that)f(we)h(deri)n(v)o(e)g(the)g(recursion)0 324
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4199
y(combinator)c(without)f(deri)n(ving)g(an)g(iteration)f(combinator)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4200
(\002rst.)1819 292 y Fv(6)125 419 y FI(While)i(in)g(\223e)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4201
(ery-day\224)i(formalisation,)f(Lem.)f(4)g(is)f(suf)n(\002cient)i(in)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4202
(nearly)g(all)g(situations)g(to)g(\002nd)0 515 y(out)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4203
b(when)f(an)h(object)f(has)g(\002nite)g(support,)h(the)g(reasoning)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4204
(for)g(the)f(recursion)i(combinator)g(includes)f(in)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4205
610 y(se)n(v)o(eral)24 b(places)h(proof)h(obligations)f(about)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4206
(ensuring)g(that)e(functions)i(ha)n(v)o(e)g(\002nite)e(support.)i(And)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4207
(for)0 706 y(functions)e(one)e(cannot)i(\002nd)e(out)h(whether)g(the)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4208
(y)g(ha)n(v)o(e)g(\002nite)f(support)i(by)f(just)f(looking)i(at)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4209
(their)g(type.)0 801 y(In)f(order)i(to)e(automate)g(such)h(proof)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4210
(obligations)g(we)f(use)g(the)g(auxiliary)h(notion)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4211
FE(supports)f FI([11].)p 0 TeXcolorgray 0 947 a FJ(De\002nition)g(5)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4212
0 TeXcolorgray 42 w FE(A)31 b(set)h FG(S)j FE(of)d(atoms)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4213
FI(supports)h FE(an)f FG(x)f FE(of)h(permutation)h(type)o(,)f(written)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4214
FG(S)17 b Fk(supp)l(orts)22 b FG(x)p FE(,)0 1043 y(pr)l(o)o(vided:)822
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4215
1138 y FD(8)12 b FG(a)h(b:)21 b(a)g FD(62)h FG(S)34 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4216
FD(^)c FG(b)21 b FD(62)h FG(S)46 b FD(\))d Fr(\()p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4217
b(b)p Fr(\))1789 1147 y Fo(\001)1827 1138 y FG(x)21 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4218
Fr(=)g FG(x)g(:)0 1284 y FI(This)28 b(notion)h(allo)n(ws)e(us)h(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4219
(approximate)i(the)d(support)j(of)e(an)g FG(x)f FI(from)i(\223abo)o(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4220
(e\224,)f(because)g(we)f(can)0 1380 y(sho)n(w)20 b(that:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4221
0 TeXcolorgray 0 1526 a FJ(Lemma)f(11)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4222
43 w FE(If)g(a)i(set)e FG(S)24 b FE(is)19 b(\002nite)i(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4223
FG(S)c Fk(supp)l(orts)k FG(x)p FE(,)e(then)h Fk(supp)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4224
b Fr(\()p FG(x)p Fr(\))21 b FD(\022)g FG(S)t FE(.)p 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4225
TeXcolorgray 0 1709 a(Pr)l(oof)p 0 TeXcolorgray 40 w
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4226
FI(By)k(contradiction)k(we)d(assume)g Fk(supp)5 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4227
FG(x)p Fr(\))32 b FD(6\022)g FG(S)t FI(,)26 b(then)h(there)g(e)o(xists)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4228
e(an)h(atom)h FG(a)32 b FD(2)h Fk(supp)6 b Fr(\()p FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4229
Fr(\))0 1805 y FI(and)20 b FG(a)h FD(62)h FG(S)t FI(.)d(From)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4230
FG(S)d Fk(supp)l(orts)k FG(x)e FI(follo)n(ws)h(that)g(for)g(all)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4231
FG(b)i FD(62)h FG(S)h FI(we)d(ha)n(v)o(e)g Fr(\()p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4232
b(b)p Fr(\))2190 1814 y Fo(\001)2228 1805 y FG(x)21 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4233
Fr(=)g FG(x)p FI(.)e(Hence)h(the)f(set)0 1900 y FD(f)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4234
FG(b)j FD(j)f Fr(\()p FG(a)13 b(b)p Fr(\))282 1909 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4235
Fo(\001)320 1900 y FG(x)20 b FD(6)p Fr(=)i FG(x)p FD(g)16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4236
b FI(is)h(a)g(subset)g(of)h FG(S)t FI(,)f(and)h(since)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4237
FG(S)k FI(is)16 b(\002nite)h(by)h(assumption,)g(also)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4238
FD(f)p FG(b)22 b FD(j)g Fr(\()p FG(a)12 b(b)p Fr(\))2615
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4239
1909 y Fo(\001)2653 1900 y FG(x)21 b FD(6)p Fr(=)g FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4240
FD(g)0 1996 y FI(must)f(be)g(\002nite.)g(But)g(this)f(implies)h(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4241
FG(a)h FD(62)h Fk(supp)5 b Fr(\()p FG(x)p Fr(\))19 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4242
FI(which)i(gi)n(v)o(es)f(the)g(contradiction.)81 b FD(u)-51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4243
b(t)0 2156 y FI(Lem.)23 b(11)g(gi)n(v)o(es)g(us)f(some)h(means)g(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4244
(decide)i(relati)n(v)o(ely)f(easily)f(whether)h(a)g(function)h(has)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4245
(\002nite)f(sup-)0 2252 y(port:)j(one)h(only)f(needs)g(to)g(\002nd)g(a)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4246
g(\002nite)f(set)g(of)i(atoms)e(and)i(then)f(v)o(erify)h(whether)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4247
(this)g(set)f(supports)0 2347 y(the)c(function.)125 2443
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4248
y(If)29 b(the)g(function)i(is)e(gi)n(v)o(en)h(as)e(a)h(lambda-term)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4249
(on)f(the)f(HOL-le)n(v)o(el,)h(then)f(for)h(\002nding)h(a)e(\002nite)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4250
2538 y(set)d(we)h(use)g(the)g(heuristic)g(of)h(considering)h(the)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4251
(support)h(of)g(the)f(free)g(v)n(ariables)g(of)h(this)f(functions.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4252
2634 y(This)20 b(is)e(a)i(heuristic,)f(because)h(it)f(cannot)i(be)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4253
(established)g(as)f(a)g(lemma)h(inside)g(Isabelle/HOL\227it)f(is)g(a)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4254
2729 y(property)k(about)g(HOL-functions.)f(Ne)n(v)o(ertheless)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4255
(heuristic)h(is)e(e)o(xtremely)j(helpful)f(for)g(deciding)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4256
2825 y(whether)f(a)e(function)j(has)e(\002nite)g(support.)h(Consider)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4257
(the)g(follo)n(wing)i(tw)o(o)e(e)o(xamples:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4258
0 3006 a FE(Example)h(1)p 0 TeXcolorgray 42 w FI(Gi)n(v)o(en)30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4259
b(a)h(function)h Fk(fn)1068 2963 y Fn(def)1075 3006 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4260
Fr(=)47 b FG(f)1219 3018 y Fq(1)1270 3006 y FG(c)30 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4261
FI(where)h FG(f)1593 3018 y Fq(1)1661 3006 y FI(is)f(a)g(function)i(of)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4262
f(type)g Fs(name)41 b FD(\))f FG(\013)p FI(.)31 b(W)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4263
b(e)0 3101 y(also)25 b(assume)g(that)g FG(f)589 3113
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4264
y Fq(1)652 3101 y FI(has)g(\002nite)g(support.)h(The)g(question)g(is)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4265
(whether)h Fk(fn)k FI(has)c(\002nite)f(support?)h(The)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4266
3197 y(free)31 b(v)n(ariables)g(of)g Fk(fn)37 b FI(are)30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4267
b FG(f)829 3209 y Fq(1)897 3197 y FI(and)i FG(c)p FI(.)e(According)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4268
(to)d(our)i(heuristic)f(we)g(ha)n(v)o(e)g(to)g(v)o(erify)h(whether)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4269
3292 y Fk(supp)6 b Fr(\()p FG(f)223 3304 y Fq(1)260 3292
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4270
y FG(;)13 b(c)p Fr(\))g Fk(supp)l(orts)21 b(fn)6 b FI(,)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4271
b(which)i(amounts)g(to)f(sho)n(wing)h(that)518 3483 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4272
FD(8)p FG(a)13 b(b:)21 b(a)g FD(62)h Fk(supp)5 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4273
FG(f)1047 3495 y Fq(1)1085 3483 y FG(;)13 b(c)p Fr(\))30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4274
b FD(^)g FG(b)21 b FD(62)h Fk(supp)5 b Fr(\()p FG(f)1642
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4275
3495 y Fq(1)1680 3483 y FG(;)13 b(c)p Fr(\))34 b FD(\))43
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4276
b Fr(\()p FG(a)12 b(b)p Fr(\))2077 3492 y Fo(\001)2115
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4277
3483 y Fk(fn)27 b Fr(=)21 b Fk(fn)0 3618 y FI(T)-6 b(o)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4278
b(do)h(so)f(we)g(can)h(assume)f(by)h(the)f(de\002nition)i(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4279
(freshness)f(\(Def.)g(3\))h(that)f FG(a)33 b Fr(#)g(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4280
FG(f)2451 3630 y Fq(1)2488 3618 y FG(;)13 b(c)p Fr(\))26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4281
b FI(and)h FG(b)33 b Fr(#)0 3714 y(\()p FG(f)67 3726
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4282
y Fq(1)104 3714 y FG(;)14 b(c)p Fr(\))21 b FI(and)g(sho)n(w)h(that)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4283
Fr(\()p FG(a)12 b(b)p Fr(\))828 3723 y Fo(\001)866 3714
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4284
y Fk(fn)30 b Fr(=)23 b Fk(fn)5 b FI(.)21 b(This)g(equation)i(follo)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4285
(ws)e(from)i(the)e(calculation)h(that)f(pushes)0 3809
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4286
y(the)f(sw)o(apping)h Fr(\()p FG(a)13 b(b)p Fr(\))19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4287
b FI(inside)h Fk(fn)6 b FI(:)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4288
460 3989 a Fr(\()p FG(a)12 b(b)p Fr(\))606 3998 y Fo(\001)644
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4289
3989 y Fk(fn)738 3946 y Fn(def)745 3989 y Fr(=)28 b(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4290
FG(a)13 b(b)p Fr(\))980 3998 y Fo(\001)1018 3989 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4291
FG(f)1085 4001 y Fq(1)1135 3989 y FG(c)p Fr(\))1219 3941
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4292
y Fv(by)g(\(3\))1256 3989 y Fr(=)58 b(\(\()p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4293
b(b)p Fr(\))1550 3998 y Fo(\001)1588 3989 y FG(f)1625
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4294
4001 y Fq(1)1663 3989 y Fr(\))g(\(\()p FG(a)h(b)p Fr(\))1882
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4295
3998 y Fo(\001)1920 3989 y FG(c)p Fr(\))2004 3939 y Fq(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4296
Fl(\003)p Fq(\))2017 3989 y Fr(=)34 b FG(f)2148 4001
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4297
y Fq(1)2199 3989 y FG(c)2253 3946 y Fn(def)2260 3989
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4298
y Fr(=)29 b Fk(fn)0 4133 y FI(where)23 b Fr(\()p FD(\003)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4299
Fr(\))f FI(follo)n(ws)h(because)g(we)g(kno)n(w)g(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4300
FG(a)i Fr(#)h FG(f)1508 4145 y Fq(1)1568 4133 y FI(and)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4301
FG(b)j Fr(#)g FG(f)1890 4145 y Fq(1)1928 4133 y FI(,)c(and)h(therefore)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4302
h(by)f(Lem.)g(4)g(that)0 4228 y Fr(\()p FG(a)12 b(b)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4303
Fr(\))146 4237 y Fo(\001)184 4228 y FG(f)221 4240 y Fq(1)280
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4304
4228 y Fr(=)21 b FG(f)398 4240 y Fq(1)455 4228 y FI(\(similarly)g(for)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4305
FG(c)p FI(\).)125 4324 y(W)-6 b(e)28 b(can)i(conclude)g(that)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4306
Fk(supp)6 b Fr(\()p Fk(fn)f Fr(\))29 b FI(is)f(a)h(subset)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4307
Fk(supp)6 b Fr(\()p FG(f)1860 4336 y Fq(1)1897 4324 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4308
FG(;)13 b(c)p Fr(\))p FI(,)29 b(because)g(the)h(latter)e(is)h(\002nite)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4309
0 4419 y(\(since)21 b FG(f)246 4431 y Fq(1)303 4419 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4310
FI(has)g(\002nite)f(support)i(by)f(assumption)g(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4311
FG(c)g FI(is)f(\002nitely)g(supported)j(because)d(the)h(type)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4312
Fs(name)0 4515 y FI(is)e(a)h(\002nitely)g(supported)i(type\).)f(So)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4313
(by)g(Lem.)g(11,)g Fk(fn)26 b FI(must)20 b(ha)n(v)o(e)h(\002nite)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4314
(support.)80 b FD(u)-51 b(t)p 0 TeXcolorgray 0 4581 898
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4315
4 v 62 4646 a Fu(6)125 4669 y FF(The)17 b(dif)n(ference)j(between)f(a)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4316
(recursion)h(and)e(an)h(iteration)i(combinator)f(is)f(that)g(in)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4317
(former)f(we)h(can)g(use)f(directly)0 4746 y(the)23 b(ar)o(guments)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4318
(of)f(the)g(term)h(constructor)m(,)h(while)f(in)g(the)f(latter)i(this)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4319
(can)g(only)f(be)h(achie)n(v)o(ed)i(via)d(an)h(encoding)h(of)e(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4320
4823 y(recursion.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4321
eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4322
%%Page: 17 17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4323
TeXDict begin 17 16 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4324
0 71 2881 4 v 2814 17 a FF(17)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4325
0 236 a FE(Example)21 b(2)p 0 TeXcolorgray 42 w FI(Let)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4326
Fk(fn)574 204 y Fl(0)619 193 y Fn(def)626 236 y Fr(=)29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4327
b FG(\025x:)12 b FI(if)22 b FG(x)f Fr(=)g FG(y)k FI(then)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4328
FG(t)1301 204 y Fl(0)1346 236 y FI(else)f Fr(\()p Fs(Var)1637
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4329
244 y Fp(\013)1685 236 y Fr(\()p FG(x)p Fr(\)\))p FI(\227where)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4330
FG(x)g FI(and)i FG(y)i FI(are)d(of)g(type)h Fs(name)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4331
332 y FI(and)f FG(t)161 300 y Fl(0)202 332 y FI(a)f Fs(lam)374
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4332
340 y Fp(\013)421 332 y FI(-term.)g(The)g(free)h(v)n(ariables)f(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4333
(this)g(HOL-function)i(are)e FG(y)i FI(and)f FG(t)2236
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4334
300 y Fl(0)2259 332 y FI(;)e(so)h(by)g(our)h(heuristic)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4335
427 y(we)f(need)i(to)f(v)o(erify)g(whether)h Fk(supp)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4336
b Fr(\()p FG(y)s(;)12 b(t)1129 395 y Fl(0)1152 427 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4337
Fr(\))h Fk(supp)l(orts)21 b(fn)1562 395 y Fl(0)1585 427
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4338
y FI(.)e(This)h(holds)g(by)h(the)f(follo)n(wing)h(calculation:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4339
0 TeXcolorgray 0 TeXcolorgray 442 582 a Fr(\()p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4340
b(b)p Fr(\))588 591 y Fo(\001)626 582 y Fr(\()p FG(\025x:)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4341
b FI(if)h FG(x)f Fr(=)g FG(y)j FI(then)e FG(t)1250 550
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4342
y Fl(0)1294 582 y FI(else)f Fs(Var)1556 590 y Fp(\013)1603
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4343
582 y Fr(\()p FG(x)p Fr(\)\))268 658 y Fn(def)275 701
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4344
y Fr(=)107 b FG(\025x:)21 b Fr(\()p FG(a)12 b(b)p Fr(\))719
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4345
710 y Fo(\001)757 701 y Fr(\()p FI(if)22 b Fr(\()p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4346
b(b)p Fr(\))1003 669 y Fl(\000)p Fq(1)1092 710 y Fo(\001)1130
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4347
701 y FG(x)21 b Fr(=)g FG(y)j FI(then)e FG(t)1523 669
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4348
y Fl(0)1567 701 y FI(else)f Fs(Var)1829 709 y Fp(\013)1876
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4349
701 y Fr(\(\()p FG(a)13 b(b)p Fr(\))2053 669 y Fl(\000)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4350
Fq(1)2142 710 y Fo(\001)2180 701 y FG(x)p Fr(\)\))275
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4351
797 y(=)107 b FG(\025x:)13 b FI(if)21 b FG(x)g Fr(=)g(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4352
FG(a)12 b(b)p Fr(\))926 806 y Fo(\001)964 797 y FG(y)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4353
b FI(then)e Fr(\()p FG(a)13 b(b)p Fr(\))1330 806 y Fo(\001)1368
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4354
797 y FG(t)1396 765 y Fl(0)1440 797 y FI(then)22 b Fs(Var)1715
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4355
805 y Fp(\013)1762 797 y Fr(\()p FG(x)p Fr(\))517 b FI(by)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4356
b(\(10\))275 892 y Fr(=)107 b FG(\025x:)21 b FI(if)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4357
FG(x)e Fr(=)i FG(y)h FI(then)f FG(t)1035 860 y Fl(0)1080
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4358
892 y FI(else)f Fs(Var)1342 900 y Fp(\013)1389 892 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4359
Fr(\()p FG(x)p Fr(\))1021 b(\()p FD(\003)p Fr(\))0 1053
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4360
y FI(where)25 b Fr(\()p FD(\003)p Fr(\))g FI(follo)n(ws)g(by)g(Lem.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4361
(4)g(and)h(the)e(assumption)i(that)f FG(a)30 b Fr(#)g(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4362
FG(y)s(;)12 b(t)2038 1022 y Fl(0)2061 1053 y Fr(\))25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4363
b FI(and)g FG(b)30 b Fr(#)g(\()p FG(y)s(;)12 b(t)2543
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4364
1022 y Fl(0)2566 1053 y Fr(\))p FI(.)25 b(Since)f FG(y)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4365
1149 y FI(and)d FG(t)162 1117 y Fl(0)204 1149 y FI(are)f(\002nitely)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4366
(supported)g(types,)f Fk(fn)1173 1117 y Fl(0)1216 1149
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4367
y FI(must)g(then)h(ha)n(v)o(e)f(\002nite)g(support.)80
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4368
b FD(u)-51 b(t)125 1322 y FI(As)19 b(the)i(e)o(xamples)g(indicate,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4369
(by)h(using)g(the)g(heuristic,)g(one)g(can)f(infer)h(from)h(a)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4370
(decision)h(problem)0 1417 y(in)m(v)n(olving)31 b(permutations)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4371
(whether)f(or)g(not)g(a)f(function)i(has)e(\002nite)h(support.)g(The)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4372
(important)h(point)0 1513 y(here)17 b(is)f(that)h(the)g(decision)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4373
(procedure)h(in)m(v)n(olving)g(permutations)f(can)f(be)g(relati)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4374
(ely)h(easily)e(automated)0 1608 y(with)g(a)f(special)g(purpose)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4375
(tactic)f(analysing)g(permutations.)h(This)f(seems)f(much)i(more)f(con)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4376
m(v)o(enient)h(than)0 1704 y(analysing)k(the)f(support)h(of)g(a)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4377
(function)h(directly)-5 b(.)125 1800 y(A)18 b(de\002nition)i(by)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4378
(structural)g(recursion)h(in)m(v)n(olv)o(es)g(in)f(case)f(of)h(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4379
(lambda-terms)h(three)f(functions)0 1896 y(\(one)h(for)g(each)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4380
(term-constructor\))j(that)d(specify)h(the)f(beha)n(viour)j(of)d(the)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4381
(function)g(to)g(be)f(de\002ned\227let)0 1991 y(us)28
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4382
b(call)f(these)h(functions)h FG(f)787 2003 y Fq(1)825
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4383
1991 y FI(,)e FG(f)909 2003 y Fq(2)947 1991 y FI(,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4384
FG(f)1031 2003 y Fq(3)1096 1991 y FI(for)i(the)f(v)n(ariable-,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4385
(application-)g(and)g(lambda-case,)f(respec-)0 2087 y(ti)n(v)o(ely)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4386
b(,)20 b(and)g(let)g(us)g(assume)g(the)o(y)g(ha)n(v)o(e)h(the)f(types:)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4387
p 0 TeXcolorgray 0 TeXcolorgray 870 2231 a FG(f)907 2243
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4388
y Fq(1)966 2231 y Fr(:)h Fs(name)h FD(\))g FG(\013)870
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4389
2327 y(f)907 2339 y Fq(2)966 2327 y Fr(:)f Fs(lam)1126
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4390
2335 y Fp(\013)1195 2327 y FD(\))g Fs(lam)1410 2335 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4391
Fp(\013)1479 2327 y FD(\))g FG(\013)h FD(\))f FG(\013)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4392
FD(\))h FG(\013)870 2422 y(f)907 2434 y Fq(3)966 2422
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4393
y Fr(:)f Fs(name)h FD(\))g Fs(lam)1402 2430 y Fp(\013)1471
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4394
2422 y FD(\))f FG(\013)h FD(\))f FG(\013)0 2565 y FI(with)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4395
FG(\013)h FI(being)g(a)f(permutation)i(type.)f(Then)g(the)g(\002rst)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4396
(condition)j(Pitts)e(introduced)i(in)f([27])g(states)f(that)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4397
2661 y FG(f)37 2673 y Fq(3)75 2661 y FI(\227the)h(function)i(for)f(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4398
g(lambda)g(case\227needs)f(to)h(satisfy)f(the)g FE(fr)m(eshness)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4399
(condition)i(for)e(binder)o(s)p FI(,)0 2756 y(or)f(short)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4400
FE(FCB)p FI(.)e(W)-6 b(e)20 b(formulate)i(this)d(condition)j(as:)1440
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4401
2724 y Fv(7)p 0 TeXcolorgray 0 2930 a FJ(De\002nition)e(6)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4402
0 TeXcolorgray 42 w(\(Fr)o(eshness)e(Condition)i(f)n(or)h(Binders\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4403
3025 y FE(A)f(function)h FG(f)28 b FE(with)20 b(type)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4404
Fs(name)i FD(\))f Fs(lam)1112 3033 y Fp(\013)1181 3025
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4405
y FD(\))g FG(\013)g FD(\))h FG(\013)e FE(satis\002es)f(the)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4406
FI(FCB)f FE(pr)l(o)o(vided:)666 3196 y FD(8)p FG(a)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4407
b(t)h(r)n(:)21 b(a)g Fr(#)g FG(f)47 b FD(^)39 b Fk(\014nite)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4408
b Fr(\()p Fk(supp)f Fr(\()p FG(r)r Fr(\)\))42 b FD(\))h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4409
FG(a)21 b Fr(#)g FG(f)8 b(a)13 b(t)f(r)24 b(:)0 3369
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4410
y FI(As)19 b(we)h(shall)g(see)g(later)g(on,)g(this)g(condition)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4411
(ensures)e(that)g(the)h(result)f(of)g FG(f)2067 3381
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4412
y Fq(3)2125 3369 y FI(is)f(independent)k(of)d(which)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4413
3465 y(particular)30 b(fresh)g(name)g(one)g(chooses)g(for)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4414
(binder)i FG(a)p FI(.)d(The)i(second)g(condition)h(states)d(that)h(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4415
0 3560 y(functions)22 b FG(f)351 3572 y Fq(1)389 3560
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4416
y FI(,)e FG(f)466 3572 y Fq(2)525 3560 y FI(and)i FG(f)697
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4417
3572 y Fq(3)755 3560 y FI(all)f(must)g(ha)n(v)o(e)h(\002nite)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4418
(support.)h(This)f(condition)i(ensures)e(that)h(we)e(can)i(use)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4419
3656 y(Prop.)e(1)h(when)f(choosing)i(a)d(fresh)i(name)f(for)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4420
FG(f)8 b FI(s.)125 3752 y(W)m(ith)22 b(these)f(tw)o(o)h(conditions)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4421
(we)f(can)g(deri)n(v)o(e)g(a)g(recursion)h(combinator)m(,)g(we)f(call)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4422
(it)h Fk(rfun)2663 3770 y Fp(f)2695 3778 y Fj(1)2727
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4423
3770 y Fp(f)2759 3778 y Fj(2)2792 3770 y Fp(f)2824 3778
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4424
y Fj(3)2861 3752 y FI(,)0 3847 y(with)e(the)g(follo)n(wing)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4425
(properties:)p 0 TeXcolorgray 0 4021 a FJ(Theor)o(em)d(3)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4426
0 TeXcolorgray 42 w(\(Recursion)i(Combinator\))42 b FE(If)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4427
b FG(f)1380 4033 y Fq(1)1417 4021 y FE(,)g FG(f)1495
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4428
4033 y Fq(2)1553 4021 y FE(and)h FG(f)1729 4033 y Fq(3)1787
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4429
4021 y FE(have)g(\002nite)f(support)h(and)g FG(f)2573
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4430
4033 y Fq(3)2631 4021 y FE(satis\002es)0 4117 y(the)e(FCB,)g(then)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4431
(ther)m(e)g(e)n(xists)f(a)h(r)m(ecur)o(sion)h(combinator)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4432
Fk(rfun)1739 4135 y Fp(f)1771 4143 y Fj(1)1804 4135 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4433
Fp(f)1836 4143 y Fj(2)1869 4135 y Fp(f)1901 4143 y Fj(3)1957
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4434
4117 y FE(with)f(the)g(pr)l(operties:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4435
0 TeXcolorgray 362 4283 a Fk(rfun)508 4301 y Fp(f)540
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4436
4309 y Fj(1)573 4301 y Fp(f)605 4309 y Fj(2)638 4301
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4437
y Fp(f)670 4309 y Fj(3)720 4283 y Fr(\()p Fs(Var)867
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4438
4291 y Fp(\013)915 4283 y Fr(\()p FG(a)p Fr(\)\))158
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4439
b(=)35 b FG(f)1336 4295 y Fq(1)1386 4283 y FG(a)362 4379
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4440
y Fk(rfun)508 4398 y Fp(f)540 4406 y Fj(1)573 4398 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4441
Fp(f)605 4406 y Fj(2)638 4398 y Fp(f)670 4406 y Fj(3)720
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4442
4379 y Fr(\()p Fs(App)867 4400 y Fp(\013)915 4379 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4443
FG(t)973 4391 y Fq(1)1009 4379 y FG(;)13 b(t)1071 4391
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4444
y Fq(2)1108 4379 y Fr(\)\))36 b(=)f FG(f)1336 4391 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4445
Fq(2)1386 4379 y FG(t)1414 4391 y Fq(1)1464 4379 y FG(t)1492
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4446
4391 y Fq(2)1542 4379 y Fr(\()p Fk(rfun)1718 4398 y Fp(f)1750
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4447
4406 y Fj(1)1782 4398 y Fp(f)1814 4406 y Fj(2)1847 4398
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4448
y Fp(f)1879 4406 y Fj(3)1929 4379 y FG(t)1957 4391 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4449
Fq(1)1994 4379 y Fr(\))13 b(\()p Fk(rfun)2212 4398 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4450
Fp(f)2244 4406 y Fj(1)2277 4398 y Fp(f)2309 4406 y Fj(2)2342
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4451
4398 y Fp(f)2374 4406 y Fj(3)2424 4379 y FG(t)2452 4391
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4452
y Fq(2)2489 4379 y Fr(\))362 4476 y Fk(rfun)508 4495
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4453
y Fp(f)540 4503 y Fj(1)573 4495 y Fp(f)605 4503 y Fj(2)638
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4454
4495 y Fp(f)670 4503 y Fj(3)720 4476 y Fr(\()p Fs(Lam)867
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4455
4484 y Fp(\013)915 4476 y Fr(\()p FG(a;)f(t)p Fr(\)\))97
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4456
b(=)35 b FG(f)1336 4488 y Fq(3)1386 4476 y FG(a)13 b(t)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4457
Fr(\()p Fk(rfun)1656 4495 y Fp(f)1688 4503 y Fj(1)1721
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4458
4495 y Fp(f)1753 4503 y Fj(2)1786 4495 y Fp(f)1818 4503
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4459
y Fj(3)1867 4476 y FG(t)p Fr(\))1700 4573 y FE(pr)l(o)o(vided)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4460
b FG(a)f Fr(#)g(\()p FG(f)2210 4585 y Fq(1)2248 4573
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4461
y FG(;)13 b(f)2319 4585 y Fq(2)2356 4573 y FG(;)h(f)2428
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4462
4585 y Fq(3)2465 4573 y Fr(\))p 0 TeXcolorgray 0 4658
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4463
898 4 v 62 4722 a Fu(7)125 4746 y FF(W)-5 b(e)22 b(use)g(a)h(dif)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4464
(ferent)j(v)o(ersion)d(of)g(the)g(FCB)g(than)h(actually)h(introduced)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4465
(by)c(Pitts.)h(W)-5 b(e)23 b(shall)g(sho)n(w)g(later)h(that)g(our)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4466
4823 y(v)o(ersion)18 b(and)g(one)f(that)h(closely)h(resembles)f(his)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4467
(are)h(interderi)n(v)n(able.)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4468
0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4469
%%Page: 18 18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4470
TeXDict begin 18 17 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4471
0 71 2881 4 v 0 17 a FF(18)p 0 TeXcolorgray 0 228 a FI(T)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4472
b(o)15 b(gi)n(v)o(e)h(a)f(proof)i(of)e(this)g(theorem)i(we)e(start)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4473
(with)g(the)g(follo)n(wing)i(inducti)n(v)o(e)f(relation,)g(called)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4474
Fk(r)l(e)l(c)2690 243 y Fp(f)2722 251 y Fj(1)2755 243
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4475
y Fp(f)2787 251 y Fj(2)2820 243 y Fp(f)2852 251 y Fj(3)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4476
324 y FI(and)i(which)g(has)f(type)h Fr(\()p Fs(lam)760
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4477
332 y Fp(\013)811 324 y FD(\002)t FG(\013)p Fr(\))c Fs(set)k
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4478
FI(where,)f(lik)o(e)h(abo)o(v)o(e,)g FG(\013)f FI(is)g(assumed)h(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4479
(be)h(a)f(permutation)i(type:)p 268 581 879 4 v 268 653
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4480
a Fr(\()p Fs(Var)416 661 y Fp(\013)463 653 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4481
FG(a)p Fr(\))p FG(;)13 b(f)635 665 y Fq(1)685 653 y FG(a)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4482
Fr(\))21 b FD(2)h Fk(r)l(e)l(c)949 668 y Fp(f)981 676
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4483
y Fj(1)1014 668 y Fp(f)1046 676 y Fj(2)1078 668 y Fp(f)1110
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4484
676 y Fj(3)1289 535 y Fr(\()p FG(t)1347 547 y Fq(1)1384
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4485
535 y FG(;)13 b(r)1453 547 y Fq(1)1490 535 y Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4486
b FD(2)h Fk(r)l(e)l(c)1713 550 y Fp(f)1745 558 y Fj(1)1778
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4487
550 y Fp(f)1810 558 y Fj(2)1842 550 y Fp(f)1874 558 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4488
Fj(3)1990 535 y Fr(\()p FG(t)2048 547 y Fq(2)2085 535
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4489
y FG(;)13 b(r)2154 547 y Fq(2)2191 535 y Fr(\))21 b FD(2)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4490
Fk(r)l(e)l(c)2414 550 y Fp(f)2446 558 y Fj(1)2479 550
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4491
y Fp(f)2511 558 y Fj(2)2543 550 y Fp(f)2575 558 y Fj(3)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4492
1289 581 1324 4 v 1314 653 a Fr(\()p Fs(App)1461 674
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4493
y Fp(\013)1509 653 y Fr(\()p FG(t)1567 665 y Fq(1)1604
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4494
653 y FG(;)13 b(t)1666 665 y Fq(2)1703 653 y Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4495
FG(;)g(f)1804 665 y Fq(2)1854 653 y FG(t)1882 665 y Fq(1)1932
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4496
653 y FG(t)1960 665 y Fq(2)2010 653 y FG(r)2045 665 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4497
Fq(1)2094 653 y FG(r)2129 665 y Fq(2)2166 653 y Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4498
b FD(2)h Fk(r)l(e)l(c)2389 668 y Fp(f)2421 676 y Fj(1)2454
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4499
668 y Fp(f)2486 676 y Fj(2)2519 668 y Fp(f)2551 676 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4500
Fj(3)877 821 y FG(a)f Fr(#)g(\()p FG(f)1091 833 y Fq(1)1128
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4501
821 y FG(;)13 b(f)1199 833 y Fq(2)1237 821 y FG(;)g(f)1308
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4502
833 y Fq(3)1346 821 y Fr(\))78 b(\()p FG(t;)13 b(r)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4503
Fr(\))21 b FD(2)h Fk(r)l(e)l(c)1806 836 y Fp(f)1838 844
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4504
y Fj(1)1871 836 y Fp(f)1903 844 y Fj(2)1935 836 y Fp(f)1967
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4505
844 y Fj(3)p 877 867 1128 4 v 925 939 a Fr(\()p Fs(Lam)1073
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4506
947 y Fp(\013)1120 939 y Fr(\()p FG(a;)13 b(t)p Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4507
FG(;)f(f)1353 951 y Fq(3)1404 939 y FG(a)g(t)h(r)r Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4508
b FD(2)g Fk(r)l(e)l(c)1757 954 y Fp(f)1789 962 y Fj(1)1822
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4509
954 y Fp(f)1854 962 y Fj(2)1887 954 y Fp(f)1919 962 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4510
Fj(3)2749 742 y FI(\(23\))125 1081 y(W)-6 b(e)26 b(shall)g(sho)n(w)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4511
(ne)o(xt)f(that)h(the)f(relation)h Fk(r)l(e)l(c)1413
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4512
1096 y Fp(f)1445 1104 y Fj(1)1478 1096 y Fp(f)1510 1104
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4513
y Fj(2)1543 1096 y Fp(f)1575 1104 y Fj(3)1638 1081 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4514
FI(de\002nes)g(a)f(function)i(in)e(the)h(sense)e(that)i(for)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4515
1177 y(all)k(lambda-terms)h FG(t)f FI(there)h(e)o(xists)e(a)h(unique)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4516
FG(r)f FI(so)f(that)h Fr(\()p FG(t;)12 b(r)r Fr(\))42
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4517
b FD(2)f Fk(r)l(e)l(c)2053 1192 y Fp(f)2085 1200 y Fj(1)2117
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4518
1192 y Fp(f)2149 1200 y Fj(2)2182 1192 y Fp(f)2214 1200
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4519
y Fj(3)2251 1177 y FI(.)31 b(From)h(this)e(we)h(can)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4520
1272 y(again)19 b(use)g(standard)i(techniques)f(of)f(HOL)g(to)h(obtain)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4521
g(a)f(function)h(from)h Fs(lam)2143 1280 y Fp(\013)2210
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4522
1272 y FI(to)e FG(\013)g FI(\(see)g(for)h(e)o(xample)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4523
1368 y(Slind)28 b([28]\).)h(W)-6 b(e)27 b(\002rst)g(sho)n(w)h(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4524
(in)g Fk(r)l(e)l(c)1205 1383 y Fp(f)1237 1391 y Fj(1)1270
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4525
1383 y Fp(f)1302 1391 y Fj(2)1335 1383 y Fp(f)1367 1391
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4526
y Fj(3)1431 1368 y FI(the)g(\223result\224)g FG(r)h FI(has)e(\002nite)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4527
(support)h(pro)o(vided)g(the)0 1463 y(functions)21 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4528
FG(f)350 1475 y Fq(1)388 1463 y FI(,)e FG(f)464 1475
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4529
y Fq(2)521 1463 y FI(and)i FG(f)692 1475 y Fq(3)749 1463
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4530
y FI(ha)n(v)o(e)g(\002nite)f(support.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4531
0 1609 a FJ(Lemma)f(12)p 0 TeXcolorgray 43 w(\(Finite)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4532
b(Support\))g FE(If)g FG(f)1084 1621 y Fq(1)1122 1609
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4533
y FE(,)g FG(f)1204 1621 y Fq(2)1266 1609 y FE(and)h FG(f)1446
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4534
1621 y Fq(3)1509 1609 y FE(have)g(\002nite)g(support,)f(then)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4535
Fr(\()p FG(t;)13 b(r)r Fr(\))30 b FD(2)h Fk(r)l(e)l(c)2682
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4536
1624 y Fp(f)2714 1632 y Fj(1)2747 1624 y Fp(f)2779 1632
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4537
y Fj(2)2812 1624 y Fp(f)2844 1632 y Fj(3)0 1704 y FE(implies)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4538
b(that)g FG(r)i FE(has)e(\002nite)g(support.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4539
0 1870 a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(By)i(induction)j(o)o(v)o(er)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4540
e(the)g(relation)h(de\002ned)f(in)g(\(23\).)h(In)f(the)g(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4541
(ariable-case)h(we)f(ha)n(v)o(e)g(to)g(sho)n(w)0 1965
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4542
y(that)f FG(f)177 1977 y Fq(1)227 1965 y FG(a)f FI(has)h(\002nite)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4543
(support,)i(which)f(we)g(inferred)h(in)e(Example)i(1)f(using)g(our)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4544
(heuristic.)f(The)g(appli-)0 2061 y(cation)e(and)h(lambda-case)g(are)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4545
(by)h(similar)e(calculations.)80 b FD(u)-51 b(t)0 2206
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4546
y FI(In)20 b(the)f(proof)h(of)g(Thm)g(3,)f(we)g(need)g(the)h(follo)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4547
(wing)g(lemma)g(establishing)g(that)f Fk(r)l(e)l(c)2303
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4548
2221 y Fp(f)2335 2229 y Fj(1)2368 2221 y Fp(f)2400 2229
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4549
y Fj(2)2432 2221 y Fp(f)2464 2229 y Fj(3)2520 2206 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4550
FI(is)g FE(equivari-)0 2302 y(ant)j FI(\(see)e(Pitts)f([26]\).)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4551
0 TeXcolorgray 0 2447 a FJ(Lemma)g(13)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4552
43 w(\(Equi)o(v)o(ariance\))29 b FE(If)g Fr(\()p FG(t;)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4553
b(r)r Fr(\))37 b FD(2)g Fk(r)l(e)l(c)1388 2462 y Fp(f)1420
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4554
2470 y Fj(1)1453 2462 y Fp(f)1485 2470 y Fj(2)1518 2462
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4555
y Fp(f)1550 2470 y Fj(3)1615 2447 y FE(holds)29 b(then)g(for)g(all)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4556
FG(\031)s FE(,)g(also)h Fr(\()p FG(\031)2542 2456 y Fo(\001)2579
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4557
2447 y FG(t;)13 b(\031)2688 2456 y Fo(\001)2726 2447
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4558
y FG(r)r Fr(\))37 b FD(2)0 2543 y FG(r)r(ec)106 2564
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4559
y Fq(\()p Fp(\031)173 2573 y Fo(\001)211 2564 y Fp(f)243
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4560
2572 y Fj(1)276 2564 y Fq(\)\()p Fp(\031)369 2573 y Fo(\001)407
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4561
2564 y Fp(f)439 2572 y Fj(2)471 2564 y Fq(\)\()p Fp(\031)564
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4562
2573 y Fo(\001)602 2564 y Fp(f)634 2572 y Fj(3)667 2564
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4563
y Fq(\))717 2543 y FE(holds.)p 0 TeXcolorgray 0 2708
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4564
a(Pr)l(oof)p 0 TeXcolorgray 40 w FI(By)17 b(induction)j(o)o(v)o(er)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4565
(the)g(rules)g(gi)n(v)o(en)h(in)f(\(23\).)h(All)e(cases)g(are)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4566
(routine)h(by)g(pushing)g(the)f(permu-)0 2804 y(tation)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4567
FG(\031)h FI(into)f FG(t)f FI(and)h FG(r)r FI(,)e(e)o(xcept)i(in)f(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4568
h(lambda-case)g(where)f(we)g(ha)n(v)o(e)h(to)g(apply)g(Lem.)f(3)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4569
FE(\(iii\))h FI(in)f(order)0 2899 y(to)g(infer)h FG(\031)297
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4570
2908 y Fo(\001)335 2899 y FG(a)g Fr(#)g(\()p FG(\031)559
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4571
2908 y Fo(\001)597 2899 y FG(f)634 2911 y Fq(1)671 2899
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4572
y FG(;)13 b(\031)752 2908 y Fo(\001)790 2899 y FG(f)827
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4573
2911 y Fq(2)865 2899 y FG(;)g(\031)946 2908 y Fo(\001)983
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4574
2899 y FG(f)1020 2911 y Fq(3)1058 2899 y Fr(\))20 b FI(from)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4575
FG(a)g Fr(#)g(\()p FG(f)1495 2911 y Fq(1)1532 2899 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4576
FG(;)13 b(f)1603 2911 y Fq(2)1641 2899 y FG(;)g(f)1712
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4577
2911 y Fq(3)1750 2899 y Fr(\))p FI(.)78 b FD(u)-51 b(t)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4578
3045 y FI(Ne)o(xt)20 b(we)g(can)g(sho)n(w)g(the)g(crucial)g(lemma)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4579
(about)g Fk(r)l(e)l(c)1476 3060 y Fp(f)1508 3068 y Fj(1)1541
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4580
3060 y Fp(f)1573 3068 y Fj(2)1606 3060 y Fp(f)1638 3068
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4581
y Fj(3)1694 3045 y FI(being)g(a)f(\223function\224.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4582
0 TeXcolorgray 0 3191 a FJ(Lemma)f(14)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4583
43 w(\(Existence)c(and)g(Uniqueness\))f FE(If)i FG(f)1430
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4584
3203 y Fq(1)1467 3191 y FE(,)f FG(f)1539 3203 y Fq(2)1592
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4585
3191 y FE(and)h FG(f)1762 3203 y Fq(3)1815 3191 y FE(have)g(\002nite)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4586
(support)g(and)g FG(f)2578 3203 y Fq(3)2631 3191 y FE(satis\002es)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4587
3286 y(the)k(FCB,)g(then)g FD(9)p Fr(!)p FG(r)n(:)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4588
b Fr(\()p FG(t;)f(r)r Fr(\))21 b FD(2)h Fk(r)l(e)l(c)942
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4589
3301 y Fp(f)974 3309 y Fj(1)1007 3301 y Fp(f)1039 3309
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4590
y Fj(2)1072 3301 y Fp(f)1104 3309 y Fj(3)1141 3286 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4591
FE(.)p 0 TeXcolorgray 0 3452 a(Pr)l(oof)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4592
40 w FI(By)15 b(the)g(induction)i(principle)f(gi)n(v)o(en)h(in)e(Thm.)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4593
(2,)f(where)h(we)f(set)f(the)i(function)h FG(f)23 b FI(to)16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4594
b(the)f(constant)0 3547 y(function)22 b FG(\025)p 333
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4595
3547 24 4 v 348 3547 V 44 w(:)p Fr(\()p FG(f)460 3559
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4596
y Fq(1)497 3547 y FG(;)13 b(f)568 3559 y Fq(2)606 3547
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4597
y FG(;)g(f)677 3559 y Fq(3)715 3547 y Fr(\))19 b FI(and)i(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4598
(induction)h(conte)o(xt)e FG(c)h FI(to)f Fs(unit)q FI(.)1895
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4599
3515 y Fv(8)1946 3547 y FI(Condition)i FE(\(i\))e FI(of)h(Thm.)g(2)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4600
(holds)0 3643 y(because)i(by)g(assumption)g FG(f)788
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4601
3655 y Fq(1)826 3643 y FI(,)e FG(f)903 3655 y Fq(2)962
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4602
3643 y FI(and)i FG(f)1134 3655 y Fq(3)1193 3643 y FI(ha)n(v)o(e)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4603
(\002nite)f(support.)h(The)g(only)g(non-routine)j(case)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4604
b(then)i(is)0 3738 y(the)j(lambda-case)g(with)g(sho)n(wing)g(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4605
FD(9)p Fr(!)p FG(r)n(:)13 b Fr(\()p Fs(Lam)1414 3746
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4606
y Fp(\013)1461 3738 y Fr(\()p FG(a;)g(t)p Fr(\))p FG(;)g(r)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4607
Fr(\))29 b FD(2)h Fk(r)l(e)l(c)1934 3753 y Fp(f)1966
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4608
3761 y Fj(1)1999 3753 y Fp(f)2031 3761 y Fj(2)2064 3753
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4609
y Fp(f)2096 3761 y Fj(3)2157 3738 y FI(holds.)25 b(This)f(is)g(dif)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4610
(\002cult,)0 3834 y(because)g(for)g(lambdas)h(we)e(do)h(not)h(ha)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4611
(e)f(injecti)n(vity)h(\(see)e(\(18\)\).)i(The)f(proof)h(in)f(this)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4612
(case)h(proceeds)0 3929 y(as)19 b(follo)n(ws.)125 4025
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4613
y(The)28 b(induction)i(principle)f(allo)n(ws)f(us)g(to)g(assume)g(that)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4614
g FG(a)36 b Fr(#)g(\()p FG(f)1978 4037 y Fq(1)2015 4025
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4615
y FG(;)13 b(f)2086 4037 y Fq(2)2124 4025 y FG(;)g(f)2195
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4616
4037 y Fq(3)2232 4025 y Fr(\))p FI(,)28 b(therefore)h(the)f(\223e)o(x-)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4617
0 4120 y(istential\224)f(part)g(of)h(the)f(lemma)h(is)e(immediate.)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4618
(In)g(the)f(\223uniqueness\224)h(part)g(we)f(ha)n(v)o(e)h(to)f(sho)n(w)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4619
h(that)0 4216 y(if)h Fr(\()p Fs(Lam)225 4224 y Fp(\013)272
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4620
4216 y Fr(\()p FG(a;)13 b(t)p Fr(\))p FG(;)f(f)505 4228
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4621
y Fq(3)556 4216 y FG(a)g(t)h(r)r Fr(\))37 b FD(2)h Fk(r)l(e)l(c)942
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4622
4231 y Fp(f)974 4239 y Fj(1)1007 4231 y Fp(f)1039 4239
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4623
y Fj(2)1072 4231 y Fp(f)1104 4239 y Fj(3)1170 4216 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4624
FI(and)29 b(also)g Fr(\()p Fs(Lam)1616 4224 y Fp(\013)1663
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4625
4216 y Fr(\()p FG(b;)13 b(t)1788 4184 y Fl(0)1811 4216
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4626
y Fr(\))p FG(;)g(f)1912 4228 y Fq(3)1963 4216 y FG(b)f(t)2036
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4627
4184 y Fl(0)2072 4216 y FG(r)2109 4184 y Fl(0)2132 4216
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4628
y Fr(\))38 b FD(2)g Fk(r)l(e)l(c)2388 4231 y Fp(f)2420
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4629
4239 y Fj(1)2453 4231 y Fp(f)2485 4239 y Fj(2)2518 4231
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4630
y Fp(f)2550 4239 y Fj(3)2615 4216 y FI(with)29 b(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4631
4311 y(equation)23 b Fs(Lam)411 4319 y Fp(\013)458 4311
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4632
y Fr(\()p FG(a;)13 b(t)p Fr(\))24 b(=)h Fs(Lam)847 4319
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4633
y Fp(\013)895 4311 y Fr(\()p FG(b;)13 b(t)1020 4279 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4634
Fl(0)1043 4311 y Fr(\))p FI(,)21 b(then)h FG(f)1308 4323
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4635
y Fq(3)1358 4311 y FG(a)13 b(t)f(r)27 b Fr(=)d FG(f)1635
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4636
4323 y Fq(3)1686 4311 y FG(b)12 b(t)1759 4279 y Fl(0)1795
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4637
4311 y FG(r)1832 4279 y Fl(0)1877 4311 y FI(holds.)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4638
b(By)g(rule)g(in)m(v)o(ersion)h(we)e(can)0 4406 y(assume)f(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4639
FG(b)i Fr(#)g(\()p FG(f)598 4418 y Fq(1)635 4406 y FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4640
b(f)706 4418 y Fq(2)744 4406 y FG(;)g(f)815 4418 y Fq(3)852
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4641
4406 y Fr(\))20 b FI(and)h(that)f(there)h(e)o(xists)e(an)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4642
FG(r)1681 4375 y Fl(0)1724 4406 y FI(such)h(that)f Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4643
FG(t)2085 4375 y Fl(0)2108 4406 y FG(;)13 b(r)2179 4375
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4644
y Fl(0)2202 4406 y Fr(\))22 b FD(2)g Fk(r)l(e)l(c)2426
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4645
4421 y Fp(f)2458 4429 y Fj(1)2491 4421 y Fp(f)2523 4429
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4646
y Fj(2)2555 4421 y Fp(f)2587 4429 y Fj(3)2624 4406 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4647
FI(;)e(further)0 4502 y(by)g(the)g(induction)h(we)e(kno)n(w)i(there)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4648
(is)f(a)g(unique)i FG(r)g FI(such)f(that)g Fr(\()p FG(t;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4649
b(r)r Fr(\))20 b FD(2)i Fk(r)l(e)l(c)2081 4517 y Fp(f)2113
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4650
4525 y Fj(1)2146 4517 y Fp(f)2178 4525 y Fj(2)2211 4517
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4651
y Fp(f)2243 4525 y Fj(3)2280 4502 y FI(.)d(No)n(w)g(we)h(sho)n(w)f(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4652
0 4597 y(follo)n(wing)i(6)g(f)o(acts:)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4653
0 4658 898 4 v 62 4722 a Fu(8)125 4746 y FF(F)o(or)e(this)g(induction)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4654
(we)d(cannot)i(use)e(the)h(more)g(con)m(v)o(enient)i(induction)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4655
(principle)g(sho)n(wn)d(in)h(\(21\),)f(because)i(func-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4656
4823 y(tions)d(do)f(not)g(ha)o(v)o(e)h(\002nitely)h(supported)f(type.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4657
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4658
%%Page: 19 19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4659
TeXDict begin 19 18 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4660
0 71 2881 4 v 2814 17 a FF(19)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4661
59 228 a FI(\(i\))p 0 TeXcolorgray 39 w(From)33 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4662
FG(t;)13 b(r)r Fr(\))44 b FD(2)h Fk(r)l(e)l(c)773 243
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4663
y Fp(f)805 251 y Fj(1)838 243 y Fp(f)870 251 y Fj(2)902
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4664
243 y Fp(f)934 251 y Fj(3)1004 228 y FI(and)33 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4665
FG(t)1208 197 y Fl(0)1231 228 y FG(;)13 b(r)1302 197
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4666
y Fl(0)1325 228 y Fr(\))45 b FD(2)f Fk(r)l(e)l(c)1595
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4667
243 y Fp(f)1627 251 y Fj(1)1659 243 y Fp(f)1691 251 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4668
Fj(2)1724 243 y Fp(f)1756 251 y Fj(3)1826 228 y FI(we)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4669
b(can)h(infer)h(by)f(Lem.)g(12)g(that)g FG(r)172 324
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4670
y FI(and)25 b FG(r)347 292 y Fl(0)395 324 y FI(are)g(\002nitely)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4671
(supported.)i(Therefore)f(we)f(can)g(apply)h(Prop.)f(1)g(to)g(obtain)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4672
(a)f FG(c)g FI(with)f FG(c)31 b Fr(#)172 419 y(\()p FG(f)239
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4673
431 y Fq(1)276 419 y FG(;)13 b(f)347 431 y Fq(2)385 419
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4674
y FG(;)g(f)456 431 y Fq(3)493 419 y FG(;)h(t;)e(t)617
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4675
388 y Fl(0)640 419 y FG(;)i(r)n(;)e(r)778 388 y Fl(0)801
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4676
419 y FG(;)h(a;)g(b)p Fr(\))p FI(\227all)20 b(v)n(ariables)g(in)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4677
(tuple)h(ha)n(v)o(e)f(\002nite)g(support.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4678
37 515 a(\(ii\))p 0 TeXcolorgray 39 w(From)k(\(19\))i(we)d(ha)n(v)o(e)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4679
(that)f FG(a)29 b Fr(#)f Fs(Lam)1229 523 y Fp(\013)1276
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4680
515 y Fr(\()p FG(a;)13 b(t)p Fr(\))23 b FI(and)i FG(b)k
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4681
Fr(#)f Fs(Lam)1872 523 y Fp(\013)1919 515 y Fr(\()p FG(b;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4682
b(t)2044 483 y Fl(0)2067 515 y Fr(\))p FI(.)24 b(W)m(ith)g(\(i\))g(we)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4683
(can)g(further)172 610 y(infer)30 b(that)g FG(c)39 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4684
Fr(#)g Fs(Lam)791 618 y Fp(\013)838 610 y Fr(\()p FG(a;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4685
b(t)p Fr(\))29 b FI(and)h FG(c)39 b Fr(#)g Fs(Lam)1466
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4686
618 y Fp(\013)1513 610 y Fr(\()p FG(b;)13 b(t)1638 579
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4687
y Fl(0)1661 610 y Fr(\))p FI(.)29 b(From)h(the)g(assumption)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4688
Fs(Lam)2573 618 y Fp(\013)2620 610 y Fr(\()p FG(a;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4689
b(t)p Fr(\))38 b(=)172 706 y Fs(Lam)289 714 y Fp(\013)337
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4690
706 y Fr(\()p FG(b;)13 b(t)462 674 y Fl(0)485 706 y Fr(\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4691
FI(,)28 b(we)h(can)g(then)h(use)e(Lem.)i(4)f(to)g(deri)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4692
Fr(\()p FG(a)12 b(c)p Fr(\))1841 715 y Fo(\001)1879 706
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4693
y Fs(Lam)1997 714 y Fp(\013)2044 706 y Fr(\()p FG(a;)h(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4694
Fr(\))37 b(=)g(\()p FG(b)13 b(c)p Fr(\))2480 715 y Fo(\001)2518
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4695
706 y Fs(Lam)2636 714 y Fp(\013)2683 706 y Fr(\()p FG(b;)g(t)2808
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4696
674 y Fl(0)2831 706 y Fr(\))p FI(,)172 801 y(which)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4697
b(implies)f(that)g Fs(Lam)902 809 y Fp(\013)949 801 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4698
Fr(\()p FG(c;)14 b Fr(\()p FG(a)e(c)p Fr(\))1193 810
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4699
y Fo(\001)1231 801 y FG(t)p Fr(\))27 b(=)h Fs(Lam)1521
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4700
809 y Fp(\013)1569 801 y Fr(\()p FG(c;)13 b Fr(\()p FG(a)f(c)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4701
Fr(\))1812 810 y Fo(\001)1850 801 y FG(t)1878 770 y Fl(0)1901
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4702
801 y Fr(\))p FI(;)23 b(hence)h(by)g(\(18\))h(that)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4703
Fr(\()p FG(a)13 b(c)p Fr(\))2728 810 y Fo(\001)2766 801
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4704
y FG(t)27 b Fr(=)172 897 y(\()p FG(b)12 b(c)p Fr(\))310
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4705
906 y Fo(\001)349 897 y FG(t)377 865 y Fl(0)400 897 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4706
FI(.)p 0 TeXcolorgray 15 992 a(\(iii\))p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4707
39 w(From)22 b Fr(\()p FG(t;)13 b(r)r Fr(\))24 b FD(2)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4708
Fk(r)l(e)l(c)722 1007 y Fp(f)754 1015 y Fj(1)787 1007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4709
y Fp(f)819 1015 y Fj(2)852 1007 y Fp(f)884 1015 y Fj(3)921
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4710
992 y FI(,)c Fr(\()p FG(t)1020 960 y Fl(0)1043 992 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4711
FG(;)13 b(r)1114 960 y Fl(0)1137 992 y Fr(\))25 b FD(2)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4712
Fk(r)l(e)l(c)1367 1007 y Fp(f)1399 1015 y Fj(1)1432 1007
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4713
y Fp(f)1464 1015 y Fj(2)1497 1007 y Fp(f)1529 1015 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4714
Fj(3)1587 992 y FG(a)f Fr(#)h(\()p FG(f)1808 1004 y Fq(1)1846
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4715
992 y FG(;)13 b(f)1917 1004 y Fq(2)1954 992 y FG(;)g(f)2025
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4716
1004 y Fq(3)2063 992 y Fr(\))21 b FI(and)i FG(b)h Fr(#)h(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4717
FG(f)2463 1004 y Fq(1)2500 992 y FG(;)14 b(f)2572 1004
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4718
y Fq(2)2609 992 y FG(;)f(f)2680 1004 y Fq(3)2718 992
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4719
y Fr(\))p FI(,)21 b(we)172 1088 y(can)f(infer)g(by)g(Lem.)f(4)h(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4720
(13)g(that)g Fr(\(\()p FG(a)12 b(c)p Fr(\))1354 1097
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4721
y Fo(\001)1393 1088 y FG(t;)g Fr(\()p FG(a)h(c)p Fr(\))1601
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4722
1097 y Fo(\001)1639 1088 y FG(r)r Fr(\))21 b FD(2)h Fk(r)l(e)l(c)1899
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4723
1103 y Fp(f)1931 1111 y Fj(1)1963 1103 y Fp(f)1995 1111
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4724
y Fj(2)2028 1103 y Fp(f)2060 1111 y Fj(3)2116 1088 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4725
FI(and)f Fr(\(\()p FG(b)12 b(c)p Fr(\))2418 1097 y Fo(\001)2456
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4726
1088 y FG(t)2484 1056 y Fl(0)2507 1088 y FG(;)i Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4727
FG(b)e(c)p Fr(\))2680 1097 y Fo(\001)2718 1088 y FG(r)2755
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4728
1056 y Fl(0)2778 1088 y Fr(\))22 b FD(2)172 1183 y Fk(r)l(e)l(c)271
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4729
1198 y Fp(f)303 1206 y Fj(1)336 1198 y Fp(f)368 1206
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4730
y Fj(2)401 1198 y Fp(f)433 1206 y Fj(3)469 1183 y FI(.)h(Since)h(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4731
(induction)h(hypothesis)f FD(9)p Fr(!)p FG(r)n(:)12 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4732
Fr(\()p FG(t;)h(r)r Fr(\))27 b FD(2)h Fk(r)l(e)l(c)1988
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4733
1198 y Fp(f)2020 1206 y Fj(1)2053 1198 y Fp(f)2085 1206
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4734
y Fj(2)2118 1198 y Fp(f)2150 1206 y Fj(3)2210 1183 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4735
FI(we)23 b(also)g(ha)n(v)o(e)h(the)f(f)o(act)172 1279
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4736
y(that)d FD(9)p Fr(!)p FG(r)n(:)12 b Fr(\(\()p FG(a)h(c)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4737
Fr(\))617 1288 y Fo(\001)655 1279 y FG(t;)g(r)r Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4738
b FD(2)g Fk(r)l(e)l(c)977 1294 y Fp(f)1009 1302 y Fj(1)1041
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4739
1294 y Fp(f)1073 1302 y Fj(2)1106 1294 y Fp(f)1138 1302
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4740
y Fj(3)1175 1279 y FI(.)e(Thus)i(we)f(can)g(use)g(\(ii\))g(to)g(infer)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4741
(that)g Fr(\()p FG(a)13 b(c)p Fr(\))2408 1288 y Fo(\001)2446
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4742
1279 y FG(r)23 b Fr(=)e(\()p FG(b)13 b(c)p Fr(\))2724
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4743
1288 y Fo(\001)2762 1279 y FG(r)2799 1247 y Fl(0)2822
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4744
1279 y FI(.)p 0 TeXcolorgray 21 1374 a(\(i)n(v\))p 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4745
TeXcolorgray 40 w(Using)26 b(the)g(FCB)f(for)h FG(f)837
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4746
1386 y Fq(3)900 1374 y FI(and)h(kno)n(wing)g(that)f FG(a)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4747
b Fr(#)g FG(f)1689 1386 y Fq(3)1752 1374 y FI(and)27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4748
b FG(b)32 b Fr(#)g FG(f)2090 1386 y Fq(3)2153 1374 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4749
FI(as)25 b(well)h(as)f FG(r)i FI(and)g FG(r)2736 1342
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4750
y Fl(0)2785 1374 y FI(are)172 1470 y(\002nitely)20 b(supported)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4751
(\(from)f(\(i\)\),)f(we)g(can)g(infer)h(that)f FG(a)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4752
Fr(#)g FG(f)1817 1482 y Fq(3)1867 1470 y FG(a)13 b(t)f(r)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4753
b FI(and)f FG(b)g Fr(#)g FG(f)2328 1482 y Fq(3)2378 1470
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4754
y FG(b)13 b(t)2452 1438 y Fl(0)2488 1470 y FG(r)2525
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4755
1438 y Fl(0)2568 1470 y FI(hold.)p 0 TeXcolorgray 41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4756
1565 a(\(v\))p 0 TeXcolorgray 40 w(Since)19 b Fk(supp)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4757
b Fr(\()p FG(f)589 1577 y Fq(3)626 1565 y FG(;)13 b(a;)g(t;)g(r)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4758
Fr(\))p Fk(supp)l(orts)8 b Fr(\()p FG(f)1212 1577 y Fq(3)1262
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4759
1565 y FG(a)13 b(t)f(r)r Fr(\))19 b FI(and)i(since)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4760
FG(c)i Fr(#)h(\()p FG(f)1964 1577 y Fq(3)2001 1565 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4761
FG(;)13 b(a;)g(t;)g(r)r Fr(\))19 b FI(\(from)i(\(i\)\),)e(we)h(kno)n(w)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4762
172 1661 y(by)g(Lem.)g(11)h(that)f FG(c)i Fr(#)f FG(f)868
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4763
1673 y Fq(3)918 1661 y FG(a)13 b(t)f(r)22 b FI(holds.)e(Similarly)g(we)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4764
g(can)g(infer)h(that)f FG(c)i Fr(#)f FG(f)2317 1673 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4765
Fq(3)2367 1661 y FG(b)13 b(t)2441 1629 y Fl(0)2477 1661
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4766
y FG(r)2514 1629 y Fl(0)2556 1661 y FI(holds.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4767
19 1756 a(\(vi\))p 0 TeXcolorgray 40 w(Finally)-5 b(,)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4768
b(in)h(order)g(to)g(sho)n(w)g(that)f FG(f)1164 1768 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4769
Fq(3)1214 1756 y FG(a)13 b(t)f(r)32 b Fr(=)d FG(f)1501
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4770
1768 y Fq(3)1551 1756 y FG(b)13 b(t)1625 1724 y Fl(0)1661
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4771
1756 y FG(r)1698 1724 y Fl(0)1745 1756 y FI(holds,)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4772
b(it)f(suf)n(\002ces)g(by)h(Lem.)g(4)f(and)h(the)172
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4773
1852 y(f)o(acts)19 b(deri)n(v)o(ed)i(in)f(\(i)n(v\))h(and)f(\(v\))h(to)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4774
f(sho)n(w)g(that)g Fr(\()p FG(a)12 b(c)p Fr(\))1599 1861
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4775
y Fo(\001)1637 1852 y Fr(\()p FG(f)1704 1864 y Fq(3)1754
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4776
1852 y FG(a)h(t)f(r)r Fr(\))21 b(=)g(\()p FG(b)13 b(c)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4777
Fr(\))2156 1861 y Fo(\001)2194 1852 y Fr(\()p FG(f)2261
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4778
1864 y Fq(3)2311 1852 y FG(b)g(t)2385 1820 y Fl(0)2421
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4779
1852 y FG(r)2458 1820 y Fl(0)2481 1852 y Fr(\))19 b FI(holds.)i(This)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4780
172 1947 y(in)e(turn)h(is)f(by)h(\(3\))g(equi)n(v)n(alent)g(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4781
FG(f)1139 1959 y Fq(3)1190 1947 y FG(c)13 b Fr(\(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4782
FG(a)f(c)p Fr(\))1412 1956 y Fo(\001)1450 1947 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4783
Fr(\))h(\(\()p FG(a)f(c)p Fr(\))1697 1956 y Fo(\001)1735
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4784
1947 y FG(r)r Fr(\))21 b(=)g FG(f)1941 1959 y Fq(3)1992
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4785
1947 y FG(c)13 b Fr(\(\()p FG(b)f(c)p Fr(\))2206 1956
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4786
y Fo(\001)2244 1947 y FG(t)2272 1915 y Fl(0)2295 1947
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4787
y Fr(\))h(\(\()p FG(b)g(c)p Fr(\))2507 1956 y Fo(\001)2545
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4788
1947 y FG(r)2582 1915 y Fl(0)2605 1947 y Fr(\))p FI(.)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4789
b(By)h(the)172 2042 y(f)o(acts)h(deri)n(v)o(ed)h(in)f(\(ii\))g(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4790
(\(iii\))h(we)e(ha)n(v)o(e)i(that)f(these)g(terms)g(are)g(indeed)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4791
(equal.)79 b FD(u)-51 b(t)0 2189 y FI(T)-6 b(o)18 b(pro)o(v)o(e)h(our)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4792
(theorem)h(about)f(structural)g(recursion)g(we)f(de\002ne)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4793
Fk(rfun)1981 2207 y Fp(f)2013 2215 y Fj(1)2045 2207 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4794
Fp(f)2077 2215 y Fj(2)2110 2207 y Fp(f)2142 2215 y Fj(3)2192
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4795
2189 y FG(t)f FI(to)g(be)g(the)g(unique)i FG(r)g FI(so)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4796
2284 y(that)g Fr(\()p FG(t;)12 b(r)r Fr(\))21 b FD(2)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4797
Fk(r)l(e)l(c)489 2299 y Fp(f)521 2307 y Fj(1)554 2299
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4798
y Fp(f)586 2307 y Fj(2)619 2299 y Fp(f)651 2307 y Fj(3)688
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4799
2284 y FI(.)d(This)g(is)g(a)h(standard)g(construction)i(in)d(HOL-based)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4800
i(theorem)g(pro)o(v)o(ers;)f(it)f(in-)0 2380 y(v)n(olv)o(es)h(the)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4801
(HOL)-7 b(')l(s)18 b(de\002nite)h(description)h(operator)g(\(see)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4802
(Isabelle')l(s)f(tutorial)h([21,)g(Sec.)f(5.10.1]\).)i(The)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4803
2475 y(characteristic)27 b(equations)h(for)g Fk(rfun)1041
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4804
2494 y Fp(f)1073 2502 y Fj(1)1106 2494 y Fp(f)1138 2502
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4805
y Fj(2)1170 2494 y Fp(f)1202 2502 y Fj(3)1266 2475 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4806
FI(are)f(then)h(determined)g(by)g(the)f(de\002nition)h(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4807
Fk(r)l(e)l(c)2682 2490 y Fp(f)2714 2498 y Fj(1)2747 2490
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4808
y Fp(f)2779 2498 y Fj(2)2812 2490 y Fp(f)2844 2498 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4809
Fj(3)0 2571 y FI(gi)n(v)o(en)21 b(in)f(\(23\).)h(This)f(completes)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4810
(the)g(proof)i(of)e(Thm.)h(3.)125 2666 y(As)31 b(mentioned)i(earlier)m
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4811
(,)e(the)h(FCB)f(we)g(use)g(dif)n(fers)i(from)f(the)g(one)g(introduced)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4812
i(by)e(Pitts.)f(He)0 2762 y(de\002nes)20 b(this)g(notion)h(as)f(follo)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4813
(ws:)940 2730 y Fv(9)p 0 TeXcolorgray 0 2908 a FJ(De\002nition)g(7)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4814
0 TeXcolorgray 42 w(\(FCB'\))c FE(A)g(function)i FG(f)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4815
b FE(with)16 b(type)g Fs(name)22 b FD(\))f Fs(lam)1779
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4816
2916 y Fp(\013)1848 2908 y FD(\))g FG(\013)g FD(\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4817
FG(\013)c FE(satis\002es)e(the)h FI(FCB')g FE(pr)l(o-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4818
3003 y(vided:)600 3099 y FD(9)p FG(a:)21 b(a)g Fr(#)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4819
FG(f)47 b FD(^)39 b Fr(\()p FD(8)p FG(t)12 b(r)n(:)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4820
b Fk(\014nite)6 b Fr(\()p Fk(supp)f Fr(\()p FG(r)r Fr(\)\))43
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4821
b FD(\))f FG(a)21 b Fr(#)g FG(f)8 b(a)13 b(t)g(r)r Fr(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4822
b FG(:)0 3245 y FI(It)g(can)f(be)h(sho)n(wn)g(that)g(in)g(all)f(cases)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4823
(where)h(the)g(recursion)g(combinator)i(is)d(applied)i(both)f(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4824
(ersions)g(of)0 3341 y(the)f(FCB)f(are)h(interderi)n(v)n(able.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4825
0 TeXcolorgray 0 3487 a FJ(Lemma)f(15)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4826
43 w FE(Pr)l(o)o(vided)e FG(f)24 b FE(is)15 b(\002nitely)h(supported,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4827
(then)f(the)g(FCB)g(holds)g(if)f(an)i(only)f(if)g(the)f(FCB')h(holds.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4828
0 TeXcolorgray 0 3653 a(Pr)l(oof)p 0 TeXcolorgray 40
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4829
w Fr(\()p FD(\))p Fr(\))22 b FI(Since)h FG(f)32 b FI(is)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4830
b(\002nitely)i(supported,)g(we)f(can)h(choose)f(using)h(Prop.)g(1)f(an)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4831
h(atom)f FG(a)g FI(such)h(that)0 3749 y FG(a)d Fr(#)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4832
FG(f)8 b FI(.)20 b(W)m(ith)h(this)f(we)g(can)g(instantiate)g(the)h(FCB)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4833
e(and)i(obtain)g FD(8)p FG(t)12 b(r)n(:)21 b Fk(\014nite)7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4834
b Fr(\()p Fk(supp)e Fr(\()p FG(r)r Fr(\)\))34 b FD(\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4835
FG(a)22 b Fr(#)g FG(f)8 b(a)13 b(t)f(r)0 3844 y FI(as)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4836
b(we)h(ha)n(v)o(e)h(to)f(sho)n(w)-5 b(.)25 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4837
FD(\()p Fr(\))g FI(W)-6 b(e)26 b(ha)n(v)o(e)h(that)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4838
FG(a)31 b Fr(#)h FG(f)i FI(and)27 b Fk(\014nite)6 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4839
Fk(supp)g Fr(\()p FG(r)r Fr(\)\))24 b FI(and)j(need)f(to)g(sho)n(w)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4840
(that)0 3940 y FG(a)d Fr(#)h FG(f)8 b(a)13 b(t)g(r)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4841
FI(.)21 b(By)h(the)g(FCB')f(we)g(ha)n(v)o(e)i(an)f(atom)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4842
FG(a)1398 3908 y Fl(0)1443 3940 y FI(such)g(that)g FG(a)1790
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4843
3908 y Fl(0)1838 3940 y Fr(#)j FG(f)30 b FI(and)22 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4844
FD(8)p FG(t)13 b(r)n(:)24 b Fk(\014nite)6 b Fr(\()p Fk(supp)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4845
Fr(\()p FG(r)r Fr(\)\))24 b FD(\))0 4035 y FG(a)41 4003
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4846
y Fl(0)106 4035 y Fr(#)42 b FG(f)8 b(a)298 4003 y Fl(0)334
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4847
4035 y FG(t)13 b(r)r FI(.)31 b(Since)g Fk(\014nite)6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4848
b Fr(\()p Fk(supp)g Fr(\(\()p FG(a)12 b(a)1185 4003 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4849
Fl(0)1208 4035 y Fr(\))1238 4003 y Fl(\000)p Fq(1)1327
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4850
4044 y Fo(\001)1365 4035 y FG(r)r Fr(\)\))31 b FI(if)g(an)h(only)h(if)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4851
Fk(\014nite)6 b Fr(\()p Fk(supp)g Fr(\()p FG(r)r Fr(\)\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4852
FI(,)30 b(we)h(can)h(infer)0 4131 y FG(a)41 4099 y Fl(0)92
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4853
4131 y Fr(#)27 b FG(f)8 b(a)269 4099 y Fl(0)306 4131
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4854
y Fr(\(\()p FG(a)k(a)460 4099 y Fl(0)483 4131 y Fr(\))513
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4855
4099 y Fl(\000)p Fq(1)602 4140 y Fo(\001)640 4131 y FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4856
Fr(\))g(\(\()p FG(a)h(a)865 4099 y Fl(0)888 4131 y Fr(\))918
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4857
4099 y Fl(\000)p Fq(1)1007 4140 y Fo(\001)1045 4131 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4858
FG(r)r Fr(\))p FI(.)22 b(By)i(Lemma)g(3)p FE(\(iii\))g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4859
FI(we)f(can)h(apply)h(on)f(both)g(sides)f(of)h Fr(#)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4860
FI(the)0 4226 y(sw)o(apping)e Fr(\()p FG(a)13 b(a)446
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4861
4194 y Fl(0)469 4226 y Fr(\))19 b FI(and)i(obtain)699
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4862
4373 y FG(a)g Fr(#)g FG(f)8 b(a)13 b Fr(\(\()p FG(a)f(a)1099
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4863
4337 y Fl(0)1122 4373 y Fr(\))1152 4382 y Fo(\001)1191
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4864
4373 y Fr(\()p FG(a)g(a)1315 4337 y Fl(0)1338 4373 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4865
Fr(\))1368 4337 y Fl(\000)p Fq(1)1457 4382 y Fo(\001)1495
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4866
4373 y FG(t)p Fr(\))g(\(\()p FG(a)h(a)1720 4337 y Fl(0)1743
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4867
4373 y Fr(\))1773 4382 y Fo(\001)1811 4373 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4868
FG(a)f(a)1935 4337 y Fl(0)1958 4373 y Fr(\))1988 4337
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4869
y Fl(\000)p Fq(1)2077 4382 y Fo(\001)2115 4373 y FG(r)r
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4870
Fr(\))0 4520 y FI(which)20 b(by)h(Lem.)f(1)p FE(\(i\))h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4871
FI(is)e(equi)n(v)n(alent)i(to)f FG(a)h Fr(#)h FG(f)8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4872
b(a)13 b(t)f(r)r FI(\227the)20 b(f)o(act)g(we)g(had)g(to)g(sho)n(w)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4873
b(.)79 b FD(u)-51 b(t)p 0 TeXcolorgray 0 4581 898 4 v
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4874
62 4646 a Fu(9)125 4669 y FF(His)17 b(de\002nition)i(of)f(the)g(FCB)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4875
(does)h(not)g(actually)i(include)f Fg(\014nite)5 b Fy(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4876
Fg(supp)g Fy(\()p FA(r)r Fy(\)\))p FF(,)18 b(because)h(he)f(considers)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4877
(only)f(\002nitely)0 4746 y(supported)h(objects,)h(and)e(also)h(does)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4878
(not)g(include)i(the)f(quanti\002cation)i(o)o(v)o(er)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4879
FA(t)f FF(as)g(he)g(deri)n(v)o(es)i(an)e(iteration,)i(rather)g(than)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4880
(a)0 4823 y(recursion)h(combinator)l(.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4881
0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4882
%%Page: 20 20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4883
TeXDict begin 20 19 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4884
0 71 2881 4 v 0 17 a FF(20)p 0 TeXcolorgray 0 228 a FI(The)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4885
b(reason)g(that)f(we)g(prefer)i(our)f(v)o(ersion)g(of)g(the)f(FCB)g(is)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4886
f(that)i(when)g(establishing)g(a)f(uni)n(v)o(ersal)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4887
324 y(quanti\002ed)24 b(formula,)g(Isabelle/HOL)f(will)f(just)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4888
(introduce)h(an)f(eigen-v)n(ariable)i(and)e(then)g(proceed)i(to)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4889
419 y(pro)o(v)o(e)e(the)f(\223rest\224.)f(This)h(is)f(in)h(practice)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4890
(easier)f(than)h(generating)i(a)d(fresh)i(atom)f(and)g(then)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4891
(instantiate)0 515 y(the)d(e)o(xistential)g(quanti\002er)h(in)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4892
(FCB'.)0 807 y FJ(6)28 b(Examples)0 996 y FI(Finally)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4893
b(,)30 b(we)g(can)g(start)f(to)h(formalise)h(Barendre)o(gt')l(s)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4894
(informal)g(proof)h(of)e(the)g(substitution)h(lemma)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4895
1092 y(\(Fig.)22 b(1\).)g(All)f(the)h(constructions)h(of)f(the)g(pre)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4896
(vious)h(3)f(sections)g(w)o(ould,)g(due)h(to)f(their)g(comple)o(xity)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4897
b(,)22 b(be)0 1187 y(of)k(only)h(academic)g(v)n(alue,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4898
FE(if)37 b FI(we)26 b(can)g(not)h(automate)g(them)f(and)h(hide)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4899
(comple)o(xities)g(from)h(the)0 1283 y(user)l(.)19 b(Ho)n(we)n(v)o(er)m
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4900
(,)i(we)e(can!)i(W)-6 b(e)20 b(shall)f(illustrate)h(this)g(ne)o(xt.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4901
1379 y(The)j(type)h Fs(lam)546 1387 y Fp(\013)616 1379
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4902
y FI(can)f(be)h(de\002ned)g(in)f(Isabelle/HOL)g(using)g(the)h(nominal)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4903
(datatype)g(package)g(by)0 1475 y(the)c(tw)o(o)g(declarations:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4904
0 TeXcolorgray 0 TeXcolorgray 628 1623 a Fs(atom)p 789
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4905
1623 24 4 v 29 w(decl)i(name)628 1718 y(nominal)p 906
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4906
1718 V 30 w(datatype)h(lam)1383 1726 y Fp(\013)1456 1718
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4907
y Fr(=)h Fs(Var)1658 1726 y Fp(\013)1753 1718 y Fr(")p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4908
Fs(name)p Fr(")1475 1814 y FD(j)44 b Fs(App)1658 1835
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4909
y Fp(\013)1753 1814 y Fr(")p Fs(lam)1909 1822 y Fp(\013)1973
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4910
1814 y FD(\002)17 b Fs(lam)2168 1822 y Fp(\013)2215 1814
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4911
y Fr(")1475 1909 y FD(j)44 b Fs(Lam)1658 1917 y Fp(\013)1753
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4912
1909 y Fr(")1791 1898 y Fa(h)-10 b(h)1830 1909 y Fs(name)1986
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4913
1898 y Fa(i)g(i)2027 1909 y Fs(lam)2144 1917 y Fp(\013)2192
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4914
1909 y Fr(")0 2071 y FI(where)20 b(the)h(\002rst)e(declaration)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4915
(establishes)f(the)g(type)h Fs(name)f FI(with)h(the)f(properties)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4916
(described)g(in)f(Sec.)g(2;)0 2166 y(in)h(the)h(second)g(declaration)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4917
811 2155 y Fa(h)-10 b(h)863 2166 y FG(:)13 b(:)h(:)966
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4918
2155 y Fa(i)-10 b(i)1026 2166 y FI(indicates)21 b(that)h(a)f(name)h(is)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4919
e(bound)j(in)f Fs(Lam)2206 2174 y Fp(\013)2254 2166 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4920
FI(.)e(W)m(ith)i(this)f(informa-)0 2262 y(tion)g(the)f(nominal)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4921
(datatype)f(package)h(performs)g(automatically)f(the)g(construction)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4922
(we)e(described)i(in)0 2357 y(Sec.)d(3)h(and)g(also)g(automatically)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4923
(deri)n(v)o(es)f(the)g(structural)g(induction)i(principles)e(from)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4924
(Sec.)e(4)h(and)g(the)0 2453 y(recursion)j(combinator)h(from)f(Sec.)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4925
(5)h FE(without)h FI(an)o(y)f(user)g(interference.)h(Furthermore,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4926
(this)d(package)0 2548 y(deri)n(v)o(es)f(this)g(reasoning)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4927
(infrastructure)f(e)n(v)o(en)g(for)g(more)g(complicated)g(term-calculi)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4928
g(that)f(ha)n(v)o(e)h(more)0 2644 y(than)g(one)f(binder)h(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4929
(binders)g(may)f(ha)n(v)o(e)h(dif)n(ferent)h(types.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4930
2740 y(After)j(the)g(declaration,)h(we)f(can)g(then)h(use)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4931
(recursion)h(combinator)h(to)f(de\002ne)f(the)g(capture-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4932
2836 y(a)n(v)n(oiding)e(substitution)d(function)i(by)f(stating)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4933
(follo)n(wing)h(characteristic)f(equations:)815 3005
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4934
y Fs(Var)933 3013 y Fp(\013)980 3005 y Fr(\()p FG(x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4935
Fr(\)[)p FG(y)k Fr(:=)d FG(t)1297 2973 y Fl(0)1320 3005
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4936
y Fr(])48 b(=)f(\()p Fs(if)21 b FG(x)g Fr(=)g FG(y)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4937
Fs(then)e FG(t)2039 2973 y Fl(0)2084 3005 y Fs(else)g(Var)2380
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4938
3013 y Fp(\013)2427 3005 y Fr(\()p FG(x)p Fr(\)\))695
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4939
3101 y Fs(App)813 3121 y Fp(\013)860 3101 y Fr(\()p FG(t)918
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4940
3113 y Fq(1)955 3101 y FG(;)13 b(t)1017 3113 y Fq(2)1054
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4941
3101 y Fr(\)[)p FG(y)24 b Fr(:=)d FG(t)1297 3069 y Fl(0)1320
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4942
3101 y Fr(])48 b(=)f Fs(App)1614 3121 y Fp(\013)1661
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4943
3101 y Fr(\()p FG(t)1719 3113 y Fq(1)1756 3101 y Fr([)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4944
FG(y)24 b Fr(:=)d FG(t)1969 3069 y Fl(0)1992 3101 y Fr(])p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4945
FG(;)14 b(t)2076 3113 y Fq(2)2113 3101 y Fr([)p FG(y)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4946
b Fr(:=)d FG(t)2326 3069 y Fl(0)2349 3101 y Fr(]\))209
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4947
3196 y FG(x)g Fr(#)g(\()p FG(y)s(;)13 b(t)492 3164 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4948
Fl(0)515 3196 y Fr(\))42 b(=)-13 b FD(\))43 b Fs(Lam)871
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4949
3204 y Fp(\013)919 3196 y Fr(\()p FG(x;)12 b(t)p Fr(\)[)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4950
FG(y)24 b Fr(:=)d FG(t)1297 3164 y Fl(0)1320 3196 y Fr(])48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4951
b(=)f Fs(Lam)1614 3204 y Fp(\013)1661 3196 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4952
FG(x;)12 b(t)p Fr([)p FG(y)24 b Fr(:=)e FG(t)2010 3164
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4953
y Fl(0)2033 3196 y Fr(]\))2749 3100 y FI(\(24\))0 3375
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4954
y(where)d(in)g(the)g(clause)g(for)h Fs(Lam)850 3383 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4955
Fp(\013)916 3375 y FI(the)f(precondition)j FG(x)f Fr(#)g(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4956
FG(y)s(;)12 b(t)1731 3344 y Fl(0)1754 3375 y Fr(\))19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4957
b FI(corresponds)i(to)e(the)g(usual)g(condition)0 3471
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4958
y(that)30 b FG(x)39 b FD(6)p Fr(=)g FG(y)33 b FI(and)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4959
FG(x)g FI(is)f(not)i(free)f(in)g FG(t)1102 3439 y Fl(0)1125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4960
3471 y FI(.)g(Internally)h(the)f(nominal)h(datatype)g(package)h(e)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4961
(xtracts)d(the)0 3566 y(follo)n(wing)21 b(functions)h(for)e(capture-a)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4962
(v)n(oiding)k(substitution:)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4963
693 3754 a FG(s)729 3766 y Fq(1)779 3754 y FG(y)15 b(t)860
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4964
3722 y Fl(0)931 3711 y Fn(def)938 3754 y Fr(=)54 b FG(\025x:)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4965
b Fs(if)h FG(x)f Fr(=)g FG(y)j Fs(then)e FG(t)1697 3722
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4966
y Fl(0)1741 3754 y Fs(else)g(Var)2037 3762 y Fp(\013)2084
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4967
3754 y Fr(\()p FG(x)p Fr(\))693 3873 y FG(s)729 3885
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4968
y Fq(2)779 3873 y FG(y)15 b(t)860 3842 y Fl(0)931 3831
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4969
y Fn(def)938 3873 y Fr(=)54 b FG(\025t)1125 3885 y Fq(1)1175
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4970
3873 y FG(t)1203 3885 y Fq(2)1252 3873 y FG(r)1287 3885
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4971
y Fq(1)1337 3873 y FG(r)1372 3885 y Fq(2)1409 3873 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4972
FG(:)22 b Fs(App)1569 3894 y Fp(\013)1617 3873 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4973
FG(r)1682 3885 y Fq(2)1718 3873 y FG(;)14 b(r)1788 3885
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4974
y Fq(1)1824 3873 y Fr(\))693 3993 y FG(s)729 4005 y Fq(3)779
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4975
3993 y FG(y)h(t)860 3961 y Fl(0)931 3950 y Fn(def)938
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4976
3993 y Fr(=)54 b FG(\025x)12 b(t)h(r)n(:)21 b Fs(Lam)1387
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4977
4001 y Fp(\013)1434 3993 y Fr(\()p FG(x;)12 b(r)r Fr(\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4978
4154 y FI(In)33 b(order)g(to)f(apply)i(Thm.)e(3)h(with)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4979
(instantiation)h Fk(rfun)1738 4173 y Fq(\()p Fp(s)1795
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4980
4181 y Fj(1)1839 4173 y Fp(y)13 b(t)1911 4156 y Fa(0)1933
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4981
4173 y Fq(\))e(\()p Fp(s)2027 4181 y Fj(2)2071 4173 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4982
Fp(y)j(t)2144 4156 y Fa(0)2166 4173 y Fq(\))d(\()p Fp(s)2260
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4983
4181 y Fj(3)2304 4173 y Fp(y)j(t)2377 4156 y Fa(0)2399
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4984
4173 y Fq(\))2429 4154 y FI(,)32 b(Isabelle)g(\002rst)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4985
4250 y(needs)g(to)g(determine)g(whether)h(the)e(result)h(type)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4986
(the)g(function)h(is)e(a)g(permutation)j(type.)e(Since)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4987
4345 y(substitution)f(returns)f(a)g Fs(lam)828 4353 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4988
Fp(\013)876 4345 y FI(-term,)g(it)f(can)h(use)g(Lem.)g(10)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4989
FE(\(i\))h FI(and)f(automatically)h(determine)g(this)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4990
4441 y(f)o(act.)25 b(Ne)o(xt)g(Isabelle)f(asks)h(the)g(user)g(to)g(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4991
(erify)h(the)f(preconditions)i(of)e(Thm.)g(3)g(about)h(the)f(functions)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4992
0 4536 y Fr(\()p FG(s)66 4548 y Fq(1)116 4536 y FG(y)15
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4993
b(t)197 4504 y Fl(0)220 4536 y Fr(\))p FI(,)g Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4994
FG(s)351 4548 y Fq(2)401 4536 y FG(y)g(t)482 4504 y Fl(0)505
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4995
4536 y Fr(\))g FI(and)i Fr(\()p FG(s)746 4548 y Fq(3)795
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4996
4536 y FG(y)f(t)877 4504 y Fl(0)900 4536 y Fr(\))f FI(ha)n(ving)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4997
(\002nite)f(support.)h(It)e(turns)i(out)f(that)f(all)h(of)g(them)g(are)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4998
g(supported)0 4632 y(by)j(the)g(set)g Fk(supp)5 b Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  4999
FG(y)s(;)13 b(t)607 4600 y Fl(0)630 4632 y Fr(\))p FI(,)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5000
b(which)h(is)g(\002nitely)g(supported)i(because)e(of)g(Lem.)g(5)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5001
(\(this)g(can)g(be)g(determined)0 4727 y(automatically)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5002
b(by)f(Isabelle\).)g(T)-6 b(o)23 b(v)o(erify)h(whether)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5003
Fk(supp)6 b Fr(\()p FG(y)s(;)12 b(t)1745 4695 y Fl(0)1769
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5004
4727 y Fr(\))g Fk(supp)l(orts)21 b Fr(\()p FG(s)2171
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5005
4739 y Fq(1)2221 4727 y FG(y)15 b(t)2302 4695 y Fl(0)2325
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5006
4727 y Fr(\))23 b FI(holds,)g(the)g(tactic)0 4823 y Fs(finite)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5007
239 4823 V 30 w(guess)c FI(does)g(automatically)h(the)e(calculations)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5008
(sho)n(wn)h(in)e(Example)i(2)f(and)g(similar)f(ones)h(for)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5009
0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5010
%%Page: 21 21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5011
TeXDict begin 21 20 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5012
0 71 2881 4 v 2814 17 a FF(21)p 0 TeXcolorgray 0 228
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5013
a FI(the)26 b(cases)g Fr(\()p FG(s)381 240 y Fq(2)430
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5014
228 y FG(y)15 b(t)511 197 y Fl(0)535 228 y Fr(\))25 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5015
FI(and)i Fr(\()p FG(s)796 240 y Fq(3)846 228 y FG(y)15
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5016
b(t)927 197 y Fl(0)950 228 y Fr(\))p FI(.)25 b(Ne)o(xt)h(Isabelle)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5017
(asks)e(the)i(user)f(to)g(v)o(erify)h(the)f(FCB)f(for)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5018
Fr(\()p FG(s)2697 240 y Fq(3)2747 228 y FG(y)15 b(t)2828
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5019
197 y Fl(0)2851 228 y Fr(\))0 324 y FI(which)20 b(amounts)h(to)g(sho)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5020
(wing)g(that)499 492 y FD(8)12 b FG(a)h(t)f(r)n(:)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5021
b(a)g Fr(#)h(\()p FG(s)937 504 y Fq(3)986 492 y FG(y)16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5022
b(t)1068 456 y Fl(0)1091 492 y Fr(\))38 b FD(^)g Fk(\014nite)7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5023
b Fr(\()p Fk(supp)e Fr(\()p FG(r)r Fr(\)\))42 b FD(\))h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5024
FG(a)21 b Fr(#)g Fs(Lam)2164 500 y Fp(\013)2211 492 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5025
Fr(\()p FG(a;)13 b(r)r Fr(\))0 661 y FI(holds.)21 b(This)f(can)h(be)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5026
(done)g(by)g(a)f(simple)h(application)h(of)f(the)f(property)j(gi)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5027
(en)e(in)g(\(19\).)g(Last,)f(Isabelle)0 756 y(asks)f(the)h(user)f(to)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5028
(v)o(erify)g(that)g(the)f(precondition)j(of)e(the)g(recursion)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5029
(combinator)i(in)d(the)h(lambda-case,)0 852 y(namely)29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5030
b(that)f FG(x)35 b Fr(#)h(\()p FG(s)651 864 y Fq(1)700
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5031
852 y FG(y)16 b(t)782 820 y Fl(0)805 852 y FG(;)d(s)875
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5032
864 y Fq(2)925 852 y FG(y)i(t)1006 820 y Fl(0)1029 852
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5033
y FG(;)e(s)1099 864 y Fq(3)1149 852 y FG(y)i(t)1230 820
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5034
y Fl(0)1253 852 y Fr(\))28 b FI(is)f(implied)i(by)f(the)g(precondition)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5035
j FG(x)k Fr(#)h(\()p FG(y)s(;)12 b(t)2628 820 y Fl(0)2651
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5036
852 y Fr(\))28 b FI(gi)n(v)o(en)0 947 y(in)21 b(\(24\).)i(Since,)e(as)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5037
(indicated)j(earlier)m(,)e(all)g(these)g(functions)h(are)g(supported)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5038
(by)f Fk(supp)5 b Fr(\()p FG(y)s(;)13 b(t)2542 916 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5039
Fl(0)2565 947 y Fr(\))p FI(,)21 b(Isabelle)0 1043 y(can)j(determine)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5040
(this)f(automatically)i(with)e(the)h(help)g(of)g(a)f(tactic.)g(This)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5041
(completes)h(the)g(de\002nition)g(of)0 1138 y(capture-a)n(v)n(oiding)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5042
(substitution.)d(The)f(Isabelle)g(code)h(for)f(this)g(is:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5043
0 TeXcolorgray 0 TeXcolorgray 144 1274 a FB(consts)215
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5044
1351 y Ft(subst)36 b(::)g("lam)672 1359 y FC(\013)753
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5045
1351 y Fz(\))f Ft(name)h Fz(\))f Ft(lam)1246 1359 y FC(\013)1326
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5046
1351 y Fz(\))g Ft(lam)1537 1359 y FC(\013)1582 1351 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5047
Ft(")71 b(\("_[_:=_]")38 b([100,100,100])h(100\))144
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5048
1504 y FB(nominal)p 379 1504 20 4 v 25 w(primr)o(ec)215
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5049
1581 y Ft("Var)355 1589 y FC(\013)400 1581 y Ft(\(x\)[y:=t'])f(=)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5050
(\(if)g(x=y)g(then)g(t')g(else)h(Var)1705 1589 y FC(\013)1750
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5051
1581 y Ft(\(x\)\)")215 1658 y("App)355 1666 y FC(\013)400
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5052
1658 y Ft(\(t)470 1667 y Fx(1)505 1658 y Ft(,t)575 1667
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5053
y Fx(2)610 1658 y Ft(\)[y:=t'])h(=)d(App)1103 1666 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5054
FC(\013)1149 1658 y Ft(\(t)1219 1667 y Fx(1)1254 1658
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5055
y Ft([y:=t'],t)1569 1667 y Fx(2)1606 1658 y Ft([y:=t']\)")215
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5056
1735 y("x)12 b Fy(#)g Ft(\(y,t'\))37 b Fy(=)-12 b Fz(\))34
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5057
b Ft(Lam)868 1743 y FC(\013)914 1735 y Ft(\(x,t\)[y:=t'])k(=)e(Lam)1548
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5058
1743 y FC(\013)1593 1735 y Ft(\(x,t[y:=t']\)")144 1812
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5059
y FB(by)f Ft(\(finite_guess+,\(rule)41 b(TrueI\)+,)d(simp)e(add:)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5060
(abs_fresh,)h(fresh_guess+\))0 1956 y FI(where)26 b(in)g(the)g(\002rst)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5061
g(tw)o(o)g(lines)f(we)h(declare)g(the)g(type)h(of)f(the)g(substitution)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5062
h(function)g(and)g(introduce)0 2052 y(nicer)20 b(syntax)g(for)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5063
(writing)g(this)f(function.)i(The)f(line)f(starting)h(with)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5064
FJ(by)g FI(contains)i(the)e(proof)i(for)f(sho)n(w-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5065
2147 y(ing)28 b(that)f(the)g(characteristic)h(functions)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5066
(substitution)g(are)f(\002nitely)h(supported,)h(that)e(the)g(FCB)f(is)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5067
2243 y(satis\002ed)k(and)i(that)f(the)g(precondition)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5068
Fs(x)22 b Fr(#)f(\()p Fs(y)p FG(;)13 b Fs(t)1427 2211
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5069
y Fl(0)1451 2243 y Fr(\))30 b FI(is)h(suf)n(\002cient)g(for)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5070
(instantiating)f(the)g(recursion)0 2338 y(combinator)l(.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5071
2434 y(Ha)n(ving)g(the)e(substitution)i(function)g(at)e(our)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5072
(disposal,)e(we)h(can)g(no)n(w)g(formalise)g(Barendre)o(gt')l(s)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5073
2529 y(proof)21 b(of)f(the)f(substitution)i(lemma.)e(First)g(we)g(ha)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5074
(v)o(e)h(to)g(formalise)g(the)f(f)o(act)h(that)g FG(x)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5075
FD(62)i FG(F)11 b(V)16 b Fr(\()p FG(L)p Fr(\))k FI(implies)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5076
2625 y FG(L)p Fr([)p FG(x)h Fr(:=)h FG(P)11 b Fr(])21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5077
b(=)g FG(L)f FI(whose)g(proof)i(is)d(omitted)i(by)g(Barendre)o(gt.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5078
0 TeXcolorgray 0 2797 a FJ(Lemma)e(16)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5079
43 w(\(F)n(or)o(get\))i FE(If)f FG(x)h Fr(#)g FG(L)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5080
FE(then)h FG(L)p Fr([)p FG(x)g Fr(:=)h FG(P)11 b Fr(])21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5081
b(=)g FG(P)11 b FE(.)p 0 TeXcolorgray 0 2993 a(Pr)l(oof)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5082
0 TeXcolorgray 40 w FI(The)25 b(proof)h(proceeds)g(by)f(induction)h(o)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5083
(v)o(er)g FG(L)e FI(using)i(\(21\))g(with)e FG(c)h FI(instantiated)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5084
(to)g Fr(\()p FG(x;)12 b(P)f Fr(\))p FI(.)24 b(In)0 3089
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5085
y(the)f(v)n(ariable)h(case)f(we)g(ha)n(v)o(e)h(to)g(sho)n(w)f(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5086
Fs(Var)1368 3097 y Fp(\013)1415 3089 y Fr(\()p FG(y)s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5087
Fr(\)[)p FG(x)k Fr(:=)g FG(P)11 b Fr(])27 b(=)g Fs(Var)2029
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5088
3097 y Fp(\013)2076 3089 y Fr(\()p FG(y)s Fr(\))c FI(under)h(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5089
(assumption)0 3184 y(that)h FG(x)30 b Fr(#)h Fs(Var)429
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5090
3192 y Fp(\013)477 3184 y Fr(\()p FG(y)s Fr(\))p FI(.)23
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5091
b(This)i(assumption)i(is)d(equi)n(v)n(alent)i(to)g FG(x)k
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5092
Fr(#)g FG(y)s FI(,)24 b(which)i(is)e(in)h(turn)h(equi)n(v)n(alent)h(to)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5093
0 3280 y FG(x)21 b FD(6)p Fr(=)g FG(y)s FI(,)16 b(allo)n(wing)h(us)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5094
(to)g(apply)h(\(24\))g(to)f(pro)o(v)o(e)h(this)e(case.)g(In)i(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5095
(lambda-case)h(we)e(ha)n(v)o(e)i(the)f(induction)0 3375
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5096
y(hypothesis)26 b FD(8)p FG(x)12 b(P)r(:)33 b(x)e Fr(#)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5097
FG(L)788 3387 y Fq(1)857 3375 y FD(\))h FG(L)1018 3387
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5098
y Fq(1)1055 3375 y Fr([)p FG(x)g Fr(:=)f FG(P)11 b Fr(])32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5099
b(=)f FG(L)1520 3387 y Fq(1)1583 3375 y FI(and)c(ha)n(v)o(e)f(to)g(sho)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5100
n(w)g(that)f Fs(Lam)2432 3383 y Fp(\013)2479 3375 y Fr(\()p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5101
FG(y)s(;)13 b(L)2636 3387 y Fq(1)2673 3375 y Fr(\)[)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5102
FG(x)32 b Fr(:=)0 3471 y FG(P)11 b Fr(])40 b(=)f Fs(Lam)338
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5103
3479 y Fp(\013)385 3471 y Fr(\()p FG(y)s(;)13 b(L)542
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5104
3483 y Fq(1)579 3471 y Fr(\))30 b FI(under)i(the)e(assumption)h(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5105
FG(x)39 b Fr(#)h Fs(Lam)1817 3479 y Fp(\013)1865 3471
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5106
y Fr(\()p FG(y)s(;)12 b(L)2021 3483 y Fq(1)2059 3471
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5107
y Fr(\))29 b FI(holds.)i(The)g(induction)h(in)0 3566
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5108
y(allo)n(ws)23 b(us)g(further)h(to)g(assume)f(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5109
FG(y)30 b Fr(#)d(\()p FG(x;)12 b(P)f Fr(\))p FI(\227)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5110
Fr(\()p FG(x;)h(P)f Fr(\))23 b FI(is)f(the)i(induction)h(conte)o(xt)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5111
(and)f(the)h(point)0 3662 y(of)e(\(21\))h(is)e(that)h(we)g(can)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5112
(assume)f(the)h(binder)h(is)f(fresh)g(w)-5 b(.r)l(.t.)20
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5113
b(this)i(conte)o(xt.)g(Therefore)h(we)f(can)g(mo)o(v)o(e)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5114
3757 y(the)e(substitution)h(under)g(the)f(binder)m(,)h(namely)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5115
Fs(Lam)1426 3765 y Fp(\013)1473 3757 y Fr(\()p FG(y)s(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5116
b(L)1630 3769 y Fq(1)1667 3757 y Fr(\)[)p FG(x)21 b Fr(:=)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5117
FG(P)11 b Fr(])21 b(=)g Fs(Lam)2187 3765 y Fp(\013)2234
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5118
3757 y Fr(\()p FG(y)s(;)13 b(L)2391 3769 y Fq(1)2428
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5119
3757 y Fr([)p FG(x)21 b Fr(:=)h FG(P)11 b Fr(]\))p FI(,)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5120
b(and)0 3853 y(also)i(infer)g(by)h(\(19\))g(that)e FG(x)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5121
Fr(#)g FG(L)913 3865 y Fq(1)950 3853 y FI(.)e(This)f(allo)n(ws)h(us)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5122
(to)g(apply)g(the)g(induction)i(hypothesis)f(and)f(we)g(are)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5123
3948 y(done.)g(The)f(application)h(case)f(is)f(tri)n(vial.)79
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5124
b FD(u)-51 b(t)0 4120 y FI(Using)20 b(Isabelle')l(s)g(automatic)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5125
(proof-tools)h(one)e(can)h(formalise)f(this)g(proof)h(with:)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5126
0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5127
373 4267 a FB(lemma)37 b Ft(forget:)443 4344 y FB(assumes)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5128
Ft(a:)g("x)12 b Fy(#)g Ft(L")443 4421 y FB(sho)o(ws)35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5129
b Ft("L[x:=P])j(=)e(L")373 4497 y FB(using)f Ft(a)h FB(by)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5130
Ft(\(nominal_induct)40 b(L)35 b(avoiding:)j(x)e(P)f(rule:)i(lam)2181
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5131
4505 y FC(\013)2226 4497 y Ft(.induct\))735 4574 y(\(auto)g(simp)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5132
(add:)h(abs_fresh)h(fresh_atm\))0 4727 y FI(where)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5133
b Fs(abs)p 333 4727 24 4 v 28 w(fresh)h FI(corresponds)g(to)e(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5134
(property)i(gi)n(v)o(en)f(in)f(\(19\))i(and)e(the)h(lemma)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5135
Fs(fresh)p 2545 4727 V 30 w(atm)g FI(to)g(the)0 4823
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5136
y(f)o(act)j(that)g(for)g(atoms)g FG(x)f FI(and)h FG(y)s
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5137
FI(,)f FG(x)i Fr(#)g FG(y)h FI(holds)e(if)g(and)g(only)h(if)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5138
FG(x)h FD(6)p Fr(=)g FG(y)s FI(.)e(The)h(method)h Fs(nominal)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5139
2621 4823 V 29 w(induct)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5140
eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5141
%%Page: 22 22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5142
TeXDict begin 22 21 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5143
0 71 2881 4 v 0 17 a FF(22)p 0 TeXcolorgray 0 228 a FI(\(see)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5144
b(W)-6 b(enzel)22 b([38]\))h(brings)g(the)f(induction)h(principle,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5145
(called)e Fs(lam)1888 236 y Fp(\013)1935 228 y Fs(.induct)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5146
FI(,)i(automatically)g(to)e(the)0 324 y(form)k(needed)g(in)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5147
(\(21\)\227we)i(only)g(ha)n(v)o(e)f(to)g(state)f(o)o(v)o(er)h(which)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5148
(v)n(ariable)h(the)f(induction)h(is)e(done)i(and)0 419
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5149
y(what)20 b(the)g(induction)i(conte)o(xt)f(is,)e(that)h(is)f(the)h(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5150
(ariables)h(to)f(a)n(v)n(oid.)125 515 y(Ne)o(xt)28 b(we)h(need)g(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5151
(sho)n(w)g(a)f(lemma)h(whose)g(need)g(is)g(not)g(immediately)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5152
(apparent)g(by)f(looking)0 611 y(at)23 b(Barendre)o(gt')l(s)h(informal)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5153
g(proof.)h(Ho)n(we)n(v)o(er)m(,)f(in)f(the)g(lambda-case)i(where)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5154
(Barendre)o(gt)i(pulls)e(out)h(a)0 706 y(substitution)d(from)g(under)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5155
(the)f(binder)m(,)h(namely)g(in)f(the)g(step)315 876
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5156
y FG(\025z)s(:)p Fr(\()p FG(M)524 888 y Fq(1)562 876
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5157
y Fr([)p FG(y)k Fr(:=)d FG(L)p Fr(][)p FG(x)h Fr(:=)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5158
FG(N)8 b Fr([)p FG(y)25 b Fr(:=)c FG(L)p Fr(]]\))i FD(\021)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5159
Fr(\()p FG(\025z)s(:M)1701 888 y Fq(1)1738 876 y Fr(\)[)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5160
FG(y)j Fr(:=)d FG(L)p Fr(][)p FG(x)h Fr(:=)g FG(N)8 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5161
Fr([)p FG(y)24 b Fr(:=)e FG(L)p Fr(]])0 1045 y FI(we)j(need)h(to)f(kno)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5162
n(w)h(that)g FG(z)h FI(is)e(not)h(free)f(in)g FG(N)8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5163
b Fr([)p FG(y)35 b Fr(:=)30 b FG(L)p Fr(])p FI(.)c(But)e(by)i(the)g(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5164
(ariable)g(con)m(v)o(ention)h(we)e(only)0 1141 y(kno)n(w)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5165
b(that)f FG(z)i FI(is)d(not)i(free)f(in)g FG(N)8 b FI(and)32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5166
b FG(L)p FI(.)e(In)h(a)g(formalisation,)h(this)e(f)o(act)h(needs)g(to)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5167
(be)g(established)0 1236 y(e)o(xplicitly)-5 b(.)20 b(It)g(can)g(be)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5168
(done)h(in)f(Isabelle)g(with)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5169
0 TeXcolorgray 0 TeXcolorgray 337 1384 a FB(lemma)37
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5170
b Ft(fresh_fact:)408 1461 y FB(\002xes)f Ft(z::"name")408
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5171
1538 y FB(assumes)g Ft(a:)f("z)13 b Fy(#)e Ft(N")36 b("z)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5172
b Fy(#)g Ft(L")408 1615 y FB(sho)o(ws)35 b Ft("z)13 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5173
Fy(#)e Ft(N[y:=L]")337 1692 y FB(using)36 b Ft(a)f FB(by)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5174
Ft(\(nominal_induct)j(N)d(avoiding:)i(z)d(y)h(L)g(rule:)g(lam)2216
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5175
1700 y FC(\013)2261 1692 y Ft(.induct\))700 1768 y(\(auto)h(simp)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5176
(add:)g(abs_fresh)i(fresh_atm\))0 1922 y FI(where)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5177
b FG(z)h FI(needs)f(to)f(be)g(gi)n(v)o(en)h(an)g(e)o(xplicit)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5178
(type-annotation)j(so)d(that)g(Isabelle)g(can)h(determine)g(its)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5179
(type.)0 2017 y(The)j(substitution)h(lemma)g(can)f(no)n(w)g(be)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5180
(formalised)g(with:)p 0 TeXcolorgray 0 TeXcolorgray 302
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5181
2178 a FB(lemma)37 b Ft(substitution_lemma:)373 2255
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5182
y FB(assumes)e Ft(a:)h("x)p Fz(6)p Fy(=)p Ft(y")g("x)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5183
b Fy(#)e Ft(L")373 2332 y FB(sho)o(ws)35 b Ft("M[x:=N][y:=L])k(=)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5184
(M[y:=L][x:=N[y:=L]]")302 2409 y FB(using)g Ft(a)f FB(by)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5185
Ft(\(nominal_induct)j(M)d(avoiding:)i(x)d(y)h(N)f(L)h(rule:)h(lam)2252
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5186
2417 y FC(\013)2297 2409 y Ft(.induct\))665 2485 y(\(auto)f(simp)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5187
(add:)f(fresh_fact)i(forget\))2749 2335 y FI(\(25\))0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5188
2620 y(A)20 b(formalised)h(proof)g(of)g(this)e(lemma)i(mentioning)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5189
(much)f(more)g(details)e(is)h(sho)n(wn)g(in)g(Fig.)g(3.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5190
2716 y(Other)34 b(proofs)i(we)e(formalised)h(in)g(a)f(similar)g(f)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5191
(ashion)i(are)e(the)g(Church-Rosser)i(proof)g(from)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5192
2812 y(Barendre)o(gt)20 b([5,)f(pp.)g(60\22662])i(and)e([29],)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5193
(strong)h(normalisation)g(proof)h(gi)n(v)o(en)e(in)g(Girard)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5194
FE(et)e(al)h FI([12,)0 2907 y(pp.)g(42\22646],)i(the)e(strong)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5195
(normalisation)g(proof)h(for)e(cut-elimination)i(from)f(Urban)g([31],)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5196
(the)f(correct-)0 3003 y(ness)f(proof)i(of)f(the)g(type-inference)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5197
(algorithm)f(W)f(from)g(Lero)o(y)h([18,)g(pp.)f(26\22631])h(and)g(the)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5198
(logical)h(re-)0 3098 y(lation)h(proof)h(for)f(algorithmic)g(equality)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5199
(between)g(simply-typed)i(lambda-terms)e(gi)n(v)o(en)g(in)g(Crary)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5200
([7,)0 3194 y(pp.)f(223\226244])j(and)d(between)g(LF-terms)g(gi)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5201
(en)g(by)g(Harper)h(and)f(Pfenning)h(in)f([15].)g(These)g(proofs)h(are)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5202
0 3289 y(more)25 b(complicated)h(than)f(the)g(proofs)h(we)e(ha)n(v)o(e)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5203
h(gi)n(v)o(en)h(abo)o(v)o(e)f(and)g(need)g(some)g(manual)g(reasoning.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5204
3385 y(All)20 b(proofs)h(are)f(included)h(in)f(the)g(distrib)n(ution)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5205
(of)f(the)f(nominal)h(datatype)g(package)g(a)n(v)n(ailable)g(from)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5206
0 TeXcolorgray 0 TeXcolorgray 774 3532 a Fs
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5207
(http://isabelle.in.tum.de/nomin)q(al/)0 3869 y FJ(7)28
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5208
b(Related)20 b(W)-6 b(ork)0 4058 y FI(There)22 b(are)g(man)o(y)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5209
(approaches)g(to)f(formal)h(treatments)f(of)g(binders;)h(this)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5210
(section)h(describes)g(the)g(ones)0 4154 y(from)f(which)f(we)g(ha)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5211
(e)g(dra)o(wn)h(inspiration)g(and)f(also)g(w)o(ork)g(reported)i(in)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5212
(Ambler)g FE(et)g(al)g FI([1],)g(A)-7 b(ydemir)0 4249
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5213
y FE(et)20 b(al)g FI([2])g(and)h(Homeier)g([16].)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5214
4345 y(Our)i(w)o(ork)i(uses)e(man)o(y)h(ideas)g(from)g(the)g(nominal)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5215
(logic)f(w)o(ork)g(by)g(Pitts)f FE(et)g(al)h FI([26,)8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5216
b(11,)g(27])r(.)23 b(The)0 4441 y(main)17 b(dif)n(ference)h(is)e(that)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5217
(by)g(constructing,)h(so)f(to)g(say)-5 b(,)16 b(an)h(e)o(xplicit)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5218
(model)g(of)g(the)g FG(\013)p FI(-equated)h(lambda-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5219
4536 y(terms)j(based)g(on)h(functions,)g(we)e(ha)n(v)o(e)i(no)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5220
(problem)i(with)e(the)g(axiom)h(of)f(choice.)g(This)g(is)f(important.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5221
4632 y(F)o(or)h(consider)h(the)f(alternati)n(v)o(e:)h(if)f(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5222
(axiom-of-choice)j(causes)c(inconsistencies,)h(then)h(one)g(cannot)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5223
4727 y(b)n(uild)e(a)f(frame)n(w)o(ork)j(for)d(binding)i(on)f(top)g(of)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5224
(Isabelle/HOL)h(with)f(its)f(rich)i(reasoning)g(infrastructure.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5225
4823 y(One)27 b(w)o(ould)g(ha)n(v)o(e)g(to)g(base)f(the)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5226
(implementation)h(on)f(a)f(lo)n(wer)h(le)n(v)o(el)f(and)h(w)o(ould)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5227
(ha)n(v)o(e)h(to)e(redo)h(the)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5228
eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5229
%%Page: 23 23
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5230
TeXDict begin 23 22 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5231
0 71 2881 4 v 2814 17 a FF(23)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5232
0 149 V 0 3636 4 3487 v 28 218 a FB(lemma)37 b Ft(substitution_lemma:)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5233
99 295 y FB(assumes)f Ft(a:)f("x)p Fz(6)p Fy(=)p Ft(y")i("x)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5234
b Fy(#)g Ft(L")99 372 y FB(sho)o(ws)35 b Ft("M[x:=N][y:=L])k(=)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5235
(M[y:=L][x:=N[y:=L]]")28 449 y FB(using)g Ft(a)28 525
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5236
y FB(pr)o(oof)g Ft(\(nominal_induct)k(M)35 b(avoiding:)j(x)e(y)f(N)h(L)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5237
g(rule:)g(lam)1804 533 y FC(\013)1849 525 y Ft(.induct\))99
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5238
602 y FB(case)g Ft(\(Var)392 610 y FC(\013)473 602 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5239
Ft(z\))1797 b Ff(\(Case)17 b(1:)g(variables\))99 679
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5240
y FB(sho)o(w)35 b Ft("Var)417 687 y FC(\013)463 679 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5241
Ft(\(z\)[x:=N][y:=L])k(=)d(Var)1203 687 y FC(\013)1248
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5242
679 y Ft(\(z\)[y:=L][x:=N[y:=L]]")41 b(\()p FB(is)36
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5243
b Ft("?lhs=?rhs"\))99 756 y FB(pr)o(oof)g Ft(-)169 833
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5244
y Fz(f)g FB(assume)71 b Ft("z=x")1884 b Ff(\(Case)17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5245
b(1.1\))240 909 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(N[y:=L]")h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5246
FB(using)f Ft(`z=x`)h FB(by)e Ft(simp)240 986 y FB(ha)n(v)o(e)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5247
Ft(2:)f("?rhs)g(=)g(N[y:=L]")h FB(using)f Ft(`z=x`)h(`x)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5248
Fz(6)p Fy(=)p Ft(y`)f FB(by)g Ft(simp)240 1063 y FB(fr)o(om)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5249
Ft(1)g(2)f FB(ha)n(v)o(e)i Ft("?lhs)g(=)e(?rhs")72 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5250
FB(by)36 b Ft(simp)169 1140 y Fz(g)169 1217 y FB(mor)o(eo)o(v)o(er)169
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5251
1293 y Fz(f)g FB(assume)g Ft("z=y")h FB(and)e Ft("z)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5252
Fz(6)p Fy(=)p Ft(x")1545 b Ff(\(Case)17 b(1.2\))240 1370
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5253
y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(L")459 b FB(using)36
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5254
b Ft(`z)p Fz(6)p Fy(=)p Ft(x`)g(`z=y`)h FB(by)e Ft(simp)240
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5255
1447 y FB(ha)n(v)o(e)i Ft(2:)f("?rhs)g(=)g(L[x:=N[y:=L]]")j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5256
FB(using)d Ft(`z=y`)g FB(by)g Ft(simp)240 1524 y FB(ha)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5257
Ft(3:)f("L[x:=N[y:=L]])j(=)c(L")142 b FB(using)36 b Ft(`x)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5258
b Fy(#)g Ft(L`)36 b FB(by)f Ft(\(simp)i(add:)f(forget\))240
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5259
1601 y FB(fr)o(om)g Ft(1)g(2)f(3)h FB(ha)n(v)o(e)h Ft("?lhs)f(=)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5260
(?rhs")h FB(by)e Ft(simp)169 1677 y Fz(g)169 1754 y FB(mor)o(eo)o(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5261
(er)169 1831 y Fz(f)h FB(assume)g Ft("z)p Fz(6)p Fy(=)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5262
Ft(x")g FB(and)g Ft("z)p Fz(6)p Fy(=)p Ft(y")1525 b Ff(\(Case)17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5263
b(1.3\))240 1908 y FB(ha)n(v)o(e)37 b Ft(1:)f("?lhs)g(=)g(Var)899
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5264
1916 y FC(\013)979 1908 y Ft(z")g FB(using)g Ft(`z)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5265
Fz(6)p Fy(=)p Ft(x`)g(`z)p Fz(6)p Fy(=)p Ft(y`)g FB(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5266
Ft(simp)240 1985 y FB(ha)n(v)o(e)h Ft(2:)f("?rhs)g(=)g(Var)899
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5267
1993 y FC(\013)979 1985 y Ft(z")g FB(using)g Ft(`z)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5268
Fz(6)p Fy(=)p Ft(x`)g(`z)p Fz(6)p Fy(=)p Ft(y`)g FB(by)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5269
Ft(simp)240 2061 y FB(fr)o(om)g Ft(1)g(2)f FB(ha)n(v)o(e)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5270
Ft("?lhs)g(=)e(?rhs")i FB(by)f Ft(simp)169 2138 y Fz(g)169
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5271
2215 y FB(ultimately)i(sho)o(w)e Ft("?lhs)h(=)e(?rhs")i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5272
FB(by)e Ft(blast)99 2292 y FB(qed)28 2369 y(next)99 2445
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5273
y(case)h Ft(\(Lam)392 2453 y FC(\013)473 2445 y Ft(z)f(M)578
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5274
2454 y Fx(1)613 2445 y Ft(\))1714 b Ff(\(Case)18 b(2:)e(lambdas\))99
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5275
2522 y FB(ha)n(v)o(e)37 b Ft(ih:)f(")p Fy([)-12 b([)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5276
Ft(x)p Fz(6)p Fy(=)p Ft(y;)36 b(x)13 b Fy(#)e Ft(L)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5277
Fy(])-12 b(])35 b(=)-12 b Fz(\))35 b Ft(M)1064 2531 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5278
Fx(1)1099 2522 y Ft([x:=N][y:=L])k(=)c(M)1663 2531 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5279
Fx(1)1698 2522 y Ft([y:=L][x:=N[y:=L]]")41 b FB(by)35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5280
b Ft(fact)99 2599 y FB(ha)n(v)o(e)i Ft(vc:)f("z)12 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5281
Fy(#)g Ft(x")35 b("z)13 b Fy(#)e Ft(y")36 b("z)13 b Fy(#)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5282
Ft(N")36 b("z)12 b Fy(#)g Ft(L")36 b FB(by)f Ft(fact)596
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5283
b Ff(\(variable)19 b(con)m(vention\))99 2676 y FB(hence)36
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5284
b Ft("z)13 b Fy(#)e Ft(N[y:=L]")38 b FB(by)d Ft(\(simp)i(add:)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5285
(fresh_fact\))99 2753 y FB(sho)o(w)f Ft("Lam)417 2761
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5286
y FC(\013)463 2753 y Ft(\(z,M)603 2762 y Fx(1)638 2753
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5287
y Ft(\)[x:=N][y:=L])k(=)d(Lam)1308 2761 y FC(\013)1353
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5288
2753 y Ft(\(z,M)1493 2762 y Fx(1)1529 2753 y Ft(\)[y:=L][x:=N[y:=L]]")
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5289
41 b(\()p FB(is)36 b Ft("?lhs=?rhs"\))99 2829 y FB(pr)o(oof)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5290
Ft(-)169 2906 y FB(ha)n(v)o(e)h Ft("?lhs)g(=)e(Lam)722
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5291
2914 y FC(\013)768 2906 y Ft(\(z,M)908 2915 y Fx(1)943
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5292
2906 y Ft([x:=N][y:=L]\)")40 b FB(using)35 b Ft(vc)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5293
FB(by)f Ft(simp)169 2983 y FB(also)h(ha)n(v)o(e)h Ft(")p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5294
FA(:)12 b(:)f(:)47 b Ft(=)35 b(Lam)821 2991 y FC(\013)866
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5295
2983 y Ft(\(z,M)1006 2992 y Fx(1)1042 2983 y Ft([y:=L][x:=N[y:=L]]\)")
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5296
41 b FB(using)36 b Ft(ih)g(`x)p Fz(6)p Fy(=)p Ft(y`)g(`x)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5297
b Fy(#)g Ft(L`)36 b FB(by)f Ft(simp)169 3060 y FB(also)h(ha)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5298
Ft(")p FA(:)12 b(:)f(:)47 b Ft(=)35 b(Lam)821 3068 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5299
FC(\013)866 3060 y Ft(\(z,M)1006 3069 y Fx(1)1042 3060
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5300
y Ft([y:=L]\)[x:=N[y:=L]]")41 b FB(using)36 b Ft(vc)g(`z)12
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5301
b Fy(#)g Ft(N[y:=L]`)37 b FB(by)f Ft(simp)169 3137 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5302
FB(also)g(ha)n(v)o(e)h Ft(")p FA(:)12 b(:)f(:)47 b Ft(=)35
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5303
b(?rhs")i FB(using)71 b Ft(vc)36 b FB(by)f Ft(simp)169
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5304
3213 y FB(\002nally)i(sho)o(w)e Ft("?lhs)i(=)f(?rhs")g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5305
FB(by)g Ft(simp)99 3290 y FB(qed)28 3367 y(next)99 3444
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5306
y(case)g Ft(\(App)392 3452 y FC(\013)473 3444 y Ft(M)508
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5307
3453 y Fx(1)578 3444 y Ft(M)613 3453 y Fx(2)648 3444
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5308
y Ft(\))1576 b Ff(\(Case)17 b(3:)g(applications\))99
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5309
3521 y FB(thus)35 b Ft("App)396 3529 y FC(\013)441 3521
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5310
y Ft(\(M)511 3530 y Fx(1)546 3521 y Ft(,M)616 3530 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5311
Fx(2)652 3521 y Ft(\)[x:=N][y:=L])k(=)c(App)1321 3529
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5312
y FC(\013)1366 3521 y Ft(\(M)1436 3530 y Fx(1)1471 3521
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5313
y Ft(,M)1541 3530 y Fx(2)1577 3521 y Ft(\)[y:=L][x:=N[y:=L]]")41
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5314
b FB(by)35 b Ft(simp)28 3597 y FB(qed)p 2878 3636 V 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5315
3639 2881 4 v 0 3755 a(Fig)o(.)18 b(3)33 b FF(A)18 b(formalised)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5316
(proof)f(of)g(Barendre)o(gt')l(s)i(substitution)g(lemma)e(using)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5317
(Isabelle')l(s)i(Isar)d(language.)j(This)d(proof)0 3832
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5318
y(contains)g(all)f(reasoning)g(steps)g(gi)n(v)o(en)g(in)f(e)o(xtreme)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5319
(detail.)h(An)e(automated)i(v)o(ersion)f(of)f(this)g(proof,)g(gi)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5320
(en)h(in)f(\(25\),)g(is)g(only)0 3909 y(5)k(lines)h(long.)f(The)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5321
(crucial)j(point)e(in)f(both)h(proofs,)f(ho)n(we)n(v)o(er)m(,)i(is)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5322
(that)h(in)f(the)h(lambda-case)i(we)d(ha)o(v)o(e)h(the)f(assumptions)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5323
3986 y(labelled)27 b(with)e Ft(vc)f FF(a)o(v)n(ailable.)j(The)o(y)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5324
(allo)n(w)h(us)f(to)g(easily)i(formalise)f(Barendre)o(gt')l(s)i(slick)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5325
(informal)h(proof,)e(sho)n(wn)g(in)0 4062 y(Fig.)17 b(1,)f(which)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5326
(uses)f(the)h(v)n(ariable)i(con)m(v)o(ention.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5327
0 4339 a FI(ef)n(fort)g(that)f(has)g(been)h(spend)g(to)f(de)n(v)o(elop)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5328
i(Isabelle/HOL.)d(This)i(w)o(as)e(attempted)i(in)f(Gabbay)i([10],)f(b)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5329
(ut)0 4434 y(the)g(attempt)g(w)o(as)g(quickly)h(abandoned.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5330
4536 y(Closely)k(related)h(to)g(our)h(w)o(ork)g(is)e(Gordon)j(and)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5331
(Melham)h([14],)g(which)f(has)g(been)g(applied)h(and)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5332
4632 y(much)21 b(further)h(de)n(v)o(eloped)h(by)e(Norrish)g([22,)8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5333
b(23].)22 b(Gordon)g(and)f(Melham')l(s)g(w)o(ork)g(states)f(\002)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5334
(e)g(axioms)0 4727 y(characterising)i FG(\013)p FI(-equi)n(v)n(alence)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5335
(and)g(then)f(sho)n(ws)f(that)h(a)f(model)i(based)f(on)g(de-Bruijn)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5336
(indices)e(satis-)0 4823 y(\002es)j(these)h(axioms.)g(This)g(is)f(some)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5337
n(what)h(similar)g(to)g(our)g(approach)i(where)e(we)f(construct)i(e)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5338
(xplicitly)p 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5339
%%Page: 24 24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5340
TeXDict begin 24 23 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5341
0 71 2881 4 v 0 17 a FF(24)p 0 TeXcolorgray 0 228 a FI(the)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5342
b(set)f Fs(lam)353 236 y Fp(\013)400 228 y FI(.)g(In)h([14])h(Gordon)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5343
(and)g(Melham)f(gi)n(v)o(e)g(an)g(induction)i(principle)e(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5344
(requires)h(in)e(the)0 324 y(lambda-case)c(to)f(pro)o(v)o(e)h(\(using)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5345
(their)f(notation\))653 512 y FD(8)13 b FG(x)f(t:)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5346
b Fr(\()p FD(8)13 b FG(v)s(:)21 b(P)j Fr(\()p FG(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5347
Fr([)p FG(x)d Fr(:=)g Fk(V)-8 b(AR)24 b FG(v)s Fr(]\)\))e(=)-13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5348
b FD(\))21 b FG(P)i Fr(\()p Fk(LAM)33 b FG(x)21 b(t)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5349
Fr(\))0 704 y FI(That)29 b(means)h(the)o(y)f(ha)n(v)o(e)h(to)f(pro)o(v)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5350
o(e)h FG(P)11 b Fr(\()p Fk(LAM)49 b FG(x)37 b(t)p Fr(\))29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5351
b FI(for)g(a)g(v)n(ariable)h FG(x)e FI(for)i(which)f(nothing)i(can)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5352
(be)0 800 y(assumed;)20 b(e)o(xplicit)g FG(\013)p FI(-renamings)i(are)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5353
(then)g(often)h(necessary)f(in)g(order)h(to)f(get)g(proofs)h(through.)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5354
(This)0 895 y(incon)m(v)o(enience)27 b(has)e(been)h(alle)n(viated)g(by)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5355
g(the)f(v)o(ersion)h(of)g(structural)f(induction)i(gi)n(v)o(en)f(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5356
([13])g(and)0 991 y([23],)21 b(where)f(the)g(lambda-case)h(is)f(as)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5357
(follo)n(ws)523 1179 y FD(9)p FG(X)r(:)i Fs(FINITE)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5358
FG(X)h FD(^)17 b Fr(\()p FD(8)k FG(x)g(t:)g(x)g FD(62)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5359
FG(X)j FD(^)17 b FG(P)32 b(t)21 b Fr(=)-13 b FD(\))21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5360
b FG(P)32 b Fr(\()p FG(LAM)d(x)21 b(t)p Fr(\)\))0 1371
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5361
y FI(F)o(or)26 b(this)f(principle)i(one)f(has)g(to)g(pro)o(vide)h(a)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5362
(\002nite)h(set)f FG(X)32 b FI(and)26 b(then)g(has)g(to)g(sho)n(w)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5363
(the)g(lambda-case)0 1466 y(for)d(all)e(binders)i(not)f(in)g(this)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5364
(set.)f(This)h(is)f(v)o(ery)i(similar)e(to)h(our)h(induction)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5365
(principle)f(where)f(we)g(ha)n(v)o(e)0 1562 y(to)g(specify)g(an)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5366
(induction)h(conte)o(xt,)f(b)n(ut)g(we)g(claim)f(that)h(our)g(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5367
(ersion)h(based)f(on)g(freshness)g(\002ts)e(better)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5368
1657 y(with)e(informal)i(practice)f(\(recall)f(Fig.)g(1)h(where)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5369
(Barendre)o(gt)i(states)d(that)h FG(z)k FI(is)17 b(fresh)i(w)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5370
b(.r)l(.t.)17 b FG(x)p FI(,)g FG(y)s FI(,)g FG(N)27 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5371
FI(and)0 1753 y FG(L)p FI(\))18 b(and)h(can)f(mak)o(e)h(better)g(use)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5372
(of)i(the)f(automatic)h(infrastructure)h(of)e(Isabelle)g(\(namely)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5373
(the)e(axiomatic)0 1848 y(type-classes)i(enforce)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5374
(\002nite-support)i(property\).)125 1947 y(Gordon)k(and)g(Melham)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5375
([14])i(do)e(not)h(consider)g(the)f(case)f(of)i(rule)f(inductions)i(o)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5376
(v)o(er)e(inducti)n(v)o(ely)0 2043 y(de\002ned)17 b(predicates.)g(This)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5377
g(has)f(been)h(done)h(in)f([33,)8 b(34].)17 b(It)g(turns)g(out)g(that)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5378
(while)f(the)h(v)n(ariable)g(con)m(v)o(en-)0 2138 y(tion)h(can)f(be)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5379
(b)n(uilt)g(into)g(e)n(v)o(ery)g(structural)g(induction)h(principle,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5380
(lik)o(e)g(our)g(Thm.)g(2,)f(this)g(is)g(not)h(the)f(case)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5381
2234 y(for)i(rule)f(induction)i(principles.)e(In)h([33])g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5382
(authors)h(gi)n(v)o(e)f(an)g(e)o(xample)h(where)f(the)g(v)n(ariable)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5383
(con)m(v)o(en-)0 2329 y(tion)f(can)f(lead)g(to)g(f)o(aulty)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5384
(reasoning.)h(The)e(nominal)h(datatype)h(package)f(pre)n(v)o(ents)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5385
(this)e(by)i(introducing)0 2425 y(conditions)24 b(for)g(when)f(an)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5386
(inducti)n(v)o(e)h(de\002nition)g(is)e(compatible)i(with)f(the)g(v)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5387
(ariable)g(con)m(v)o(ention)i(and)0 2520 y(only)c(deri)n(v)o(es)f(a)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5388
(strong)h(rule)f(induction)i(principle)f(for)g(those)f(that)g(satisfy)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5389
(these)f(conditions.)125 2619 y(Lik)o(e)27 b(our)g Fs(lam)544
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5390
2627 y Fp(\013)591 2619 y FI(,)f(HO)m(AS)g(uses)g(functions)i(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5391
(encode)g(lambda-abstractions;)i(it)d(comes)h(in)f(tw)o(o)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5392
2715 y(\003a)n(v)n(ours:)e FE(weak)f FI(HO)m(AS)f([8])g(and)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5393
FE(full)f FI(HO)m(AS)g([25].)h(The)f(adv)n(antage)i(of)e(full)g(HO)m
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5394
(AS)g(o)o(v)o(er)h(our)g(w)o(ork)0 2810 y(is)g(that)h(notions)h(such)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5395
(as)f(capture-a)n(v)n(oiding)28 b(substitution)d(come)f(for)h(free.)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5396
(W)-6 b(e,)24 b(on)g(the)g(other)h(hand,)0 2906 y(load)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5397
b(the)f(w)o(ork)h(of)g(making)h(such)e(de\002nitions)h(onto)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5398
(user)l(.)f(The)g(adv)n(antage)i(of)f(our)g(w)o(ork)g(is)f(that)g(we)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5399
3001 y(ha)n(v)o(e)25 b(no)h(dif)n(\002culties)e(with)h(notions)h(such)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5400
(as)g(simultaneous-substitution)j(\(a)e(crucial)g(notion)h(in)e(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5401
3097 y(usual)19 b(strong)g(normalisation)h(proofs)g(based)f(on)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5402
(logical)g(relation)g(ar)o(guments\),)g(which)h(in)e(full)h(HO)m(AS)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5403
3192 y(seem)26 b(rather)h(dif)n(\002cult)f(to)h(encode)g(when)f(one)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5404
(at)f(the)g(same)g(time)g(w)o(ants)g(to)g(reap)h(the)f(bene\002ts)g(of)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5405
h(a)0 3288 y(HO)m(AS-representation.)d(Another)g(adv)n(antage)h(we)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5406
(see)h(is)f(that)h(by)g(inducti)n(v)o(ely)i(de\002ning)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5407
Fs(lam)2677 3296 y Fp(\013)2725 3288 y FI(,)e(one)0 3383
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5408
y(has)g(induction)i(for)g(\223free\224,)e(whereas)h(induction)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5409
(requires)f(considerable)h(ef)n(fort)f(in)g(full)f(HO)m(AS.)g(The)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5410
3479 y(w)o(ork)d(by)f(Ambler)g FE(et)f(al)h FI([1])g(on)g(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5411
(Hybrid-system)h(pro)o(vides)g(full)e(HO)m(AS)h(on)g(top)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5412
(Isabelle/HOL.)0 3574 y(F)o(or)26 b(this)g(the)o(y)h(use)f(a)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5413
(de-Bruijn)i(encoding)g(and)f(construct)g(a)f(type)h(corresponding)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5414
(to)e(full)f(HO)m(AS.)0 3670 y(This)j(construction)h(is)e(some)n(what)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5415
(similar)g(to)g(our)g(subset-construction)i(from)f(Sect.)e(3.)g(Ho)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5416
(we)n(v)o(er)m(,)0 3765 y(their)h(construction)i(is)e(done)h(manually)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5417
(and)g(only)g(for)g(one)g(datatype,)g(while)f(we)g(ha)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5418
(automatic)0 3861 y(support)21 b(to)f(do)h(the)f(subset)g(construction)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5419
i(for)e(an)o(y)h(nominal)g(datatype.)125 3960 y(The)16
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5420
b(main)h(dif)n(ference)h(of)f(our)g(w)o(ork)h(with)e(weak)h(HO)m(AS)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5421
(is)g(that)g(we)h(use)f FE(some)g FI(speci\002c)g(functions)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5422
4055 y(to)j(represent)i(lambda-abstractions;)g(in)e(contrast,)h(weak)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5423
(HO)m(AS)g(uses)g(the)g FE(full)h FI(function)h(space.)e(This)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5424
4151 y(causes)h(problems)h(kno)n(wn)g(by)g(the)f(term)g(\223e)o(xotic)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5425
(terms\224\227essentially)e(junk)i(in)f(the)h(model.)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5426
4250 y(Recently)-5 b(,)15 b(Homeier)i([16])g(introduced)h(a)d(quotient)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5427
j(package)f(for)f(HOL4)g(that)g(helps)g(with)g(de\002ning)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5428
4345 y(alpha-equi)n(v)n(alence)22 b(classes)c(\(this)i(package)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5429
(supports)g(quotients)h(by)f(an)o(y)g(equi)n(v)n(alence)h(relation\))f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5430
(and)0 4441 y(with)h(lifting)g(theorems)g(from)h(the)e(\223ra)o(w\224)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5431
(v)o(ersion)g(of)g(the)g(datatype)g(to)g(the)f(quotient.)i(Norrish)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5432
(mak)o(es)0 4536 y(use)h(of)g(this)g(package)h(in)f([23].)h(This)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5433
(package)h(w)o(ould)g(help)g(us)f(with)g(the)g(construction)i(of)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5434
Fs(lam)2693 4544 y Fp(\013)2740 4536 y FI(,)g(b)n(ut)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5435
4632 y(w)o(ould)f(ha)n(v)o(e)g(only)g(little)e(impact)h(on)h(obtaining)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5436
h(the)e(strong)g(induction)i(principles)f(and)f(the)g(recursion)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5437
4727 y(combinator)l(.)h(Ne)n(v)o(ertheless)f(we)f(look)i(forw)o(ard)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5438
(to)e(a)f(port)i(of)f(Homeier')l(s)g(package)h(to)f(Isabelle/HOL.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5439
4823 y(It)g(will)f(simplify)i(our)g(w)o(ork)g(when)f(we)g(consider)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5440
(more)g(complicated)g(binding)h(structures.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5441
0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5442
%%Page: 25 25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5443
TeXDict begin 25 24 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5444
0 71 2881 4 v 2814 17 a FF(25)p 0 TeXcolorgray 125 228
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5445
a FI(A)-7 b(ydemir)19 b FE(et)f(al)h FI([2])g(reported)h(w)o(ork)g(in)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5446
(progress)g(for)h(pro)o(viding)h(nominal)f(reasoning)g(techniques)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5447
324 y(in)f(Coq.)f(Essentially)-5 b(,)18 b(the)o(y)h(deri)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5448
(more)f(or)g(less)f(automatically)i(from)f(a)g(speci\002cation)g(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5449
(a)f(nominal)0 419 y(datatype)24 b(an)f(axiomatisation)g(of)h(nominal)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5450
(concepts)f(in)g(Coq)g(and)g(in)g(case)f(of)h(the)g(lambda-calculus)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5451
515 y(use)i(a)g(Gordon-Melham)k(representation)e(to)e(justify)h(their)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5452
(axiomatisation.)g(Ho)n(we)n(v)o(er)m(,)g(this)f(justi\002-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5453
610 y(cation)c(needs)h(to)f(be)g(done)h(manually)-5 b(,)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5454
b(while)f(with)g(our)h(constructions)g(we)f(pro)o(vide)h(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5455
(justi\002cation)0 706 y(completely)f(automatically)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5456
b(.)19 b(Judging)h(from)f(recent)g(w)o(ork,)g(the)g(authors)g(seem)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5457
(to)h(ha)n(v)o(e)g(\223abandoned\224)0 801 y(this)g(w)o(ork)h(in)f(f)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5458
(a)n(v)n(our)j(of)d(w)o(orking)i(with)e(a)g(locally)g(nameless)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5459
(representation)h(of)g FG(\013)p FI(-equated)g(lambda-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5460
897 y(terms)g([3].)0 1195 y FJ(8)28 b(Conclusion)0 1386
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5461
y FI(The)e(paper)g([4],)g(which)g(sets)e(out)i(some)g(challenges)g(for)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5462
g(automated)h(proof)g(assistants,)c(claims)j(that)0 1481
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5463
y(theorem)21 b(pro)o(ving)h(technologies)g(ha)n(v)o(e)f(almost)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5464
(reached)h(the)f(threshold)i(where)e(the)o(y)g(can)h(be)f(used)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5465
FE(by)0 1577 y(the)27 b(masses)g FI(for)h(formal)g(reasoning)h(about)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5466
(programming)j(languages.)d(W)-6 b(e)27 b(hope)i(to)e(ha)n(v)o(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5467
(pushed)0 1672 y(with)19 b(this)g(paper)h(the)g(boundary)h(of)f(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5468
(state-of-the-art)i(in)e(formal)i(reasoning)f(closer)g(to)f(this)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5469
(thresh-)0 1768 y(old.)h(W)-6 b(e)19 b(sho)n(wed)h(all)f(our)i(results)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5470
e(for)h(the)g(lambda-calculus.)h(But)e(the)h(lambda-calculus)h(is)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5471
(only)h FE(one)0 1863 y FI(e)o(xample.)25 b(The)h(nominal)g(datatype)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5472
(package)g(has)e(no)i(problems)g(with)f(generalising)h(the)f(results)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5473
(re-)0 1959 y(ported)c(here)g(to)f(more)g(complicated)h(term-calculi.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5474
(F)o(or)f(e)o(xample,)g(there)h(is)e(already)i(w)o(ork)g(by)f(Bengt-)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5475
2054 y(son)f(using)h(the)f(nominal)h(datatype)g(package)g(for)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5476
(formalising)g(the)f FG(\031)s FI(-calculus)g([6];)h(T)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5477
b(obin-Hochstadt)0 2150 y(and)21 b(Felleisen)e(used)h(it)g(to)g(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5478
(erify)h(their)f(w)o(ork)h(on)g(T)-6 b(yped)21 b(Scheme)f([30].)125
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5479
2247 y(There)27 b(has)g(also)g(been)h(w)o(ork)g(on)g(e)o(xtending)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5480
(strong)f(induction)h(principles)e(to)h(rule)f(inductions)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5481
2342 y([33,)8 b(34].)28 b(The)f(real)g(challenge)h(has)f(been)g(and)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5482
(still)f(is)h(to)f(generalise)i(all)e(the)h(necessary)g(reasoning)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5483
2438 y(infrastructure)c(to)e(more)h(general)g(binding)h(structures.)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5484
(While)h(there)g(is)e(no)i(problem)h(in)e(the)g(nominal)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5485
2533 y(datatype)h(package)f(with)g(iterated)g(binders,)g(as)g(in)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5486
Fs(Foo)1555 2522 y Fa(h)-10 b(h)1594 2533 y FI(name)1765
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5487
2522 y Fa(i)g(i)o(h)g(h)1844 2533 y FI(name)2015 2522
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5488
y Fa(i)g(i)p 2059 2533 24 4 v 2074 2533 V 2098 2533 a
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5489
FI(,)20 b(and)i(binders)f(of)g(dif)n(ferent)0 2629 y(type,)30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5490
b(as)g(in)g Fs(Bar)503 2618 y Fa(h)-10 b(h)542 2629 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5491
FI(name)713 2618 y Fa(i)g(i)p 757 2629 V 773 2629 V 56
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5492
w(h)g(h)849 2629 y FI(coname)1094 2618 y Fa(i)g(i)p 1138
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5493
2629 V 1154 2629 V 1177 2629 a FI(,)30 b(it)g(is)f(not)i(yet)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5494
(possible)f(to)g(ha)n(v)o(e,)h(for)g(e)o(xample,)g(a)f(\002nite)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5495
2724 y(set)22 b(of)h(binders)h(in)f(a)f(term-constructor)l(.)i(A)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5496
(typical)g(e)o(xample)g(where)h(such)f(a)f(generalisation)i(is)e(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5497
(ery)0 2820 y(helpful)31 b(is)e(the)h(Hindle)o(y-Milner)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5498
(typing-algorithm)i(where)d(one)g(has)g(type-schemes)h(of)f(the)g(form)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5499
0 2915 y FD(8f)p FG(a)122 2927 y Fq(1)159 2915 y FG(;)13
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5500
b(:)g(:)g(:)h(;)f(a)371 2923 y Fp(n)416 2915 y FD(g)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5501
FG(:ty)s FI(.)23 b(Such)i(type-schemes)g(can)f(at)g(the)h(moment)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5502
(only)g(be)g(represented)g(by)g(encoding)0 3011 y(them)h(as)f(an)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5503
(iterated)h(list)e(of)i(single)g(binders.)g(T)-6 b(o)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5504
b(w)o(ork)i(out)f(the)f(details)g(for)h(the)g(generalisation)g(of)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5505
3106 y(binding)32 b(structures)e(and)h(to)f(implement)h(them)g(is)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5506
(future)i(w)o(ork.)g(Future)g(w)o(ork)g(also)f(includes)g(the)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5507
3202 y(generalisation)23 b(of)e(our)i(recursion)f(combinator)h(to)f(w)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5508
(ork)g(with)g(v)n(arying)h(parameters.)e(This)h(has)f(been)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5509
3297 y(treated)f(in)g([23,)8 b(27],)22 b(b)n(ut)f(it)e(seems)h(dif)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5510
(\002cult)g(to)g(adapt)h(their)f(results)g(to)g(our)h(setting.)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5511
3448 y FJ(Ackno)o(wledgements:)27 b FI(I)f(am)h(v)o(ery)g(grateful)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5512
(to)f(Andy)h(Pitts)d(and)i(Michael)g(Norrish)h(for)f(the)g(man)o(y)0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5513
3543 y(discussions)h(with)h(them)f(on)h(the)f(subject)h(of)g(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5514
(paper)l(.)g(Stef)o(an)h(Ber)o(ghofer)g(and)g(Markus)g(W)-6
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5515
b(enzel)0 3639 y(ha)n(v)o(e)31 b(been)g(helpful)g FE(be)n(yond)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5516
(measur)m(e)e FI(with)g(implementing)i(the)e(w)o(ork)i(reported)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5517
(here.)g(Christine)0 3734 y(T)-6 b(asson)19 b(helped)i(with)f(the)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5518
(early)i(parts)e(of)h(the)g(w)o(ork.)g(Julien)g(Narboux)i(pro)o(vided)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5519
(helpful)g(comments.)0 4033 y FJ(Refer)o(ences)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5520
33 4205 a FF(1.)p 0 TeXcolorgray 38 w(S.)d(J.)f(Ambler)m(,)i(R.)f(L.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5521
(Crole,)i(and)g(A.)e(Momigliano.)31 b(Combining)19 b(Higher)h(Order)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5522
(Abstract)g(Syntax)h(with)f(Tactical)121 4281 y(Theorem)e(Pro)o(ving)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5523
(and)f(\(Co\)Induction.)24 b(In)16 b Ff(Pr)m(oc.)g(of)g(the)g(15th)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5524
(International)i(Confer)n(ence)f(on)e(Theor)n(em)h(Pr)m(o)o(ving)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5525
4358 y(in)h(Higher)f(Or)n(der)g(Lo)o(gics)h(\(TPHOLs\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5526
FF(,)e(v)o(olume)h(2410)h(of)f Ff(LNCS)p FF(,)f(pages)i(13\22630,)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5527
(2002.)p 0 TeXcolorgray 33 4437 a(2.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5528
38 w(B.)f(A)-6 b(ydemir)m(,)18 b(A.)e(Bohannon,)j(and)e(S.)g(W)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5529
b(eihrich.)25 b(Nominal)19 b(Reasoning)g(T)-5 b(echniques)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5530
b(in)e(Coq)h(\(w)o(ork)g(in)f(progress\).)121 4514 y(In)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5531
Ff(Pr)m(oc.)e(of)i(the)g(International)j(W)-6 b(orkshop)17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5532
b(on)f(Lo)o(gical)i(F)l(r)o(ame)o(works)f(and)g(Meta-Langua)o(g)o(es:)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5533
(Theory)d(and)g(Pr)o(ac-)121 4590 y(tice)i(\(LFMTP\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5534
FF(,)d(ENTCS,)f(pages)j(60\22668,)f(2006.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5535
33 4669 a(3.)p 0 TeXcolorgray 38 w(B.)g(A)-6 b(ydemir)m(,)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5536
b(A.)e(Char)o(gu)t(\264)-26 b(eraud,)19 b(B.)e(C.)f(Pierce,)i(R.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5537
(Pollack,)h(and)g(S.)e(W)-5 b(eirich.)26 b(Engineering)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5538
b(Formal)e(Metatheory)l(.)121 4746 y(In)i Ff(Pr)m(oc.)g(of)g(the)h(35r)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5539
n(d)e(Symposium)j(on)e(Principles)h(of)g(Pr)m(o)o(gr)o(amming)f(Langua)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5540
o(g)o(es)i(\(POPL\))p FF(,)d(pages)i(3\22615.)f(A)m(CM,)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5541
4823 y(2008.)p 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5542
%%Page: 26 26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5543
TeXDict begin 26 25 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5544
0 71 2881 4 v 0 17 a FF(26)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5545
33 228 a(4.)p 0 TeXcolorgray 38 w(B.)17 b(E.)e(A)-6 b(ydemir)m(,)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5546
b(A.)e(Bohannon,)i(M.)e(F)o(airbairn,)j(J.)d(N.)g(F)o(oster)m(,)h(B.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5547
(C.)f(Pierce,)i(P)-7 b(.)16 b(Se)n(well,)i(D.)e(Vytiniotis,)j(G.)d(W)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5548
b(ash-)121 305 y(b)o(urn,)17 b(S.)g(W)-5 b(eirich,)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5549
b(and)g(S.)f(Zdance)n(wic.)27 b(Mechanized)21 b(Metatheory)f(for)e(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5550
g(Masses:)g(The)f(Popl)q(Mark)h(Challenge.)121 382 y(In)i
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5551
Ff(Pr)m(oc.)f(of)h(the)h(18th)f(International)j(Confer)n(ence)f(on)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5552
(Theor)n(em)g(Pr)m(o)o(ving)h(in)f(Higher)o(-Or)n(der)g(Lo)o(gics)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5553
(\(TPHOLs\))p FF(,)121 459 y(v)o(olume)d(3603)f(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5554
Ff(LNCS)p FF(,)g(pages)h(50\22665,)f(2005.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5555
33 535 a(5.)p 0 TeXcolorgray 38 w(H.)e(Barendre)o(gt.)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5556
b Ff(The)16 b(Lambda)g(Calculus:)i(Its)e(Syntax)h(and)f(Semantics)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5557
FF(,)h(v)o(olume)g(103)f(of)f Ff(Studies)j(in)e(Lo)o(gic)h(and)f(the)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5558
121 612 y(F)-7 b(oundations)19 b(of)e(Mathematics)p FF(.)27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5559
b(North-Holland,)19 b(1981.)p 0 TeXcolorgray 33 688 a(6.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5560
0 TeXcolorgray 38 w(J.)25 b(Bengtson)h(and)g(J.)e(P)o(arro)n(w)l(.)51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5561
b(F)o(ormalising)26 b(the)g(pi-Calculus)i(using)e(Nominal)g(Logic.)51
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5562
b(In)25 b Ff(Pr)m(oc.)f(of)i(the)g(10th)121 765 y(International)21
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5563
b(Confer)n(ence)f(on)e(F)-7 b(oundations)19 b(of)f(Softwar)n(e)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5564
(Science)h(and)e(Computation)i(Structur)n(es)f(\(FOSSA)n(CS\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5565
FF(,)121 842 y(v)o(olume)f(4423)f(of)g Ff(LNCS)p FF(,)g(pages)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5566
(63\22677,)f(2007.)p 0 TeXcolorgray 33 918 a(7.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5567
38 w(K.)d(Crary)l(.)k(Logical)e(Relations)h(and)e(a)f(Case)h(Study)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5568
(in)f(Equi)n(v)n(alence)k(Checking.)i(In)14 b(B.)g(C.)g(Pierce,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5569
(editor)m(,)h Ff(Advanced)121 995 y(T)-6 b(opics)18 b(in)f(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5570
b(ypes)18 b(and)f(Pr)m(o)o(gr)o(amming)h(Langua)o(g)o(es)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5571
FF(,)g(pages)g(223\226244.)g(MIT)e(Press,)g(2005.)p 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5572
TeXcolorgray 33 1071 a(8.)p 0 TeXcolorgray 38 w(J.)h(Despe)o(yroux,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5573
(A.)f(Felty)l(,)h(and)g(A.)e(Hirscho)n(witz.)28 b(Higher)o(-Order)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5574
b(Abstract)g(Syntax)f(in)g(Coq.)25 b(In)18 b Ff(Pr)m(oc.)e(of)i(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5575
(2nd)121 1148 y(International)28 b(Confer)n(ence)e(on)e(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5576
b(yped)25 b(Lambda)g(Calculi)h(and)f(Applications)h(\(TLCA\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5577
FF(,)d(v)o(olume)i(902)f(of)h Ff(LNCS)p FF(,)121 1225
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5578
y(pages)18 b(124\226138,)g(1995.)p 0 TeXcolorgray 33
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5579
1301 a(9.)p 0 TeXcolorgray 38 w(G.)d(Do)n(wek,)i(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5580
b(.)14 b(Hardin,)j(and)f(C.)g(Kirchner)l(.)23 b(Higher)o(-Order)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5581
b(Uni\002cation)g(via)f(Explicit)h(Substitutions.)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5582
b Ff(Information)121 1378 y(and)18 b(Computation)p FF(,)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5583
(157:183\226235,)g(2000.)p 0 TeXcolorgray 0 1454 a(10.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5584
0 TeXcolorgray 38 w(M.)g(J.)g(Gabbay)l(.)34 b Ff(A)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5585
b(Theory)i(of)f(Inductive)i(De\002nitions)g(With)f FA(\013)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5586
Ff(-Equivalence)p FF(.)37 b(PhD)19 b(thesis,)h(Uni)n(v)o(ersity)j(of)c
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5587
(Cam-)121 1531 y(bridge,)f(2001.)p 0 TeXcolorgray 0 1607
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5588
a(11.)p 0 TeXcolorgray 38 w(M.)23 b(J.)e(Gabbay)j(and)g(A.)e(M.)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5589
(Pitts.)43 b(A)23 b(Ne)n(w)g(Approach)h(to)f(Abstract)i(Syntax)f(with)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5590
(Variable)i(Binding.)45 b Ff(F)-7 b(ormal)121 1684 y(Aspects)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5591
b(of)f(Computing)p FF(,)i(13:341\226363,)f(2001.)p 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5592
TeXcolorgray 0 1760 a(12.)p 0 TeXcolorgray 38 w(J.-Y)-9
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5593
b(.)19 b(Girard,)i(Y)-9 b(.)19 b(Lafont,)h(and)g(P)-7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5594
b(.)18 b(T)-5 b(aylor)l(.)34 b Ff(Pr)m(oofs)19 b(and)h(Types)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5595
FF(,)g(v)o(olume)g(7)g(of)f Ff(Cambridg)o(e)j(T)l(r)o(acts)e(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5596
(Theor)n(etical)121 1837 y(Computer)f(Science)p FF(.)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5597
b(Cambridge)19 b(Uni)n(v)o(ersity)g(Press,)e(1989.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5598
0 TeXcolorgray 0 1913 a(13.)p 0 TeXcolorgray 38 w(A.)h(D.)g(Gordon.)29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5599
b(A)18 b(Mechanisation)k(of)c(Name-carrying)k(Syntax)d(up)g(to)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5600
(Alpha-Con)m(v)o(ersion.)33 b(In)18 b Ff(Pr)m(oc.)g(of)h(the)g(6th)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5601
1990 y(International)25 b(W)-6 b(orkshop)22 b(on)f(Higher)o(-or)n(der)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5602
(Lo)o(gic)h(Theor)n(em)e(Pr)m(o)o(ving)i(and)e(its)h(Applications)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5603
(\(HUG\))p FF(,)e(v)o(olume)121 2067 y(780)d(of)f Ff(LNCS)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5604
FF(,)g(pages)g(414\226426,)h(1994.)p 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5605
2143 a(14.)p 0 TeXcolorgray 38 w(A.)23 b(D.)g(Gordon)h(and)g(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5606
b(.)22 b(Melham.)46 b(Fi)n(v)o(e)24 b(Axioms)g(of)f(Alpha)h(Con)m(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5607
(ersion.)47 b(In)24 b Ff(Pr)m(oc.)e(of)i(the)g(9th)g(International)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5608
2220 y(Confer)n(ence)19 b(on)e(Theor)n(em)g(Pr)m(o)o(ving)g(in)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5609
(Higher)h(Or)n(der)e(Lo)o(gics)h(\(TPHOLs\))p FF(,)e(v)o(olume)j(1125)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5610
(of)f Ff(LNCS)p FF(,)h(pages)g(173\226)121 2297 y(190,)g(1996.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5611
0 TeXcolorgray 0 2373 a(15.)p 0 TeXcolorgray 38 w(R.)h(Harper)i(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5612
(F)-5 b(.)17 b(Pfenning.)30 b(On)19 b(Equi)n(v)n(alence)j(and)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5613
(Canonical)i(Forms)d(in)h(the)g(LF)f(Type)g(Theory)l(.)29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5614
b Ff(A)n(CM)18 b(T)l(r)o(ans-)121 2450 y(actions)h(on)e(Computational)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5615
(Lo)o(gic)p FF(,)e(6\(1\):61\226101,)h(2005.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5616
0 2526 a(16.)p 0 TeXcolorgray 38 w(P)-7 b(.)18 b(Homeier)l(.)30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5617
b(A)18 b(Design)h(Structure)h(for)f(Higher)g(Order)g(Quotients.)31
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5618
b(In)18 b Ff(Pr)m(oc.)g(of)h(the)g(18th)g(International)j(Confer)o(-)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5619
121 2603 y(ence)h(on)e(Theor)n(em)h(Pr)m(o)o(ving)g(in)g(Higher)g(Or)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5620
(der)e(Lo)o(gics)j(\(TPHOLs\))p FF(,)d(v)o(olume)i(3603)f(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5621
Ff(LNCS)p FF(,)h(pages)g(130\226146,)121 2680 y(2005.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5622
0 TeXcolorgray 0 2756 a(17.)p 0 TeXcolorgray 38 w(S.)h(C.)g(Kleene.)47
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5623
b(Disjunction)26 b(and)e(Existence)h(Under)f(Implication)j(in)d
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5624
(Elementary)h(Intuitionistic)j(Formalisms.)121 2833 y
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5625
Ff(J)n(ournal)19 b(of)e(Symbolic)i(Lo)o(gic)p FF(,)f(27\(1\):11\22618,)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5626
h(1962.)p 0 TeXcolorgray 0 2909 a(18.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5627
38 w(X.)14 b(Lero)o(y)l(.)j Ff(Polymorphic)f(Typing)f(of)f(an)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5628
(Algorithmic)i(Langua)o(g)o(e)p FF(.)j(PhD)14 b(thesis,)g(Uni)n(v)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5629
(ersity)j(P)o(aris)d(7,)g(1992.)j(INRIA)121 2986 y(Research)i(Report,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5630
(No)f(1778.)p 0 TeXcolorgray 0 3062 a(19.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5631
38 w(T)-5 b(.)24 b(Melham.)50 b(Automating)26 b(Recursi)n(v)o(e)i(Type)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5632
c(De\002nitions)j(in)e(Higher)h(Order)f(Logic.)49 b(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5633
b(echnical)28 b(Report)e(146,)121 3139 y(Computer)19
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5634
b(Laboratory)l(,)f(Uni)n(v)o(ersity)h(of)e(Cambridge,)h(September)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5635
(1988.)p 0 TeXcolorgray 0 3215 a(20.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5636
38 w(T)-5 b(.)26 b(Melham.)56 b(Automating)29 b(Recursi)n(v)o(e)h(Type)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5637
c(De\002nitions)j(in)e(Higher)h(Order)f(Logic.)56 b(In)27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5638
b Ff(Curr)n(ent)g(T)l(r)n(ends)g(in)121 3292 y(Har)n(dwar)n(e)17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5639
b(V)-7 b(eri\002cation)19 b(and)e(A)o(utomated)h(Theor)n(em)g(Pr)m(o)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5640
(ving)p FF(,)f(pages)h(341\226386.)g(Springer)o(-V)-7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5641
b(erlag,)19 b(1989.)p 0 TeXcolorgray 0 3368 a(21.)p 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5642
TeXcolorgray 38 w(T)-5 b(.)22 b(Nipk)o(o)n(w)l(,)g(L.)f(C.)h(P)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5643
(aulson,)h(and)f(M.)g(W)-5 b(enzel.)42 b Ff(Isabelle)24
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5644
b(HOL:)d(A)h(Pr)m(oof)g(Assistant)h(for)f(Higher)o(-Or)n(der)h(Lo)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5645
(gic)p FF(,)121 3445 y(v)o(olume)18 b(2283)f(of)g Ff(LNCS)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5646
FF(.)25 b(Springer)o(-V)-7 b(erlag,)19 b(2002.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5647
0 3521 a(22.)p 0 TeXcolorgray 38 w(M.)h(Norrish.)37 b(Recursi)n(v)o(e)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5648
23 b(Function)f(De\002nition)h(for)e(Types)f(with)i(Binders.)37
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5649
b(In)20 b Ff(Pr)m(oc.)g(of)h(the)h(17th)f(International)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5650
3598 y(Confer)n(ence)c(Theor)n(em)d(Pr)m(o)o(ving)h(in)f(Higher)h(Or)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5651
(der)e(Lo)o(gics)j(\(TPHOLs\))p FF(,)c(v)o(olume)j(3223)f(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5652
Ff(LNCS)p FF(,)g(pages)h(241\226256,)121 3675 y(2004.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5653
0 TeXcolorgray 0 3751 a(23.)p 0 TeXcolorgray 38 w(M.)j(Norrish.)29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5654
b(Mechanising)21 b FA(\025)p FF(-Calculus)g(Using)e(a)f(Classical)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5655
(First)e(Order)g(Theory)f(of)h(Terms)e(with)j(Permutation.)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5656
3828 y Ff(Higher)e(Or)n(der)f(and)g(Symbolic)i(Computation)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5657
FF(,)g(19:169\226195,)g(2006.)p 0 TeXcolorgray 0 3904
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5658
a(24.)p 0 TeXcolorgray 38 w(L.)h(P)o(aulson.)39 b(De\002ning)22
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5659
b(Functions)h(on)e(Equi)n(v)n(alence)k(Classes.)38 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5660
Ff(A)n(CM)21 b(T)l(r)o(ansactions)i(on)e(Computational)k(Lo)o(gic)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5661
FF(,)121 3981 y(7\(4\),)17 b(2006.)p 0 TeXcolorgray 0
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5662
4057 a(25.)p 0 TeXcolorgray 38 w(F)-5 b(.)14 b(Pfenning)i(and)f(C.)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5663
(Elliott.)21 b(Higher)o(-Order)16 b(Abstract)g(Syntax.)k(In)15
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5664
b Ff(Pr)m(oc.)f(of)h(the)g(10th)h(Confer)n(ence)g(on)f(Confer)n(ence)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5665
121 4134 y(on)i(Pr)m(o)o(gr)o(amming)h(Langua)o(g)o(e)h(Design)f(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5666
(Implementation)k(\(PLDI\))p FF(,)16 b(pages)h(199\226208.)h(A)m(CM)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5667
(Press,)g(1989.)p 0 TeXcolorgray 0 4210 a(26.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5668
38 w(A.)d(M.)f(Pitts.)19 b(Nominal)d(Logic,)e(A)g(First)h(Order)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5669
(Theory)f(of)h(Names)f(and)h(Binding.)20 b Ff(Information)c(and)e
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5670
(Computation)p FF(,)121 4287 y(186:165\226193,)19 b(2003.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5671
0 TeXcolorgray 0 4363 a(27.)p 0 TeXcolorgray 38 w(A.)e(M.)f(Pitts.)25
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5672
b(Alpha-Structural)20 b(Recursion)f(and)f(Induction.)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5673
b Ff(J)n(ournal)19 b(of)e(the)h(A)n(CM)p FF(,)e(53:459\226506,)j(2006.)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5674
p 0 TeXcolorgray 0 4440 a(28.)p 0 TeXcolorgray 38 w(K.)h(Slind.)36
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5675
b(W)-5 b(ellfounded)23 b(Schematic)g(De\002nitions.)37
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5676
b(In)20 b Ff(Pr)m(oc.)g(of)h(the)g(17th)g(International)j(Confer)n
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5677
(ence)f(on)e(A)o(uto-)121 4516 y(mated)d(Deduction)i(\(CADE\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5678
FF(,)c(v)o(olume)h(1831)g(of)g Ff(LNCS)p FF(,)g(pages)h(45\22663,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5679
(2000.)p 0 TeXcolorgray 0 4593 a(29.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5680
38 w(M.)d(T)-5 b(akahashi.)19 b(Parallel)e(Reductions)f(in)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5681
(Lambda-Calculus.)20 b Ff(Information)d(and)d(Computation)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5682
FF(,)i(118\(1\):120\226127,)121 4670 y(1995.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5683
0 4746 a(30.)p 0 TeXcolorgray 38 w(S.)f(T)-5 b(obin-Hochstadt)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5684
b(and)f(M.)e(Felleisen.)23 b(The)16 b(Design)h(and)f(Implementation)j
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5685
(of)d(Typed)g(Scheme.)22 b(In)16 b Ff(Pr)m(oc.)f(of)h(the)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5686
4823 y(35r)n(d)h(Symposium)h(on)f(Principles)i(of)e(Pr)m(o)o(gr)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5687
(amming)h(Langua)o(g)o(es)h(\(POPL\))p FF(,)c(pages)j(395\226406.)g(A)m
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5688
(CM,)e(2008.)p 0 TeXcolorgray 0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5689
%%Page: 27 27
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5690
TeXDict begin 27 26 bop 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5691
0 71 2881 4 v 2814 17 a FF(27)p 0 TeXcolorgray 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5692
0 228 a(31.)p 0 TeXcolorgray 38 w(C.)17 b(Urban.)24 b
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5693
Ff(Classical)19 b(Lo)o(gic)g(and)e(Computation)p FF(.)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5694
b(PhD)17 b(thesis,)g(Cambridge)i(Uni)n(v)o(ersity)l(,)g(October)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5695
(2000.)p 0 TeXcolorgray 0 305 a(32.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5696
38 w(C.)30 b(Urban)g(and)h(S.)e(Ber)o(ghofer)l(.)67 b(A)30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5697
b(Recursion)i(Combinator)f(for)f(Nominal)h(Datatypes)i(Implemented)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5698
(in)e(Is-)121 382 y(abelle/HOL.)59 b(In)27 b Ff(Pr)m(oc.)g(of)h(the)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5699
(3r)n(d)e(International)31 b(J)n(oint)e(Confer)n(ence)g(on)e(A)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5700
(utomated)i(Reasoning)f(\(IJCAR\))p FF(,)121 459 y(v)o(olume)18
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5701
b(4130)f(of)g Ff(LN)n(AI)p FF(,)g(pages)g(498\226512,)h(2006.)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5702
0 TeXcolorgray 0 536 a(33.)p 0 TeXcolorgray 38 w(C.)26
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5703
b(Urban,)g(S.)f(Ber)o(ghofer)m(,)j(and)e(M.)f(Norrish.)54
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5704
b(Barendre)o(gt')l(s)29 b(Variable)f(Con)m(v)o(ention)h(in)d(Rule)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5705
(Inductions.)55 b(In)121 612 y Ff(Pr)m(oc.)23 b(of)h(the)h(21th)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5706
(International)j(Confer)n(ence)f(on)e(A)o(utomated)h(Deduction)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5707
(\(CADE\))p FF(,)c(v)o(olume)i(4603)h(of)e Ff(LN)n(AI)p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5708
FF(,)121 689 y(pages)18 b(35\22650,)g(2007.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5709
0 766 a(34.)p 0 TeXcolorgray 38 w(C.)j(Urban)g(and)h(M.)e(Norrish.)37
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5710
b(A)20 b(F)o(ormal)i(T)n(reatment)g(of)f(the)g(Barendre)o(gt)j(V)-7
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5711
b(ariable)23 b(Con)m(v)o(ention)g(in)f(Rule)g(Induc-)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5712
843 y(tions.)g(In)16 b Ff(Pr)m(oc.)e(of)i(the)h(3r)n(d)e(International)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5713
j(A)n(CM)e(W)-6 b(orkshop)16 b(on)g(Mec)o(hanized)i(Reasoning)f(about)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5714
(Langua)o(g)o(es)h(with)121 920 y(V)-7 b(ariable)18 b(Binding)g(and)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5715
(Names)p FF(,)g(pages)h(25\22632,)f(2005.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5716
0 996 a(35.)p 0 TeXcolorgray 38 w(C.)i(Urban,)h(A.)f(M.)g(Pitts,)h(and)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5717
g(M.)f(J.)f(Gabbay)l(.)33 b(Nominal)21 b(Uni\002cation.)34
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5718
b Ff(Theor)n(etical)22 b(Computer)f(Science)p FF(,)h(323\(1-)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5719
1073 y(2\):473\226497,)d(2004.)p 0 TeXcolorgray 0 1150
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5720
a(36.)p 0 TeXcolorgray 38 w(C.)26 b(Urban)g(and)g(C.)g(T)-5
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5721
b(asson.)51 b(Nominal)27 b(Techniques)g(in)f(Isabelle/HOL.)54
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5722
b(In)26 b Ff(Pr)m(oc.)f(of)h(the)h(20th)f(International)121
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5723
1227 y(Confer)n(ence)20 b(on)d(A)o(utomated)h(Deduction)h(\(CADE\))p
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5724
FF(,)d(v)o(olume)i(3632)f(of)g Ff(LNCS)p FF(,)g(pages)h(38\22653,)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5725
(2005.)p 0 TeXcolorgray 0 1304 a(37.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5726
38 w(M.)g(W)-5 b(enzel.)25 b Ff(Using)17 b(Axiomatic)i(Type)f(Classes)f
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5727
(in)g(Isabelle)p FF(.)26 b(Manual)19 b(in)e(the)h(Isabelle)h(distrib)o
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5728
(ution.)p 0 TeXcolorgray 0 1380 a(38.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5729
38 w(M.)d(W)-5 b(enzel.)24 b(Structured)19 b(Induction)g(Proofs)d(in)h
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5730
(Isabelle/Isar)l(.)26 b(In)17 b Ff(Pr)m(oc.)f(of)h(the)g(5th)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5731
(International)j(Confer)n(ence)e(on)121 1457 y(Mathematical)j(Knowledg)
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5732
o(e)f(Mana)o(g)o(ement)g(\(MKM\))p FF(,)d(v)o(olume)h(4108)f(of)g
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5733
Ff(LN)n(AI)p FF(,)f(pages)i(17\22630,)g(2006.)p 0 TeXcolorgray
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5734
0 TeXcolorgray eop end
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5735
%%Trailer
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5736
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5737
userdict /end-hook known{end-hook}if
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
  5738
%%EOF