%!PS-Adobe-2.0 %%Creator: dvips 5.74 (MiKTeX 1.08) Copyright 1997 Radical Eye Software (www.radicaleye.com) %%Title: lf.dvi %%CreationDate: Sat Nov 01 18:24:36 1997 %%Pages: 72 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips lf %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 1997.11.01:1824 %%BeginProcSet: tex.pro %! /TeXDict 300 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} forall round exch round exch]setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ /nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ /sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict /eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{dup length product length le{dup length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false} ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot} imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{ -3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w} B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: special.pro %! TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale true def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 600 600 (D:\Necula\Documents\Latex\lf/lf.dvi) @start %DVIPSBitmapFont: Fa cmtt8 8 3 /Fa 3 118 df<00007F000001FFC00007FFE0000FFFE0001FFFE0003FCFE0003F0FE000 3E07C0003E0000003E0000003E0000003E00007FFFFF80FFFFFFC0FFFFFFC0FFFFFFC07F FFFF80003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E000000 3E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E000000 3E0000003E00003FFFFE007FFFFF007FFFFF007FFFFF003FFFFE001B297EA823>102 D<7FFE0000FFFF0000FFFF0000FFFF00007FFF0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 00001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F00 007FFFFFC0FFFFFFE0FFFFFFE0FFFFFFE07FFFFFC01B297CA823>108 D117 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmmi9 9 1 /Fb 1 121 df<001F801F80007FE07FE000E0F0E07001C0F9C0F803807D83F807007F83 F80E007F03F80C007F03F01C007E03F018007E01C01800FE00003800FC00001000FC0000 0000FC00000001FC00000001F800000001F800000001F800000003F800000003F8000000 03F000000003F000400007F000E00007F000C01C07E000C07E07E001C07E0FE00180FE0F E00380FE1FE00700FE1BE00E00F839F01C007070F878003FE07FE0000F801F800025227E A02C>120 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmr6 6 2 /Fc 2 51 df<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217A A01E>49 D<01FC0007FF801C0FC03003E06001F06000F8F800F8FC00FCFC00FCFC007C78 007C3000FC0000FC0000F80000F80001F00003E00003C0000780000F00001E0000380000 700000E00001C00C03800C0600180C00181800183FFFF87FFFF8FFFFF0FFFFF016217CA0 1E>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd lasy10 10.95 1 /Fd 1 51 df<7FFFFFFFFFFFE0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0F000 00000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F00000 000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F0000000 0000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F000000000 00F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000 F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0 F00000000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F0 0000000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F000 00000000F0F00000000000F0F00000000000F0F00000000000F0F00000000000F0F00000 000000F0F00000000000F0F00000000000F0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFF FFFFF07FFFFFFFFFFFE0343478B844>50 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmti8 8 3 /Fe 3 112 df<001FFFFFFC00001FFFFFFF800000FE000FC00000FE0003E00000FC0001 F00000FC0000F80001FC00007C0001FC00003C0001F800003E0001F800001E0003F80000 1F0003F800001F0003F000001F0003F000001F0007F000001F0007F000001F0007E00000 1F0007E000001F000FE000001F000FE000001F000FC000003F000FC000003F001FC00000 3F001FC000003E001F8000007E001F8000007E003F8000007C003F800000FC003F000000 FC003F000000F8007F000001F0007F000001F0007E000003E0007E000003E000FE000007 C000FE00000F8000FC00001F0000FC00003E0001FC00007C0001FC0000F80001F80001F0 0001F80007C00003F8003F0000FFFFFFFC0000FFFFFFE00000302D7BAC36>68 D<07801FC007F0001FE07FF01FFC003DF1E0F8783E0038F3C078F01E0078FF007DC01F00 70FE007F801F0070FE007F801F00F1FC007F001F00E1F8007E001F00E1F8007E001F00E1 F0007C001F00C3F000FC003F0003F000FC003E0003E000F8003E0003E000F8003E0007E0 01F8007E0007E001F8007C0007C001F0007C0007C001F000FC000FC003F000F8300FC003 F000F8700F8003E001F8700F8003E001F0701F8007E001F0F01F8007E003F0E01F0007C0 03E0E01F0007C003E1C03F000FC001E1C03F000FC001E3803E000F8000FF001C00070000 3C00341F7A9D3A>109 D<0003F800000FFE00003E0F8000FC07C001F003C003E003E007 E003E00FC001F00F8001F01F8001F03F0001F03F0003F07F0003F07E0003F07E0003F07E 0007F0FE0007E0FC0007E0FC0007E0FC000FC0FC000FC0FC001F80FC001F807C003F007C 003E007C007C003E00F8001E01F0000F07C00007FF000001FC00001C1F799D24>111 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmex10 10.95 2 /Ff 2 27 df12 D<0000000000780000000001F80000000007F8000000001FF8000000007FE000000000FF 8000000003FF0000000007FC000000000FF8000000001FF0000000003FE0000000007FC0 00000000FF8000000000FF0000000001FE0000000003FE0000000003FC0000000007FC00 00000007F8000000000FF8000000000FF0000000000FF0000000000FF0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000003FE0000000003FC0000000003FC0000000007FC000 0000007F80000000007F8000000000FF0000000000FF0000000001FE0000000003FE0000 000003FC0000000007F8000000000FF0000000001FE0000000003FC0000000007F800000 0000FF0000000001FE0000000007F8000000000FF0000000003FC000000000FF00000000 00FC0000000000FC0000000000FF00000000003FC0000000000FF00000000007F8000000 0001FE0000000000FF00000000007F80000000003FC0000000001FE0000000000FF00000 000007F80000000003FC0000000003FE0000000001FE0000000000FF0000000000FF0000 0000007F80000000007F80000000007FC0000000003FC0000000003FC0000000003FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000001FE0000000001FE0000000001FE000 0000001FE0000000001FE0000000001FE0000000000FF0000000000FF0000000000FF000 0000000FF80000000007F80000000007FC0000000003FC0000000003FE0000000001FE00 00000000FF0000000000FF80000000007FC0000000003FE0000000001FF0000000000FF8 0000000007FC0000000003FF0000000000FF80000000007FE0000000001FF80000000007 F80000000001F80000000000782DDA758344>26 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmmi12 12 4 /Fg 4 78 df<000000000000300000000000000000700000000000000000F00000000000 000000F00000000000000001F00000000000000003F00000000000000003F00000000000 000007F80000000000000007F8000000000000000FF8000000000000001FF80000000000 00001FF80000000000000037F80000000000000037F80000000000000067F80000000000 0000E7F800000000000000C7F80000000000000187FC0000000000000187FC0000000000 000307FC0000000000000703FC0000000000000603FC0000000000000C03FC0000000000 000C03FC0000000000001803FC0000000000003803FC0000000000003003FC0000000000 006003FE0000000000006003FE000000000000C003FE000000000001C001FE0000000000 018001FE0000000000030001FE0000000000030001FE0000000000060001FE0000000000 0E0001FE00000000000C0001FE0000000000180001FE0000000000180001FF0000000000 300001FF0000000000700000FF0000000000600000FF0000000000C00000FF0000000000 C00000FF0000000001800000FF0000000003FFFFFFFF0000000003FFFFFFFF0000000007 FFFFFFFF0000000006000000FF800000000C000000FF800000001C0000007F8000000018 0000007F80000000300000007F80000000300000007F80000000600000007F80000000E0 0000007F80000000C00000007F80000001800000007F80000001800000007FC000000300 0000007FC0000007000000003FC0000006000000003FC000000E000000003FC000001C00 0000003FC000003C000000003FC000007C000000003FC00000FE000000007FE00007FF00 000001FFE0007FFFF000007FFFFFC0FFFFF000007FFFFFC0FFFFE000007FFFFFC042477D C649>65 D<0000FFFFFFFFFF80000000FFFFFFFFFFF0000000FFFFFFFFFFFC00000000FF C00003FF000000007F800000FF80000000FF8000003FC0000000FF8000003FE0000000FF 0000001FE0000000FF0000000FF0000000FF0000000FF0000001FF0000000FF8000001FE 00000007F8000001FE00000007F8000001FE00000007F8000003FE00000007F8000003FC 00000007F8000003FC0000000FF8000003FC0000000FF8000007FC0000000FF0000007F8 0000001FF0000007F80000001FE0000007F80000003FE000000FF80000003FC000000FF0 0000007F8000000FF0000000FF0000000FF0000001FE0000001FF0000003FC0000001FE0 000007F80000001FE000001FF00000001FE000003FC00000003FE00001FF000000003FC0 001FFC000000003FFFFFFFF0000000003FFFFFFFFE000000007FC000007F800000007F80 00001FC00000007F8000000FF00000007F80000007F8000000FF80000003FC000000FF00 000003FC000000FF00000001FE000000FF00000001FE000001FF00000001FF000001FE00 000001FF000001FE00000001FF000001FE00000001FF000003FE00000001FF000003FC00 000001FF000003FC00000001FF000003FC00000001FF000007FC00000001FE000007F800 000003FE000007F800000003FE000007F800000007FC00000FF800000007FC00000FF000 00000FF800000FF00000001FF000000FF00000001FF000001FF00000003FE000001FE000 00007FC000001FE0000001FF8000003FE0000003FE0000003FE000000FFC0000003FC000 003FF8000000FFC00001FFE00000FFFFFFFFFFFF800000FFFFFFFFFFFC000000FFFFFFFF FFC000000045447CC34A>I<0000000001FF800018000000003FFFF0003800000001FFFF FC003800000007FF007E00780000001FF0000F80F00000007F800003C1F0000001FE0000 01C3F0000003FC000000E7F000000FF00000007FE000001FE00000003FE000003FC00000 003FE00000FF000000001FE00001FE000000001FC00003FC000000000FC00007F8000000 000FC0000FF8000000000FC0000FF0000000000F80001FE0000000000780003FC0000000 000780007FC000000000078000FF8000000000070000FF0000000000070001FF00000000 00070003FE0000000000070003FE0000000000060007FC0000000000060007FC00000000 0006000FF8000000000006000FF8000000000000001FF8000000000000001FF000000000 0000001FF0000000000000003FF0000000000000003FE0000000000000003FE000000000 0000003FE0000000000000007FE0000000000000007FC0000000000000007FC000000000 0000007FC0000000000000007FC000000000000000FF8000000000000000FF8000000000 000000FF8000000000000000FF8000000000000000FF800000000000C000FF8000000000 00C000FF800000000001C000FF80000000000180007F80000000000180007F8000000000 0380007F80000000000300007F80000000000700007F80000000000600003FC000000000 0E00003FC0000000001C00003FC0000000001800001FC0000000003800001FE000000000 7000000FE000000000E000000FF000000001C0000007F80000000380000003F800000007 00000001FC0000000E00000000FE0000003C000000007F00000078000000003FC00001E0 000000001FF0000FC00000000007FE007F000000000001FFFFFC0000000000003FFFE000 000000000007FF000000000045487CC546>I<0000FFFFC00000000003FFFE0000FFFFC0 0000000007FFFE0000FFFFC0000000000FFFFE000000FFC0000000000FFE000000006FE0 000000001BF800000000EFE0000000001FF800000000EFE00000000037F800000000CFE0 0000000067F000000000CFE00000000067F000000000CFE000000000CFF000000001CFE0 000000018FF0000000018FE0000000018FE00000000187F0000000030FE00000000187F0 000000031FE00000000387F0000000061FE00000000307F00000000C1FC00000000307F0 0000000C1FC00000000307F0000000183FC00000000707F0000000303FC00000000607F0 000000303F800000000603F8000000603F800000000603F8000000607F800000000E03F8 000000C07F800000000C03F8000001807F000000000C03F8000001807F000000000C03F8 00000300FF000000001C03F800000600FF000000001803F800000600FE000000001801FC 00000C00FE000000001801FC00000C01FE000000003801FC00001801FE000000003001FC 00003001FC000000003001FC00003001FC000000003001FC00006003FC000000007001FC 0000C003FC000000006001FC0000C003F8000000006000FE00018003F8000000006000FE 00018007F800000000E000FE00030007F800000000C000FE00060007F000000000C000FE 00060007F000000000C000FE000C000FF000000001C000FE0018000FF0000000018000FE 0018000FE00000000180007F0030000FE00000000180007F0030001FE00000000380007F 0060001FE00000000300007F00C0001FC00000000300007F00C0001FC00000000300007F 0180003FC00000000700007F0300003FC00000000600007F0300003F800000000600003F 8600003F800000000600003F8600007F800000000E00003F8C00007F800000000C00003F 9800007F000000000C00003F9800007F000000000C00003FB00000FF000000001C00003F E00000FF000000001800003FE00000FE000000003800001FC00000FE000000003800001F C00001FE000000007800001F800001FE00000000FC00001F000001FC00000003FF00001F 000007FE000000FFFFF8001E0007FFFFFE0000FFFFF8001C0007FFFFFE0000FFFFF8000C 0007FFFFFE00005F447BC35E>77 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmsy10 12 3 /Fh 3 97 df<0007F8000000000080003FFF0000000001C000FFFFC000000001C001FFFF F000000001C003FFFFF800000001C007FFFFFE00000001C00FF807FF00000003C01FC000 FFC0000003803F00003FE0000007803E00000FF800000F807C000007FC00001F00780000 01FF00003F0070000000FFC000FE00F00000003FF807FC00E00000001FFFFFF800E00000 0007FFFFF000E000000003FFFFE000E000000000FFFFC000E0000000003FFF0000400000 000007F80000000000000000000000000000000000000000000000000000000000000000 0000000000000007F8000000000080003FFF0000000001C000FFFFC000000001C001FFFF F000000001C003FFFFF800000001C007FFFFFE00000001C00FF807FF00000003C01FC000 FFC0000003803F00003FE0000007803E00000FF800000F807C000007FC00001F00780000 01FF00003F0070000000FFC000FE00F00000003FF807FC00E00000001FFFFFF800E00000 0007FFFFF000E000000003FFFFE000E000000000FFFFC000E0000000003FFF0000400000 000007F80000422C7BAF4D>25 D<00000000000003000000000000000000000007800000 000000000000000007C00000000000000000000003C00000000000000000000003E00000 000000000000000001E00000000000000000000001F00000000000000000000000F80000 0000000000000000007800000000000000000000007C00000000000000000000003E0000 0000000000000000001F00000000000000000000000F80000000000000000000000FC000 00000000000000000007E00000000000000000000003F00000007FFFFFFFFFFFFFFFF800 0000FFFFFFFFFFFFFFFFFC000000FFFFFFFFFFFFFFFFFE0000007FFFFFFFFFFFFFFFFF00 000000000000000000000FC00000000000000000000007E00000000000000000000003F8 0000000000000000000000FE00000000000000000000007F80000000000000000000001F E00000000000000000000007FC0000000000000000000001FF8000000000000000000001 FF8000000000000000000007FC000000000000000000001FE0000000000000000000007F 8000000000000000000000FE0000000000000000000003F80000000000000000000007E0 000000000000000000000FC000007FFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFE00 0000FFFFFFFFFFFFFFFFFC0000007FFFFFFFFFFFFFFFF80000000000000000000003F000 00000000000000000007E0000000000000000000000FC0000000000000000000000F8000 0000000000000000001F00000000000000000000003E00000000000000000000007C0000 000000000000000000780000000000000000000000F80000000000000000000001F00000 000000000000000001E00000000000000000000003E00000000000000000000003C00000 000000000000000007C00000000000000000000007800000000000000000000003000000 000059387BB464>41 D<60000000000000F0000000000000F0000000000000F000000000 0000F0000000000000F0000000000000F0000000000000F0000000000000F00000000000 00F0000000000000F0000000000000F0000000000000F0000000000000F0000000000000 F0000000000000F0000000000000F0000000000000F0000000000000F0000000000000F0 000000000000F0000000000000F0000000000000F0000000000000F0000000000000F000 0000000000F0000000000000F0000000000000F0000000000000F0000000000000F00000 00000000F0000000000000F0000000000000FFFFFFFFFFFF80FFFFFFFFFFFFC0FFFFFFFF FFFFC0FFFFFFFFFFFFC0F0000000000000F0000000000000F0000000000000F000000000 0000F0000000000000F0000000000000F0000000000000F0000000000000F00000000000 00F0000000000000F0000000000000F0000000000000F0000000000000F0000000000000 F0000000000000F0000000000000F0000000000000F0000000000000F0000000000000F0 000000000000F0000000000000F0000000000000F0000000000000F0000000000000F000 0000000000F0000000000000F0000000000000F0000000000000F0000000000000F00000 00000000F0000000000000F00000000000006000000000000032457BC43D>96 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmtt10 10 28 /Fi 28 121 df<0000380000FC0001FC0003FC0007F8000FF0001FC0003F80007F0000FE 0001FC0003F80003F00007F00007E0000FE0000FC0001F80001F80003F80003F00003F00 007F00007E00007E00007E0000FE0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 00FC0000FC0000FC0000FC0000FC0000FE00007E00007E00007E00007F00003F00003F00 003F80001F80001F80000FC0000FE00007E00007F00003F00003F80001FC0000FE00007F 00003F80001FC0000FF00007F80003FC0001FC0000FC000038164272B92C>40 D<700000FC0000FE0000FF00007F80003FC0000FE00007F00003F80001FC0000FE00007F 00003F00003F80001F80001FC0000FC00007E00007E00007F00003F00003F00003F80001 F80001F80001F80001FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000 FC0000FC0000FC0000FC0001FC0001F80001F80001F80003F80003F00003F00007F00007 E00007E0000FC0001FC0001F80003F80003F00007F0000FE0001FC0003F80007F0000FE0 003FC0007F8000FF0000FE0000FC0000700000164279B92C>I<000380000007C0000007 C0000007C0000007C0000007C0000007C0002007C008F807C03EFE07C0FEFF07C1FEFFC7 C7FEFFE7CFFE3FFFFFF80FFFFFE003FFFF8001FFFF00007FFC00007FFC0001FFFF0003FF FF800FFFFFE03FFFFFF8FFE7CFFEFFC7C7FEFF07C1FEFE07C0FEF807C03E2007C0080007 C0000007C0000007C0000007C0000007C0000007C000000380001F247AAA2C>I<000078 00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00 000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000 0000FC00007FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF000 00FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000 FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC 0000000078000025267DAB2C>I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFF FFFF807FFFFFFF0021067B9B2C>45 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F80 1F000B0B708A2C>I<0003F80000000FFE0000003FFF8000007FFFC00000FFFFE00001FE 0FF00003F803F80007F001FC0007E000FC000FC0007E000FC0007E001F80003F001F8000 3F003F00001F803F00001F803E00000F807E00000FC07E00000FC07E00000FC07C000007 C0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0 FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000FC07E 00000FC07E00000FC07E00000FC03F00001F803F00001F803F00001F801F80003F001F80 003F000FC0007E000FE000FE0007E000FC0007F001FC0003F803F80001FE0FF00000FFFF E000007FFFC000003FFF8000000FFE00000003F8000023357CB32C>48 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F0000000000000000000000000000 0000000000000000000000000000001F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F 000B2470A32C>58 D<7FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF83FFF FFFFF0000000000000000000000000000000000000000000000000000000000000000000 000000000000003FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFF F025147DA22C>61 D<7000000000FC00000000FE00000000FF80000000FFE00000007FF0 0000001FFC0000000FFE00000003FF80000000FFC00000007FF00000001FF80000000FFE 00000003FF00000001FFC00000007FE00000003FF80000000FFC00000007FF00000001FF 80000000FF80000000FF80000001FF80000007FF0000000FFC0000003FF80000007FE000 0001FFC0000003FF0000000FFE0000001FF80000007FF0000000FFC0000003FF8000000F FE0000001FFC0000007FF0000000FFE0000000FF80000000FE00000000FC000000007000 000000212A7BAD2C>I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807F FFFFFF0021067B7D2C>95 D<01FFF0000007FFFE00001FFFFF80001FFFFFE0003FFFFFF0 003FC01FF8003FC007F8003FC001FC001F8000FC00060000FE000000007E000000007E00 0000007E000000FFFE00001FFFFE0000FFFFFE0003FFFFFE000FFFFFFE001FFF807E003F F8007E007FC0007E007F00007E00FE00007E00FC00007E00FC00007E00FC00007E00FC00 007E00FE00007E007F0000FE007F8003FE003FE01FFE001FFFFFFFFC0FFFFFFFFE07FFFF BFFE01FFFE1FFE003FF007FC27247CA32C>97 D<0003FFE000001FFFF800007FFFFE0001 FFFFFE0003FFFFFF0007FE00FF000FF000FF001FE000FF001FC0007E003F800018003F00 0000007F000000007E000000007E00000000FC00000000FC00000000FC00000000FC0000 0000FC00000000FC00000000FC00000000FC000000007E000000007E000000007F000000 003F00000F003F80001F801FC0001F801FE0003F800FF0007F0007FE03FF0003FFFFFE00 01FFFFFC00007FFFF800001FFFE0000003FF000021247AA32C>99 D<00000FFE0000001FFF0000001FFF0000001FFF0000000FFF000000003F000000003F00 0000003F000000003F000000003F000000003F000000003F000000003F000000003F0000 00003F000007F83F00003FFE3F0000FFFFBF0001FFFFFF0003FFFFFF0007FC0FFF000FF0 03FF001FE001FF001FC000FF003F80007F003F00007F007E00003F007E00003F00FE0000 3F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F 00FC00003F00FE00003F007E00007F007E00007F007F0000FF003F8000FF003F8001FF00 1FC003FF000FF007FF0007FC1FFF0003FFFFFFFC01FFFFBFFE00FFFF3FFE003FFC3FFE00 0FF01FFC27337DB22C>I<0003FE0000001FFFC000007FFFF00001FFFFF80003FFFFFC00 07FE03FE000FF800FF001FE0003F801FC0003F803F80001FC03F00000FC07F00000FC07E 00000FE07E000007E0FC000007E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFF FFFFC0FC00000000FE000000007E000000007E000000007F000000003F000003C03F8000 07E01FC00007E00FF0000FE007F8003FC007FF00FFC001FFFFFF8000FFFFFF00003FFFFC 00000FFFF0000001FF800023247CA32C>I<00000FF80000003FFE000000FFFF000001FF FF800003FFFF800007FC7F800007F07F80000FE03F00000FC03F00000FC00000000FC000 00000FC00000000FC00000000FC00000000FC000007FFFFFFE00FFFFFFFF00FFFFFFFF00 FFFFFFFF007FFFFFFE00000FC00000000FC00000000FC00000000FC00000000FC0000000 0FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000F C00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0 0000000FC00000000FC00000000FC00000000FC00000000FC00000000FC000003FFFFFF0 007FFFFFF8007FFFFFF8007FFFFFF8003FFFFFF00021337DB22C>I<00000003F80007F8 0FFC001FFE3FFE007FFFFFFF01FFFFFFFF03FFFFFE7F03FC0FF87F07F003F83E0FE001FC 1C0FC000FC001FC000FE001F80007E001F80007E001F80007E001F80007E001F80007E00 1F80007E001FC000FE000FC000FC000FE001FC0007F003F80003FC0FF00007FFFFF00007 FFFFE0000FFFFF80000F9FFE00000F87F800000F800000000F800000000F800000000FC0 00000007E000000007FFFFF00003FFFFFE0007FFFFFF800FFFFFFFE01FFFFFFFF03FC000 1FF87F000003FC7E000000FC7C0000007CFC0000007EF80000003EF80000003EF8000000 3EF80000003EFC0000007E7E000000FC7F800003FC3FE0000FF81FFC007FF00FFFFFFFE0 03FFFFFF8001FFFFFF00003FFFF8000007FFC00028387EA42C>I<00070000001FC00000 1FC000003FE000003FE000003FE000001FC000001FC00000070000000000000000000000 000000000000000000000000000000000000007FFFC0007FFFE000FFFFE0007FFFE0007F FFE0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000 07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000 07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0007F FFFFFCFFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3479B32C>105 D<7FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFF000000003F000000003F00000 0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0 00000003F000000003F000000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 0003F000000003F000000003F000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07F FFFFFF8022337BB22C>108 D<7F83F007E0007FCFFC1FF800FFDFFE3FFC007FFFFEFFFC 007FFFFFFFFE0007FE1FFC3E0007FC1FF83F0007F80FF01F0007F00FE01F0007E00FC01F 0007E00FC01F0007E00FC01F0007C00F801F0007C00F801F0007C00F801F0007C00F801F 0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F 0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F0007C00F801F 0007C00F801F0007C00F801F0007C00F801F007FFC3FF87FF07FFC7FF8FFF0FFFE7FFCFF F87FFC7FF8FFF07FFC3FF87FF02D2481A32C>I<7FF01FE00000FFF87FFC0000FFF9FFFE 0000FFFBFFFF00007FFFFFFF000001FFF03F800001FFC01F800001FF801FC00001FF000F C00001FE000FC00001FC000FC00001FC000FC00001F8000FC00001F8000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000F C00001F8000FC00001F8000FC00001F8000FC00001F8000FC0007FFFE0FFFF00FFFFF1FF FF80FFFFF1FFFF80FFFFF1FFFF807FFFE0FFFF0029247FA32C>I<0007FC0000001FFF00 00007FFFC00001FFFFF00003FFFFF80007FC07FC000FF001FE001FE000FF001F80003F00 3F80003F803F00001F807E00000FC07E00000FC07E00000FC0FC000007E0FC000007E0FC 000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00000FE07E00000FC07E00 000FC07F00001FC03F00001F803F80003F801FC0007F001FE000FF000FF001FE0007FC07 FC0003FFFFF80001FFFFF000007FFFC000001FFF00000007FC000023247CA32C>I<7FF0 1FE000FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF8001FFF07FC001FF801FE001FF00 07F001FE0003F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01F80000 7E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E 01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF000FF001 FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80001F83FC00001F8 00000001F800000001F800000001F800000001F800000001F800000001F800000001F800 000001F800000001F800000001F800000001F800000001F80000007FFFE00000FFFFF000 00FFFFF00000FFFFF000007FFFE0000027367FA32C>I<7FFE003FC0FFFF01FFF0FFFF07 FFF8FFFF1FFFFC7FFF3FFFFC003F7FE1FC003FFF01FC003FFC00F8003FF80070003FF000 00003FE00000003FE00000003FC00000003F800000003F800000003F800000003F000000 003F000000003F000000003F000000003F000000003F000000003F000000003F00000000 3F000000003F000000003F000000003F000000003F000000003F000000003F0000007FFF FFE000FFFFFFF000FFFFFFF000FFFFFFF0007FFFFFE00026247EA32C>114 D<007FF87003FFFFF80FFFFFF81FFFFFF83FFFFFF87FC00FF87E0003F8FC0001F8F80001 F8F80001F8F80001F8FC0000F07F0000007FF000003FFFC0001FFFFE000FFFFF8003FFFF E0007FFFF80001FFFC000007FC000000FE7800007FFC00003FFC00001FFE00001FFE0000 1FFF00003FFF80003EFFC000FEFFF007FCFFFFFFFCFFFFFFF8FFFFFFE0F8FFFF80701FFC 0020247AA32C>I<001E000000003F000000003F000000003F000000003F000000003F00 0000003F000000003F000000003F000000003F0000007FFFFFFF00FFFFFFFF80FFFFFFFF 80FFFFFFFF807FFFFFFF00003F000000003F000000003F000000003F000000003F000000 003F000000003F000000003F000000003F000000003F000000003F000000003F00000000 3F000000003F000000003F000000003F000000003F000000003F0003C0003F0007E0003F 0007E0003F0007E0003F0007E0003F0007E0003F800FE0001F801FC0001FE07FC0000FFF FF80000FFFFF000003FFFE000001FFF80000003FE000232E7EAD2C>I<7FFF01FFFCFFFF 01FFFEFFFF83FFFEFFFF01FFFE7FFF01FFFC03E0000F8003E0000F8003F0001F8001F000 1F0001F0001F0001F8003F0000F8003E0000F8003E0000FC007E00007C007C00007C007C 00007E00FC00003E00F800003E00F800003F01F800001F01F000001F01F000001F83F000 000F83E000000F83E000000FC7E0000007C7C0000007C7C0000007EFC0000003EF800000 03EF80000003FF80000001FF00000001FF00000000FE000000007C000027247EA32C> 118 D<3FFF03FFF07FFF87FFF87FFF87FFF87FFF87FFF83FFF03FFF000FC007E0000FC00 FC00007E01F800003F01F000001F83F000001F87E000000FCFC0000007EF80000003FF80 000001FF00000001FE00000000FC000000007C00000000FE00000001FE00000001FF0000 0003EF80000007CFC000000FC7C000000F83E000001F01F000003F01F800007E00F80000 7C007C0000F8007E0001F8003F007FFF01FFFC7FFF83FFFCFFFF83FFFE7FFF83FFFC7FFF 01FFFC27247EA32C>120 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj msam10 10.95 2 /Fj 2 114 df<7FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFF80F000000000F0000000 00F000000000F000000000F000000000F000000000F000000000F000000000F000000000 F000000000F000000000F000000000F000000000F000000000F000000000F000000000F0 00000000F000000000F000000000F000000000F000000000F000000000F000000000F000 000000F000000000F000000000F000000000F000000000F000000000E00000000022227B BE2D>112 D<7FFFFFFF80FFFFFFFFC0FFFFFFFFC07FFFFFFFC000000003C000000003C0 00000003C000000003C000000003C000000003C000000003C000000003C000000003C000 000003C000000003C000000003C000000003C000000003C000000003C000000003C00000 0003C000000003C000000003C000000003C000000003C000000003C000000003C0000000 03C000000003C000000003C000000003C000000003C000000003C000000001C022227BBE 2D>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmtt10 10.95 25 /Fk 25 122 df<00003E00000000003E00000000007F00000000007F00000000007F0000 0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000 0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000 007FFFFFFFFF007FFFFFFFFF00FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF807FFFFFFFFF 007FFFFFFFFF0000007F00000000007F00000000007F00000000007F00000000007F0000 0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000 0000007F00000000007F00000000007F00000000007F00000000003E00000000003E0000 0029297DAF30>43 D<0000FE00000007FFC000000FFFE000003FFFF800007FFFFC0000FF FFFE0001FF83FF0003FE00FF8003FC007F8007F8003FC00FF0001FE00FE0000FE01FE000 0FF01FC00007F01FC00007F03F800003F83F800003F83F000001F87F000001FC7F000001 FC7F000001FC7F000001FCFE000000FEFE000000FEFE000000FEFE000000FEFE000000FE FE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE 000000FEFF000001FE7F000001FC7F000001FC7F000001FC7F800003FC3F800003F83F80 0003F83FC00007F81FC00007F01FC00007F01FE0000FF00FF0001FE00FF0001FE007F800 3FC003FC007F8003FE00FF8001FF83FF0000FFFFFE00007FFFFC00003FFFF800000FFFE0 000007FFC0000000FE0000273A7CB830>48 D<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFF FFFF80FFFFFFFF807FFFFFFF000007F000000007F000000007F000000007F000000007F0 00000007F000000007F000000007F000000007F000000007F000000007F000000007F000 000007F000000007F000000007F000000007F000000007F000000007F000000007F00000 0007F000000007F000000007F000000007F000000007F000000007F000000007F0000000 07F000000007F000000007F000000007F000000007F000000007F000000007F000000007 F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0 00000007F000000007F000000007F000007FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF 80FFFFFFFF807FFFFFFF00213879B730>73 D<3FFFFFFFFFC07FFFFFFFFFE0FFFFFFFFFF E0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FE003F800FE0FE003F800FE0FE003F800F E0FE003F800FE0FE003F800FE0FE003F800FE0FE003F800FE0FE003F800FE07C003F8007 C000003F80000000003F80000000003F80000000003F80000000003F80000000003F8000 0000003F80000000003F80000000003F80000000003F80000000003F80000000003F8000 0000003F80000000003F80000000003F80000000003F80000000003F80000000003F8000 0000003F80000000003F80000000003F80000000003F80000000003F80000000003F8000 0000003F80000000003F80000000003F80000000003F80000000003F80000000003F8000 0000003F80000000003F80000000003F80000000003F80000000003F800000001FFFFF00 00003FFFFF8000003FFFFF8000003FFFFF8000003FFFFF8000001FFFFF00002B387EB730 >84 D<003FFC00000001FFFF80000003FFFFE0000007FFFFF000000FFFFFF800001FFFFF FC00001FF00FFE00001FE001FF00001FE000FF00001FE0007F80000FC0003F8000078000 3FC0000000001FC0000000001FC0000000001FC0000000001FC0000000FFFFC000000FFF FFC000007FFFFFC00001FFFFFFC00007FFFFFFC0000FFFFFFFC0001FFFC01FC0003FFC00 1FC0007FE0001FC0007F80001FC000FF00001FC000FE00001FC000FE00001FC000FE0000 1FC000FE00001FC000FF00003FC000FF00003FC0007F80007FC0007FC001FFC0003FF80F FFFFC01FFFFFFFFFE01FFFFFFFFFE007FFFFF7FFE003FFFFC3FFE000FFFF00FFC0003FF0 0000002B2A7CA830>97 D<3FFC000000007FFE00000000FFFE00000000FFFE000000007F FE000000003FFE0000000000FE0000000000FE0000000000FE0000000000FE0000000000 FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000 FE03FE000000FE1FFF800000FE7FFFE00000FEFFFFF00000FFFFFFFC0000FFFFFFFE0000 FFFE07FE0000FFF001FF0000FFE000FF8000FFC0007F8000FF80003FC000FF00001FC000 FE00001FE000FE00000FE000FE00000FE000FE00000FF000FE000007F000FE000007F000 FE000007F000FE000007F000FE000007F000FE000007F000FE000007F000FE000007F000 FE00000FF000FE00000FF000FE00000FE000FF00000FE000FF00001FE000FF80003FC000 FF80003FC000FFC0007F8000FFE000FF8000FFF003FF0000FFFC0FFE0000FFFFFFFC0000 FFFFFFF80000FEFFFFF000007E7FFFC000003C1FFF0000000003FC00002C3980B730>I< 0000FFE0000007FFFC00001FFFFE00007FFFFF0000FFFFFF8001FFFFFFC003FF807FC007 FC003FC00FF8003FC01FF0003FC01FE0001F803FC0000F003F800000007F800000007F00 0000007F00000000FF00000000FE00000000FE00000000FE00000000FE00000000FE0000 0000FE00000000FE00000000FE00000000FF000000007F000000007F000000007F800000 003F800007C03FC0000FE01FE0000FE01FF0001FE00FF8001FC007FE003FC007FFC0FF80 03FFFFFF8000FFFFFF00007FFFFE00001FFFF8000007FFF0000001FF8000232A7AA830> I<000001FFE000000003FFF000000007FFF000000007FFF000000003FFF000000001FFF0 0000000007F00000000007F00000000007F00000000007F00000000007F00000000007F0 0000000007F00000000007F00000000007F00000000007F0000003FE07F000001FFF87F0 00003FFFE7F00000FFFFFFF00001FFFFFFF00003FFFFFFF00007FF03FFF0000FFC00FFF0 001FF0003FF0001FE0001FF0003FC0001FF0003FC0000FF0007F800007F0007F000007F0 007F000007F000FF000007F000FF000007F000FE000007F000FE000007F000FE000007F0 00FE000007F000FE000007F000FE000007F000FE000007F000FE000007F000FF000007F0 007F00000FF0007F00000FF0007F80000FF0003F80001FF0003FC0003FF0001FE0003FF0 001FF0007FF0000FF801FFF00007FE07FFFFC003FFFFFFFFE001FFFFFFFFF000FFFFF7FF F0007FFFC7FFE0001FFF03FFC00007FC0000002C397DB730>I<0001FF00000007FFE000 001FFFF800007FFFFC0000FFFFFE0001FFFFFF0003FF81FF8007FC007FC00FF8003FC01F E0001FE01FE0000FE03FC0000FF03F800007F07F800007F07F000007F07F000003F8FF00 0003F8FE000003F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFF FFF0FE00000000FF000000007F000000007F000000007F800000003F800001F03FC00003 F81FE00003F80FF00003F80FF80007F807FE001FF003FFC07FE001FFFFFFE000FFFFFFC0 003FFFFF80001FFFFE000007FFF8000000FFC000252A7CA830>I<000000FF80000007FF E000001FFFF000003FFFF000007FFFF80000FFFFF80001FF87F80003FE07F80003FC03F0 0007F800C00007F000000007F000000007F000000007F000000007F000000007F0000000 07F000000007F000003FFFFFFFC07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFF FFFFC00007F000000007F000000007F000000007F000000007F000000007F000000007F0 00000007F000000007F000000007F000000007F000000007F000000007F000000007F000 000007F000000007F000000007F000000007F000000007F000000007F000000007F00000 0007F000000007F000000007F000000007F000000007F000000007F000003FFFFFFE007F FFFFFF00FFFFFFFF80FFFFFFFF807FFFFFFF003FFFFFFE0025397DB830>I<0003FC00FF 00001FFF87FFC0003FFFDFFFC000FFFFFFFFE001FFFFFFFFE003FFFFFFFFE007FE07FF8F E007F801FE07C00FF000FF00000FF000FF00000FE0007F00001FE0007F80001FC0003F80 001FC0003F80001FC0003F80001FC0003F80001FC0003F80001FE0007F80000FE0007F00 000FF000FF00000FF000FF000007F801FE000007FE07FE000007FFFFFC000007FFFFF800 000FFFFFF000000FFFFFC000000FDFFF8000000FC3FC0000000FC0000000000FC0000000 000FC0000000000FE0000000000FF00000000007FFFFF0000007FFFFFF000003FFFFFFC0 0007FFFFFFF0000FFFFFFFF8001FFFFFFFFC003FE0001FFE003F800001FE007F0000007F 007E0000003F00FE0000003F80FC0000001F80FC0000001F80FC0000001F80FC0000001F 80FC0000001F80FE0000003F807F0000007F007F800000FF003FC00001FE003FF00007FE 001FFF007FFC000FFFFFFFF80007FFFFFFF00001FFFFFFC000007FFFFF0000001FFFFC00 000001FFC000002B3E7DA730>I<0000E000000003F800000003F800000007FC00000007 FC00000007FC00000003F800000003F800000000E0000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000001FFFF800 003FFFFC00007FFFFC00007FFFFC00003FFFFC00001FFFFC00000001FC00000001FC0000 0001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000000 01FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001 FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC 00000001FC00000001FC00000001FC00003FFFFFFFC07FFFFFFFE0FFFFFFFFE0FFFFFFFF E07FFFFFFFE03FFFFFFFC023397AB830>105 D<7FFFF80000FFFFFC0000FFFFFC0000FF FFFC0000FFFFFC00007FFFFC00000001FC00000001FC00000001FC00000001FC00000001 FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC 00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00 000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000 0001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000000 01FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001 FC00000001FC00000001FC00000001FC00007FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFF FFF8FFFFFFFFF87FFFFFFFF025387BB730>108 D<0000FC007E00007FC3FF01FF8000FF EFFF87FFC000FFFFFFCFFFE000FFFFFFDFFFE000FFFFFFFFFFF0007FFF0FFF87F00007FE 07FF03F80007FC07FE03F80007F803FC01F80007F803FC01F80007F003F801F80007F003 F801F80007F003F801F80007E003F001F80007E003F001F80007E003F001F80007E003F0 01F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001 F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F8 0007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F800 07E003F001F8007FFE0FFF07FF80FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF1FFF8FFFC0FF FF1FFF8FFFC07FFE0FFF07FF80322881A730>I<000001FE00003FFC0FFF80007FFE3FFF E000FFFEFFFFF000FFFFFFFFF8007FFFFFFFF8003FFFFE07FC0000FFF803FC0000FFE001 FE0000FFC001FE0000FF8000FE0000FF8000FE0000FF0000FE0000FF0000FE0000FE0000 FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000 FE0000FE0000FE003FFFF81FFFF87FFFFC3FFFFCFFFFFE3FFFFEFFFFFE3FFFFE7FFFFC3F FFFC3FFFF81FFFF82F2880A730>I<0001FF0000000FFFE000003FFFF800007FFFFC0000 FFFFFE0003FFFFFF8003FF01FF8007FC007FC00FF8003FE01FE0000FF01FE0000FF03FC0 0007F83F800003F87F800003FC7F000001FC7F000001FC7F000001FCFE000000FEFE0000 00FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFF000001 FE7F000001FC7F000001FC7F800003FC3F800003F83FC00007F83FE0000FF81FF0001FF0 0FF8003FE00FFC007FE007FF01FFC003FFFFFF8001FFFFFF00007FFFFC00003FFFF80000 0FFFE0000001FF0000272A7CA830>I<000003FE00003FFC1FFF80007FFE7FFFE000FFFE FFFFF000FFFFFFFFFC007FFFFFFFFE003FFFFE07FE0000FFF001FF0000FFE000FF8000FF C0007F8000FF80003FC000FF00001FC000FE00001FE000FE00000FE000FE00000FE000FE 00000FF000FE000007F000FE000007F000FE000007F000FE000007F000FE000007F000FE 000007F000FE000007F000FE000007F000FE00000FF000FE00000FF000FE00000FE000FF 00000FE000FF00001FE000FF80003FC000FF80003FC000FFC0007F8000FFE000FF8000FF F003FF0000FFFC0FFE0000FFFFFFFC0000FFFFFFF80000FEFFFFF00000FE7FFFC00000FE 1FFF000000FE03FC000000FE0000000000FE0000000000FE0000000000FE0000000000FE 0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE 0000000000FE0000000000FE000000003FFFF80000007FFFFC000000FFFFFE000000FFFF FE0000007FFFFC0000003FFFF80000002C3C80A730>I<0001FF00F800000FFFC1FC0000 3FFFF1FC00007FFFFDFC0001FFFFFFFC0003FFFFFFFC0007FF81FFFC000FFC007FFC000F F8001FFC001FF0000FFC001FE00007FC003FC00007FC003F800003FC007F800003FC007F 000003FC007F000001FC00FF000001FC00FE000001FC00FE000001FC00FE000001FC00FE 000001FC00FE000001FC00FE000001FC00FE000001FC00FF000001FC007F000001FC007F 000003FC007F800003FC007F800003FC003FC00007FC003FC0000FFC001FE0001FFC000F F0003FFC000FFC007FFC0007FF01FFFC0003FFFFFFFC0001FFFFFDFC0000FFFFF9FC0000 3FFFF1FC00000FFFC1FC000003FE01FC0000000001FC0000000001FC0000000001FC0000 000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000 000001FC0000000001FC0000000001FC0000000001FC00000000FFFFF8000001FFFFFC00 0001FFFFFC000001FFFFFC000001FFFFFC000000FFFFF82E3C7DA730>I<00000007F800 3FFF803FFF007FFFC0FFFF80FFFFC3FFFF80FFFFCFFFFFC07FFFDFFFFFC03FFFFFFC3FC0 001FFFE03FC0001FFF801F80001FFF000F00001FFE000000001FFC000000001FF8000000 001FF0000000001FF0000000001FE0000000001FE0000000001FE0000000001FE0000000 001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000 001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000 001FC0000000001FC0000000001FC00000003FFFFFFC00007FFFFFFE0000FFFFFFFF0000 FFFFFFFF00007FFFFFFE00003FFFFFFC00002A287EA730>I<001FFC1E0001FFFF9F0007 FFFFFF000FFFFFFF001FFFFFFF003FFFFFFF007FF007FF007F8001FF00FE0000FF00FC00 007F00FC00007F00FC00007F00FC00007F00FE00003E007F000000007FE00000003FFF00 00001FFFFC00000FFFFF800007FFFFE00001FFFFF800007FFFFC000003FFFE0000000FFF 00000000FF807C00007F80FE00001FC0FE00001FC0FE00000FC0FF00000FC0FF00000FC0 FF80000FC0FF80001FC0FFC0003F80FFE0007F80FFFC03FF00FFFFFFFF00FFFFFFFE00FF FFFFFC00FCFFFFF000F83FFFC000780FFE0000222A79A830>I<0007800000000FC00000 001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000000 1FC00000001FC000003FFFFFFFE07FFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFF FFFFE0001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0 0000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000 00001FC00000001FC00000001FC00000001FC00000001FC000F8001FC001FC001FC001FC 001FC001FC001FC001FC001FC001FC001FE003FC000FE007F8000FF007F8000FFC1FF000 07FFFFE00003FFFFC00003FFFF800001FFFF0000007FFC0000001FF00026337EB130>I< 3FFC003FFC007FFE007FFE00FFFE00FFFE00FFFE00FFFE007FFE007FFE003FFE003FFE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0001FE0000FE0001FE00 00FE0003FE0000FE0007FE0000FF000FFE00007FC07FFFF8007FFFFFFFFC003FFFFFFFFE 001FFFFFFFFE000FFFFEFFFC0007FFF87FF80000FFC000002F2880A630>I<3FFFC07FFF 807FFFE0FFFFC0FFFFE0FFFFE0FFFFE0FFFFE07FFFE0FFFFC03FFFC07FFF8001F80003F0 0001F80003F00001FC0007F00000FC0007E00000FC0007E00000FE000FE000007E000FC0 00007E000FC000007F001FC000003F001F8000003F001F8000003F803F8000001F803F00 00001F803F0000001FC07F0000000FC07E0000000FC07E0000000FE0FE00000007E0FC00 000007E0FC00000007F1FC00000003F1F800000003F1F800000003F1F800000001FBF000 000001FBF000000001FBF000000001FFF000000000FFE000000000FFE000000000FFE000 0000007FC0000000003F8000002B277EA630>I<3FFF81FFFC007FFFC3FFFE00FFFFC3FF FF00FFFFC3FFFF007FFFC3FFFE003FFF81FFFC0000FE007F0000007F007F0000007F80FE 0000003F81FC0000001FC3F80000000FE3F80000000FE7F000000007FFE000000003FFC0 00000001FFC000000000FF8000000000FF00000000007E00000000007F0000000000FF00 00000001FF8000000001FFC000000003F7E000000007E7E00000000FE3F00000000FC1F8 0000001F81FC0000003F80FE0000007F007E0000007E007F000000FE003F800001FC001F C0007FFF80FFFF00FFFFC1FFFF80FFFFE3FFFF80FFFFE3FFFF80FFFFC1FFFF807FFF80FF FF0029277DA630>120 D<3FFFC07FFF807FFFE0FFFFC0FFFFE0FFFFE0FFFFE0FFFFE07F FFE0FFFFC03FFFC07FFF8001FC0003F00001FC0003F00000FC0007F00000FE0007E00000 7E0007E000007E000FE000007F000FC000003F000FC000003F001FC000001F801F800000 1F801F8000001FC01F8000000FC03F0000000FC03F0000000FE03F00000007E07E000000 07E07E00000003F07E00000003F07C00000003F0FC00000001F8FC00000001F8F8000000 01F8F800000000F9F800000000FDF0000000007DF0000000007FF0000000007FF0000000 003FE0000000003FE0000000003FE0000000001FC0000000001FC0000000001FC0000000 001F80000000001F80000000003F80000000003F00000000003F00000000007F00000000 007E00000000007E0000000F00FE0000001F80FC0000003FC1FC0000003FC3F80000003F 87F80000003F8FF00000003FFFE00000001FFFC00000001FFF800000000FFF0000000007 FE0000000001F0000000002B3C7EA630>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmr5 5 3 /Fl 3 52 df<00600001E0000FE000FFE000F1E00001E00001E00001E00001E00001E000 01E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E000 01E00001E00001E00001E0007FFF807FFF80111C7B9B1C>49 D<03FC000FFF003C0FC070 03E07801F0FC00F0FC00F8FC00F8FC00787800780000F80000F00000F00001E00003C000 0780000F00001C0000380000E00001C0180380180600180C00383FFFF07FFFF0FFFFF0FF FFF0151C7D9B1C>I<01FC000FFF801E07C03001E07C01F07C00F07E00F07C01F03801E0 0003E00007C0001F8003FE0003FC000007800003C00001E00000F00000F83000F87800F8 FC00F8FC00F8FC00F07801F07003E03C07C00FFF0003FC00151D7D9B1C>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmmi7 7 2 /Fm 2 118 df<000FC0007FF000F03803C01C07801C0F001C1F001C1E001C3E00387C00 707C07E07FFF80FFFC00F80000F80000F80000F80000F00000F00000F0000478000C7800 183800303C00E01E07C00FFF0003F800161B7C991F>101 D<03E000000007F00038000C 78007C00187C007C00307C00F800307C00F800607C00F80060F800F800C0F801F000C0F8 01F00001F001F00001F001F00001F003E00003E003E00003E003E00003E003E00007C007 C00007C007C18007C007C18007C007C18007C00F830007C00F830003C01F830003E03786 0001F0E7CE0000FFC3FC00003F00F000211B7D9927>117 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmbx10 10 17 /Fn 17 119 df<000000038000000000000007C000000000000007C000000000000007C0 00000000000007C000000000000007C000000000000007C000000000000007C000000000 000007C000000000000007C000000000000007C000000000000007C000000000000007C0 00000000000007C000000000000007C000000000000007C000000000000007C000000000 000007C000000000000007C000000000000007C000000000000007C000000000000007C0 00000000000007C000000000000007C000000000000007C000000000000007C000000000 000007C000000000000007C000000000000007C000000000000007C00000007FFFFFFFFF FFFFFCFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE7FFFFFFFFFFFFFFC00 000007C000000000000007C000000000000007C000000000000007C000000000000007C0 00000000000007C000000000000007C000000000000007C000000000000007C000000000 000007C000000000000007C000000000000007C000000000000007C000000000000007C0 00000000000007C000000000000007C000000000000007C000000000000007C000000000 000007C000000000000007C000000000000007C000000000000007C000000000000007C0 00000000000007C000000000000007C000000000000007C000000000000007C000000000 000007C000000000000007C000000000000003800000003F417BB44A>43 D45 D<7FFFFFFFFFFFFFFCFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFF FE7FFFFFFFFFFFFFFC000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000007FFFFFFFFFFFFFFCFFFFFFFFFFFFFF FEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFE7FFFFFFFFFFFFFFC3F197BA04A>61 D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE00003FF003FF00003FF801FF80 003FF800FFC0003FF800FFC0003FF8007FE0003FF8007FE0001FF0007FE0000FE0007FE0 000380007FE0000000007FE0000000007FE00000003FFFE000000FFFFFE000007FFFFFE0 0001FFF87FE00007FF807FE0000FFE007FE0003FF8007FE0003FF0007FE0007FE0007FE0 00FFE0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC000FFE0 00FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBFFFC00FFFFE1FFFC003FFF80FFF C0003FE003FFC02A257DA42E>97 D<0001FFC000000FFFFC00007FFFFF0000FF80FF8003 FE00FFC007FC01FFC00FF801FFC01FF801FFC01FF001FFC03FF001FFC03FF000FF807FE0 007F007FE0001C007FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000 0000FFE0000000FFE0000000FFE0000000FFE00000007FE00000007FE00000007FF00000 003FF00000003FF00001E01FF80001E01FF80003E00FFC0007C007FE00078003FF001F80 00FFC07E00007FFFFC00000FFFF0000001FF800023257DA42A>99 D<000000007F800000007FFF800000007FFF800000007FFF800000007FFF8000000003FF 8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF 8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF8000000001FF 8000000001FF8000000001FF8000000001FF800001FF81FF80000FFFF1FF80003FFFFDFF 8000FFC07FFF8003FF001FFF8007FC0007FF800FFC0003FF801FF80001FF801FF00001FF 803FF00001FF803FF00001FF807FE00001FF807FE00001FF807FE00001FF80FFE00001FF 80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF80FFE00001FF 80FFE00001FF80FFE00001FF80FFE00001FF807FE00001FF807FE00001FF807FF00001FF 803FF00001FF803FF00001FF801FF80003FF800FF80007FF8007FC000FFF8003FE001FFF C001FF80FDFFFE007FFFF9FFFE001FFFE1FFFE0003FF01FFFE2F3A7DB935>I<00000000 1F000007FE00FFC0007FFFE3FFC001FFFFFFEFE007FE07FF8FE00FF801FF1FE01FF000FF 8FE03FF000FFCFE03FE0007FC7C03FE0007FC0007FE0007FE0007FE0007FE0007FE0007F E0007FE0007FE0007FE0007FE0007FE0007FE0003FE0007FC0003FE0007FC0003FF000FF C0001FF000FF80000FF801FF000007FE07FE00000FFFFFF800000F7FFFE000001E07FE00 00001E00000000001E00000000003E00000000003F00000000003F80000000001FC00000 00001FFFFFF800001FFFFFFF80001FFFFFFFE0000FFFFFFFF80007FFFFFFFC0003FFFFFF FE0007FFFFFFFE001FFFFFFFFF003FC0000FFF007F000000FF80FF0000007F80FE000000 7F80FE0000003F80FE0000003F80FE0000003F80FF0000007F807F0000007F007F800000 FF003FC00001FE001FF00007FC0007FE003FF00001FFFFFFC000007FFFFF00000007FFF0 00002B377DA530>103 D<01F00007FC000FFE000FFE001FFF001FFF001FFF001FFF001F FF000FFE000FFE0007FC0001F00000000000000000000000000000000000000000000000 000000000000FF007FFF007FFF007FFF007FFF0007FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FFFFF8FF FFF8FFFFF8FFFFF8153B7DBA1B>105 D<00FF00FFFF00FFFF00FFFF00FFFF0007FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FF FFFCFFFFFCFFFFFCFFFFFC163A7DB91B>108 D<00FE007FE0000FFC0000FFFE01FFFC00 3FFF8000FFFE07FFFF00FFFFE000FFFE1F81FF83F03FF000FFFE3C00FF87801FF00007FE 7800FFCF001FF80003FEF000FFDE001FF80003FFE0007FFC000FFC0003FFC0007FF8000F FC0003FFC0007FF8000FFC0003FF80007FF0000FFC0003FF80007FF0000FFC0003FF0000 7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00 03FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0 000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF 00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000F FC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF0000 7FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC00FFFFFC1FFFFF83FFFFF0 FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF04C257DA451> I<00FE007FC000FFFE03FFF800FFFE0FFFFE00FFFE1F03FF00FFFE3C01FF8007FE7801FF 8003FEF000FF8003FFE000FFC003FFC000FFC003FFC000FFC003FF8000FFC003FF8000FF C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF C003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FF C003FF0000FFC003FF0000FFC003FF0000FFC0FFFFFC3FFFFFFFFFFC3FFFFFFFFFFC3FFF FFFFFFFC3FFFFF30257DA435>I<0001FFC00000000FFFF80000007FFFFF000000FF80FF 800003FE003FE00007FC001FF0000FF8000FF8001FF00007FC001FF00007FC003FF00007 FE003FE00003FE007FE00003FF007FE00003FF007FE00003FF00FFE00003FF80FFE00003 FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003 FF80FFE00003FF807FE00003FF007FE00003FF007FE00003FF003FE00003FE003FF00007 FE001FF00007FC001FF00007FC000FF8000FF80007FC001FF00003FE003FE00001FF80FF C000007FFFFF0000001FFFFC00000001FFC0000029257DA430>I<00FF01FF8000FFFF0F FFF000FFFF3FFFFC00FFFFFE07FF00FFFFF001FF8003FFE000FFC003FF80007FE003FF00 007FF003FF00003FF803FF00003FF803FF00001FFC03FF00001FFC03FF00001FFC03FF00 000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00 000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFC03FF00001FFC03FF00 001FFC03FF00001FF803FF00003FF803FF00003FF003FF80007FF003FFC0007FE003FFE0 00FFC003FFF003FF8003FFFC07FE0003FF3FFFF80003FF0FFFE00003FF03FF000003FF00 00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00 00000003FF0000000003FF0000000003FF0000000003FF0000000003FF00000000FFFFFC 000000FFFFFC000000FFFFFC000000FFFFFC0000002F357EA435>I<00FE03F000FFFE0F FE00FFFE3FFF00FFFE7C7F80FFFEF8FFC007FEF0FFC003FFE0FFC003FFC0FFC003FFC0FF C003FF807F8003FF803F0003FF800C0003FF80000003FF00000003FF00000003FF000000 03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003 FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF 00000003FF00000003FF000000FFFFFE0000FFFFFE0000FFFFFE0000FFFFFE000022257E A427>114 D<003FF03803FFFEF80FFFFFF81FC00FF83F0003F87E0001F87C0000F8FC00 00F8FC000078FE000078FF000078FF800000FFFC0000FFFFE0007FFFFC007FFFFF803FFF FFC01FFFFFF00FFFFFF803FFFFF800FFFFFC001FFFFC00007FFE000007FEF00001FEF000 00FEF80000FEF800007EFC00007EFC00007CFE0000FCFF0000F8FF8001F8FFF007F0FFFF FFC0F8FFFF00E01FF8001F257DA426>I<000F0000000F0000000F0000000F0000000F00 00001F0000001F0000001F0000001F0000003F0000003F0000007F000000FF000000FF00 0001FF000007FF00001FFFFFE0FFFFFFE0FFFFFFE0FFFFFFE003FF000003FF000003FF00 0003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF00 0003FF000003FF000003FF000003FF000003FF000003FF000003FF007803FF007803FF00 7803FF007803FF007803FF007803FF007803FF007803FF00F801FF80F001FF81F000FFC3 E0003FFFC0001FFF800003FE001D357EB425>I118 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmr7 7 3 /Fo 3 52 df<00380000780001F8001FF800FEF800E0F80000F80000F80000F80000F800 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800 00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800 00F80001FC00FFFFF8FFFFF815267BA521>49 D<00FF000003FFE0000E03F0001800F800 30007C0060007E0078003F00FC003F00FE001F80FE001F80FE001F80FE001F807C001F80 00001F8000001F0000003F0000003E0000007E0000007C000000F8000001F0000003E000 0003C00000078000000E0000001C0000003800000070018000E001800180018003000300 060003000C0003001FFFFF003FFFFF007FFFFE00FFFFFE00FFFFFE0019267DA521>I<00 FF000003FFE0000F01F8001C007C0030007E003C003E007E003F007E003F007E003F007E 003F003C003F0000003E0000007E0000007C000000F8000001F0000007E00001FF800001 FF00000001E0000000F00000007C0000003E0000003F0000001F0000001F8000001F8038 001F807C001F80FE001F80FE001F80FE001F00FC003F0078003E0070007C003800F8001F 01F00007FFC00000FF000019277DA521>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmmi10 10 6 /Fp 6 118 df<003F00000000003FC00000000007F00000000003F80000000003FC0000 000001FC0000000001FC0000000000FE0000000000FE0000000000FE00000000007F0000 0000007F00000000007F00000000003F80000000003F80000000003F80000000001FC000 0000001FC0000000001FC0000000000FE0000000000FE0000000000FE00000000007F000 00000007F00000000007F00000000003F80000000003F80000000003F80000000001FC00 00000001FC0000000000FE0000000000FE0000000001FE0000000003FF0000000007FF00 0000000F7F000000001E3F800000003C3F80000000783F80000000F01FC0000001F01FC0 000003E01FC0000007C00FE000000F800FE000001F000FE000003F0007F000007E0007F0 0000FC0007F00001F80003F80003F00003F80007E00003F8000FE00001FC001FC00001FC 003F800001FC007F000000FE00FE000000FE00FE0000007F00FC0000007F80700000001F 80293B7CB930>21 D<6000000000F800000000FE00000000FF80000000FFC0000000FFF0 000000F3FC000000F0FE000000F07F800000F01FE00000F007F80000F003FC0000F000FF 0000F0003FC000F0000FE000F00007F800F00001FE00F000007F80F000003FC0F000000F E0F000000FE0F000003FC0F000007F80F00001FE00F00007F800F0000FE000F0003FC000 F000FF0000F003FC0000F007F80000F01FE00000F07F800000F0FE000000F3FC000000FF F0000000FFC0000000FF80000000FE00000000F800000000600000000023287DA82A>46 D<1C007F00FF80FF80FF80FF80FF807F001C000909798817>58 D<00003FC00001FFF000 07E078001F801C007E001E00FC000E01F8000E03F0000E07F0000E0FE0000E0FC0001E1F C0001C1FC0003C3F8000F83F8003E07F803FC07FFFFE007FFFE0007F000000FF000000FE 000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000037E0000077E 0000063E00000E3E00003C1F0000700F8000E00F8007C003E03F0001FFF800003FC00020 267DA427>101 D<0000E00003F80003F80007F80007F80007F80007F00001C000000000 000000000000000000000000000000000000000000000000000000000000F80003FE0007 0F000E0F801C0F80180F80380F80300F80701F80601F80603F80E03F00C03F00C07F0000 7E00007E0000FE0000FC0001FC0001FC0001F80003F80003F00003F00007F01807E01807 E0380FE0300FC0300FC0700F80600F80E00F80C00F81C00F838007870003FE0000F80015 397EB71D>105 D<00F80000000003FE00003800070F00007C000E0F8000FC001C0F8000 FC00180F8000FC00380F8001FC00300F8001FC00701F8001F800601F8001F800601F8003 F800E03F8003F800C03F0003F000C07F0003F000007E0007F000007E0007F00000FE0007 E00000FC0007E00000FC000FE00001FC000FE00001F8000FC00001F8000FC00001F8001F C00003F8001FC00003F0001F80C003F0001F80C003F0003F80C003F0003F81C003F0003F 018003F0003F018003F0007F038003F000FF030001F000FF030001F001FF070000F8079F 0E00007C0E0F1C00003FFC07F8000007F001F0002A267EA430>117 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fq cmr10 10 5 /Fq 5 62 df<0000600000E00001C0000380000700000E00001E00003C00007800007800 00F00001E00001E00003C00003C00007C0000780000F80000F00000F00001F00001E0000 1E00003E00003E00003E00007C00007C00007C00007C00007C00007C0000F80000F80000 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000 F80000F80000F80000F800007C00007C00007C00007C00007C00007C00003E00003E0000 3E00001E00001E00001F00000F00000F00000F800007800007C00003C00003C00001E000 01E00000F000007800007800003C00001E00000E000007000003800001C00000E0000060 135278BD20>40 DI<000000300000000000007800000000000078000000000000780000 000000007800000000000078000000000000780000000000007800000000000078000000 000000780000000000007800000000000078000000000000780000000000007800000000 000078000000000000780000000000007800000000000078000000000000780000000000 007800000000000078000000000000780000000000007800000000000078000000000000 780000007FFFFFFFFFFFF8FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF800000078 000000000000780000000000007800000000000078000000000000780000000000007800 000000000078000000000000780000000000007800000000000078000000000000780000 000000007800000000000078000000000000780000000000007800000000000078000000 000000780000000000007800000000000078000000000000780000000000007800000000 00007800000000000078000000000000780000000000003000000036367BAF41>43 D<0003F80000001FFF0000007E0FC00000F803E00001E000F00003C000780007C0007C00 0F80003E000F80003E001F00001F001F00001F003F00001F803F00001F803F00001F807E 00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC0FE00000FE0FE00 000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE0000 0FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000FE0FE00000F E0FE00000FE0FE00000FE0FE00000FE07E00000FC07E00000FC07E00000FC07E00000FC0 7F00001FC03F00001F803F00001F803F00001F801F00001F001F80003F000F80003E000F 80003E0007C0007C0003E000F80001F001F00000F803E000007E0FC000001FFF00000003 F80000233A7DB72A>48 D<7FFFFFFFFFFFF8FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFF FFFFF8000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000007FFFFFFFFFFFF8 FFFFFFFFFFFFFCFFFFFFFFFFFFFC7FFFFFFFFFFFF836167B9F41>61 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fr cmsy10 10 4 /Fr 4 69 df<7FFFFFFFFFFF80FFFFFFFFFFFFC0FFFFFFFFFFFFC07FFFFFFFFFFF803204 799641>0 D<7FFFFFFC000000FFFFFFFFC00000FFFFFFFFF000007FFFFFFFFC00000000 0007FE0000000000007F8000000000001FC0000000000007E0000000000003F000000000 0001F8000000000000FC0000000000007C0000000000003E0000000000003E0000000000 001F0000000000001F0000000000000F8000000000000F80000000000007800000000000 07C0000000000007C0000000000003C0000000000003C0000000000003C0000000000003 C0000000000003C0000000000003C0000000000003C0000000000003C0000000000007C0 000000000007C00000000000078000000000000F8000000000000F8000000000001F0000 000000001F0000000000003E0000000000003E0000000000007C000000000000FC000000 000001F8000000000003F0000000000007E000000000001FC000000000007F8000000000 07FE00007FFFFFFFFC0000FFFFFFFFF00000FFFFFFFFC000007FFFFFFC000000323279AD 41>27 D<600000000018F0000000003CF8000000007CF8000000007C7800000000787C00 000000F87C00000000F83C00000000F03E00000001F03E00000001F01F00000003E01F00 000003E00F00000003C00F80000007C00F80000007C007800000078007C000000F8007C0 00000F8003E000001F0003E000001F0001FFFFFFFE0001FFFFFFFE0001FFFFFFFE0000FF FFFFFC0000F800007C0000F800007C00007C0000F800007C0000F800003C0000F000003E 0001F000003E0001F000001E0001E000001F0003E000001F0003E000000F8007C000000F 8007C0000007800780000007C00F80000007C00F80000003C00F00000003E01F00000003 E01F00000001F03E00000001F03E00000000F03C00000000F87C00000000F87C00000000 7878000000007CF8000000007CF8000000003FF0000000003FF0000000001FE000000000 1FE0000000001FE0000000000FC0000000000FC0000000000FC000000000078000000000 030000002E3C80B92F>56 D<000003FFFFF0000000007FFFFFFF00000001FFFFFFFFE000 000FFFFFFFFFF800003FC3F007FFFE00007803F0007FFF0001E007F0000FFF8003C007F0 0003FFC0078007F00000FFE00F8007F000007FE01F0007F000003FF03F0007F000001FF8 3E0007E000000FF87C0007E000000FF8780007E0000007FCC0000FE0000003FC00000FE0 000003FC00000FE0000003FC00000FC0000001FC00000FC0000001FC00000FC0000001FC 00001FC0000001FC00001F80000001FC00001F80000001FC00001F80000001FC00003F80 000001F800003F80000001F800003F00000001F800003F00000003F000003F00000003F0 00007F00000003F000007E00000007E000007E00000007E000007E00000007C00000FC00 00000FC00000FC0000000F800000FC0000001F000001F80000001F000001F80000003E00 0001F80000007C000003F000000078000003F0000000F0000003F0000001E0000007E000 0003C0000007E000000780000007E000000E0000000FC000003C0000000FC00000780000 000FC00001E00000001F800007C00000001F80003F000000001F0001FC000000003F003F F0000000007FFFFF8000000001FFFFFC0000000003FFFFE00000000007FFFC0000000000 3E397FB840>68 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fs cmbx12 12 60 /Fs 60 123 df<0000000FFF0003FF00000001FFFFC03FFFC000000FFFFFF1FFFFE00000 7FFFFFFFFFFFF00001FFF803FFFE1FF80003FF8003FFF81FFC000FFF0007FFF03FFC001F FE000FFFE03FFC003FFC000FFFE03FFC003FF8000FFFC03FFC007FF0000FFFC03FFC007F F0000FFFC01FF800FFF0000FFF801FF800FFE00007FF8007E000FFE00003FF80018000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF800000FFFFFFFFFFFFFFF000FFFF FFFFFFFFFFF000FFFFFFFFFFFFFFF000FFFFFFFFFFFFFFF000FFFFFFFFFFFFFFF00000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF80000000FFE00003FF80000000FFE00003FF80000000FF E00003FF80000000FFE00003FF8000007FFFFFC1FFFFFF80007FFFFFC1FFFFFF80007FFF FFC1FFFFFF80007FFFFFC1FFFFFF80007FFFFFC1FFFFFF800046467EC541>11 D<0000000FFF0000000001FFFFC00000000FFFFFF00000007FFFFFF8000001FFF803FC00 0003FFC000FE00000FFF0003FE00001FFE0007FF00003FFC000FFF00003FF8000FFF0000 7FF0000FFF00007FF0001FFF8000FFF0000FFF0000FFE0000FFF0000FFE0000FFF0000FF E0000FFF0000FFE00007FE0000FFE00001F80000FFE00000000000FFE00000000000FFE0 0000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE001 FFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFF FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF 8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF80 00FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000 FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FF E00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE0 0003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE000 03FF8000FFE00003FF8000FFE00003FF8000FFE00003FF807FFFFFC1FFFFFF7FFFFFC1FF FFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF38467EC53E>I 45 D<07C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C00F0F78 8E1F>I<00003FF800000001FFFF0000000FFFFFE000003FFFFFF800007FF01FFC0000FF C007FE0001FF0001FF0003FE0000FF8007FE0000FFC007FC00007FC00FFC00007FE00FF8 00003FE01FF800003FF01FF800003FF03FF800003FF83FF800003FF83FF000001FF87FF0 00001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFCFFF0 00001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF0 00001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF0 00001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF0 00001FFEFFF000001FFEFFF000001FFE7FF000001FFC7FF000001FFC7FF000001FFC7FF0 00001FFC7FF000001FFC3FF800003FF83FF800003FF83FF800003FF81FF800003FF01FF8 00003FF00FF800003FE00FFC00007FE007FC00007FC007FE0000FFC003FF0001FF8001FF 8003FF0000FFC007FE00007FF01FFC00003FFFFFF800000FFFFFE0000003FFFF80000000 3FF800002F427CC038>48 D<000003C000000007C00000001FC00000007FC0000003FFC0 00003FFFC000FFFFFFC000FFFFFFC000FFFFFFC000FFFFFFC000FFC3FFC0000003FFC000 0003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC00000 03FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003 FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FF C0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0 000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC000 0003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC00000 03FFC0000003FFC0000003FFC0000003FFC0000003FFC000FFFFFFFFFCFFFFFFFFFCFFFF FFFFFCFFFFFFFFFCFFFFFFFFFC264177C038>I<0000FFE00000000FFFFE0000003FFFFF 800000FFFFFFE00003FFFFFFF80007FC03FFFE000FE0007FFF001F80003FFF803F00000F FFC07F000007FFC07FC00007FFE07FF00003FFE0FFF00001FFF0FFF80001FFF0FFF80001 FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF87FF00000FFF83FE00000 FFF81FC00000FFF800000000FFF800000000FFF000000001FFF000000001FFF000000001 FFE000000003FFE000000003FFC000000007FF800000000FFF000000000FFF000000001F FC000000003FF8000000003FF0000000007FE000000000FFC000000001FF0000000003FE 0000000007FC000000000FF0000000001FE0000000003F80000000007F0000780000FE00 00780001FC0000780003F80000F80007E00000F0000FC00000F0001F800000F0003F0000 00F0007C000001F000F8000003F001FFFFFFFFF003FFFFFFFFE007FFFFFFFFE00FFFFFFF FFE01FFFFFFFFFE03FFFFFFFFFE07FFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFC0FFFFFFFF FFC0FFFFFFFFFFC0FFFFFFFFFFC02D417BC038>I<0000FFF000000007FFFF0000001FFF FFC000007FFFFFF00000FF007FF80003F8003FFE0007E0001FFF0007E0000FFF000FF800 07FF800FFE0007FF801FFE0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF00 07FFC01FFF0007FFC01FFF0007FFC00FFE0007FFC007FC0007FF8003F8000FFF80000000 0FFF000000001FFF000000001FFE000000003FFC000000007FF800000000FFF000000001 FFE00000000FFF80000007FFFE00000007FFF800000007FFFF00000007FFFFC000000000 FFF0000000003FFC000000000FFE000000000FFF8000000007FF8000000003FFC0000000 03FFE000000003FFE000000001FFF000000001FFF000000001FFF800000001FFF8000000 01FFF80FC00001FFF83FF00001FFF87FF80001FFF87FF80001FFF8FFFC0001FFF8FFFC00 01FFF8FFFC0001FFF0FFFC0001FFF0FFFC0003FFF0FFFC0003FFE07FF80003FFE07FF000 07FFC07FE00007FFC03F80000FFF801FF0001FFF000FFE00FFFE0007FFFFFFF80001FFFF FFF000007FFFFFC000001FFFFE00000001FFE000002D427BC038>I<000000003F000000 0000003F0000000000007F000000000000FF000000000001FF000000000003FF00000000 0003FF000000000007FF00000000000FFF00000000001FFF00000000003FFF0000000000 3FFF00000000007FFF0000000000FFFF0000000001F7FF0000000003E7FF0000000007E7 FF0000000007C7FF000000000F87FF000000001F07FF000000003E07FF000000007E07FF 000000007C07FF00000000F807FF00000001F007FF00000003E007FF00000007E007FF00 000007C007FF0000000F8007FF0000001F0007FF0000003E0007FF0000007C0007FF0000 007C0007FF000000F80007FF000001F00007FF000003E00007FF000007C00007FF00000F C00007FF00000F800007FF00001F000007FF00003E000007FF00007C000007FF0000FC00 0007FF0000FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFF FFFFFF800000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000F FF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF 00000000000FFF00000000000FFF000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF 8000007FFFFFFF8000007FFFFFFF8031417DC038>I<07000000030007E000003F0007FF 0007FF0007FFFFFFFF0007FFFFFFFE0007FFFFFFFC0007FFFFFFF80007FFFFFFF00007FF FFFFE00007FFFFFF800007FFFFFE000007FFFFFC000007FFFFE0000007FFFF00000007C0 0000000007C00000000007C00000000007C00000000007C00000000007C00000000007C0 0000000007C00000000007C00000000007C00000000007C03FF0000007C1FFFF000007C7 FFFFC00007DFFFFFF00007FFE03FFC0007FF000FFE0007FC0007FF0007F00003FF8007E0 0003FFC007C00001FFC003800001FFE000000001FFE000000000FFF000000000FFF00000 0000FFF000000000FFF800000000FFF800000000FFF800000000FFF80F800000FFF83FE0 0000FFF87FF00000FFF8FFF00000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF8 0000FFF0FFF00000FFF0FFF00001FFF07FE00001FFE07FC00001FFE07E000003FFC03E00 0003FFC03F000007FF801FC0000FFF000FF0001FFE0007FE00FFFC0003FFFFFFF00000FF FFFFE000003FFFFF8000000FFFFC00000001FFC000002D427BC038>I<000001FF800000 001FFFF00000007FFFFC000001FFFFFF000007FF807F80000FFC001F80003FF0001FC000 7FE0007FC000FFC000FFE001FF8001FFE003FF8001FFE003FF0001FFE007FE0001FFE00F FE0001FFE00FFE0001FFE01FFC0000FFC01FFC00007F801FFC00001E003FFC000000003F FC000000003FF8000000007FF8000000007FF8000000007FF807FC00007FF81FFF8000FF F87FFFE000FFF8FFFFF800FFF9F01FFC00FFFBC007FE00FFFF8003FF00FFFF8003FF80FF FF0001FFC0FFFE0001FFC0FFFE0000FFE0FFFE0000FFE0FFFC0000FFF0FFFC0000FFF0FF FC0000FFF0FFFC0000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF87F F80000FFF87FF80000FFF87FF80000FFF87FF80000FFF87FF80000FFF83FF80000FFF83F F80000FFF83FF80000FFF03FFC0000FFF01FFC0000FFF01FFC0000FFF00FFC0001FFE00F FC0001FFE007FE0001FFC007FF0003FF8003FF8003FF0001FFC007FE0000FFE01FFC0000 7FFFFFF800001FFFFFF0000007FFFFC0000001FFFF000000003FF000002D427BC038>I< 1E00000000001F00000000001FFC000000001FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE 1FFFFFFFFFFE3FFFFFFFFFFE3FFFFFFFFFFC3FFFFFFFFFF83FFFFFFFFFF03FFFFFFFFFE0 3FFFFFFFFFC03FFFFFFFFFC07FFFFFFFFF807E0000003F007C0000007E007C000000FC00 78000000F80078000001F80078000003F000F8000007E000F000000FC000F000000F8000 F000001F80000000003F00000000007E0000000000FC0000000000FC0000000001F80000 000003F80000000003F00000000007F0000000000FE0000000000FE0000000001FE00000 00001FC0000000003FC0000000003FC0000000007FC0000000007F8000000000FF800000 0000FF8000000001FF8000000001FF8000000001FF8000000003FF8000000003FF000000 0003FF0000000003FF0000000007FF0000000007FF0000000007FF0000000007FF000000 0007FF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000 000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000007FE000000 0003FC0000000001F80000002F447AC238>I<00007FF000000003FFFF0000000FFFFFC0 00003FFFFFF000007F801FFC0001FC0003FE0003F80001FF0003F00000FF0007E000007F 8007E000003F800FC000003FC00FC000003FC01FC000001FC01FC000001FC01FE000001F C01FE000001FC01FF000001FC01FF800001FC01FFE00003FC01FFF00003F801FFFC0007F 801FFFF0007F000FFFFC00FF000FFFFE01FE0007FFFF83FC0007FFFFE7F80003FFFFFFE0 0001FFFFFFC00000FFFFFF0000007FFFFFC000003FFFFFE000000FFFFFF800000FFFFFFC 00003FFFFFFE0000FFFFFFFF0001FF3FFFFF8007FC0FFFFFC00FF803FFFFE01FF000FFFF E01FE0007FFFF03FE0001FFFF07FC00007FFF07F800003FFF87F800000FFF8FF8000007F F8FF0000003FF8FF0000001FF8FF0000000FF8FF0000000FF8FF00000007F8FF00000007 F8FF00000007F8FF80000007F07F80000007F07F8000000FF07FC000000FE03FE000001F E03FF000003FC01FF800007F800FFE0001FF0007FFC00FFE0003FFFFFFFC0000FFFFFFF0 00003FFFFFC000000FFFFF00000000FFF000002D427BC038>I<00007FF000000007FFFE 0000001FFFFF8000007FFFFFE00000FFE03FF00001FF800FF80003FF0007FC0007FE0007 FE000FFC0003FF001FFC0001FF003FFC0001FF803FFC0001FF807FF80001FFC07FF80000 FFC07FF80000FFE07FF80000FFE0FFF80000FFE0FFF80000FFF0FFF80000FFF0FFF80000 FFF0FFF80000FFF0FFF80000FFF0FFF80000FFF0FFF80000FFF8FFF80000FFF8FFF80000 FFF8FFF80000FFF8FFF80001FFF87FF80001FFF87FF80001FFF87FF80001FFF83FF80003 FFF83FF80003FFF81FFC0003FFF81FFC0007FFF80FFE000FFFF807FE000FFFF803FF001E FFF801FFC07CFFF800FFFFF8FFF8003FFFF0FFF8000FFFC0FFF00001FF00FFF000000000 FFF000000000FFF000000000FFE000000001FFE000000001FFE003C00001FFE00FF00001 FFC01FF80001FFC03FFC0003FF803FFC0003FF803FFC0003FF003FFC0007FE003FFC000F FE003FFC000FFC003FF8001FF8001FF0003FF0001FC000FFE0000FF003FFC00007FFFFFF 800003FFFFFE000001FFFFF80000007FFFE000000007FE0000002D427BC038>I<07C01F F03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C0000000000000000000 0000000000000000000000000000000000000007C01FF03FF87FFCFFFEFFFEFFFEFFFEFF FEFFFEFFFE7FFC3FF81FF007C00F2C78AB1F>I<0007FFC000003FFFFC0001FFFFFF8003 FFFFFFE00FF800FFF01FC0003FF83F00001FFC7F00001FFE7FC0000FFEFFE0000FFFFFF0 000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFF7FE0001FFF3FC000 1FFE0F00001FFE0000003FFC0000007FF8000000FFF0000001FFE0000003FF80000003FF 00000007FC0000000FF80000000FF00000001FE00000001FC00000003F800000003F0000 00003F000000007E000000007C000000007C000000007C00000000780000000078000000 007800000000780000000078000000007800000000780000000078000000007800000000 780000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000F800000003FE00000007FF0000000FFF8000000FFF8000001FFFC0 00001FFFC000001FFFC000001FFFC000001FFFC000000FFF8000000FFF80000007FF0000 0003FE00000000F8000028467AC535>63 D<000000001F8000000000000000001F800000 0000000000003FC000000000000000003FC000000000000000007FE00000000000000000 7FE000000000000000007FE00000000000000000FFF00000000000000000FFF000000000 00000001FFF80000000000000001FFF80000000000000001FFF80000000000000003FFFC 0000000000000003FFFC0000000000000007FFFE0000000000000007FFFE000000000000 0007FFFE000000000000000FFFFF000000000000000F9FFF000000000000001F9FFF8000 00000000001F1FFF800000000000001F0FFF800000000000003F0FFFC00000000000003E 07FFC00000000000007E07FFE00000000000007C07FFE00000000000007C03FFE0000000 000000FC03FFF0000000000000F801FFF0000000000001F801FFF8000000000001F001FF F8000000000001F000FFF8000000000003F000FFFC000000000003E0007FFC0000000000 07E0007FFE000000000007C0007FFE000000000007C0003FFE00000000000FC0003FFF00 000000000F80001FFF00000000001F80001FFF80000000001F00000FFF80000000001F00 000FFF80000000003F00000FFFC0000000003E000007FFC0000000007E000007FFE00000 00007FFFFFFFFFE0000000007FFFFFFFFFE000000000FFFFFFFFFFF000000000FFFFFFFF FFF000000001FFFFFFFFFFF800000001F0000000FFF800000001F0000000FFF800000003 F0000000FFFC00000003E00000007FFC00000007E00000007FFE00000007C00000003FFE 00000007C00000003FFE0000000F800000003FFF0000000F800000001FFF0000001F8000 00001FFF8000001F000000000FFF8000003F000000000FFFC000003E000000000FFFC000 007E0000000007FFC000FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000F FFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF04C457CC455>65 DI<00000000FFF00000700000001FFFFF0000F0000001FFFFFFE001F000 0007FFFFFFF803F000003FFFFFFFFE07F00000FFFFE001FF0FF00001FFFE00003F9FF000 07FFF000000FFFF0000FFFC0000007FFF0001FFF00000003FFF0003FFE00000001FFF000 7FFC00000000FFF000FFF8000000007FF001FFF0000000003FF003FFE0000000001FF007 FFE0000000001FF007FFC0000000000FF00FFF80000000000FF00FFF800000000007F01F FF000000000007F01FFF000000000003F03FFF000000000003F03FFE000000000003F03F FE000000000003F07FFE000000000001F07FFE000000000001F07FFE000000000001F07F FC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FF FC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FF FC00000000000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FF FC00000000000000FFFC00000000000000FFFC000000000000007FFC000000000000007F FE000000000000007FFE000000000000F07FFE000000000000F03FFE000000000000F03F FE000000000000F03FFF000000000000F01FFF000000000001F01FFF000000000001E00F FF800000000001E00FFF800000000003E007FFC00000000003C007FFE00000000007C003 FFE00000000007C001FFF0000000000F8000FFF8000000001F00007FFC000000003F0000 3FFE000000007E00001FFF80000000FC00000FFFC0000001F8000007FFF0000007F00000 01FFFE00001FE0000000FFFFF001FF800000003FFFFFFFFF0000000007FFFFFFFC000000 0001FFFFFFF000000000001FFFFF80000000000000FFF800000044467AC451>II< FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800 FFFFFFFFFFFFFFFC00001FFF000001FFFC00001FFF0000003FFC00001FFF0000000FFC00 001FFF00000003FC00001FFF00000001FC00001FFF00000000FC00001FFF00000000FC00 001FFF000000007E00001FFF000000003E00001FFF000000003E00001FFF000000003E00 001FFF000000001E00001FFF000000001E00001FFF000078001E00001FFF000078001E00 001FFF000078000F00001FFF000078000F00001FFF000078000F00001FFF000078000F00 001FFF0000F8000000001FFF0000F8000000001FFF0000F8000000001FFF0001F8000000 001FFF0003F8000000001FFF001FF8000000001FFFFFFFF8000000001FFFFFFFF8000000 001FFFFFFFF8000000001FFFFFFFF8000000001FFFFFFFF8000000001FFF001FF8000000 001FFF0003F8000000001FFF0001F8000000001FFF0000F8000000001FFF0000F8000000 001FFF0000F80001E0001FFF0000780001E0001FFF0000780001E0001FFF0000780003C0 001FFF0000780003C0001FFF0000780003C0001FFF0000780003C0001FFF0000000003C0 001FFF0000000007C0001FFF0000000007C0001FFF000000000780001FFF000000000780 001FFF000000000F80001FFF000000000F80001FFF000000001F80001FFF000000001F80 001FFF000000003F80001FFF000000007F00001FFF00000000FF00001FFF00000001FF00 001FFF00000007FF00001FFF0000001FFF00001FFF000001FFFF00FFFFFFFFFFFFFFFF00 FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00 43447DC34A>II<00000000FFF0000070000000001FFFFF0000 F000000001FFFFFFE001F000000007FFFFFFF803F00000003FFFFFFFFE07F0000000FFFF E001FF0FF0000001FFFE00003F9FF0000007FFF000000FFFF000000FFFC0000007FFF000 001FFF00000003FFF000003FFE00000001FFF000007FFC00000000FFF00000FFF8000000 007FF00001FFF0000000003FF00003FFE0000000001FF00007FFE0000000001FF00007FF C0000000000FF0000FFF80000000000FF0000FFF800000000007F0001FFF000000000007 F0001FFF000000000003F0003FFF000000000003F0003FFE000000000003F0003FFE0000 00000003F0007FFE000000000001F0007FFE000000000001F0007FFE000000000001F000 7FFC0000000000000000FFFC0000000000000000FFFC0000000000000000FFFC00000000 00000000FFFC0000000000000000FFFC0000000000000000FFFC0000000000000000FFFC 0000000000000000FFFC0000000000000000FFFC0000000000000000FFFC000000000000 0000FFFC0000000000000000FFFC0000000000000000FFFC0000000000000000FFFC0000 007FFFFFFFF07FFC0000007FFFFFFFF07FFE0000007FFFFFFFF07FFE0000007FFFFFFFF0 7FFE0000007FFFFFFFF03FFE0000000001FFF0003FFE0000000001FFF0003FFF00000000 01FFF0001FFF0000000001FFF0001FFF0000000001FFF0000FFF8000000001FFF0000FFF 8000000001FFF00007FFC000000001FFF00007FFE000000001FFF00003FFE000000001FF F00001FFF000000001FFF00000FFF800000001FFF000007FFC00000001FFF000003FFE00 000003FFF000001FFF80000003FFF000000FFFC0000007FFF0000007FFF000000FFFF000 0001FFFE00003FFFF0000000FFFFF001FF9FF00000003FFFFFFFFF0FF000000007FFFFFF FC03F000000001FFFFFFF000F0000000001FFFFFC000300000000000FFFC000000004C46 7AC458>I73 D<0007FFFFFFFF0007FFFFFFFF0007FFFFFFFF0007FFFFFFFF0007FFFFFFFF0000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF000000001FFF 000000001FFF000000001FFF001FE0001FFF003FF0001FFF007FF8001FFF007FF8001FFF 00FFFC001FFF00FFFC001FFF00FFFC001FFF00FFFC001FFF00FFFC003FFE00FFFC003FFE 007FF8007FFC007FF0007FF8003FE000FFF8001FC001FFF0000FFC07FFC00007FFFFFF80 0003FFFFFE0000007FFFF80000000FFF80000030457DC33A>I 76 DII<000000 07FFC0000000000000FFFFFE000000000007FFFFFFC0000000001FFFFFFFF0000000007F FE00FFFC00000001FFF0001FFF00000007FF800003FFC000000FFF000001FFE000001FFC 0000007FF000003FF80000003FF800007FF00000001FFC0000FFF00000001FFE0001FFE0 0000000FFF0003FFC000000007FF8003FFC000000007FF8007FF8000000003FFC007FF80 00000003FFC00FFF0000000001FFE00FFF0000000001FFE01FFF0000000001FFF01FFE00 00000000FFF03FFE0000000000FFF83FFE0000000000FFF83FFE0000000000FFF87FFE00 00000000FFFC7FFC00000000007FFC7FFC00000000007FFC7FFC00000000007FFC7FFC00 000000007FFCFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00 000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00 000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00 000000007FFEFFFC00000000007FFE7FFC00000000007FFC7FFE0000000000FFFC7FFE00 00000000FFFC7FFE0000000000FFFC3FFE0000000000FFF83FFE0000000000FFF83FFF00 00000001FFF81FFF0000000001FFF01FFF0000000001FFF01FFF8000000003FFF00FFF80 00000003FFE00FFF8000000003FFE007FFC000000007FFC003FFC000000007FF8003FFE0 0000000FFF8001FFF00000001FFF0000FFF80000003FFE00007FFC0000007FFC00003FFE 000000FFF800001FFF000001FFF000000FFFC00007FFE0000007FFF0001FFFC0000001FF FE00FFFF00000000FFFFFFFFFE000000003FFFFFFFF80000000007FFFFFFC00000000000 FFFFFE00000000000007FFC000000047467AC454>II82 D<0000FFE0001C000007FFFE003C00003FFFFF807C0000FFFFFFE0FC0001 FFFFFFF9FC0003FF801FFFFC0007FC0001FFFC000FF800007FFC001FF000003FFC003FE0 00000FFC003FC0000007FC007FC0000003FC007F80000003FC007F80000001FC007F8000 0000FC00FF80000000FC00FF800000007C00FF800000007C00FFC00000007C00FFC00000 007C00FFE00000003C00FFF00000003C00FFF80000003C00FFFC00000000007FFE000000 00007FFFE0000000007FFFFE000000003FFFFFF00000003FFFFFFF0000001FFFFFFFE000 001FFFFFFFFC00000FFFFFFFFE000007FFFFFFFF800003FFFFFFFFC00001FFFFFFFFE000 007FFFFFFFF000001FFFFFFFF8000007FFFFFFFC000000FFFFFFFC0000000FFFFFFE0000 0000FFFFFE0000000007FFFF00000000007FFF00000000003FFF00000000000FFF800000 000007FF800000000003FF80F000000003FF80F000000001FF80F000000001FF80F00000 0000FF80F000000000FF80F800000000FF80F800000000FF80F800000000FF00FC000000 00FF00FC00000000FF00FE00000001FF00FF00000001FE00FF80000003FE00FFC0000003 FC00FFE0000007FC00FFF800000FF800FFFF00003FF000FFFFF800FFE000FE7FFFFFFFC0 00FC1FFFFFFF0000F807FFFFFC0000F000FFFFF00000E00007FF80000031467AC43E>I< 3FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE0 3FFFFFFFFFFFFFFFE03FFE000FFF8003FFE07FE0000FFF80003FF07FC0000FFF80001FF0 7F00000FFF800007F07F00000FFF800007F07E00000FFF800003F07C00000FFF800001F0 7C00000FFF800001F07C00000FFF800001F07800000FFF800000F07800000FFF800000F0 7800000FFF800000F07800000FFF800000F0F800000FFF800000F8F000000FFF80000078 F000000FFF80000078F000000FFF80000078F000000FFF80000078F000000FFF80000078 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000000000FFF800000000000000FFF80000000 0000000FFF800000000000000FFF800000000007FFFFFFFFFF00000007FFFFFFFFFF0000 0007FFFFFFFFFF00000007FFFFFFFFFF00000007FFFFFFFFFF000045437CC24E>II87 D<0001FFE0000000001FFFFE000000007FFFFF80000001FF FFFFE0000003FE007FF8000007FC001FFC000007FE000FFE00000FFF0007FF00000FFF00 07FF00000FFF0003FF80000FFF0003FF80000FFF0003FF80000FFF0001FFC00007FE0001 FFC00003FC0001FFC00000F00001FFC00000000001FFC00000000001FFC00000000001FF C00000000001FFC000000003FFFFC0000000FFFFFFC0000007FFFFFFC000003FFFF1FFC0 0000FFFC01FFC00003FFE001FFC0000FFF8001FFC0001FFE0001FFC0003FFC0001FFC000 3FF80001FFC0007FF80001FFC0007FF00001FFC000FFF00001FFC000FFE00001FFC000FF E00001FFC000FFE00001FFC000FFE00003FFC000FFE00003FFC000FFF00007FFC0007FF8 000FFFC0007FF8001FFFF0003FFE003EFFFFC01FFF80FC7FFFC007FFFFF87FFFC003FFFF E01FFFC0007FFF8007FFC0000FFC00000000322F7DAD36>97 D<007FC000000000FFFFC0 00000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC00000000003FFC000 00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000 01FFC00000000001FFC00000000001FFC00FF8000001FFC0FFFF800001FFC3FFFFE00001 FFCFFFFFF80001FFDFC03FFC0001FFFF000FFE0001FFFC0003FF0001FFF80001FF8001FF F00001FFC001FFE00000FFE001FFC00000FFE001FFC000007FF001FFC000007FF001FFC0 00007FF801FFC000003FF801FFC000003FF801FFC000003FF801FFC000003FFC01FFC000 003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC00000 3FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003F FC01FFC000003FF801FFC000003FF801FFC000007FF801FFC000007FF001FFC000007FF0 01FFC000007FF001FFC00000FFE001FFE00000FFC001FFF00001FFC001FFF80003FF8001 FF7C0007FF0001FE3E000FFE0001FC1FC07FFC0001F80FFFFFF00001F003FFFFC00001E0 00FFFF00000000001FF0000036467DC43E>I<00003FFC00000001FFFFC000000FFFFFF0 00003FFFFFFC00007FF003FE0000FFC001FF0003FF8003FF0007FF0007FF8007FE0007FF 800FFE0007FF801FFC0007FF801FFC0007FF803FF80007FF803FF80003FF007FF80001FE 007FF8000078007FF0000000007FF000000000FFF000000000FFF000000000FFF0000000 00FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000 00FFF000000000FFF000000000FFF0000000007FF8000000007FF8000000007FF8000000 003FF8000000003FFC000003C03FFC000003C01FFE000007C00FFE000007800FFF00000F 8007FF80001F0003FFC0003E0001FFF0007C00007FFC03F800003FFFFFF000000FFFFFC0 000003FFFF000000003FF800002A2F7CAD32>I<0000000003FE0000000007FFFE000000 0007FFFE0000000007FFFE0000000007FFFE0000000007FFFE00000000001FFE00000000 000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000000000 0FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000F FE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE 00000000000FFE0000003FE00FFE000003FFFC0FFE00000FFFFF8FFE00003FFFFFCFFE00 00FFF807FFFE0001FFC001FFFE0003FF80007FFE0007FF00003FFE000FFE00001FFE000F FC00000FFE001FFC00000FFE003FF800000FFE003FF800000FFE003FF800000FFE007FF8 00000FFE007FF000000FFE007FF000000FFE00FFF000000FFE00FFF000000FFE00FFF000 000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF00000 0FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE007FF000000F FE007FF000000FFE007FF000000FFE007FF800000FFE003FF800000FFE003FF800000FFE 001FFC00001FFE001FFC00001FFE000FFE00003FFE0007FE00007FFE0003FF0000FFFF00 01FFC003FFFFFC00FFF01FEFFFFC007FFFFF8FFFFC001FFFFE0FFFFC0007FFF80FFFFC00 007FC00FF80036467CC43E>I<00003FF800000003FFFF8000000FFFFFE000003FFFFFF0 00007FF83FF80000FFC007FC0001FF8003FE0003FF0001FF0007FE0000FF800FFC0000FF 801FFC00007FC01FF800007FC03FF800003FE03FF800003FE07FF800003FE07FF000003F E07FF000003FF07FF000001FF0FFF000001FF0FFF000001FF0FFFFFFFFFFF0FFFFFFFFFF F0FFFFFFFFFFF0FFFFFFFFFFF0FFF000000000FFF000000000FFF000000000FFF0000000 00FFF0000000007FF0000000007FF0000000007FF8000000007FF8000000003FF8000000 003FF8000000F01FFC000000F01FFC000001F00FFE000001E007FF000003E003FF800007 C001FFC0000F8000FFF0003F00007FFE01FE00001FFFFFFC000007FFFFF0000001FFFFC0 0000001FFE00002C2F7DAD33>I<000000FF8000000FFFE000007FFFF00001FFFFF80003 FF8FFC000FFE0FFE001FFC1FFE001FF81FFE003FF81FFE007FF01FFE007FF01FFE007FF0 0FFC00FFE00FFC00FFE003F000FFE000C000FFE0000000FFE0000000FFE0000000FFE000 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000 FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF800FFFFFFF80000FFE0000000FFE0000000 FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0 000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000 00FFE0000000FFE0000000FFE000007FFFFFE0007FFFFFE0007FFFFFE0007FFFFFE0007F FFFFE00027467DC522>I<0000FFE0007E00000FFFFE03FF80003FFFFF8FFF8000FFFFFF FFFFC001FFC07FFF3FC003FF001FF83FC007FE000FFC3FC00FFC0007FE1F801FFC0007FF 0F001FF80003FF00001FF80003FF00003FF80003FF80003FF80003FF80003FF80003FF80 003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8000 1FF80003FF00001FF80003FF00001FFC0007FF00000FFC0007FE000007FE000FFC000003 FF001FF8000001FFC07FF0000003FFFFFFE0000003FFFFFF800000078FFFFE0000000780 FFE00000000F8000000000000F8000000000000F8000000000000F8000000000000FC000 000000000FE000000000000FF000000000000FFFFFFFC000000FFFFFFFFC000007FFFFFF FF800007FFFFFFFFE00003FFFFFFFFF00001FFFFFFFFFC0000FFFFFFFFFC0003FFFFFFFF FE000FFFFFFFFFFF001FF000007FFF003FC0000007FF007F80000001FF807F80000000FF 80FF00000000FF80FF000000007F80FF000000007F80FF000000007F80FF000000007F80 FF80000000FF807F80000000FF007FC0000001FF003FE0000003FE001FF0000007FC000F FE00003FF80007FFC001FFF00001FFFFFFFFC000007FFFFFFF0000000FFFFFF800000000 7FFF00000032427DAC38>I<007FC000000000FFFFC000000000FFFFC000000000FFFFC0 00000000FFFFC000000000FFFFC00000000003FFC00000000001FFC00000000001FFC000 00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000 0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000 01FFC007FE000001FFC03FFF800001FFC0FFFFE00001FFC1FFFFF80001FFC7F03FFC0001 FFCF801FFC0001FFDF000FFE0001FFDE000FFE0001FFFC000FFE0001FFF80007FF0001FF F00007FF0001FFF00007FF0001FFE00007FF0001FFE00007FF0001FFE00007FF0001FFC0 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007 FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF 0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00 01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00FFFFFF83FFFFFEFF FFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFE37457CC43E>I<007C 0001FF0003FF8007FFC007FFC00FFFE00FFFE00FFFE00FFFE00FFFE007FFC007FFC003FF 8001FF00007C000000000000000000000000000000000000000000000000000000000000 00007FC07FFFC07FFFC07FFFC07FFFC07FFFC003FFC001FFC001FFC001FFC001FFC001FF C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF C001FFC001FFC001FFC001FFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18467CC520>I<00 0003E000000FF800001FFC00003FFE00003FFE00007FFF00007FFF00007FFF00007FFF00 007FFF00003FFE00003FFE00001FFC00000FF8000003E000000000000000000000000000 000000000000000000000000000000000000000000000000000000000001FF0003FFFF00 03FFFF0003FFFF0003FFFF0003FFFF00000FFF000007FF000007FF000007FF000007FF00 0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00 0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00 0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00 0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00 0007FF000007FF000007FF1F8007FF3FC007FF7FE007FFFFF007FFFFF00FFEFFF00FFEFF F00FFCFFF01FFCFFE01FF87FE03FF03FC0FFE01FFFFF800FFFFF0003FFFC0000FFC00020 5A86C522>I<007FC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFF C000000000FFFFC00000000003FFC00000000001FFC00000000001FFC00000000001FFC0 0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000 00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000 000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000 0001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE0 01FFC0000FE00001FFC0001FC00001FFC0003F000001FFC0007E000001FFC000FC000001 FFC003F8000001FFC007E0000001FFC00FC0000001FFC01F80000001FFC07F00000001FF C0FE00000001FFC1FC00000001FFC3FE00000001FFC7FE00000001FFDFFF00000001FFFF FF80000001FFFFFFC0000001FFFFFFC0000001FFF9FFE0000001FFE1FFF0000001FFC0FF F8000001FF807FF8000001FF803FFC000001FF803FFE000001FF801FFF000001FF800FFF 000001FF8007FF800001FF8007FFC00001FF8003FFE00001FF8001FFE00001FF8000FFF0 0001FF8000FFF80001FF80007FFC0001FF80003FFC00FFFFFF03FFFFF8FFFFFF03FFFFF8 FFFFFF03FFFFF8FFFFFF03FFFFF8FFFFFF03FFFFF835457DC43B>I<007FC000FFFFC000 FFFFC000FFFFC000FFFFC000FFFFC00003FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80 FFFFFF80FFFFFF80FFFFFF80FFFFFF8019457CC420>I<007F8007FE00000FFC0000FFFF 803FFFC0007FFF8000FFFF80FFFFF001FFFFE000FFFF81FFFFF803FFFFF000FFFF87F01F FC0FE03FF800FFFF8FC00FFE1F801FFC0003FF9F000FFF3E001FFE0001FF9E0007FF3C00 0FFE0001FFBC0007FF78000FFE0001FFF80003FFF00007FF0001FFF80003FFF00007FF00 01FFF00003FFE00007FF0001FFE00003FFC00007FF0001FFE00003FFC00007FF0001FFE0 0003FFC00007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF 800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007 FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001 FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC000 03FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF80 0007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF 0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FF C00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF00FFFFFF81FF FFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03 FFFFFEFFFFFF81FFFFFF03FFFFFE572D7CAC5E>I<007F8007FE0000FFFF803FFF8000FF FF80FFFFE000FFFF81FFFFF800FFFF87F03FFC00FFFF8F801FFC0003FF9F000FFE0001FF 9E000FFE0001FFBC000FFE0001FFF80007FF0001FFF00007FF0001FFF00007FF0001FFE0 0007FF0001FFE00007FF0001FFE00007FF0001FFC00007FF0001FFC00007FF0001FFC000 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007 FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF 0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00 01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001 FFC00007FF0001FFC00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFF FF83FFFFFEFFFFFF83FFFFFE372D7CAC3E>I<00001FFC0000000001FFFFC000000007FF FFF00000001FFFFFFC0000007FF80FFF000000FFC001FF800001FF8000FFC00003FE0000 3FE00007FE00003FF0000FFC00001FF8000FF800000FF8001FF800000FFC001FF800000F FC003FF800000FFE003FF0000007FE007FF0000007FF007FF0000007FF007FF0000007FF 007FF0000007FF00FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80 FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FF F0000007FF807FF0000007FF007FF0000007FF007FF0000007FF007FF0000007FF003FF8 00000FFE003FF800000FFE001FF800000FFC001FFC00001FFC000FFC00001FF80007FE00 003FF00007FE00003FF00003FF8000FFE00001FFC001FFC000007FF80FFF0000003FFFFF FE0000000FFFFFF800000001FFFFC0000000001FFC000000312F7DAD38>I<007FC00FF8 0000FFFFC0FFFF8000FFFFC3FFFFE000FFFFCFFFFFF800FFFFDFC03FFC00FFFFFF001FFE 0003FFFC0007FF0001FFF80003FF8001FFF00003FFC001FFE00001FFE001FFC00001FFE0 01FFC00000FFF001FFC00000FFF001FFC000007FF801FFC000007FF801FFC000007FF801 FFC000007FF801FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FF C000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC0 00003FFC01FFC000003FFC01FFC000003FFC01FFC000007FF801FFC000007FF801FFC000 007FF801FFC000007FF001FFC00000FFF001FFC00000FFF001FFC00001FFE001FFE00001 FFC001FFF00003FFC001FFF80007FF8001FFFC000FFF0001FFFE001FFE0001FFDFC07FFC 0001FFCFFFFFF00001FFC3FFFFC00001FFC0FFFF000001FFC01FF0000001FFC000000000 01FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001 FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FF C00000000001FFC000000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF 80000000FFFFFF8000000036407DAC3E>I<007F807F00FFFF81FFE0FFFF83FFF0FFFF8F FFF8FFFF8F8FFCFFFF9F1FFE03FFBE1FFE01FFBC1FFE01FFF81FFE01FFF81FFE01FFF01F FE01FFF00FFC01FFE007F801FFE001E001FFE0000001FFE0000001FFE0000001FFC00000 01FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001 FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FF C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0 0000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000FFFFFFE000272D7DAC2E>114 D<001FFC038000FFFF878003FFFFFF800FFFFFFF801FF003FF803FC000FF803F80003F80 7F00001F807E00001F80FE00000F80FE00000F80FE00000780FF00000780FF00000780FF 80000780FFE0000000FFFE0000007FFFF000007FFFFF00003FFFFFC0003FFFFFF0001FFF FFFC000FFFFFFE0003FFFFFF0001FFFFFF80007FFFFF80000FFFFFC000003FFFC0000003 FFE0000000FFE0F000003FE0F000003FE0F800001FE0F800000FE0F800000FE0FC00000F E0FC00000FE0FE00000FC0FF00001FC0FF00001FC0FF80003F80FFE0007F00FFF803FE00 FFFFFFFC00FCFFFFF800F03FFFE000E007FE0000232F7CAD2C>I<0001E000000001E000 000001E000000001E000000001E000000003E000000003E000000003E000000003E00000 0007E000000007E00000000FE00000000FE00000001FE00000001FE00000003FE0000000 7FE0000000FFE0000003FFE000000FFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFF FFFF8000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0 000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000 0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000 00FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000 FFE001E000FFE001E000FFE003E000FFF003C0007FF003C0007FF007C0003FF80F80001F FC1F00000FFFFF000007FFFC000001FFF80000003FE00023407EBE2C>I<007FC00001FF 00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF00 03FFC0000FFF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001 FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0 0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000 07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007 FF0001FFC00007FF0001FFC0000FFF0001FFC0000FFF0001FFC0001FFF0001FFC0001FFF 0001FFC0003FFF0000FFC0003FFF0000FFE0007FFF80007FE001F7FFFE007FF807E7FFFE 003FFFFFC7FFFE000FFFFF07FFFE0003FFFE07FFFE00007FF007FC00372E7CAC3E>IIIII<1FFFFFFFFF801FFFFFFFFF801FFFFFFFFF 801FFFFFFFFF801FFC001FFF001FE0003FFE001FC0003FFE001F80007FFC001F0000FFF8 003F0001FFF0003E0001FFF0003E0003FFE0003E0007FFC0003C000FFF80003C000FFF80 003C001FFF00003C003FFE00003C007FFC000000007FFC00000000FFF800000001FFF000 000003FFE000000003FFE000000007FFC00000000FFF800780001FFF000780001FFF0007 80003FFE000780007FFC000F8000FFF8000F0000FFF8000F0001FFF0000F0003FFE0001F 0007FFC0001F0007FFC0001F000FFF80003F001FFF00007F003FFE0000FF003FFE0003FF 007FFC001FFE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00FFFFFFFFFE00292C7DAB32 >I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ft cmr8 8 13 /Ft 13 56 df0 D<00000060000000000000F000 0000000000F0000000000001F8000000000003FC000000000003FC000000000007FE0000 00000006FE00000000000E7F00000000000C7F00000000001C3F8000000000183F800000 0000301FC000000000300FC000000000600FE0000000006007E000000000C007F0000000 00C003F0000000018003F8000000018001F8000000030001FC000000070000FE00000006 0000FE0000000E00007F0000000C00007F0000001C00003F8000001800003F8000003800 001FC000003000001FC000006000000FE0000060000007E00000C0000007F00000C00000 03F0000180000003F8000180000001F8000300000001FC000700000000FE000600000000 FE000E000000007F000C000000007F001C000000003F8018000000003F803FFFFFFFFFFF C03FFFFFFFFFFFC07FFFFFFFFFFFE07FFFFFFFFFFFE0FFFFFFFFFFFFF0342F7DAE3B>I< 00030007000E001C0038007000F001E001C003C0078007800F000F001E001E001E003C00 3C003C003C0078007800780078007800F800F800F000F000F000F000F000F000F000F000 F000F000F000F800F800780078007800780078003C003C003C003C001E001E001E000F00 0F000780078003C001C001E000F000700038001C000E0007000310437AB11B>40 DI<0000 038000000000038000000000038000000000038000000000038000000000038000000000 038000000000038000000000038000000000038000000000038000000000038000000000 038000000000038000000000038000000000038000000000038000000000038000000000 03800000000003800000000003800000000003800000FFFFFFFFFFFCFFFFFFFFFFFCFFFF FFFFFFFC0000038000000000038000000000038000000000038000000000038000000000 038000000000038000000000038000000000038000000000038000000000038000000000 038000000000038000000000038000000000038000000000038000000000038000000000 038000000000038000000000038000000000038000000000038000002E2F7CA737>43 D<003FC00000FFF00003E07C0007C03E000F801F000F000F001E0007801E0007803E0007 C03E0007C07C0003E07C0003E07C0003E07C0003E07C0003E0FC0003F0FC0003F0FC0003 F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003F0FC0003 F0FC0003F0FC0003F0FC0003F0FC0003F07C0003E07C0003E07C0003E07E0007E03E0007 C03E0007C03E0007C01F000F800F000F000F801F0007C03E0003F0FC0000FFF000003FC0 001C2D7DAB23>48 D<000C00003C00007C0003FC00FFFC00FC7C00007C00007C00007C00 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00 007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00 007C00007C00007C00007C00007C00007C00007C00007C0000FE007FFFFE7FFFFE172C7A AB23>I<007F800001FFF0000780FC000E003F001C001F8038000FC070000FC0600007E0 F00007E0FC0007F0FE0007F0FE0003F0FE0003F0FE0003F07C0007F0000007F0000007F0 000007E000000FE000000FC000001FC000001F8000003F0000007E0000007C000000F800 0001F0000003E0000007C000000F8000001E0000003C00000078000000F0003000E00030 01C0003003800060070000600E0000E01FFFFFE03FFFFFE07FFFFFC0FFFFFFC0FFFFFFC0 1C2C7DAB23>I<003FC00001FFF00007C0FC000E007E001C003F001C001F803F001FC03F 001FC03F800FC03F000FC03F000FC00C001FC000001FC000001F8000001F8000003F0000 003E0000007C000000F8000003F00000FFC00000FFF0000000FC0000003F0000001F8000 001FC000000FC000000FE000000FE0000007F0000007F0380007F07C0007F0FE0007F0FE 0007F0FE0007F0FE000FE0F8000FE060000FC070001FC038001F801E003F000780FC0001 FFF000007FC0001C2D7DAB23>I<00000E0000000E0000001E0000003E0000003E000000 7E000000FE000000FE000001BE000003BE0000033E0000063E00000E3E00000C3E000018 3E0000383E0000303E0000603E0000E03E0000C03E0001803E0003803E0003003E000600 3E000E003E000C003E0018003E0038003E0030003E0060003E00E0003E00FFFFFFFCFFFF FFFC00003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E000000 3E0000007F00001FFFFC001FFFFC1E2D7EAC23>I<0C0001800FC01F800FFFFF000FFFFE 000FFFFC000FFFF0000FFFC0000C7E00000C0000000C0000000C0000000C0000000C0000 000C0000000C0000000C0000000C1FC0000C7FF8000DE07C000F801F000F001F800E000F 800C0007C0000007E0000007E0000003E0000003F0000003F0000003F0000003F0780003 F0FC0003F0FC0003F0FC0003F0FC0003F0F80007E0E00007E0600007C070000FC038000F 801C001F000E003E000780F80001FFE000007F80001C2D7DAB23>I<0003F800000FFE00 003E078000F8018001F007C003E00FC007C00FC00F800FC00F800FC01F0007801F000000 3E0000003E0000007E0000007E0000007C0000007C0FC000FC3FF000FCF07C00FDC01E00 FF800F00FF000F80FF0007C0FE0007E0FE0007E0FE0003E0FC0003F0FC0003F0FC0003F0 FC0003F07C0003F07C0003F07C0003F07E0003F07E0003F03E0003E03E0007E01E0007E0 1F0007C00F000F8007801F0003C03E0001E07C00007FF000001FC0001C2D7DAB23>I<30 0000003C0000003FFFFFF83FFFFFF83FFFFFF07FFFFFF07FFFFFE0700001C06000018060 000380C0000700C0000E00C0000C0000001C000000380000003000000070000000E00000 01C0000001C00000038000000380000007000000070000000F0000000E0000001E000000 1E0000003E0000003E0000003E0000003C0000007C0000007C0000007C0000007C000000 FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000 7800001D2E7CAC23>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fu cmsy10 14.4 1 /Fu 1 77 df<00000000000000FF00000000000000000FFFC0000000000000007FFFE000 000000000001FFFFF000000000000007FFFFF00000000000000FFFFFF80000000000003F FFFFF8000000000000FFFFFFFC000000000001FC07FFFC000000000003F801FFFC000000 000007F000FFFC00000000000FE0007FFC00000000001FE0007FFC00000000003FC0003F FC00000000007F80003FFC0000000000FF80003FFC0000000000FF00003FFC0000000001 FE00003FF80000000003FE00003FF00000000003FC00003FE00000000007FC00003FC000 0000000FF800003F00000000000FF800003C00000000001FF000000000000000001FF000 000000000000003FF000000000000000003FE000000000000000007FE000000000000000 007FC00000000000000000FFC00000000000000000FFC00000000000000000FF80000000 0000000001FF800000000000000001FF800000000000000003FF000000000000000003FF 000000000000000003FF000000000000000007FF000000000000000007FE000000000000 000007FE00000000000000000FFE00000000000000000FFC00000000000000000FFC0000 0000000000000FFC00000000000000001FFC00000000000000001FF80000000000000000 1FF800000000000000003FF800000000000000003FF800000000000000003FF000000000 000000003FF000000000000000007FF000000000000000007FF000000000000000007FE0 00000000000000007FE00000000000000000FFE00000000000000000FFC0000000000000 0000FFC00000000000000000FFC00000000000000001FF800000000000000001FF800000 000000000001FF800000000000000003FF000000000000000003FF000000000000000003 FE000000000000000007FE000000000000000007FE000000000000000007FC0000000000 0000000FFC000000000003C0000FF800000000000FC0001FF000000000003FC0001FF000 000000007F80001FE00000000000FF80003FFFF800000001FF00007FFFFFC0000003FF00 007FFFFFFC000003FE0000FFFFFFFF800003FC0000FFFFFFFFF00007F80001FFFFFFFFFF 0007F00003FFFFFFFFFFF80FE00003FFFFFFFFFFFFFFC00007F03FFFFFFFFFFF80000FE0 01FFFFFFFFFE00001FC0001FFFFFFFFC00003F800003FFFFFFF000007F0000007FFFFFC0 00007C00000007FFFE000000E0000000003FF00000004A587DD452>76 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fv cmti10 10.95 60 /Fv 60 123 df<0000000007FF80000000003FFFE000000000FE00F800000001F0003E00 000007E0000E0000000FC0001F0000000F80007F0000001F8000FF0000003F0000FF0000 003F0000FF0000003F0000FE0000007E0000FE0000007E0000780000007E000000000000 FE000000000000FC000000000000FC000000000000FC000000000001FC000000000001FC 000000000001F8000000000001F8000000000001F8000000000001F8000000000003F800 00000003FFFFFFFFF00003FFFFFFFFF00003FFFFFFFFE0000003F00007E0000007F0000F E0000007E0000FC0000007E0000FC0000007E0000FC0000007E0001FC000000FE0001F80 00000FC0001F8000000FC0001F8000000FC0003F8000000FC0003F0000001FC0003F0000 001F80003F0000001F80007F0000001F80007E0000001F80007E0000003F80007E000000 3F0000FE0000003F0000FC0000003F0000FC0000003F0000FC0000007F0001FC0000007E 0001F81C00007E0001F81C00007E0001F81C00007E0003F81C0000FE0003F03C0000FC00 03F0380000FC0003F0380000FC0003F0780000FC0003F0700001FC0003F0700001F80001 F0F00001F80001F0E00001F80000F1C00001F800007F800003F000001F000003F0000000 000003F0000000000003F0000000000003E0000000000007E0000000000007E000000000 1E07C0000000007F07C0000000007F0FC000000000FF0F8000000000FF0F8000000000FF 1F0000000000FE1F0000000000F81E0000000000703C0000000000787800000000001FF0 000000000007C00000000000385383BF33>12 D<01E007F80FF80FFC1FFC1FFC1FFC1FFC 0FFC03D800180018003800300070006000E000C001C00380030007000E001C0038007000 E000C0000E1C6DBE1C>39 D<000000018000000007800000000F000000001C0000000038 000000007000000000E000000001E000000003C000000007800000000F000000001E0000 00003E000000007C000000007800000000F000000001F000000003E000000003E0000000 07C000000007800000000F800000001F000000001F000000003E000000003E000000007C 000000007C00000000FC00000000F800000001F800000001F000000001F000000003F000 000003E000000007E000000007E000000007C00000000FC00000000FC00000000F800000 000F800000001F800000001F800000001F000000001F000000003F000000003F00000000 3E000000003E000000007E000000007E000000007C000000007C000000007C000000007C 000000007C000000007C00000000F800000000F800000000F800000000F800000000F800 000000F800000000F800000000F800000000F800000000F800000000F800000000780000 0000780000000078000000007800000000780000000078000000003C000000003C000000 003C000000003C000000001E000000001E000000000E000000000F000000000700000000 07000000000380000000038000000001C000000000E00000000060000000215A73C325> I<000003000000038000000380000001C0000000E0000000E00000007000000070000000 78000000380000003C0000003C0000003C0000001E0000001E0000001E0000001E000000 1F0000001F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 1F0000001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F000000 3F0000003F0000003E0000003E0000003E0000007E0000007E0000007C0000007C000000 FC000000FC000000F8000000F8000001F8000001F8000001F0000001F0000003F0000003 E0000003E0000007E0000007C0000007C000000F8000000F8000001F8000001F0000003F 0000003E0000003E0000007C0000007C000000F8000000F8000001F0000001E0000003E0 000007C00000078000000F8000001F0000001E0000003C0000007C000000F8000000F000 0001E0000003C00000078000000F0000001E0000003C00000070000000E0000000C00000 00205A7FC325>I<01E007F80FF80FF81FFC1FFC1FFC1FFC0FF807980018003800300030 0070006000E000C001C00380070006000E001C0038007000E000C0000E1C7A891C>44 D<7FFFFE7FFFFE7FFFFEFFFFFEFFFFFE1705799521>I<0F003FC07FC07FC0FFC0FFC0FF C0FF807F003C000A0A77891C>I<000000FE00000007FF8000001F07C000007C01F00000 F000F00001E000F80003C000780007C0007C000F80007C001F00007C001F00007E003E00 007E007E00007E007E00007E00FC00007E00FC00007E01F800007E01F800007E03F80000 FE03F80000FE03F00000FE07F00000FC07F00000FC07E00001FC0FE00001FC0FE00001FC 0FE00001FC1FC00003F81FC00003F81FC00003F81FC00003F83F800007F03F800007F03F 800007F03F800007F07F00000FE07F00000FE07F00000FE07F00000FC07E00001FC0FE00 001FC0FE00001F80FE00003F80FE00003F80FC00003F00FC00003F00FC00007E00FC0000 7E00FC0000FC00FC0000FC00FC0000F800F80001F800F80001F000FC0003E0007C0003E0 007C0007C0007C000F80003E001F00003E003E00001F007C00000FC1F0000003FFC00000 00FE000000273F76BC2E>48 D<00000003000000070000000F0000001F0000001E000000 3E0000007E000001FE000003FC000007FC00001FFC0001FFFC000FFBF8001FC3F8000E07 F8000007F8000007F0000007F000000FF000000FF000000FE000000FE000001FE000001F E000001FC000001FC000003FC000003FC000003F8000003F8000007F8000007F8000007F 0000007F000000FF000000FF000000FE000000FE000001FE000001FE000001FC000001FC 000003FC000003FC000003F8000003F8000007F8000007F8000007F0000007F000000FF0 00000FF000000FE000000FE000001FE000001FE000001FC000007FE000FFFFFFF0FFFFFF F0FFFFFFE0203D77BC2E>I<000000FE0000000003FFC00000000F01F00000003C00F800 000078007C000000F0003E000001E0003F000003C0001F00000380001F80000700001F80 000F00001F80000E0C001F80001E0C001FC0001C0E001FC0003C06001FC0003806001FC0 007806001FC0007006001FC000700E003FC000F00C003F8000E00C003F8000E01C003F80 00E018007F8001E018007F0001C038007F0001C07000FE0001C06001FE0001C0E001FC00 00E3C003F80000FF0007F000003C000FE0000000001FC0000000001F80000000007F0000 000000FC0000000001F80000000003F0000000000FC0000000001F00000000007E000000 0000F80000000003E00000000007C0000000001F00000000003E00000000007C00001800 00F000003C0001E00000380003C00000380003C0000078000780000078000F000000F000 0E000000F0001E000001E0003FE00003E0003FFF0007C0007C3FF01FC000780FFFFF8000 7003FFFF0000F001FFFE0000E0007FFC0000E0003FF80000E00007C000002A3F79BC2E> I<0000007F8000000003FFE00000000F80F80000003C007C000000F8003E000001E0001F 000003C0001F80000780000F80000F00000F80000E00000FC0001E00000FC0001C18000F C0003C1C000FC000380C000FC000780C001FC000780C001F8000700C001F8000700C001F 8000701C003F80003838003F00003870007F00001FE0007E00000F8000FC0000000000FC 0000000001F80000000003F00000000007E0000000001F8000000000FF00000000FFFC00 000000FFF000000000FFF00000000000FC00000000003E00000000003F00000000001F00 000000001F80000000000F80000000000FC0000000000FC0000000000FC0000000000FC0 000000001FC0000000001FC0001E00001FC0007F00001FC0007F00003FC000FF00003F80 00FF00003F8000FF00003F8000FE00007F0000F800007F0000E00000FE0000E00000FC00 00E00001FC0000F00003F80000700007F0000078000FC0000038001F8000001C007E0000 000F01F800000003FFE000000000FF000000002A3F78BC2E>I<0000000038000000007E 00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F800 000001F800000003F800000003F000000003F000000007F000000007E000000007E00000 000FC00000000FC00000000FC00000001F800000001F800000001F000000003F00000000 3F000000007E000000007E000000007C00000000FC00000000F800000001F800000001F0 00000003F000000003E000000007C000000007C00000000F800000000F800000001F0000 00003E000000003E038000007C0FC00000F80FC00000F01FC00001F01F800003E01F8000 03C01F800007803F80000F803F00001F003F00003E003F00007C007F0000F8007E0001F0 007E0003E0007E0007C000FE000FFF80FC001FFFF0FC003FFFFEFC007C00FFFC08F0000F FFFC600001FFFC000001FFE0000003F800000003F000000003F000000003F000000007F0 00000007E000000007E000000007E00000000FE00000000FC00000000FC00000000FC000 00001FC00000001F800000001F800000001F800000000E0000274F7DBC2E>I<0000C000 01800000F0000F800001FE007F000001FFFFFE000001FFFFFC000001FFFFF8000003FFFF E0000003FFFF80000003FFFE00000003BFF8000000078000000000070000000000070000 0000000700000000000F00000000000E00000000000E00000000000E00000000001E0000 0000001C00000000001C00000000001C00000000003C0000000000381FC000000038FFF0 0000003BE07C0000007F003E0000007E003F0000007C001F00000078001F800000F0001F 800000E0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001F C0000000001FC0000000003FC0000000003FC0000000003FC0000000003FC0001F00007F C0003F80007F80007FC0007F80007FC0007F80007F8000FF8000FF8000FF0000FF0000FF 0000FE0001FE0000E00001FE0000E00003FC0000E00003F80000F00007F00000F0000FF0 000070000FE0000078001FC000003C003F8000003E00FE0000001F03FC0000000FFFF000 000003FFC000000000FE00000000293F77BC2E>I<0000000FE00000007FF8000001F01C 000007C00E00001F800F00003E000700007C001F0000F8007F0001F000FF0003F000FF00 07E000FF000FC000FE001FC000FE003F800078003F000000007F00000000FE00000000FE 00000001FC00000001FC00000003FC00000003F800000007F81FC00007F87FF0000FF1E0 7C000FF3803E000FF7003E001FFE001F001FFC001F801FF8001F801FF0000FC03FF0000F C03FE0000FC03FE0001FC03FC0001FE07FC0001FE07FC0001FE07F80001FE07F80003FC0 7F80003FC0FF00003FC0FF00003FC0FF00007FC0FF00007F80FE00007F80FE00007F80FE 0000FF80FE0000FF00FE0000FF00FE0001FE00FE0001FE00FC0001FC007C0003F8007C00 03F8007E0007F0007E000FE0003E001FC0003F003F80001F807E00000FC1FC000007FFF8 000003FFE00000007F000000283F76BC2E>I<000000FF00000007FFC000001F81E00000 3E00F00000FC00F80001F8007C0003F0007C0007E0007E000FE0003E001FC0003E003FC0 003E003F80003F007F80007F007F00007F00FF00007F00FF00007F01FE00007F01FE0000 7F01FE0000FF03FE0000FF03FC0000FF03FC0000FE03FC0001FE07FC0001FE07F80001FE 07F80003FE07F80003FE07F80003FC07F00007FC07F00007FC03F0000FFC03F0000FF803 F0001FF801F0001FF801F8003FF800F8007FF000F800EFF0007C01CFF0003E079FE0000F FE1FE00003F81FC00000003FC00000003FC00000003F800000007F800000007F00000000 FE00000000FE00000001FC001C0001F8007F0003F800FF0003F000FF0007E000FF000FC0 00FF001F8000FE003F0000F8007E0000E000FC0000F001F800007C07E000003FFFC00000 1FFF00000003F8000000283F77BC2E>57 D<001E00003F80007F8000FFC001FFC001FFC0 01FF8000FF0000FE00003C00000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000F0000 3FC0007FC0007FC000FFC000FFC000FFC000FF80007F00003C0000122777A61C>I<0000 0000001C000000000000003C000000000000007C000000000000007C00000000000000FC 00000000000000FC00000000000001FC00000000000003FC00000000000003FC00000000 000007FC00000000000007FC0000000000000FFE0000000000000FFE0000000000001DFE 0000000000001DFE00000000000039FE00000000000079FE00000000000071FE00000000 0000E1FE000000000000E1FE000000000001C1FE000000000001C1FE00000000000381FE 00000000000781FE00000000000701FE00000000000E01FE00000000000E01FE00000000 001C01FF00000000001C01FF00000000003800FF00000000003800FF00000000007000FF 0000000000F000FF0000000000E000FF0000000001C000FF0000000001C000FF00000000 038000FF00000000038000FF00000000070000FF000000000F0000FF000000000E0000FF 000000001C0000FF000000001FFFFFFF000000003FFFFFFF800000003FFFFFFF80000000 7000007F800000007000007F80000000E000007F80000001E000007F80000001C000007F 800000038000007F800000038000007F800000070000007F800000070000007F8000000E 0000007F8000001E0000007F8000001C0000007F8000003C0000007F800000780000007F 800000F80000007FC00001FC0000007FC00007FE000001FFC000FFFFE0007FFFFF80FFFF E0007FFFFF80FFFFC0007FFFFF8039417BC044>65 D<00000000FF8001C00000000FFFE0 01C00000003FFFF80380000000FF807E0780000003FC001F0F8000000FF000071F800000 1FC00007BF0000007F800003FF000000FF000001FF000001FE000001FF000003F8000000 FE000007F0000000FE00000FF0000000FE00001FE00000007E00003FC00000007C00007F 800000007C0000FF800000007C0000FF000000007C0001FE00000000780003FE00000000 780003FC00000000780007FC00000000780007F80000000070000FF80000000070000FF8 0000000070001FF00000000070001FF00000000000003FE00000000000003FE000000000 00003FE00000000000007FE00000000000007FC00000000000007FC00000000000007FC0 000000000000FFC0000000000000FF80000000000000FF80000000000000FF8000000000 0000FF80000000000000FF00000000000000FF00000000000000FF000000000F0000FF00 0000000F0000FF000000000E0000FF000000000E0000FF000000001E0000FF000000001C 0000FF000000003C0000FF00000000380000FF000000007800007F000000007000007F80 000000F000007F80000001E000003F80000001C000003FC0000003C000001FC000000780 00001FE000000F0000000FE000001E00000007F000003C00000003F80000F800000001FC 0001F000000000FE0007C0000000007FC03F80000000001FFFFE000000000007FFF00000 00000000FF80000000003A4272BF41>67 D<0001FFFFFFFFC0000001FFFFFFFFF8000001 FFFFFFFFFE00000003FE0003FF00000003FE00007F80000003FC00001FC0000003FC0000 0FE0000003FC000007F0000007FC000007F0000007F8000003F8000007F8000001FC0000 07F8000001FC00000FF8000001FC00000FF0000000FE00000FF0000000FE00000FF00000 00FE00001FF0000000FE00001FE0000000FF00001FE0000000FF00001FE0000000FF0000 3FE0000000FF00003FC0000000FF00003FC0000000FF00003FC0000000FF00007FC00000 01FF00007F80000001FF00007F80000001FF00007F80000001FE0000FF80000001FE0000 FF00000003FE0000FF00000003FE0000FF00000003FE0001FF00000003FC0001FE000000 07FC0001FE00000007FC0001FE00000007F80003FE00000007F80003FC0000000FF80003 FC0000000FF00003FC0000000FF00007FC0000001FE00007F80000001FE00007F8000000 3FC00007F80000003FC0000FF80000007F80000FF00000007F00000FF0000000FF00000F F0000000FE00001FF0000001FC00001FE0000003F800001FE0000007F000001FE0000007 F000003FE000000FE000003FC000003FC000003FC000007F0000007FC00000FE0000007F C00003FC0000007F80000FF0000000FF80007FE00000FFFFFFFFFF800000FFFFFFFFFC00 0000FFFFFFFFE0000000403E7BBD45>I<0001FFFFFFFFFFF80001FFFFFFFFFFF80001FF FFFFFFFFF8000003FE00001FF8000003FE000007F8000003FC000003F8000003FC000001 F8000003FC000000F0000007FC000000F0000007F8000000F0000007F8000000F0000007 F8000000F000000FF8000000F000000FF0000000F000000FF0000000E000000FF0000000 E000001FF0000000E000001FE0003800E000001FE0003800E000001FE0007801E000003F E0007001C000003FC00070000000003FC00070000000003FC000F0000000007FC000E000 0000007F8001E0000000007F8003E0000000007F800FE000000000FFFFFFC000000000FF FFFFC000000000FFFFFFC000000000FF001FC000000001FF00078000000001FE00078000 000001FE00078000000001FE00078000000003FE00070000000003FC00070000000003FC 00070003800003FC000F0007800007FC000E0007000007F8000E0007000007F80000000F 000007F80000000E00000FF80000001E00000FF00000001C00000FF00000003C00000FF0 0000003C00001FF00000007800001FE00000007800001FE0000000F000001FE0000000F0 00003FE0000001F000003FC0000003E000003FC0000007E000007FC000000FE000007FC0 00001FC000007F8000007FC00000FF800007FF8000FFFFFFFFFFFF8000FFFFFFFFFFFF80 00FFFFFFFFFFFF00003D3E7BBD3E>I<0001FFFFFFFFFFF00001FFFFFFFFFFF00001FFFF FFFFFFF0000003FE00003FF0000003FE00000FF0000003FC000003F0000003FC000003F0 000003FC000001E0000007FC000001E0000007F8000001E0000007F8000001E0000007F8 000001E000000FF8000001E000000FF0000001E000000FF0000001C000000FF0000001C0 00001FF0000001C000001FE0000001C000001FE0007001C000001FE000F003C000003FE0 00E0038000003FC000E0000000003FC000E0000000003FC001E0000000007FC001C00000 00007F8003C0000000007F8003C0000000007F8007C000000000FF801F8000000000FFFF FF8000000000FFFFFF8000000000FFFFFF8000000001FF003F0000000001FE001F000000 0001FE000F0000000001FE000F0000000003FE000E0000000003FC000E0000000003FC00 0E0000000003FC001E0000000007FC001C0000000007F8001C0000000007F8001C000000 0007F80000000000000FF80000000000000FF00000000000000FF00000000000000FF000 00000000001FF00000000000001FE00000000000001FE00000000000001FE00000000000 003FE00000000000003FC00000000000003FC00000000000007FC00000000000007FC000 00000000007F80000000000000FFC00000000000FFFFFFE000000000FFFFFFE000000000 FFFFFFE0000000003C3E7BBD3B>I<00000000FF8000E000000007FFF000E00000003FFF FC01C0000000FFC03E03C0000003FC000F07C000000FF000078FC000001FE00003DF8000 007F800001FF800000FF000000FF800001FE000000FF800003FC0000007F000007F80000 007F00000FF00000007F00001FE00000003F00003FC00000003E00007F800000003E0000 FF800000003E0000FF000000003E0001FE000000003C0003FE000000003C0003FC000000 003C0007FC000000003C0007F80000000038000FF80000000038000FF80000000038001F F00000000038001FF00000000000003FE00000000000003FE00000000000003FE0000000 0000007FE00000000000007FC00000000000007FC00000000000007FC0000000000000FF C0000000000000FF80000000000000FF80000000000000FF80000000000000FF800001FF FFFE00FF000001FFFFFE00FF000001FFFFFE00FF00000000FF8000FF00000000FF8000FF 00000000FF0000FF00000000FF0000FF00000001FF0000FF00000001FF0000FF00000001 FE0000FF00000001FE0000FF00000003FE00007F00000003FE00007F80000003FC00007F 80000003FC00003F80000007FC00003FC0000007FC00001FC0000007F800001FE000000F F800000FF000001FF8000007F000003FF8000003F800007BF0000001FE0000F1F0000000 FF0003E0F00000003FE01F80F00000001FFFFF006000000007FFF80000000000007FC000 0000003B4273BF46>I<0001FFFFFF0003FFFFFF0003FFFFFF000003FF00000003FE0000 0003FC00000003FC00000003FC00000007FC00000007F800000007F800000007F8000000 0FF80000000FF00000000FF00000000FF00000001FF00000001FE00000001FE00000001F E00000003FE00000003FC00000003FC00000003FC00000007FC00000007F800000007F80 0000007F80000000FF80000000FF00000000FF00000000FF00000001FF00000001FE0000 0001FE00000001FE00000003FE00000003FC00000003FC00000003FC00000007FC000000 07F800000007F800000007F80000000FF80000000FF00000000FF00000000FF00000001F F00000001FE00000001FE00000001FE00000003FE00000003FC00000003FC00000007FC0 0000007FC00000007F80000000FFC00000FFFFFF8000FFFFFF8000FFFFFF8000283E7BBD 23>73 D<000001FFFFFF80000001FFFFFF80000001FFFFFF0000000000FFC00000000000 7FC000000000007F8000000000007F800000000000FF800000000000FF000000000000FF 000000000000FF000000000001FF000000000001FE000000000001FE000000000001FE00 0000000003FE000000000003FC000000000003FC000000000003FC000000000007FC0000 00000007F8000000000007F8000000000007F800000000000FF800000000000FF0000000 00000FF000000000000FF000000000001FF000000000001FE000000000001FE000000000 001FE000000000003FE000000000003FC000000000003FC000000000003FC00000000000 7FC000000000007FC000000000007F8000000000007F800000000000FF800000000000FF 800000000000FF000000000000FF000000000001FF000000000001FF000000000001FE00 0000000001FE0000000F8003FE0000003FC003FE0000007FE003FC0000007FE003FC0000 007FE007FC000000FFC007F8000000FFC00FF8000000FF800FF0000000FF001FE0000000 FC001FE000000070003FC000000070007F800000003800FE000000003C01FC000000000F 07F00000000007FFC00000000000FE0000000000314079BD30>I<0001FFFFFFC0000001 FFFFFFC0000001FFFFFF8000000003FF000000000003FE000000000003FC000000000003 FC000000000003FC000000000007FC000000000007F8000000000007F8000000000007F8 00000000000FF800000000000FF000000000000FF000000000000FF000000000001FF000 000000001FE000000000001FE000000000001FE000000000003FE000000000003FC00000 0000003FC000000000003FC000000000007FC000000000007F8000000000007F80000000 00007F800000000000FF800000000000FF000000000000FF000000000000FF0000000000 01FF000000000001FE000000000001FE000000000001FE000000000003FE000000000003 FC000000000003FC000000C00003FC000001E00007FC000001C00007F8000001C00007F8 000003C00007F800000380000FF800000380000FF000000780000FF000000700000FF000 000F00001FF000000F00001FE000001E00001FE000001E00001FE000003E00003FE00000 7C00003FC00000FC00003FC00001FC00007FC00003F800007FC00007F800007F80001FF8 0000FF8000FFF000FFFFFFFFFFF000FFFFFFFFFFF000FFFFFFFFFFE000333E7BBD39>76 D<0001FFFF0000000007FFFC0003FFFF000000000FFFFC0003FFFF000000001FFFFC0000 03FF000000001FFC00000003FF000000003FF800000003BF800000003FF000000003BF80 00000077F000000003BF80000000EFF000000007BF80000000EFF0000000073F80000001 CFE0000000073F80000001CFE0000000073F800000039FE00000000F3F800000071FE000 00000E3F800000071FC00000000E1FC000000E1FC00000000E1FC000000E3FC00000001E 1FC000001C3FC00000001C1FC00000383F800000001C1FC00000383F800000001C1FC000 00707F800000003C1FC00000707F80000000381FC00000E07F00000000381FC00001C07F 00000000381FC00001C0FF00000000780FE0000380FF00000000700FE0000380FE000000 00700FE0000700FE00000000700FE0000E01FE00000000F00FE0000E01FE00000000E00F E0001C01FC00000000E00FE0001C01FC00000000E00FE0003803FC00000001E00FE00070 03FC00000001C007F0007003F800000001C007F000E003F800000001C007F000E007F800 000003C007F001C007F8000000038007F0038007F0000000038007F0038007F000000003 8007F007000FF0000000078007F007000FF0000000070007F00E000FE0000000070007F0 1C000FE0000000070003F81C001FE00000000F0003F838001FE00000000E0003F870001F C00000000E0003F870001FC00000000E0003F8E0003FC00000001E0003F8E0003FC00000 001C0003F9C0003F800000001C0003FB80003F800000001C0003FB80007F800000003C00 01FF00007F80000000380001FF00007F00000000380001FE00007F00000000780001FC00 00FF00000000F80001FC0000FF00000001FC0001F80000FE00000007FE0001F80001FF00 0000FFFFF001F001FFFFFE0000FFFFF001E001FFFFFE0000FFFFF000E001FFFFFE000056 3E7BBD52>I<0001FFFE00000FFFFF0003FFFF00001FFFFF0003FFFF00001FFFFF000001 FF800000FFC0000003FF8000003F00000003FF8000003E00000003FFC000001C00000003 FFC000003C00000007BFC000003C000000073FE0000038000000071FE000003800000007 1FE00000780000000F1FF00000780000000E0FF00000700000000E0FF80000700000000E 0FF80000F00000001E07F80000F00000001C07FC0000E00000001C07FC0000E00000001C 03FC0001E00000003C03FE0001E00000003801FE0001C00000003801FE0001C000000038 01FF0003C00000007800FF0003C00000007000FF8003800000007000FF80038000000070 007F800780000000F0007FC00780000000E0003FC00700000000E0003FC00700000000E0 003FE00F00000001E0001FE00F00000001C0001FF00E00000001C0001FF00E00000001C0 000FF01E00000003C0000FF81E0000000380000FF81C00000003800007F81C0000000380 0007FC3C00000007800003FC3C00000007000003FC3800000007000003FE380000000700 0001FE780000000F000001FF780000000E000001FF700000000E000000FF700000000E00 0000FFF00000001E000000FFF00000001C0000007FE00000001C0000007FE00000001C00 00003FE00000003C0000003FE0000000380000003FC0000000380000001FC00000007800 00001FC0000000F80000001FC0000001FC0000000F80000007FE0000000F800000FFFFF0 000007800000FFFFF0000007800000FFFFF0000007000000483E7BBD44>I<00000000FF C0000000000007FFF800000000003F80FE0000000000FC003F0000000003F0000F800000 0007E00007C00000001F800007E00000003F000003F00000007E000001F8000000FC0000 01FC000001F8000000FC000003F0000000FE000007F0000000FE00000FE0000000FE0000 1FC00000007F00003FC00000007F00003F800000007F00007F000000007F0000FF000000 007F8000FE000000007F8001FE000000007F8003FC000000007F8003FC000000007F8007 FC000000007F8007F8000000007F800FF800000000FF800FF800000000FF800FF0000000 00FF801FF000000000FF801FF000000000FF003FE000000001FF003FE000000001FF003F E000000001FF003FE000000001FF007FC000000003FE007FC000000003FE007FC0000000 03FE007FC000000007FC007FC000000007FC007F8000000007FC007F800000000FF800FF 800000000FF800FF800000000FF000FF800000001FF000FF800000001FE0007F80000000 3FE0007F800000003FC0007F800000007F80007F800000007F80007F80000000FF00007F 80000000FE00003F80000001FE00003F80000003FC00003FC0000003F800001FC0000007 F000001FC000000FE000000FE000001FC000000FE000003F80000007F000007F00000003 F00000FC00000001F80001F800000000FC0007E0000000007F001F80000000001FC07E00 0000000007FFF8000000000000FF8000000000394273BF46>I<0001FFFFFFFF80000001 FFFFFFFFF0000001FFFFFFFFFC00000003FE0003FE00000003FE0000FF00000003FC0000 7F80000003FC00003FC0000007FC00001FC0000007FC00001FE0000007F800001FE00000 07F800001FE000000FF800001FF000000FF800001FF000000FF000001FF000000FF00000 1FF000001FF000001FF000001FF000003FE000001FE000003FE000001FE000003FE00000 3FE000003FC000003FE000007FC000003FC000007F8000003FC000007F8000007FC00000 FF0000007FC00000FE0000007F800001FC0000007F800003F8000000FF800007F0000000 FF80000FE0000000FF00003FC0000000FF0001FF00000001FFFFFFFC00000001FFFFFFE0 00000001FE00000000000001FE00000000000003FE00000000000003FE00000000000003 FC00000000000003FC00000000000007FC00000000000007FC00000000000007F8000000 00000007F80000000000000FF80000000000000FF80000000000000FF00000000000000F F00000000000001FF00000000000001FF00000000000001FE00000000000001FE0000000 0000003FE00000000000003FE00000000000003FC00000000000003FC00000000000007F C00000000000007FC00000000000007F80000000000000FFC00000000000FFFFFF800000 0000FFFFFF8000000000FFFFFF80000000003C3E7BBD3E>I<0001FFFFFFFC00000001FF FFFFFF80000001FFFFFFFFF000000003FE000FF800000003FE0003FE00000003FC0000FF 00000003FC00007F00000003FC00007F80000007FC00003FC0000007F800003FC0000007 F800003FC0000007F800003FE000000FF800003FE000000FF000003FE000000FF000003F E000000FF000003FE000001FF000007FC000001FE000007FC000001FE000007FC000001F E00000FF8000003FE00000FF8000003FC00000FF0000003FC00001FE0000003FC00001FC 0000007FC00003F80000007F800007F00000007F80000FE00000007F80003F80000000FF 8000FE00000000FF0007F800000000FFFFFFE000000000FFFFFF8000000001FF000FE000 000001FE0007F000000001FE0003F800000001FE0001FC00000003FE0001FE00000003FC 0000FE00000003FC0000FF00000003FC0000FF00000007FC0000FF00000007F80000FF00 000007F80000FF00000007F80001FF0000000FF80001FF0000000FF00001FF0000000FF0 0001FE0000000FF00003FE0000001FF00003FE0000001FE00003FE0000001FE00003FE00 00001FE00003FE0000003FE00007FE0040003FC00007FE00E0003FC00007FC00E0007FC0 0007FC01E0007FC00007FC01C0007F800003FC03C000FFC00003FC0380FFFFFF8001FC07 80FFFFFF8001FE0F00FFFFFF80007E1E0000000000003FFC00000000000007F0003B407B BD42>82 D<0000000FF001C00000007FFE01C0000001FFFF0380000007F80FC78000000F C003EF8000001F8001FF8000003F0000FF0000007E00007F000000FC00007F000001F800 007F000003F000003E000003F000003E000007E000003E000007E000003E00000FE00000 3C00000FC000003C00000FC000003C00000FC000003C00001FC000003800001FC0000038 00001FC000003800001FE000003800001FE000000000001FF000000000001FF000000000 001FFC00000000000FFF00000000000FFFF0000000000FFFFE0000000007FFFFC0000000 03FFFFF000000001FFFFFC00000000FFFFFE000000003FFFFE000000000FFFFF00000000 01FFFF80000000001FFF800000000003FF800000000000FFC000000000007FC000000000 003FC000000000003FC000000000001FC000000000001FC000070000001FC0000F000000 1FC0000F0000001F80000E0000001F80000E0000001F80001E0000003F80001E0000003F 00001E0000003F00001E0000003E00003E0000007E00003E0000007C00003F000000FC00 003F000001F800007F800001F000007F800003E000007FC00007C000007DE0001F800000 F8F8003F000000F87F00FE000000F03FFFF8000000E00FFFE0000000C000FF0000000032 427ABF33>I<01FFFFFFFFFFFF01FFFFFFFFFFFF03FFFFFFFFFFFF03FE001FF001FF03F8 001FE0007F07E0001FE0003E07C0003FE0001E0780003FE0001E0F00003FC0001E0F0000 3FC0001E1E00007FC0001E1E00007FC0001E1C00007F80001C3C00007F80001C380000FF 80001C380000FF80001C780000FF00001C700000FF00001C700001FF00003CF00001FF00 0038E00001FE000038000001FE000000000003FE000000000003FE000000000003FC0000 00000003FC000000000007FC000000000007FC000000000007F8000000000007F8000000 00000FF800000000000FF800000000000FF000000000000FF000000000001FF000000000 001FF000000000001FE000000000001FE000000000003FE000000000003FE00000000000 3FC000000000003FC000000000007FC000000000007FC000000000007F8000000000007F 800000000000FF800000000000FF800000000000FF000000000000FF000000000001FF00 0000000001FF000000000001FE000000000001FE000000000003FE000000000003FE0000 00000003FC00000000000FFE000000003FFFFFFF8000007FFFFFFF8000007FFFFFFF8000 00383D71BC41>I<1FFFFFF000FFFFF03FFFFFF001FFFFF03FFFFFF001FFFFF0003FF000 000FFC00003FE0000003F000003FC0000003E000003FC0000001C000007FC0000003C000 007FC0000003C000007F800000038000007F80000003800000FF80000007800000FF8000 0007000000FF00000007000000FF00000007000001FF0000000F000001FF0000000E0000 01FE0000000E000001FE0000000E000003FE0000001E000003FE0000001C000003FC0000 001C000003FC0000001C000007FC0000003C000007FC00000038000007F8000000380000 07F80000003800000FF80000007800000FF80000007000000FF00000007000000FF00000 007000001FF0000000F000001FF0000000E000001FE0000000E000001FE0000000E00000 3FE0000001E000003FE0000001E000003FC0000001C000003FC0000001C000007FC00000 03C000007FC0000003C000007F800000038000007F800000038000007F80000007800000 7F80000007000000FF00000007000000FF0000000F000000FF0000000E000000FF000000 1E0000007F0000001C0000007F0000003C0000007F000000780000007F000000F0000000 7F000000E00000003F800001E00000003F800003C00000001F800007800000000FC0001F 000000000FE0003E0000000007F000F80000000003FC07F00000000000FFFFC000000000 003FFF00000000000007F800000000003C406FBD44>I<7FFFFE01FFFFFC00FFFFE0FFFF FE01FFFFFC00FFFFE0FFFFFE01FFFFFC00FFFFE003FF800007FF00000FFC0001FF000007 FC000007F00001FE000007FC000003E00001FE000003FC000003C00001FE000003FC0000 03C00001FE000003FC000003800001FE000003FC000007000001FE000003FC0000070000 01FE000007FC00000E000001FE000007FC00000E000001FE00000FFC00001C000001FE00 000FFC00003C000001FE00001FFC000038000001FE00001FFC000070000001FE00003BFC 000070000001FE00003BFC0000E0000001FE000073FC0000E0000001FE000073FC0001C0 000001FF0000E3FC0001C0000001FF0001E3FC000380000000FF0001C3FC000380000000 FF0003C3FC000700000000FF000383FC000700000000FF000703FC000E00000000FF0007 03FC001E00000000FF000E03FC001C00000000FF000E03FC003800000000FF001C03FE00 3800000000FF001C03FE007000000000FF003801FE007000000000FF003801FE00E00000 0000FF007001FE00E000000000FF00F001FE01C000000000FF00E001FE01C000000000FF 01E001FE038000000000FF01C001FE038000000000FF038001FE070000000000FF038001 FE0F0000000000FF070001FE0E0000000000FF070001FE1C0000000000FF0E0001FE1C00 00000000FF0E0001FE380000000000FF1C0001FE380000000000FF9C0001FE7000000000 00FFB80001FE7000000000007FF80001FEE000000000007FF00001FEE000000000007FF0 0001FFC000000000007FE00001FFC000000000007FC00001FF8000000000007FC00001FF 8000000000007F800001FF0000000000007F800001FE0000000000007F000001FE000000 0000007F000000FC0000000000007E000000FC0000000000007E000000F8000000000000 7C000000F80000000000007C000000F000000000000078000000F0000000000000700000 00E0000000000053406EBD5B>87 D<00007E00000001FF80000007C1C380001F80EFC000 3F00FFC0007E007FC000FC007F8001F8003F8003F0003F8003F0003F8007E0003F000FE0 003F000FC0003F001FC0007F001FC0007E003F80007E003F80007E003F8000FE007F8000 FC007F0000FC007F0000FC007F0001FC00FF0001F800FE0001F800FE0001F800FE0003F8 00FE0003F038FC0003F038FC0003F038FC0007F038FC0007E078FC000FE0707C000FE070 7C001FE0F07E003FE0E03E007FE0E03E00F3E1E01F01E3E1C00F8781E38003FF00FF0000 FC003E00252977A72E>97 D<001FC0000FFFC0000FFF80000FFF8000003F8000003F8000 003F0000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC0000 00FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F07E00 07F1FF8007F783E007EF01F007FE01F00FF800F80FF800F80FF000FC0FE0007C1FC0007C 1FC0007E1F80007E1F8000FE3F8000FE3F8000FE3F0000FE3F0000FE7F0001FE7F0001FC 7E0001FC7E0001FC7E0003FCFE0003F8FC0003F8FC0003F8FC0007F0FC0007F0FC0007E0 F8000FE0F8000FC0F8001FC0F8001F8078003F007C003F007C007E003C00FC003E01F800 1E03E0000F07C00007FF000001F800001F4076BE2A>I<00001FE0000000FFF8000003F0 3E000007C00F00001F800700003F000780007E001F8000FC007F8001F8007F8003F0007F 8007F0007F0007E0007F000FE0007E001FC00000001FC00000003F800000003F80000000 3F800000007F800000007F000000007F000000007F00000000FF00000000FE00000000FE 00000000FE00000000FE00000000FE00000000FE00000000FC000003007E000007007E00 000F007E00001E003E00003C003E000078001F0000F0001F0003E0000F800F800003E07E 000001FFF80000003FC00000212977A72A>I<000000003F800000001FFF800000001FFF 000000001FFF00000000007F00000000007F00000000007E00000000007E0000000000FE 0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC0000000001F8 0000000001F80000000003F80000000003F80000000003F00000000003F00000000007F0 0000000007F00000000007E00000007E07E0000001FF8FE0000007C1CFE000001F80EFC0 00003F00FFC000007E007FC00000FC007FC00001F8003F800003F0003F800003F0003F80 0007E0003F80000FE0003F00000FC0003F00001FC0007F00001FC0007F00003F80007E00 003F80007E00003F8000FE00007F8000FE00007F0000FC00007F0000FC00007F0001FC00 00FF0001FC0000FE0001F80000FE0001F80000FE0003F80000FE0003F83800FC0003F038 00FC0003F03800FC0007F03800FC0007F07800FC000FE070007C000FE070007C001FE0F0 007E003FE0E0003E007FE0E0003E00F3E1E0001F01E3E1C0000F8781E3800003FF00FF00 0000FC003E0000294077BE2E>I<00003F800001FFE00007E0F8001F803C003E003C00FC 001E01F8001E03F0001E07F0001E0FE0003E0FC0003C1FC0003C3F80007C3F8000F83F80 03F07F000FE07F00FF80FFFFFC00FFFFC000FE000000FE000000FE000000FE000000FC00 0000FC000000FC000000FC000000FC000000FC000000FC000006FC00000EFC00001E7C00 003C7C0000783E0000F03E0001E01F0007C00F801F0007C0FC0001FFF000007F80001F29 76A72A>I<000000007C0000000001FF0000000007C7800000000F83C00000001F87C000 00001F1FC00000003F3FC00000003F3FC00000007E3FC00000007E3FC00000007E3F8000 00007E0E00000000FC0000000000FC0000000000FC0000000000FC0000000001FC000000 0001F80000000001F80000000001F80000000001F80000000003F80000000003F0000000 0003F00000000003F000000003FFFFF8000003FFFFF8000003FFFFF800000007E0000000 0007E00000000007E0000000000FE0000000000FC0000000000FC0000000000FC0000000 000FC0000000000FC0000000001FC0000000001F80000000001F80000000001F80000000 001F80000000003F80000000003F00000000003F00000000003F00000000003F00000000 007F00000000007E00000000007E00000000007E00000000007E0000000000FE00000000 00FC0000000000FC0000000000FC0000000000FC0000000001FC0000000001F800000000 01F80000000001F80000000001F80000000003F00000000003F00000000003F000000000 03F00000000007E00000000007E00000000007E00000000007E0000000000FC00000001E 0FC00000007F0FC00000007F0F80000000FF0F80000000FF1F00000000FF1F00000000FE 1E00000000F83C00000000703C000000007878000000003FE0000000000F80000000002A 5383BF1C>I<000003F00000000FFC0000003E0E1C0000FC077E0001F003FE0003F003FE 0007E001FE000FC001FC001F8001FC001F8001FC003F0001FC007F0001F8007E0001F800 FE0003F800FE0003F801FC0003F001FC0003F001FC0007F003FC0007F003F80007E003F8 0007E003F8000FE007F8000FE007F0000FC007F0000FC007F0001FC007F0001FC007F000 1F8007E0001F8007E0003F8003E0003F8003E0007F0003F000FF0003F000FF0001F001FF 0000F003FE0000F80F7E00007C1EFE00001FF8FE000007E0FC00000000FC00000001FC00 000001FC00000001F800000001F800000003F800000003F800000003F0001C0007F0007F 0007E000FF000FE000FF000FC000FF001F8000FF003F0000FE007E0000F800FC00007C03 F000001FFFC0000003FE000000273B7CA72A>I<0001FC000000FFFC000000FFF8000000 FFF800000003F800000003F800000003F000000003F000000007F000000007F000000007 E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC00000001FC0 0000001F800000001F800000003F800000003F800000003F000000003F03F800007F0FFE 00007F3E0F80007E780FC0007EE007C000FFC007E000FF8007E000FF0007E000FF0007E0 01FE0007E001FC0007E001FC0007E001F80007E003F8000FE003F8000FC003F0000FC003 F0000FC007F0001FC007F0001F8007E0001F8007E0001F800FE0003F800FE0003F000FC0 003F000FC0007F001FC0007E001FC000FE071F8000FC071F8000FC073F8001FC0F3F8001 F80E3F0001F80E3F0001F81E7F0001F01C7F0001F01C7E0001F0387E0001F038FE0001F0 70FE0000F0E0FC00007FC03800001F0028407ABE2E>I<0000780001FC0001FC0003FC00 03FC0003FC0003F80000E000000000000000000000000000000000000000000000000000 0000000000000000000000000000007C0001FF00038F800707800E07C01E07C01C07C03C 0FC0380FC0380FC0781FC0701F80701F80F03F80F03F00003F00007F00007E0000FE0000 FC0000FC0001FC0001F80001F80003F80003F00003F03807F03807E0380FE0780FC0700F C0700FC0F00F80E00F80E00F81C00F83C00F838007870003FE0000F800163E79BC1C>I< 00000007000000001FC00000001FC00000003FC00000003FC00000003FC00000003F8000 00000E000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000007 C00000003FF000000078F8000000E07C000001C07C000003C07C000003807E000007007E 000007007E00000E00FE00000E00FC00001E00FC00001C00FC00003C01FC00003C01FC00 000001F800000001F800000003F800000003F800000003F000000003F000000007F00000 0007F000000007E000000007E00000000FE00000000FE00000000FC00000000FC0000000 1FC00000001FC00000001F800000001F800000003F800000003F800000003F000000003F 000000007F000000007F000000007E000000007E00000000FE00000000FE00000000FC00 000000FC00000001FC00000001F800000001F800001C01F800007F03F00000FF03F00000 FF07E00000FF07C00000FF0F800000FE1F000000F83E000000707C0000003FF00000000F C0000000225083BC1C>I<0001FC000000FFFC000000FFF8000000FFF800000003F80000 0003F800000003F000000003F000000007F000000007F000000007E000000007E0000000 0FE00000000FE00000000FC00000000FC00000001FC00000001FC00000001F800000001F 800000003F800000003F800000003F000000003F0003E0007F000FF8007F003C3C007E00 707C007E00E1FC00FE01C1FC00FE0383FC00FC0703FC00FC0E03FC01FC1C03F801FC3800 E001F870000001F860000003F8E0000003F9C0000003F780000003FE00000007FE000000 07FFE0000007E7F8000007E0FE00000FE07F00000FE03F80000FC01F80000FC00FC0001F C00FC0001FC00FC0701F800FC0701F800FC0703F800FC0F03F801FC0E03F001F80E03F00 1F80E07F001F81E07F001F81C07E000F83C07E000F8380FE000F8780FE00078F00FC0003 FE00380000F80026407ABE2A>I<0007F003FFF003FFE003FFE0000FE0000FE0000FC000 0FC0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E0000 7E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003 F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F 80003F80003F80003F00003F00007F00007F07007E07007E0700FE0F00FE0E00FC0E00FC 0E00FC1E00FC1C00FC1C007C38007C78003C70001FE000078000144079BE17>I<01F000 3F80007F000007FC01FFE003FFC0000F3E07C1F80F83F0000E1F0F00FC1E01F8001E1F1C 007C3800F8001C1F38007E7000FC003C1FF0007EE000FC00381FF0007FE000FC00381FE0 007FC000FC00783FC0007F8000FC00703FC0007F8000FC00703F80007F0000FC00703F00 007E0000FC00F03F0000FE0001FC00F07F0000FC0001F800007E0000FC0001F800007E00 00FC0001F800007E0001FC0003F80000FE0001FC0003F00000FC0001F80003F00000FC00 01F80003F00000FC0003F80007F00001FC0003F80007E00001F80003F00007E00001F800 03F0000FE00001F80007F0000FC00003F80007F0001FC0E003F00007E0001F80E003F000 07E0001F80E003F0000FE0003F81E007F0000FE0003F01C007E0000FC0003F01C007E000 0FC0003F01C007E0001FC0003E03800FE0001FC0003E03800FC0001F80003E07000FC000 1F80003E07000FC0003F80003E0E001FC0003F80001E1C001F80003F00000FF800070000 0E000003E000432979A74A>I<01F0003F800007FC01FFE0000F3E07C1F8000E1F0F00FC 001E1F1C007C001C1F38007E003C1FF0007E00381FF0007E00381FE0007E00783FC0007E 00703FC0007E00703F80007E00703F00007E00F03F0000FE00F07F0000FC00007E0000FC 00007E0000FC00007E0001FC0000FE0001F80000FC0001F80000FC0001F80000FC0003F8 0001FC0003F00001F80003F00001F80007F00001F80007E00003F8000FE07003F0000FC0 7003F0000FC07003F0001FC0F007F0001F80E007E0001F80E007E0001F81E007E0001F01 C00FE0001F01C00FC0001F03800FC0001F03800FC0001F07001FC0000F0E001F800007FC 0007000001F0002C2979A733>I<00001FC0000000FFF8000003F07C00000FC01F00001F 801F00003F000F80007E000FC000FC0007C001F80007E003F00007E007F00007E007E000 07E00FE00007F01FC00007F01FC00007F03F800007F03F800007F03F80000FE07F80000F E07F00000FE07F00000FE07F00001FE0FF00001FC0FE00001FC0FE00001FC0FE00003F80 FE00003F80FE00007F00FE00007F00FC00007E007C0000FC007E0001FC007E0001F8007E 0003F0003E0007E0001F000FC0001F001F80000F803E000007C0FC000001FFF00000003F 800000242977A72E>I<0003E001F800000FF807FE00001E7C1E0F80001C3E3C07C0003C 3E7807C000383EE003E000783FE003E000703FC003F000703F8001F000F07F0001F000E0 7F0001F800E07E0001F800E07E0003F801E0FE0003F801E0FE0003F80000FC0003F80000 FC0003F80001FC0007F80001FC0007F00001F80007F00001F80007F00003F8000FF00003 F8000FE00003F0000FE00003F0000FE00007F0001FC00007F0001FC00007E0001F800007 E0003F80000FE0003F00000FE0007F00000FE0007E00000FE000FC00001FE000FC00001F E001F800001FF003F000001FF007E000003FB80F8000003F9C1F0000003F0FFC0000003F 03E00000007F00000000007F00000000007E00000000007E0000000000FE0000000000FE 0000000000FC0000000000FC0000000001FC0000000001FC0000000001F80000000001F8 0000000003F80000000003F8000000007FFFE0000000FFFFE0000000FFFFE00000002D3A 80A72E>I<00007E00600001FF81E00007C1C3E0001F80E7C0003F00F7C0007E007FC000 FC007FC001F8003F8003F0003F8003F0003F8007E0003F800FE0003F000FC0003F001FC0 003F001FC0007F003F80007E003F80007E003F80007E007F8000FE007F0000FC007F0000 FC007F0000FC00FF0001FC00FE0001F800FE0001F800FE0001F800FE0003F800FC0003F0 00FC0003F000FC0003F000FC0007F000FC000FE0007C000FE0007C001FE0007E003FE000 3E007FC0003E00FFC0001F01EFC0000F879FC00003FF1F800000FC1F800000001F800000 003F800000003F000000003F000000003F000000007F000000007E000000007E00000000 7E00000000FE00000000FC00000000FC00000001FC00000003FC000000FFFFF00001FFFF F00001FFFFF000233A77A72A>I<01F000FC0007FC07FF800F3E0F03C00E1F1C03E01E1F 380FE01C1F700FE03C1FE01FE0381FE01FE0381FC01FE0783FC01FC0703F800700703F80 0000703F000000F03F000000F07F000000007E000000007E000000007E00000000FE0000 0000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F8000000 03F800000003F000000003F000000003F000000007F000000007E000000007E000000007 E00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000000700 000000232979A726>I<00007F800001FFE00007C0F8001F003C003E001C003C001E007C 003E00F8007E00F800FE00F800FE01F800FC01F800FC01F8007001FC000001FE000001FF C00001FFFC0000FFFF0000FFFF80007FFFC0003FFFE0000FFFF00000FFF000000FF00000 07F0000003F00C0003F03F0003F07F8001F07F8003F0FF0003E0FF0003E0FF0003E0FC00 07C0F0000F8070000F8078001F003C003C001F01F80007FFE00000FF00001F297AA725> I<0001C0000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC0 00000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F00 007FFFFF80FFFFFF80FFFFFF00007E000000FE000000FE000000FC000000FC000001FC00 0001FC000001F8000001F8000003F8000003F8000003F0000003F0000007F0000007F000 0007E0000007E000000FE000000FE000000FC000000FC000001FC000001FC01C001F801C 001F801C003F803C003F8038003F0078003F0070003F00F0003F00E0003F01C0001F03C0 001F0780000F0F000007FC000001F00000193A78B81E>I<007C0000000001FF00001C00 038F80007E00070780007E000E07C0007E001E07C000FE001C07C000FE003C0FC000FC00 380FC000FC00380FC001FC00781FC001FC00701F8001F800701F8001F800F03F8003F800 F03F0003F800003F0003F000007F0003F000007E0007F000007E0007F00000FE0007E000 00FC0007E00000FC000FE00001FC000FE00001F8000FC00001F8000FC00001F8001FC000 03F8001FC1C003F0001F81C003F0001F81C003F0003F81C003F0003F83C003F0003F0380 03F0003F038003F0007F078001F000FF070001F001FF070001F801DF0F0000F8079F0E00 007C0F0F1C00001FFC07F8000007F001F0002A2979A731>I<007C0001C001FF0007F003 8F8007F007078007F00E07C007F81E07C007F81C07C003F83C0FC003F8380FC001F0380F C001F0781FC000F0701F8000F0701F8000F0F03F8000F0F03F0000E0003F0000E0007F00 00E0007E0001E0007E0001C000FE0001C000FC0001C000FC0003C001FC00038001F80003 8001F800038001F800070003F800070003F0000F0003F0000E0003F0000E0003F0001C00 03F0001C0003F000380003F000780001F000700001F800E00000F801C00000FC03800000 7E0F0000001FFE00000003F00000252979A72A>I<007C000000007001FF00007001FC03 8F8001F801FC07078001F801FC0E07C001F801FE1E07C003F801FE1C07C003F000FE3C0F C003F000FE380FC003F0007C380FC007F0007C781FC007E0003C701F8007E0003C701F80 07E0003CF03F800FE0003CF03F000FC00038003F000FC00038007F000FC00038007E001F C00078007E001F80007000FE001F80007000FC001F80007000FC003F8000F001FC003F00 00E001F8003F0000E001F8003F0000E001F8003F0001E003F8007F0001C003F0007E0001 C003F0007E0003C003F0007E00038003F0007E00038003F0007E00070003F000FE000700 03F000FE000E0001F001FE001E0001F801FF001C0000F8039F00380000FC079F80700000 3E0F07C1E000001FFC03FFC0000003F0007F0000372979A73C>I<0003F001F800000FFC 07FE00003C1E0E0F0000780F1C0F8000F00FB83F8001E00FF83F8001C007F07F80038007 F07F80078007E07F8007000FE07F000F000FE01C000E000FC000000E000FC000001E001F C000001E001FC0000000001F80000000001F80000000003F80000000003F00000000003F 00000000003F00000000007F00000000007E00000000007E00000000007E0000000000FE 0000000000FC001C000000FC001C000000FC001C000001FC003C001E01FC0038003F01F8 0078007F81F80070007F83F800F000FF83F800E000FF077801C000FE0F7C03C0007C0E3C 078000783C1E1E00001FF80FFC000007E003F0000029297CA72A>I<007C00000001FF00 0038038F8000FC07078000FC0E07C000FC1E07C001FC1C07C001F83C0FC001F8380FC001 F8380FC003F8781FC003F0701F8003F0701F8003F0F03F8007F0F03F0007E0003F0007E0 007F0007E0007E000FE0007E000FC000FE000FC000FC000FC000FC001FC001FC001FC001 F8001F8001F8001F8001F8003F8003F8003F0003F0003F0003F0003F0003F0007F0003F0 007E0003F0007E0003F0007E0003F000FE0003F000FC0001F001FC0001F803FC0000F807 FC00007C1FF800003FF9F8000007E1F800000003F800000003F000000003F000000007F0 000E0007E0003F8007E0007F800FC0007F800FC0007F801F8000FF001F0000FF003E0000 7C007E00007000FC00007801F000003803E000001E0FC000000FFF00000003F800000026 3B79A72C>I<0001F000700007FC00F0000FFC00E0001FFE01E0003FFF03C0007FFF8380 007C0FCF8000F803FF0000F0007E0000E0003C0001E000380000C0007800000000F00000 0001E000000003C000000007800000000F000000001E000000003C000000007800000000 F000000001E000000003C000000007800000000F000000001E000000003C000700007800 070000F000070001E0000F0003C0001E000780001E0007F0003C000FFE007C001F1F81F8 003E0FFFF8003C07FFF0007803FFE0007003FFC000F001FF0000E0007C000024297BA725 >I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fw cmsy8 8 3 /Fw 3 49 df0 D<0000000001C00000000007C0000000001FC0000000007F0000000001FC0000000007F0 000000001FC0000000007F0000000001FC0000000007F0000000000FC0000000003F0000 000000FC0000000003F8000000000FE0000000003F8000000000FE0000000003F8000000 000FE0000000003F8000000000FE0000000000F80000000000FE00000000003F80000000 000FE00000000003F80000000000FE00000000003F80000000000FE00000000003F80000 000000FC00000000003F00000000000FC00000000007F00000000001FC00000000007F00 000000001FC00000000007F00000000001FC00000000007F00000000001FC00000000007 C00000000001C00000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000007FFFFFFFFF80FFFFFFFFFFC0FFFFFFFFFFC02A3B7AAB37 >20 D<007800FE01FE01FE01FE03FE03FC03FC03FC07F807F807F807F007F00FE00FE00F E00FC01FC01F801F801F803F003F003F003E007E007C007C007C00F800F800F800F0000F 227EA413>48 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fx cmmi10 10.95 43 /Fx 43 122 df<000007F800000000003FFF0000000000FC0F8000000003F003E0000000 0FC001F00070001F8001F800F0007F0000F800E000FE0000FC00E001FC00007E00E003FC 00007E01E003F800007E01C007F000003F01C00FF000003F03800FE000003F03801FE000 003F07803FE000003F07003FC000003F0F003FC000003F0E007FC000003F1E007F800000 3F1C007F8000003F3C007F8000003F7800FF8000003F7000FF0000003FF000FF0000003F E000FF0000003FC000FF0000003F8000FF0000003F8000FF0000003F00007F0000003F00 007F0000003F00007F0000007F00003F000000FF00003F000001FF80001F8000079F81C0 1F80000F1F81C00FC0003C0F83C007E000F00F838001F80FC007C700007FFF0003FE0000 1FF00000F80034297DA73A>11 D<000000001FE00000000000FFFC0000000003F03E0000 00000F800F800000001E000780000000380007C0000000F00003E0000001E00003E00000 03C00003E0000007800003F0000007000003F000000E000003F000001E000003F000001C 000007F0000038000007E0000078000007E0000070000007E00000F000000FE00000E000 000FC00001E000000FC00001C000001F800001C000003F000003C000003F000003800000 7E000003800000FC000007801FF9F0000007007FFFE000000700700FC0000007007FFFE0 00000F001FF1F000000E000001F800000E000000FC00000E000000FE00001E0000007E00 001C0000007F00001C0000007F00001C0000007F00003C0000007F0000380000007F0000 380000007F0000380000007F000078000000FF000070000000FF000070000000FF000070 000000FF0000F0000001FF0000F0000001FE0000E0000001FE0000E0000001FE0001E000 0003FC0001E0000003FC0001E0000003F80001E0000007F80003F0000007F00003F00000 0FE00003F000001FE00003F800001FC00007B800003F8000071C00007F0000071E0000FC 0000070F0001F800000F078007E000000E01F01F8000000E007FFE0000000E000FF00000 001E0000000000001C0000000000001C0000000000001C0000000000003C000000000000 380000000000003800000000000038000000000000780000000000007000000000000070 00000000000070000000000000F0000000000000E0000000000000E0000000000000E000 0000000000E000000000000034527EBF33>I<003F00000000003FE00000000007F00000 000003FC0000000001FC0000000000FE0000000000FE0000000000FE00000000007F0000 0000007F00000000003F80000000003F80000000003F80000000001FC0000000001FC000 0000001FC0000000000FE0000000000FE0000000000FE00000000007F00000000007F000 00000007F00000000003F80000000003F80000000001FC0000000001FC0000000001FC00 00000000FE0000000000FE0000000000FE00000000007F00000000007F00000000007F00 000000003F80000000007F8000000000FF8000000001FFC000000003FFC000000007CFE0 0000000F8FE00000001F0FE00000003E07F00000007C07F0000000FC07F0000001F803F8 000003F003F8000007E003F800000FC001FC00001F8001FC00003F0001FC00007F0000FE 0000FE0000FE0001FC00007F0003F800007F0007F000007F000FE000003F801FC000003F 803FC000003F807F8000001FC0FF0000001FC0FE0000001FE0FC0000000FE0F800000007 F07000000003F02C407BBE35>21 D<00000FFFFFFE00007FFFFFFF0001FFFFFFFF0007FF FFFFFF001FFFFFFFFE003FE03FE000007F000FE00000FE0007F00001FC0003F00003F800 03F80007F00001F8000FE00001F8000FC00001F8001FC00001F8001F800001F8003F8000 01F8003F000001F8007F000001F8007E000001F8007E000001F8007E000003F800FE0000 03F000FC000003F000FC000003F000FC000007E000FC000007E000FC00000FE000FC0000 0FC000FC00001F8000FC00001F80007C00003F00007C00007E00007C00007C00003E0000 F800001E0001F000001F0007E000000F800F80000003E07E00000000FFF8000000003FC0 00000030287DA634>27 D<6000000000F800000000FE00000000FF00000000FFC0000000 FFF0000000F3FC000000F1FE000000F07F800000F01FE00000F007F00000F003FC0000F0 00FF0000F0003F8000F0001FE000F00007F800F00001FE00F00000FF00F000003FC0F000 000FF0F0000003F8F0000001FCF0000001FCF0000003F8F000000FF0F000003FC0F00000 FF00F00001FE00F00007F800F0001FE000F0003F8000F000FF0000F003FC0000F007F000 00F01FE00000F07F800000F1FE000000F3FC000000FFF0000000FFC0000000FF00000000 FE00000000F8000000006000000000262C7DAC2D>46 D<1E007F807F80FFC0FFC0FFC0FF C07F807F801E000A0A798919>58 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E6000 6000600060006000E000C000C000C001C001800380030007000E001C001800380030000B 1C798919>I<0000000000000E0000000000003F000000000000FF000000000003FE0000 0000000FF800000000003FE00000000000FF800000000003FE00000000000FF800000000 003FE00000000000FF800000000003FE00000000001FF800000000007FE00000000001FF 800000000007FE00000000001FF000000000007FC00000000001FF000000000007FC0000 0000001FF000000000007FC00000000001FF000000000007FC00000000001FF000000000 007FC00000000000FF000000000000FF0000000000007FC000000000001FF00000000000 07FC000000000001FF0000000000007FC000000000001FF0000000000007FC0000000000 01FF0000000000007FC000000000001FF0000000000007FE000000000001FF8000000000 007FE000000000001FF8000000000003FE000000000000FF8000000000003FE000000000 000FF8000000000003FE000000000000FF8000000000003FE000000000000FF800000000 0003FE000000000000FF0000000000003F0000000000000E383679B147>I<0000000180 00000003C000000007C000000007C000000007800000000F800000000F800000000F0000 00001F000000001F000000001E000000003E000000003E000000003C000000007C000000 007C000000007800000000F800000000F800000000F000000001F000000001F000000001 E000000003E000000003E000000003C000000007C000000007C000000007800000000F80 0000000F800000001F000000001F000000001E000000003E000000003E000000003C0000 00007C000000007C000000007800000000F800000000F800000000F000000001F0000000 01F000000001E000000003E000000003E000000003C000000007C000000007C000000007 800000000F800000000F800000000F000000001F000000001F000000001E000000003E00 0000003E000000007C000000007C000000007800000000F800000000F800000000F00000 0001F000000001F000000001E000000003E000000003E000000003C000000007C0000000 07C000000007800000000F800000000F800000000F000000001F000000001F000000001E 000000003E000000003E000000003C000000007C000000007C000000007800000000F800 000000F800000000F0000000006000000000225B7BC32D>I<70000000000000FC000000 000000FF0000000000007FC000000000001FF0000000000007FC000000000001FF000000 0000007FC000000000001FF0000000000007FC000000000001FF0000000000007FC00000 0000001FF8000000000007FE000000000001FF8000000000007FE000000000000FF80000 00000003FE000000000000FF8000000000003FE000000000000FF8000000000003FE0000 00000000FF8000000000003FE000000000000FF8000000000003FE000000000000FF0000 00000000FF000000000003FE00000000000FF800000000003FE00000000000FF80000000 0003FE00000000000FF800000000003FE00000000000FF800000000003FE00000000000F F800000000007FE00000000001FF800000000007FE00000000001FF800000000007FC000 00000001FF000000000007FC00000000001FF000000000007FC00000000001FF00000000 0007FC00000000001FF000000000007FC00000000000FF000000000000FC000000000000 70000000000000383679B147>I<000000000007000000000000000F000000000000000F 800000000000001F800000000000001F800000000000003F800000000000007F80000000 0000007F80000000000000FF80000000000000FF80000000000001FF80000000000003FF 80000000000003FF800000000000077FC00000000000077FC000000000000E3FC0000000 00001E3FC000000000001C3FC00000000000383FC00000000000383FC00000000000703F C00000000000703FC00000000000E03FC00000000001C03FC00000000001C03FE0000000 0003803FE00000000003801FE00000000007001FE0000000000F001FE0000000000E001F E0000000001C001FE0000000001C001FE00000000038001FE00000000078001FE0000000 0070001FE000000000E0001FE000000000E0001FF000000001C0001FF000000001C0000F F00000000380000FF00000000700000FF000000007FFFFFFF00000000FFFFFFFF0000000 0FFFFFFFF00000001C00000FF00000003C00000FF00000003800000FF00000007000000F F80000007000000FF8000000E0000007F8000001E0000007F8000001C0000007F8000003 80000007F800000380000007F800000700000007F800000F00000007F800000E00000007 F800001E00000007F800003C00000007FC00007C00000007FC0000FE00000007FC0007FF 0000001FFE00FFFFF00007FFFFFCFFFFF00007FFFFFCFFFFF00007FFFFF83E417DC044> 65 D<0001FFFFFFFFF800000001FFFFFFFFFF00000001FFFFFFFFFFE000000001FE0000 3FF000000001FE000007F800000001FC000003FC00000001FC000001FE00000001FC0000 01FF00000003FC000000FF00000003F8000000FF00000003F8000000FF80000003F80000 00FF80000007F80000007F80000007F0000000FF80000007F0000000FF80000007F00000 00FF8000000FF0000000FF0000000FE0000001FF0000000FE0000001FE0000000FE00000 03FE0000001FE0000003FC0000001FC0000007F80000001FC000000FF80000001FC00000 1FE00000003FC000003FC00000003F8000007F800000003F800001FE000000003F800007 F8000000007F80007FE0000000007FFFFFFF00000000007FFFFFFFE0000000007F000007 F800000000FF000001FE00000000FE000000FF00000000FE0000007F80000000FE000000 3FC0000001FE0000003FC0000001FC0000003FE0000001FC0000001FE0000001FC000000 1FE0000003FC0000001FE0000003F80000001FF0000003F80000001FF0000003F8000000 1FF0000007F80000001FE0000007F00000003FE0000007F00000003FE0000007F0000000 3FC000000FF00000007FC000000FE00000007F8000000FE0000000FF8000000FE0000001 FF0000001FE0000001FE0000001FC0000003FE0000001FC0000007FC0000003FC000001F F00000003FC000003FE00000003F800000FFC00000007F800007FF000000FFFFFFFFFFFC 000000FFFFFFFFFFF0000000FFFFFFFFFF00000000413E7DBD45>I<000000001FF80007 00000001FFFE00070000000FFFFF800E0000007FF007E01E000001FF0000F03E000003FC 0000787E00000FF000003CFC00003FC000001FFC00007F8000000FFC0000FF0000000FFC 0001FE00000007F80007F800000007F8000FF000000003F8001FF000000003F8001FE000 000003F0003FC000000001F0007F8000000001F000FF8000000001F001FF0000000001E0 01FE0000000001E003FE0000000001E007FC0000000001E007FC0000000001C00FF80000 000001C00FF80000000001C01FF00000000001C01FF00000000000003FF0000000000000 3FE00000000000003FE00000000000007FE00000000000007FC00000000000007FC00000 000000007FC0000000000000FFC0000000000000FF80000000000000FF80000000000000 FF80000000000000FF80000000000000FF80000000000000FF00000000000000FF000000 00003C00FF00000000003C00FF00000000003800FF00000000003800FF00000000007800 FF00000000007000FF0000000000F0007F8000000000E0007F8000000001E0007F800000 0003C0003F800000000380003FC00000000780003FC00000000F00001FC00000001E0000 0FE00000003C00000FF000000078000007F8000000F0000003F8000001E0000001FE0000 07C0000000FF00000F000000007FC0007E000000001FF803F80000000007FFFFE0000000 0001FFFF8000000000001FF80000000040427BBF41>I<0001FFFFFFFFF800000001FFFF FFFFFF00000001FFFFFFFFFFC000000001FF00003FF000000001FF00000FF800000001FE 000003FC00000001FE000000FE00000001FE0000007F00000003FE0000003F80000003FC 0000003F80000003FC0000001FC0000003FC0000001FC0000007FC0000000FE0000007F8 0000000FE0000007F80000000FF0000007F80000000FF000000FF800000007F000000FF0 00000007F000000FF000000007F000000FF000000007F800001FF000000007F800001FE0 00000007F800001FE000000007F800001FE00000000FF800003FE00000000FF800003FC0 0000000FF800003FC00000000FF800003FC00000000FF000007FC00000000FF000007F80 0000001FF000007F800000001FF000007F800000001FF00000FF800000001FE00000FF00 0000003FE00000FF000000003FE00000FF000000003FC00001FF000000007FC00001FE00 0000007FC00001FE000000007F800001FE00000000FF800003FE00000000FF000003FC00 000000FF000003FC00000001FE000003FC00000001FC000007FC00000003FC000007F800 000003F8000007F800000007F0000007F80000000FF000000FF80000001FE000000FF000 00001FC000000FF00000003F8000000FF00000007F0000001FF0000000FE0000001FE000 0001FC0000001FE0000007F80000003FE000000FE00000003FE000003FC00000003FC000 01FF000000007FC0000FFC000000FFFFFFFFFFF0000000FFFFFFFFFFC0000000FFFFFFFF FC00000000453E7DBD4B>I<0001FFFFFFFFFFFFC00001FFFFFFFFFFFFC00001FFFFFFFF FFFFC0000001FF000001FFC0000001FF0000003FC0000001FE0000001FC0000001FE0000 000FC0000001FE0000000F80000003FE0000000780000003FC0000000780000003FC0000 000780000003FC0000000780000007FC0000000780000007F80000000780000007F80000 000700000007F8000000070000000FF8000000070000000FF0000380070000000FF00003 80070000000FF00007800F0000001FF00007000E0000001FE0000700000000001FE0000F 00000000001FE0000F00000000003FE0001E00000000003FC0001E00000000003FC0003E 00000000003FC001FE00000000007FFFFFFC00000000007FFFFFFC00000000007FFFFFFC 00000000007F8001FC0000000000FF8000F80000000000FF0000780000000000FF000078 0000000000FF0000780000000001FF0000700000000001FE0000700000000001FE000070 001C000001FE0000F0003C000003FE0000E00038000003FC0000E00078000003FC000000 0070000003FC0000000070000007FC00000000F0000007F800000000E0000007F8000000 01E0000007F800000001C000000FF800000003C000000FF0000000078000000FF0000000 078000000FF00000000F8000001FF00000001F0000001FE00000003F0000001FE0000000 7E0000003FE0000000FE0000003FE0000001FC0000003FC000000FFC0000007FC00000FF FC0000FFFFFFFFFFFFF80000FFFFFFFFFFFFF80000FFFFFFFFFFFFF00000423E7DBD43> I<0001FFFFFFFFFFFF0001FFFFFFFFFFFF0001FFFFFFFFFFFF000001FF000007FF000001 FF000000FF000001FE0000007F000001FE0000003F000001FE0000001E000003FE000000 1E000003FC0000001E000003FC0000001E000003FC0000001E000007FC0000001E000007 F80000001E000007F80000001C000007F80000001C00000FF80000001C00000FF0000000 1C00000FF00007001C00000FF0000F003C00001FF0000E003800001FE0000E000000001F E0000E000000001FE0001E000000003FE0001C000000003FC0003C000000003FC0007C00 0000003FC000FC000000007FC003F8000000007FFFFFF8000000007FFFFFF8000000007F FFFFF800000000FF8003F000000000FF0001F000000000FF0000F000000000FF0000F000 000001FF0000E000000001FE0000E000000001FE0000E000000001FE0001E000000003FE 0001C000000003FC0001C000000003FC0001C000000003FC00000000000007FC00000000 000007F800000000000007F800000000000007F80000000000000FF80000000000000FF0 0000000000000FF00000000000000FF00000000000001FF00000000000001FE000000000 00001FE00000000000003FE00000000000003FE00000000000003FC00000000000007FE0 0000000000FFFFFFF800000000FFFFFFF800000000FFFFFFF800000000403E7DBD3A>I< 000000003FF0000E00000003FFFE000E0000001FFFFF801C0000007FF00FC03C000001FF 0001E07C000007FC0000F0FC00000FF0000079F800003FC000003FF800007F8000001FF8 0000FF0000000FF80003FC0000000FF00007F80000000FF0000FF000000007F0001FE000 000007F0003FE000000007E0003FC000000003E0007F8000000003E000FF0000000003E0 01FF0000000003C001FE0000000003C003FE0000000003C007FC0000000003C007FC0000 000003800FF80000000003800FF80000000003801FF00000000003801FF0000000000000 3FF00000000000003FE00000000000003FE00000000000007FE00000000000007FC00000 000000007FC00000000000007FC0000000000000FFC0000000000000FF80000000000000 FF80000000000000FF80000000000000FF8000003FFFFFE0FF8000003FFFFFE0FF000000 3FFFFFE0FF000000001FF800FF000000000FF800FF000000000FF000FF000000000FF000 FF000000001FF000FF000000001FF000FF000000001FE000FF000000001FE0007F800000 003FE0007F800000003FE0007F800000003FC0003FC00000003FC0003FC00000007FC000 1FC00000007FC0001FE00000007F80000FF0000000FF800007F0000001FF800003F80000 03FF800001FC000007BF000000FF00001F1F0000007FC0007E0F0000001FF803F80F0000 0007FFFFE00600000001FFFF8000000000001FF8000000003F427BBF48>I<0001FFFFFF C00003FFFFFFC00003FFFFFFC0000001FF8000000001FF0000000001FE0000000001FE00 00000001FE0000000003FE0000000003FC0000000003FC0000000003FC0000000007FC00 00000007F80000000007F80000000007F8000000000FF8000000000FF0000000000FF000 0000000FF0000000001FF0000000001FE0000000001FE0000000001FE0000000003FE000 0000003FC0000000003FC0000000003FC0000000007FC0000000007F80000000007F8000 0000007F8000000000FF8000000000FF0000000000FF0000000000FF0000000001FF0000 000001FE0000000001FE0000000001FE0000000003FE0000000003FC0000000003FC0000 000003FC0000000007FC0000000007F80000000007F80000000007F8000000000FF80000 00000FF0000000000FF0000000000FF0000000001FF0000000001FE0000000001FE00000 00003FE0000000003FE0000000003FC000000000FFE0000000FFFFFFE00000FFFFFFE000 00FFFFFFE000002A3E7DBD28>73 D<0001FFFFFFC0007FFFF80001FFFFFFC000FFFFF800 01FFFFFF8000FFFFF8000001FF8000000FFF00000001FF0000000FF800000001FE000000 0FE000000001FE0000000F8000000001FE0000001F0000000003FE0000003C0000000003 FC000000F80000000003FC000001F00000000003FC000003C00000000007FC0000078000 00000007F800001F000000000007F800003E000000000007F800007800000000000FF800 00F000000000000FF00003E000000000000FF000078000000000000FF0000F0000000000 001FF0003E0000000000001FE0007C0000000000001FE000F00000000000001FE001E000 00000000003FE007E00000000000003FC00FE00000000000003FC01FF00000000000003F C03FF00000000000007FC0FFF80000000000007F81EFF80000000000007F83CFF8000000 0000007F8F87FC000000000000FF9F07FC000000000000FF3C03FE000000000000FF7803 FE000000000000FFF001FF000000000001FFE001FF000000000001FF8001FF0000000000 01FF0000FF800000000001FE0000FF800000000003FE00007FC00000000003FC00007FC0 0000000003FC00003FE00000000003FC00003FE00000000007FC00003FE00000000007F8 00001FF00000000007F800001FF00000000007F800000FF8000000000FF800000FF80000 00000FF0000007FC000000000FF0000007FC000000000FF0000007FE000000001FF00000 03FE000000001FE0000003FE000000001FE0000001FF000000003FE0000001FF00000000 3FE0000001FF800000003FC0000001FF800000007FE0000003FFE00000FFFFFFE0007FFF FF0000FFFFFFE0007FFFFF0000FFFFFFE0007FFFFF00004D3E7DBD4D>75 D<0001FFFFFFF0000001FFFFFFF0000001FFFFFFF000000001FF800000000001FF000000 000001FE000000000001FE000000000001FE000000000003FE000000000003FC00000000 0003FC000000000003FC000000000007FC000000000007F8000000000007F80000000000 07F800000000000FF800000000000FF000000000000FF000000000000FF000000000001F F000000000001FE000000000001FE000000000001FE000000000003FE000000000003FC0 00000000003FC000000000003FC000000000007FC000000000007F8000000000007F8000 000000007F800000000000FF800000000000FF000000000000FF000000000000FF000000 000001FF000000000001FE000000000001FE0000000C0001FE0000001E0003FE0000001C 0003FC0000001C0003FC0000003C0003FC000000380007FC000000380007F80000007800 07F8000000700007F8000000F0000FF8000000F0000FF0000001E0000FF0000001E0000F F0000003E0001FF0000007C0001FE000000FC0001FE000001FC0003FE000003F80003FE0 0000FF80003FC00003FF80007FC0001FFF00FFFFFFFFFFFF00FFFFFFFFFFFF00FFFFFFFF FFFE00373E7DBD3E>I<0001FFFF80000000003FFFF00001FFFF80000000007FFFE00001 FFFF8000000000FFFFE0000001FF8000000000FFE000000001FFC000000001FFC0000000 01DFC000000003BF8000000001DFC000000003BF8000000001DFC0000000077F80000000 03DFC0000000077F80000000039FC00000000E7F00000000039FC00000001C7F00000000 038FE00000001CFF00000000078FE000000038FF00000000070FE000000070FE00000000 070FE000000070FE00000000070FE0000000E1FE000000000F0FE0000001C1FE00000000 0E0FE0000001C1FC000000000E07F000000381FC000000000E07F000000383FC00000000 1E07F000000703FC000000001C07F000000E03F8000000001C07F000000E03F800000000 1C07F000001C07F8000000003C07F000003807F8000000003807F000003807F000000000 3803F800007007F0000000003803F80000E00FF0000000007803F80000E00FF000000000 7003F80001C00FE0000000007003F80001C00FE0000000007003F80003801FE000000000 F003F80007001FE000000000E001FC0007001FC000000000E001FC000E001FC000000000 E001FC001C003FC000000001E001FC001C003FC000000001C001FC0038003F8000000001 C001FC0070003F8000000001C001FC0070007F8000000003C000FE00E0007F8000000003 8000FE00E0007F00000000038000FE01C0007F00000000038000FE038000FF0000000007 8000FE038000FF00000000070000FE070000FE00000000070000FE0E0000FE0000000007 00007F0E0001FE000000000F00007F1C0001FE000000000E00007F380001FC000000000E 00007F380001FC000000000E00007F700003FC000000001E00007F700003FC000000001C 00007FE00003F8000000001C00007FC00003F8000000003C00003FC00007F8000000007C 00003F800007F800000000FE00003F000007F000000003FF00003F00000FF8000000FFFF FC003E001FFFFFF80000FFFFFC003C001FFFFFF80000FFFFFC001C001FFFFFF000005C3E 7DBD58>I<0001FFFF800001FFFFF80001FFFF800001FFFFF00001FFFF800001FFFFF000 0000FFC000000FFE00000001FFC0000003F000000001FFE0000003E000000001FFE00000 01C000000001DFE0000003C000000003DFF0000003C0000000038FF00000038000000003 8FF800000380000000038FF8000007800000000787FC000007800000000707FC00000700 0000000703FC000007000000000703FE00000F000000000F03FE00000F000000000E01FF 00000E000000000E01FF00000E000000000E00FF00001E000000001E00FF80001E000000 001C007F80001C000000001C007FC0001C000000001C007FC0003C000000003C003FE000 3C0000000038003FE000380000000038001FE000380000000038001FF000780000000078 001FF000780000000070000FF800700000000070000FF8007000000000700007F800F000 000000F00007FC00F000000000E00003FC00E000000000E00003FE00E000000000E00003 FE01E000000001E00001FF01E000000001C00001FF01C000000001C00000FF01C0000000 01C00000FF83C000000003C00000FF83C0000000038000007FC380000000038000007FC3 80000000038000003FC780000000078000003FE780000000070000001FE7000000000700 00001FF700000000070000001FFF000000000F0000000FFF000000000E0000000FFE0000 00000E00000007FE000000000E00000007FE000000001E00000007FE000000001C000000 03FC000000001C00000003FC000000003C00000001FC000000007C00000001FC00000000 FE00000000F800000003FF00000000F8000000FFFFFC000000F8000000FFFFFC00000078 000000FFFFFC000000700000004D3E7DBD49>I<0001FFFFFFFFF000000001FFFFFFFFFF 00000001FFFFFFFFFFC000000001FF00007FE000000001FF00000FF800000001FE000003 FC00000001FE000001FC00000003FE000001FE00000003FE000000FF00000003FC000000 FF00000003FC000000FF00000007FC000000FF00000007FC000000FF80000007F8000000 FF80000007F8000000FF8000000FF8000000FF8000000FF8000001FF0000000FF0000001 FF0000000FF0000001FF0000001FF0000001FE0000001FF0000003FE0000001FE0000003 FC0000001FE0000007FC0000003FE0000007F80000003FE000000FF00000003FC000001F E00000003FC000003FC00000007FC000007F800000007FC00000FE000000007F800003FC 000000007F80003FF000000000FFFFFFFFC000000000FFFFFFFC0000000000FF00000000 00000000FF0000000000000001FF0000000000000001FF0000000000000001FE00000000 00000001FE0000000000000003FE0000000000000003FE0000000000000003FC00000000 00000003FC0000000000000007FC0000000000000007FC0000000000000007F800000000 00000007F8000000000000000FF8000000000000000FF8000000000000000FF000000000 0000000FF0000000000000001FF0000000000000001FF0000000000000001FE000000000 0000001FE0000000000000003FE0000000000000003FE0000000000000003FC000000000 0000007FE0000000000000FFFFFFE00000000000FFFFFFE00000000000FFFFFFE0000000 0000413E7DBD3A>80 D<0001FFFFFFFF8000000001FFFFFFFFF800000001FFFFFFFFFF00 00000001FF0001FF8000000001FF00003FE000000001FE00000FF000000001FE000007F8 00000001FE000003FC00000003FE000003FC00000003FC000001FE00000003FC000001FE 00000003FC000001FE00000007FC000001FF00000007F8000001FF00000007F8000001FF 00000007F8000001FF0000000FF8000003FE0000000FF0000003FE0000000FF0000003FE 0000000FF0000007FC0000001FF0000007FC0000001FE000000FF80000001FE000000FF0 0000001FE000001FE00000003FE000003FC00000003FC000007F800000003FC00000FE00 0000003FC00003FC000000007FC0000FF0000000007F8000FF80000000007FFFFFFC0000 0000007FFFFFF80000000000FF8001FE0000000000FF00007F8000000000FF00001FC000 000000FF00001FE000000001FF00000FF000000001FE000007F000000001FE000007F000 000001FE000007F800000003FE000007F800000003FC000007F800000003FC000007F800 000003FC00000FF800000007FC00000FF800000007F800000FF800000007F800000FF000 000007F800001FF00000000FF800001FF00000000FF000001FF00000000FF000001FF000 00000FF000001FF00000001FF000003FF00100001FE000003FF00380001FE000003FE003 80003FE000003FE00780003FE000003FE00700003FC000001FE00F00007FE000001FE00E 00FFFFFFE0000FF01E00FFFFFFE00007F03C00FFFFFFE00003F87800000000000000FFE0 000000000000003F800041407DBD45>82 D<00000007FC001C0000003FFF801C000000FF FFE038000003F803F07800000FE000F8F800001F80003DF800003F00001FF000007E0000 0FF00000FC00000FF00001F8000007F00001F0000007E00003F0000007E00007E0000003 E00007E0000003E0000FE0000003C0000FC0000003C0000FC0000003C0000FC0000003C0 001FC000000380001FC000000380001FC000000380001FE000000380001FE00000000000 1FF000000000001FF800000000001FFE00000000000FFFC0000000000FFFFC0000000007 FFFFC000000007FFFFF800000003FFFFFE00000001FFFFFF00000000FFFFFF800000003F FFFFC000000007FFFFE000000000FFFFE0000000000FFFF00000000000FFF00000000000 3FF000000000001FF800000000000FF8000000000007F8000000000007F8000000000003 F8000700000003F8000F00000003F8000F00000003F0000E00000003F0000E00000003F0 001E00000007F0001E00000007E0001E00000007E0001E0000000FC0003E0000000FC000 3F0000001F80003F0000001F80003F8000003F00007F8000007E00007FC00000FC00007F E00001F800007DF00003F00000F8FC000FE00000F83F803F800000F01FFFFE000000E007 FFF8000000C0007FC000000036427BBF38>I<00001F8000000000FFE000000003F07070 00000FC039F800001F801DF800003F000FF800007E000FF00000FC000FF00001FC0007F0 0003F80007F00007F00007E00007F00007E0000FE00007E0001FE0000FE0001FE0000FC0 003FC0000FC0003FC0000FC0003FC0001FC0007FC0001F80007F80001F80007F80001F80 007F80003F8000FF80003F0000FF00003F0000FF00003F0000FF00007F0000FF00007E03 80FE00007E0380FE00007E0380FE0000FE0380FE0000FC07807E0001FC07007E0003FC07 007E0003FC0F003F0007FC0E003F000EFC0E001F801C7C1C000F80787C1C0007C1F03E38 0001FFC01FF000007F0007C00029297DA730>97 D<001FC000000FFFC000000FFF800000 0FFF800000003F800000003F800000003F000000003F000000007F000000007F00000000 7E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC00000001FC 00000001F800000001F800000003F800000003F800000003F000000003F03F800007F0FF E00007F3C1F80007E700FC0007FE007E000FFC003E000FF8003F000FF0003F000FE0003F 801FE0001F801FC0001F801F80001F801F80003FC03F80003FC03F80003FC03F00003FC0 3F00003FC07F00007FC07F00007F807E00007F807E00007F807E0000FF80FE0000FF00FC 0000FF00FC0000FF00FC0001FE00FC0001FE00FC0001FC00FC0003FC00F80003F800F800 07F8007C0007F0007C000FE0007C000FC0003C001F80003E003F00001E007E00000F00F8 00000783F0000003FFC0000000FE00000022407CBE27>I<000007F00000007FFE000001 FC0F000007E00380000FC001C0003F8001E0007F0007E000FE001FE001FC001FE003F800 1FE003F8001FC007F0001FC00FF0001F800FE00000001FE00000003FC00000003FC00000 003FC00000007FC00000007F800000007F800000007F80000000FF80000000FF00000000 FF00000000FF00000000FF00000000FF00000000FF000000007E000000607F000000E07F 000001E07F000003C03F000007803F80000F001F80001E000FC0007C0007E001F00001F0 1FC00000FFFF0000001FF0000023297DA727>I<00001FE0000000FFFC000003F01E0000 0FC00F00003F800780007E0007C000FC0003C003F80003C007F80003C007F00007C00FE0 0007801FE00007801FC0000F803FC0001F003FC0003E007F8001FC007F801FF000FFFFFF 8000FFFFF80000FF00000000FF00000000FF00000000FF00000000FE00000000FE000000 00FE00000000FE00000000FE00000000FE00000000FE000000C0FE000001C07E000003C0 7E000007803F00000F003F00001E001F00003C000F8000F80007C003E00003E03F800000 FFFE0000003FE0000022297CA72A>101 D<00003C0000FE0000FE0001FE0001FE0001FE 0001FC000070000000000000000000000000000000000000000000000000000000000000 000000000000000000007E0001FF8003C7C00703C00F03E00E03E01C03E01C07E03807E0 3807E0780FE0700FC0700FC0F01FC0F01F80001F80003F80003F00007F00007E00007E00 00FE0000FC0000FC0001FC0001F80003F80E03F00E03F00E07F01E07E01C07E01C07E03C 07C03807C07807C07007C0E007C1E003E3C001FF00007C00173E7EBC1F>105 D<00000001C000000007F000000007F00000000FF00000000FF00000000FF00000000FE0 000000038000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 03E00000000FF80000003C3E000000701E000000E01F000001C01F000003C01F80000780 1F800007001F80000F003F80000E003F00001E003F00001C003F00003C007F00003C007F 000000007E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC00 000001FC00000001F800000001F800000003F800000003F800000003F000000003F00000 0007F000000007F000000007E000000007E00000000FE00000000FE00000000FC0000000 0FC00000001FC00000001FC00000001F800000001F800000003F800000003F800000003F 000000003F000000007F000000007E000000007E00001C00FE00007F00FC0000FF01FC00 00FF01F80000FF03F00000FF07E00000FE0FC00000F81F800000783E0000003FF8000000 0FE0000000245081BC25>I<0007F003FFF003FFE003FFE0000FE0000FE0000FC0000FC0 001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F00007E00007E00 00FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F00003F000 07F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F8000 3F80003F80003F00003F00007F00007F03807E03807E0380FE0380FE0780FC0700FC0700 FC0F00FC0E00FC0E007C1C007C3C003E38001FF00007C00014407DBE1B>108 D<01F0000FF00003F8000007FC003FFE001FFF00000F1F00F01F007C0F80000E1F03C00F 80E007C0001E0F87000FC3C003E0001C0F8E0007C78003E0003C0FDC0007EF0003F00038 0FF80007EE0003F000380FF00007FC0003F000781FF00007F80003F000701FE00007F800 03F000701FC00007F00003F000701FC00007F00003F000F01F80000FE00007F000F03F80 000FE00007E000003F00000FC00007E000003F00000FC00007E000003F00001FC0000FE0 00007F00001FC0000FC000007E00001F80000FC000007E00001F80001FC000007E00003F 80001F800000FE00003F80001F800000FC00003F00003F800000FC00003F00003F000000 FC00007F00003F000001FC00007F00007F01C001F800007E00007E01C001F800007E0000 7E01C001F80000FE0000FE03C003F80000FE0000FC038003F00000FC0000FC038003F000 00FC0000FC078003F00001FC0000F8070007F00001FC0000F80F0007E00001F80000F80E 0007E00001F80000F81C0007E00003F80000F83C000FE00003F800007C78000FC00003F0 00003FE00003800000E000000F80004A297EA750>I<01F0000FF0000007FC003FFE0000 0F1F00F01F00000E1F03C00F80001E0F87000FC0001C0F8E0007C0003C0FDC0007E00038 0FF80007E000380FF00007E000781FF00007E000701FE00007E000701FC00007E000701F C00007E000F01F80000FE000F03F80000FC000003F00000FC000003F00000FC000003F00 001FC000007F00001F8000007E00001F8000007E00003F8000007E00003F000000FE0000 3F000000FC00007F000000FC00007E000000FC00007E000001FC0000FE038001F80000FC 038001F80000FC038001F80001FC078003F80001F8070003F00001F8070003F00001F80F 0003F00001F00E0007F00001F01E0007E00001F01C0007E00001F0380007E00001F07800 0FE00000F8F0000FC000007FC000038000001F000031297EA737>I<000007F80000007F FE000001FC0F800007E007E0000FC003F0003F8001F8007F0001F800FE0000FC01FC0000 FC03F80000FE03F80000FE07F00000FE0FF00000FE0FE00000FE1FE00000FF3FC00000FF 3FC00000FF3FC00001FE7FC00001FE7F800001FE7F800001FE7F800003FEFF800003FCFF 000003FCFF000003FCFF000007F8FF000007F8FF00000FF0FF00000FF07E00000FE07F00 001FC07F00003F807F00003F803F00007F001F8000FC001F8001F8000FC003F00007E00F C00001F03F000000FFFC0000001FE0000028297DA72C>I<0007C000FE00000FF003FF80 001C7C0F07E000383C1C03F000783E7801F800703EF000F800F03FE000FC00E03FC000FC 00E03F8000FE01E07F80007E01C07F00007E01C07E00007E01C07E0000FF03C0FE0000FF 03C0FE0000FF0000FC0000FF0000FC0000FF0001FC0001FF0001FC0001FE0001F80001FE 0001F80001FE0003F80003FE0003F80003FC0003F00003FC0003F00003FC0007F00007F8 0007F00007F80007E00007F00007E0000FF0000FE0000FE0000FE0001FE0000FE0001FC0 000FE0003F80001FE0003F00001FF0007E00001FF000FC00001FB801F800003FBC03E000 003F9E0FC000003F07FF0000003F01F80000007F00000000007F00000000007E00000000 007E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC00000000 01FC0000000001F80000000001F80000000003F80000000003F800000000FFFFE0000000 FFFFE0000000FFFFE0000000303A84A72E>I<01F0003F8007FC00FFE00F1F03C0F00E1F 0F00F81E0F9E03F81C0FBC03F83C0FF807F8380FF007F8380FF007F8781FE007F0701FC0 01C0701FC00000701F800000F01F800000F03F800000003F000000003F000000003F0000 00007F000000007E000000007E000000007E00000000FE00000000FC00000000FC000000 00FC00000001FC00000001F800000001F800000001F800000003F800000003F000000003 F000000003F000000007F000000007E000000007E000000007E00000000FE00000000FC0 000000038000000025297EA729>114 D<00001FC0000000FFF8000003E03C000007800E 00001E000700001E000780003C000F800078001F800078003F800078003F8000F8003F00 00F8003F0000F8001C0000FC00000000FE00000000FFE0000000FFFE0000007FFFC00000 3FFFE000001FFFF800000FFFFC000003FFFC0000001FFE00000003FE00000000FE000000 007E000C00003E003F00003E007F80003E007F80003E00FF00003C00FF00003C00FF0000 7800FC00007800F00000F000700001E000780003C0003C000780000F803E000003FFF800 00007FC0000021297CA72B>I<000070000000FC000001FC000001FC000001F8000001F8 000003F8000003F8000003F0000003F0000007F0000007F0000007E0000007E000000FE0 00000FE000000FC000000FC0007FFFFFF0FFFFFFF0FFFFFFE0001F8000003F8000003F80 00003F0000003F0000007F0000007F0000007E0000007E000000FE000000FE000000FC00 0000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F000 0007F0000007F001C007E001C007E003C00FE003800FE003800FC007800FC007000FC00E 000FC01E000FC03C0007C0380007C0700003E1E00001FF8000003E00001C3A7EB821>I< 007C0000000001FF0000038003C7C0000FC00703C0000FC00F03E0000FC00E03E0001FC0 1C03E0001FC01C07E0001F803807E0001F803807E0003F80780FE0003F80700FC0003F00 700FC0003F00F01FC0007F00F01F80007F00001F80007E00003F80007E00003F0000FE00 003F0000FE00007F0000FC00007E0000FC00007E0001FC0000FE0001FC0000FC0001F800 00FC0001F80000FC0003F80001FC0003F81C01F80003F01C01F80003F01C01F80007F01C 01F80007F03C01F80007E03801F8000FE03801F8001FE07800F8001FE07000FC003FE070 007C0073E0F0007E00E3E0E0003F03C1F1C0000FFF007F800001FC001F002E297EA734> I<007E00007801FF0001FC03C7C001FE0703C003FE0F03E003FE0E03E003FE1C03E003FE 1C07E001FE3807E000FE3807E0007E780FE0003E700FC0003E700FC0001EF01FC0001EF0 1F80001C001F80001C003F80001C003F00003C003F000038007F000038007E000038007E 00007800FE00007000FC00007000FC0000F000FC0000E001FC0000E001F80001C001F800 01C001F800038001F800038001F800070001F800070000F8000E0000F8001C0000FC003C 00007C007800003E00F000001F03C0000007FF80000001FC000027297EA72C>I<0001F8 003F000007FE00FFE0001E0F83C0F0003807C780F8007003CF03F800E003FE03F801C003 FC07F803C003FC07F8038003F807F8070003F807F0070003F801C00E0003F000000E0003 F000001E0007F000001E0007F00000000007E00000000007E0000000000FE0000000000F C0000000000FC0000000000FC0000000001FC0000000001F80000000001F80000000001F 80000000003F80000000003F0001C000003F0001C000003F0001C000007F0003C01E007F 0003803F007E0007807F80FE0007007F80FE000F00FF81FE001E00FF01DF001C00FE03DF 0038007C078F80F0003C0F07C1E0001FFC03FF800007F0007E00002D297EA734>120 D<007C0000000001FF0000038003C7C0000FC00703C0000FC00F03E0000FC00E03E0001F C01C03E0001F801C07E0001F803807E0001F803807E0003F80780FE0003F00700FC0003F 00700FC0003F00F01FC0007F00F01F80007E00001F80007E00003F80007E00003F0000FE 00003F0000FC00007F0000FC00007E0000FC00007E0001FC0000FE0001FC0000FC0001F8 0000FC0001F80000FC0003F80001FC0003F00001F80003F00001F80003F00001F80007F0 0001F80007E00001F80007E00001F8000FE00001F8001FE00000F8001FC00000FC003FC0 00007C007FC000007E00FFC000003F03DF8000000FFF1F80000001FC1F80000000003F80 000000003F00000000003F00000000007F00000380007E00000FE000FE00001FE000FC00 001FE001F800001FE001F800003FC003F000003FC007E000001F000FC000001C001F8000 001E003F0000000E007C0000000781F000000003FFC000000000FE000000002A3B7EA72D >I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fy cmmi6 6 7 /Fy 7 115 df<00000FC000007FE00000F0700001803800070038000E003C000C003C00 18003C0030003C0070003C0060007800C0007800C0007000C000F0018000E00181FFC001 83FF800183FFC00301F9E0030000F0030000F0030000F0060000F8060000F8060000F806 0000F80C0001F00C0001F00C0001F00C0003E01C0003C01E0007C01E0007801B000F0031 C03E0030FFF800307FE0003000000060000000600000006000000060000000C0000000C0 000000C0000000C00000001E2E7EA323>12 D<00FFFFFFFC00FFFFFFFC0007C000FC0007 C0003C000F80001C000F80001C000F80000C000F80000C001F00000C001F00000C001F00 300C001F00300C003E006000003E006000003E00E000003E01E000007FFFC000007FFFC0 00007C03C000007C01C00000F801800000F801800000F801800000F801800001F0000000 01F000000001F000000001F000000003E000000003E000000003E000000007E0000000FF FF800000FFFF80000026227CA127>70 D<00FFFF800000FFFF00000007C000000007C000 00000F800000000F800000000F800000000F800000001F000000001F000000001F000000 001F000000003E000000003E000000003E000000003E000000007C000000007C00000000 7C000000007C00000000F800000000F800018000F800018000F800030001F000030001F0 00060001F000060001F0000E0003E0001C0003E0003C0003E000F80007E003F800FFFFFF F800FFFFFFF00021227CA12A>76 D<000FE0007FF801F03C03C01C07803C0F007C1E007C 3E00383E00007C00007C00007C0000F80000F80000F80000F8000078000478000C380038 3C00701F03E00FFF8001FC0016177E951C>99 D<0038007C007C00780070000000000000 000000000000000007801FC038E030E060F0C1E0C1E0C1E003C003C003C0078007800F00 0F040F061E0C1E0C1E181C181E700FE007800F237DA116>105 D<01E01F0003F07FC006 39C1E00C3F80F00C3E00F0183E00F8183C0078183C00F8007800F8007800F8007800F800 7800F800F001F000F001F000F001F000F003E001E003C001F007C001F0078001F80F0003 DC3C0003CFF80003C7E00003C00000078000000780000007800000078000000F0000000F 0000007FF00000FFF000001D20809520>112 D<0F01F01FC7F831CE1C61F81C61F03CC1 F07CC1E07CC1E03803C00003C00003C00003C0000780000780000780000780000F00000F 00000F00000F00001E00001E00000C000016177D951D>114 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fz cmmi8 8 21 /Fz 21 121 df<0000007E00000001FFC000000781E000001E00F000003800F000007000 F80000E000780001C0007800038000F800030000F800070000F800060000F8000E0001F8 000C0001F0001C0001F000180003E000180007C0003800078000301FEF0000303FFE0000 703FFE0000601FEF000060000F8000600007C000E00007C000C00007E000C00007E000C0 0007E001C00007E001800007E001800007E001800007E00380000FE00300000FC0030000 0FC00300000FC00700001F800700001F800700003F000700003F000F80007E000D80007C 000DC000F8000CE001F0001C7003E000183C0F8000181FFE00001803F800003800000000 3000000000300000000030000000007000000000600000000060000000006000000000E0 00000000C000000000C000000000C000000000253C7EAE28>12 D<00FC00000000FF0000 00001FC00000000FC000000007E000000007E000000007E000000003F000000003F00000 0001F000000001F800000001F800000000FC00000000FC00000000FC000000007E000000 007E000000003F000000003F000000003F000000001F800000001F800000000F80000000 0FC00000000FC00000001FE00000003FE00000007FE0000000F3F0000001E3F0000003C1 F000000781F800000F81F800001F00FC00003E00FC00007C00FC0000F8007E0001F0007E 0003E0003F0007E0003F000FC0003F001F80001F803F00001F807E00001F80FC00000FC0 F8000007E070000003E0232F7DAD29>21 D<3C7EFFFFFFFF7E3C08087A8714>58 D<3C007E00FF00FF00FF80FF807F803D80018001800180038003000300070006000E001C 0038007000600009157A8714>I<00000000700000000000700000000000F00000000001 F00000000001F00000000003F80000000003F80000000007F8000000000DF8000000000D F80000000019F80000000039F80000000031F80000000061FC0000000060FC00000000C0 FC0000000180FC0000000180FC0000000300FC0000000700FC0000000600FC0000000C00 FE0000000C007E00000018007E00000030007E00000030007E00000060007E000000E000 7E000000C0007E00000180007F000001FFFFFF000003FFFFFF00000600003F0000060000 3F00000C00003F00001C00003F00001800003F00003000003F80003000001F8000600000 1F8000C000001F8001C000001F8003C000001F8007C000001F800FC000003FC0FFF80007 FFFEFFF80007FFFE2F2F7DAE35>65 D<000007F00600003FFE0E0000F80F9E0003E001FE 00078000FE000F00007C001E00007C003C00003C003C00003C0078000038007800003800 7800003800F800003800F800003000F800003000FC00000000FC00000000FE000000007F 800000007FF80000003FFF8000003FFFF000001FFFFC000007FFFE000000FFFF0000001F FF00000001FF800000003F800000001F800000000F800000000F80000000078018000007 80180000078018000007801800000F803800000F003800000F003800001E003800001E00 7C00003C007E000078007F0000F0007B8003E000F1F00F8000E07FFE0000C00FF0000027 2F7CAD2B>83 D<0007E000001FF800007C1CE000F80DE001F00FE003E007E007C007E00F C007E01F8007C01F8007C03F0007C03F000FC07F000F807E000F807E000F807E001F80FE 001F00FC001F00FC001F00FC003F02FC003E06FC003E06F8003E06F8007E0E7C00FE0C7C 00FC0C7C01FC1C3E07BE181F0E1E380FFC0FF003F003C01F1F7D9D25>97 D<0001F800000FFE00003E0780007C018001F801C003F007C007E00FC00FC00FC00F800F 801F800F803F0000003F0000007F0000007E0000007E0000007E000000FE000000FC0000 00FC000000FC000000FC000000FC000000FC0000607C0000E07C0001C07C0003803E000F 001E001C000F81F80007FFE00000FE00001B1F7D9D1F>99 D<0003F800000FFE00003E07 8000F8038001F003C003E001C007C001C00FC003C01F8003801F8007803F000F003F001E 007F01FC007FFFF0007FFF00007E000000FE000000FC000000FC000000FC000000FC0000 007C0000007C0000607C0000E07C0001C03E0003803E000F001F001C000F81F80003FFE0 0000FE00001B1F7D9D21>101 D<001F00000003FF00000003FF000000003F000000003F 000000003E000000003E000000007E000000007E000000007C000000007C00000000FC00 000000FC00000000F800000000F800000001F800000001F83F000001F1FFC00001F3C1F0 0003FF00F00003FC00F80003F800F80003F800F80007F000F80007E000F80007E000F800 07C000F8000FC001F8000FC001F0000F8001F0000F8001F0001F8003F0001F8003E0001F 0003E0001F0007E0003F0007C0403F0007C0C03E000FC0C03E000F80C07E000F81C07E00 1F01807C001F03807C001F0700FC000F0600FC000F1E00F80007F800700001E000222F7D AD29>104 D<000700000F80001FC0001FC0000F80000700000000000000000000000000 00000000000000000000000000000001E00007F8000E3C001C3E00383E00303E00703E00 607E00E07C00C07C00C0FC0080F80000F80001F80001F00003F00003E00003E00007E000 07C04007C0C00FC0C00F80C00F81C01F01801F03801F07000F06000F1E0007F80001F000 122E7EAC18>I<000000E0000001F0000003F0000003F0000003F0000001C00000000000 0000000000000000000000000000000000000000000000000000000000000000007C0000 03FE0000078F80000E0780001C0780003807C0003007C000700FC000600F8000E00F8000 C00F8000801F8000001F8000001F0000001F0000003F0000003F0000003E0000003E0000 007E0000007E0000007C0000007C000000FC000000FC000000F8000000F8000001F80000 01F8000001F0000001F0000003F0000003F0000003E0000003E0000007E0003807C000FC 0FC000FC0F8000FC1F0000F83E0000F0F800007FF000001F8000001C3B81AC1D>I<001F 000003FF000003FF0000003F0000003F0000003E0000003E0000007E0000007E0000007C 0000007C000000FC000000FC000000F8000000F8000001F8000001F800F801F003FC01F0 0F0E03F01C1E03F0387E03E0707E03E0E07E07E1C07E07E3803807C7000007CE00000FDC 00000FF800000FF800000FFF80001F9FE0001F83F0001F01F8001F00F8003F00F8043F00 F80C3E00F80C3E00F80C7E00F81C7E00F8187C00F0387C00F830FC00F870FC0078E0F800 3FC070000F801F2F7DAD25>I<007C0FFC0FFC00FC00FC00F800F801F801F801F001F003 F003F003E003E007E007E007C007C00FC00FC00F800F801F801F801F001F003F003F003E 003E007E007E007C007C00FC08FC18F818F818F838F830F030F070F86078E03FC00F000E 2F7DAD15>I<07C007E0001FE03FF80018F8783E003879E01E00307B801F00707F001F00 607F001F0060FE001F00E0FC001F00C0FC001F00C0F8001F0081F8003F0001F8003E0001 F0003E0001F0003E0003F0007E0003F0007C0003E0007C0003E000FC0007E000F80807E0 00F81807C001F81807C001F0180FC001F0380FC003E0300F8003E0700F8003E0E01F8001 E0C01F8001E3C01F0000FF000E00003E00251F7E9D2B>110 D<007C01F80000FE07FE00 01CF8E0F0003879C07800307B807C00707F007C00607E003E0060FC003E00E0F8003E00C 0F8003E00C0F8003E0081F8007E0001F8007E0001F0007E0001F0007E0003F000FE0003F 000FC0003E000FC0003E000FC0007E001F80007E001F80007C001F00007C003F0000FC00 3E0000FC007C0000FC00FC0000FE01F80001FF03E00001FB87C00001F1FF000001F0FC00 0003F000000003F000000003E000000003E000000007E000000007E000000007C0000000 07C00000000FC00000000FC0000000FFFC000000FFFC000000232B829D24>112 D<07C01F000FF07FC01CF8E0E03879C1E0307B87E0707F07E0607E07E060FC07E0E0FC03 80C0F80000C0F8000081F8000001F8000001F0000001F0000003F0000003F0000003E000 0003E0000007E0000007E0000007C0000007C000000FC000000FC000000F8000000F8000 001F8000001F8000001F0000000E0000001B1F7E9D20>114 D<000E00001F00001F0000 3F00003F00003E00003E00007E00007E00007C00007C0000FC0000FC00FFFFF8FFFFF801 F80001F80001F00001F00003F00003F00003E00003E00007E00007E00007C00007C0000F C0000FC0000F80000F80001F80101F80301F00301F00701F00601F00E01E01C01E03801F 07000F0E0007FC0001F000152B7EA919>116 D<01E000000007F8000E000E3C001F001C 3E003F00383E003E00303E003E00703E003E00607E007E00E07C007C00C07C007C00C0FC 007C0080F800FC0000F800F80001F800F80001F000F80001F001F80003F001F00003E001 F00003E001F00003E003F02007E003E06007C003E06007C003E06007C003E0E007C007E0 C003C00FC0C003E01FC1C003E03BE18001F071E380007FE0FF00001F803C00231F7E9D29 >I<01E0007007F800F80E3C01F81C3E01FC383E01FC303E00FC703E007C607E007CE07C 0038C07C0038C0FC003880F8003800F8003001F8003001F0003001F0007003F0006003E0 006003E000E003E000C007E000C007C001C007C0018007C0038007C0070003C0060003E0 0E0001E01C0001F07800007FE000001F80001E1F7E9D22>I<003F007C0000FFC1FF0001 C1E383800380F703C00700F60FC00E00FE0FC01C00FC0FC01800FC0FC03800FC07003000 F800003000F800002001F800000001F000000001F000000001F000000003F000000003E0 00000003E000000003E000000007E001000007E003000007C003003807C007007C0FC006 00FC0FC00E00FC1FC00C00FC1BC01C00F03BE038007071E0F0003FE0FFC0000F803F0000 221F7E9D28>120 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: FA cmsy10 10.95 28 /FA 28 111 df<7FFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFFFE38 04799847>0 D<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A799B19>I<0003C0 000003C0000003E0000003C0000003C0000003C0000003C0000003C0000003C000F003C0 0FFC03C03FFE03C07FFF03C0FF3FC3C3FC0FE187F003F18FC000FDBF00003FFC00000FF0 000003C000000FF000003FFC0000FDBF0003F18FC00FE187F03FC3C3FCFF03C0FFFE03C0 7FFC03C03FF003C00F0003C0000003C0000003C0000003C0000003C0000003C0000003E0 000003C0000003C00020277AA92D>3 D<000FFC0000003FFF000000FFFFC00003FFFFF0 0007F807F8000FE001FC001F80007E003F00003F003E00001F007C00000F807C00000F80 7800000780F8000007C0F8000007C0F0000003C0F0000003C0F0000003C0F0000003C0F0 000003C0F0000003C0F8000007C0F8000007C078000007807C00000F807C00000F803E00 001F003F00003F001F80007E000FE001FC0007F807F80003FFFFF00000FFFFC000003FFF 0000000FFC000022227BA72D>14 D<000FFC0000003FFF000000FFFFC00003FFFFF00007 FFFFF8000FFFFFFC001FFFFFFE003FFFFFFF003FFFFFFF007FFFFFFF807FFFFFFF807FFF FFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFF FFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF807FFFFFFF807FFFFFFF803FFFFFFF 003FFFFFFF001FFFFFFE000FFFFFFC0007FFFFF80003FFFFF00000FFFFC000003FFF0000 000FFC000022227BA72D>I<7FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0 7FFFFFFFFFFFFFE000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000007FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0 7FFFFFFFFFFFFFE000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000007FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0 7FFFFFFFFFFFFFE03C287BAA47>17 D<000003FFFFFFFE00003FFFFFFFFF0000FFFFFFFF FF0003FFFFFFFFFE000FFE00000000001FE000000000007F800000000000FE0000000000 01F8000000000003F0000000000007E000000000000FC000000000000F8000000000001F 0000000000001F0000000000003E0000000000003E0000000000007C0000000000007C00 00000000007800000000000078000000000000F8000000000000F8000000000000F00000 00000000F0000000000000F0000000000000F0000000000000F0000000000000F0000000 000000F0000000000000F0000000000000F8000000000000F80000000000007800000000 0000780000000000007C0000000000007C0000000000003E0000000000003E0000000000 001F0000000000001F0000000000000F8000000000000FC0000000000007E00000000000 03F0000000000001F8000000000000FE0000000000007F8000000000001FE00000000000 0FFE000000000003FFFFFFFFFE0000FFFFFFFFFF00003FFFFFFFFF000003FFFFFFFE0000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000001FFFFFFFFFFFFE3FFFFFFFFF FFFF3FFFFFFFFFFFFF1FFFFFFFFFFFFE384879B947>I<001FE0000000002000FFFC0000 00007001FFFF000000007007FFFFC0000000700FFFFFF0000000701FFFFFF8000000701F E01FFE000000F03F0003FF000001E07E0000FFC00001E07800003FF00007E07800000FFC 000FC0F0000007FF807F80E0000001FFFFFF80E0000000FFFFFF00E00000003FFFFE00E0 0000000FFFF800E000000003FFF00040000000007F800000000000000000000000000000 00000000000000000000000000000000000000001FE0000000002000FFFC000000007001 FFFF000000007007FFFFC0000000700FFFFFF0000000701FFFFFF8000000701FE01FFE00 0000F03F0003FF000001E07E0000FFC00001E07800003FF00007E07800000FFC000FC0F0 000007FF807F80E0000001FFFFFF80E0000000FFFFFF00E00000003FFFFE00E00000000F FFF800E000000003FFF00040000000007F80003C287BAB47>25 D<7FFFFFFFC00000FFFF FFFFFC0000FFFFFFFFFF00007FFFFFFFFFC000000000007FF0000000000007F800000000 0001FE0000000000007F0000000000001F8000000000000FC0000000000007E000000000 0003F0000000000001F0000000000000F8000000000000F80000000000007C0000000000 007C0000000000003E0000000000003E0000000000001E0000000000001E000000000000 1F0000000000001F0000000000000F0000000000000F0000000000000F0000000000000F 0000000000000F0000000000000F0000000000000F0000000000000F0000000000001F00 00000000001F0000000000001E0000000000001E0000000000003E0000000000003E0000 000000007C0000000000007C000000000000F8000000000000F8000000000001F0000000 000003F0000000000007E000000000000FC000000000001F8000000000007F0000000000 01FE000000000007F800000000007FF0007FFFFFFFFFC000FFFFFFFFFF0000FFFFFFFFFC 00007FFFFFFFC00000383679B147>27 D<00000C0000000000000000001E000000000000 0000001E0000000000000000003E0000000000000000003C0000000000000000003C0000 000000000000007C00000000000000000078000000000000000000780000000000000000 00F8000000000000000001F0000000000000000001F0000000000000000003E000000000 0000000007C0000000000000000007C000000000000000000F8000000000000000001F00 00000000000000003E0000000000000000007E000000000000000001F800000000000000 0003F000000000000000000FE000000000000000003FFFFFFFFFFFFFFFFFFEFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFE0FE0000000000000000003 F0000000000000000001F80000000000000000007E0000000000000000003E0000000000 000000001F0000000000000000000F80000000000000000007C0000000000000000007C0 000000000000000003E0000000000000000001F0000000000000000001F0000000000000 000000F800000000000000000078000000000000000000780000000000000000007C0000 000000000000003C0000000000000000003C0000000000000000003E0000000000000000 001E0000000000000000001E0000000000000000000C0000000000000050307BAE5B>32 D<0000000000000030000000000000000000780000000000000000007800000000000000 00007C0000000000000000003C0000000000000000003C0000000000000000003E000000 0000000000001E0000000000000000001E0000000000000000001F000000000000000000 0F8000000000000000000F80000000000000000007C0000000000000000003E000000000 0000000003E0000000000000000001F0000000000000000000F80000000000000000007C 0000000000000000007E0000000000000000001F8000000000000000000FC00000000000 00000007F07FFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F FFFFFFFFFFFFFFFFFC000000000000000007F000000000000000000FC000000000000000 001F8000000000000000007E0000000000000000007C000000000000000000F800000000 0000000001F0000000000000000003E0000000000000000003E0000000000000000007C0 00000000000000000F8000000000000000000F8000000000000000001F00000000000000 00001E0000000000000000001E0000000000000000003E0000000000000000003C000000 0000000000003C0000000000000000007C00000000000000000078000000000000000000 7800000000000000000030000050307BAE5B>I<00000000000040000000000000000000 00E000000000000000000001F800000000000000000001FE000003000000000000007FC0 001F000000000000001FFE03FF0000000000000007FFFFFE0000000000000001FFFFFE00 000000000000003FFFFC000000000000000000F9FC00000000000000000003FC00000000 000000000007FC0000000000000000000FBC0000000000000000001F3800000000000000 00003E780000000000000000007C78000000000000000000F878000000000000000001F0 78000000000000000003E078000000000000000007C03800000000000000000F803C0000 0000000000001F003C00000000000000003E003C00000000000000007C003C0000000000 000000F8003C0000000000000001F0001E0000000000000003E0001E0000000000000007 C0001F000000000000000F80000F000000000000001F00000F800000000000003E00000F 800000000000007C000007C0000000000000F8000007C0000000000001F0000003E00000 00000003E0000001C0000000000007C00000018000000000000F80000000000000000000 1F000000000000000000003E000000000000000000007C00000000000000000000F80000 0000000000000001F000000000000000000003E000000000000000000007C00000000000 000000000F800000000000000000001F000000000000000000003E000000000000000000 007C00000000000000000000F800000000000000000001F000000000000000000003E000 000000000000000007C00000000000000000000F800000000000000000001F0000000000 00000000003E000000000000000000007C00000000000000000000F80000000000000000 0001F000000000000000000003E000000000000000000007C00000000000000000000F80 0000000000000000001F000000000000000000003E000000000000000000007C00000000 000000000000F800000000000000000001F000000000000000000003E000000000000000 000007C00000000000000000000F800000000000000000001F000000000000000000003E 000000000000000000007C00000000000000000000F800000000000000000001F0000000 00000000000003E000000000000000000007C00000000000000000000F80000000000000 0000001F000000000000000000003E000000000000000000007C00000000000000000000 F800000000000000000000F000000000000000000000600000000000000000000053537B C15B>37 D<000000000001E0000000000000000001F0000000000000000000F000000000 0000000000F8000000000000000000780000000000000000007C0000000000000000003E 0000000000000000003E0000000000000000001F0000000000000000000F800000000000 00000007C0000000000000000007E0000000000000000003E0000000000000000001F000 007FFFFFFFFFFFFFFC0000FFFFFFFFFFFFFFFE0000FFFFFFFFFFFFFFFF00007FFFFFFFFF FFFFFF80000000000000000007E0000000000000000003F0000000000000000001FC0000 000000000000007F0000000000000000001FC000000000000000000FF800000000000000 0003FF000000000000000003FF00000000000000000FF800000000000000001FC0000000 00000000007F000000000000000001FC000000000000000003F0000000000000000007E0 007FFFFFFFFFFFFFFF8000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFE00007FFFFFFFFF FFFFFC000000000000000001F0000000000000000003E0000000000000000007E0000000 000000000007C000000000000000000F8000000000000000001F0000000000000000003E 0000000000000000003E0000000000000000007C00000000000000000078000000000000 000000F8000000000000000000F0000000000000000001F0000000000000000001E00000 0050327BAF5B>41 D<000003FFFFF800003FFFFFFC0000FFFFFFFC0003FFFFFFF8000FFE 000000001FE0000000007F8000000000FE0000000001F80000000003F00000000007E000 0000000FC0000000000F80000000001F00000000001F00000000003E00000000003E0000 0000007C00000000007C0000000000780000000000780000000000F80000000000F80000 000000F00000000000F00000000000FFFFFFFFFFF8FFFFFFFFFFFCFFFFFFFFFFFCFFFFFF FFFFF8F00000000000F00000000000F80000000000F80000000000780000000000780000 0000007C00000000007C00000000003E00000000003E00000000001F00000000001F0000 0000000F80000000000FC00000000007E00000000003F00000000001F80000000000FE00 000000007F80000000001FE0000000000FFE0000000003FFFFFFF80000FFFFFFFC00003F FFFFFC000003FFFFF82E3679B13D>50 D<00000000001800000000003C00000000007C00 000000007C0000000000F80000000000F80000000001F00000000001F00000000003E000 00000003E00000000007C0000000000FC0000000000F80000000001F00000000001F0000 0000003E00000000003E00000000007C00000000007C0000000000F80000000000F80000 000001F00000000001F00000000003E00000000003E00000000007C00000000007C00000 00000F80000000000F80000000001F00000000001F00000000003E00000000007E000000 00007C0000000000F80000000000F80000000001F00000000001F00000000003E0000000 0003E00000000007C00000000007C0000000000F80000000000F80000000001F00000000 001F00000000003E00000000003E00000000007C00000000007C0000000000F800000000 01F80000000001F00000000003E00000000003E00000000007C00000000007C000000000 0F80000000000F80000000001F00000000001F00000000003E00000000003E0000000000 7C00000000007C0000000000F80000000000F80000000001F00000000001F00000000003 E00000000003E00000000007C0000000000FC0000000000F80000000001F00000000001F 00000000003E00000000003E00000000007C00000000007C0000000000F80000000000F8 0000000000F000000000006000000000002E5474C000>54 D<60000000000180F0000000 0003C0F80000000007C0F80000000007C0780000000007807C000000000F807C00000000 0F803C000000000F003E000000001F003E000000001F001F000000003E001F000000003E 000F000000003C000F800000007C000F800000007C000780000000780007C0000000F800 07C0000000F80003E0000001F00003E0000001F00001E0000001E00001F0000003E00001 FFFFFFFFE00000FFFFFFFFC00000FFFFFFFFC00000FFFFFFFFC000007C00000F8000007C 00000F8000003C00000F0000003E00001F0000003E00001F0000001E00001E0000001F00 003E0000001F00003E0000000F80007C0000000F80007C0000000780007800000007C000 F800000007C000F800000003E001F000000003E001F000000001E001E000000001F003E0 00000001F003E000000000F003C000000000F807C000000000F807C0000000007C0F8000 0000007C0F80000000003C0F00000000003E1F00000000003E1F00000000001E1E000000 00001F3E00000000001F3E00000000000FFC00000000000FFC000000000007F800000000 0007F8000000000007F8000000000003F0000000000003F0000000000003F00000000000 01E0000000000000C0000000324180BE33>56 D<00000018000000003C000000003C0000 00007C000000007C000003FC7800000FFFF800003E07F800007801F00000F000F00001E0 01F80003C001FC00078001FE00078001FE000F0003EF000F0003EF001F0003CF801E0007 C7803E0007C7C03E000787C03E000787C03E000F87C07E000F87E07C000F03E07C000F03 E07C001F03E07C001F03E07C001E03E0FC003E03F0FC003E03F0FC003C03F0FC003C03F0 FC007C03F0FC007C03F0FC007803F0FC007803F0FC00F803F0FC00F803F0FC00F003F0FC 01F003F0FC01F003F0FC01E003F0FC01E003F0FC03E003F0FC03E003F0FC03C003F0FC03 C003F0FC07C003F0FC07C003F0FC078003F07C0F8003E07C0F8003E07C0F0003E07E0F00 07E07E1F0007E07E1F0007E03E1E0007C03E1E0007C03E3E0007C01F3E000F801F3C000F 800F7C000F000F7C000F000FF8001F0007F8001E0003F8003C0001F800780001F000F800 00F801E00001FE07C00001FFFF000001E3FC000003E000000003E000000003C000000003 C00000000180000000244D7CC52D>59 D<000001FFFFFC00000000003FFFFFFFE0000000 01FFFFFFFFFC00000007FFFFFFFFFF8000001FFFFFFFFFFFC000007FE1FC01FFFFF00001 FC01FC000FFFF80003F001FC0001FFFC0007C001FC00003FFE000F8003FC00001FFF001F 0003FC000007FF003F0003FC000003FF807F0003FC000001FF807E0003F8000000FFC0FE 0003F8000000FFC0FC0003F80000007FC0F00003F80000007FE0C00007F80000003FE000 0007F80000003FE0000007F00000003FE0000007F00000001FE0000007F00000001FE000 0007F00000001FE000000FF00000001FE000000FE00000001FE000000FE00000001FE000 000FE00000001FC000000FE00000001FC000001FC00000001FC000001FC00000001FC000 001FC00000003F8000001FC00000003F8000003F800000003F8000003F800000003F0000 003F800000007F0000003F800000007E0000007F000000007E0000007F00000000FC0000 007F00000000FC0000007E00000001F8000000FE00000001F0000000FE00000003F00000 00FC00000007E0000001FC00000007C0000001FC0000000F80000001F80000001F000000 03F80000003E00000003F80000007C00000003F0000000F800000007F0000003F0000000 07E0000007C000000007E000001F800000000FE000007E000000000FC00001FC00000000 1FC0000FF0000000001F80007FC0000000001F800FFF00000000003FFFFFFC0000000000 FFFFFFE00000000001FFFFFF000000000003FFFFF8000000000007FFFF00000000000043 3E7EBD46>68 D<00000000003F00000000000003FFC000000000000FFFE000000000003F FFF00000000000FFFFF00000000001FFFFF80000000003E0FFF8000000000FC03FF80000 00001F801FF8000000003F001FF8000000007F000FF800000000FE000FF800000001FC00 0FF800000001FC000FF000000003F8000FE000000007F8000F8000000007F0000F000000 000FF00000000000000FE00000000000001FE00000000000001FE00000000000003FC000 00000000003FC00000000000003FC00000000000007F800000000000007F800000000000 007F80000000000000FF00000000000000FF00000000000000FF00000000000001FE0000 0000000001FE00000000000001FE00000000000003FE00000000000003FC000000000000 03FC00000000000003FC00000000000007F800000000000007F800000000000007F80000 000000000FF80000000000000FF00000000000000FF00000000000000FF0000000000000 1FF00000000000001FE00000000000001FE00000000000001FC00000000000003FC00000 000000003FC00000000000007F800000000000007F800000000780007F000000001F8000 FE000000003F0000FE00000000FF0001FFFE000000FE0003FFFFE00001FE0003FFFFFE00 01FC0007FFFFFFE003F80007FFFFFFFE03F0000FFFFFFFFFFFE0001F81FFFFFFFF80003F 001FFFFFFF00007E0001FFFFFC0000F800001FFFF00000E0000001FF80000039427DBF3F >76 D<000001FFFFFF000000003FFFFFFFF8000001FFFFFFFFFE000007FFFFFFFFFF8000 1FFFFFFFFFFFE0007FE1FC007FFFF001FC01FC0003FFF803F001FC0000FFFC07C003FC00 003FFE0F8003FC00000FFE1F0003FC000007FE3F0003FC000003FF7F0003F8000001FF7E 0003F8000001FFFE0003F8000001FFFC0003F8000000FFF00007F8000000FFC00007F800 0000FF000007F0000000FE000007F0000000FE000007F0000000FE000007F0000000FC00 000FF0000001FC00000FE0000001F800000FE0000001F800000FE0000003F000000FE000 0003F000001FE0000007E000001FC0000007C000001FC000000F8000001FC000001F0000 001FC000003E0000003F8000007C0000003F800001F80000003F800003E00000003F8000 0FC00000007F00007F000000007F000FFE000000007F07FFF8000000007E1FFFC0000000 00FE3FFF0000000000FE7FF80000000000FEFF000000000001FC00000000000001FC0000 0000000001FC00000000000001F800000000000003F800000000000003F8000000000000 03F000000000000007F000000000000007F000000000000007E00000000000000FE00000 000000000FC00000000000000FC00000000000001FC00000000000001F80000000000000 3F800000000000003F800000000000003F000000000000007F000000000000007E000000 000000007E00000000000000FC00000000000000F000000000000000C000000000000040 437EBD3F>80 D<60000000000180F00000000003C0F00000000003C0F00000000003C0F0 0000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F000 00000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000 000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F0000000 0003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F000000000 03C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003 C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0 F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F8 0000000007C0F80000000007C0780000000007807C000000000F807C000000000F803E00 0000001F003F000000003F001F800000007E000FC0000000FC0007F0000003F80003FC00 000FF00001FF00003FE000007FF003FF8000001FFFFFFE00000007FFFFF800000001FFFF E0000000001FFE00000032397BB63D>91 D<00001FFE0000000001FFFFE000000007FFFF F80000001FFFFFFE0000007FF003FF800001FF00003FE00003FC00000FF00007F0000003 F8000FC0000000FC001F800000007E003F000000003F003E000000001F007C000000000F 807C000000000F8078000000000780F80000000007C0F80000000007C0F00000000003C0 F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F0 0000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F000 00000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000 000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F0000000 0003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F000000000 03C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003 C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0F00000000003C0 F00000000003C0F00000000003C06000000000018032397BB63D>I<000000C000000000 0001E0000000000003F0000000000003F0000000000007F8000000000007F80000000000 07F800000000000FFC00000000000FFC00000000001F3E00000000001F3E00000000003E 1F00000000003E1F00000000003C0F00000000007C0F80000000007C0F8000000000F807 C000000000F807C000000001F003E000000001F003E000000001E001E000000003E001F0 00000003E001F000000007C000F800000007C000F80000000F80007C0000000F80007C00 00001F00003E0000001F00003E0000001E00001E0000003E00001F0000003E00001F0000 007C00000F8000007C00000F800000F8000007C00000F8000007C00000F0000003C00001 F0000003E00001F0000003E00003E0000001F00003E0000001F00007C0000000F80007C0 000000F800078000000078000F800000007C000F800000007C001F000000003E001F0000 00003E003E000000001F003E000000001F003C000000000F007C000000000F807C000000 000F80F80000000007C0F80000000007C0F00000000003C06000000000018032397BB63D >94 D<600000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000FFFFFF FFFFF0FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F00000000000F00000000000F00000000000F00000000000F00000 000000F00000000000F000000000006000000000002D3F7BBE38>96 D<0000003F000003FF00000FE000003F8000007E000001FC000001F8000003F0000003F0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E000000FE000000FC000001FC000003F8000003F000000FE000003F800007FE000 00FF0000007FE0000003F8000000FE0000003F0000003F8000001FC000000FC000000FE0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000003F0000003F0000001F8000001FC0000007E0000003F8000000FE0000003 FF0000003F205B7AC32D>102 DI<60F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F060045B76C319>106 D<6000000000F000000000F800000000F8000000 0078000000007C000000007C000000003C000000003E000000003E000000001E00000000 1F000000001F000000000F000000000F800000000F80000000078000000007C000000007 C000000003C000000003E000000003E000000001E000000001F000000001F000000000F0 00000000F800000000F80000000078000000007C000000007C000000003E000000003E00 0000001E000000001F000000001F000000000F000000000F800000000F80000000078000 000007C000000007C000000003C000000003E000000003E000000001E000000001F00000 0001F000000000F000000000F800000000F80000000078000000007C000000007C000000 003C000000003E000000003E000000001E000000001F000000001F000000000F80000000 0F80000000078000000007C000000007C000000003C000000003E000000003E000000001 E000000001F000000001F000000000F000000000F800000000F80000000078000000007C 000000007C000000003C000000003E000000003E000000001E000000001F000000001F00 0000000F000000000F800000000F80000000078000000007C000000007C000000003C000 00000180225B7BC32D>110 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: FB cmbx12 14.4 47 /FB 47 123 df45 D<000003FFC0000000003FFFFC00000000FFFFFF00000003FFFFFFC000000FFF81FFF000 001FFC003FF800003FF8001FFC00007FF0000FFE0000FFE00007FF0001FFC00003FF8003 FF800001FFC003FF800001FFC007FF800001FFE00FFF000000FFF00FFF000000FFF00FFF 000000FFF01FFF000000FFF81FFF000000FFF83FFF000000FFFC3FFE0000007FFC3FFE00 00007FFC3FFE0000007FFC7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000 007FFE7FFE0000007FFE7FFE0000007FFEFFFE0000007FFFFFFE0000007FFFFFFE000000 7FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007F FFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFF FFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFF FE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFFFFFE0000007FFF7FFE 0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE0000007FFE7FFE00 00007FFE3FFE0000007FFC3FFE0000007FFC3FFF000000FFFC3FFF000000FFFC1FFF0000 00FFF81FFF000000FFF81FFF000000FFF80FFF000000FFF00FFF000000FFF007FF800001 FFE007FF800001FFE003FFC00003FFC001FFC00003FF8001FFE00007FF8000FFF0000FFF 00007FF8001FFE00001FFC003FF800000FFF81FFF0000007FFFFFFE0000001FFFFFF8000 00003FFFFC0000000003FFC00000384F7BCD43>48 D<000000780000000000FC00000000 03FC0000000007FC000000001FFC00000000FFFC0000000FFFFC000007FFFFFC0000FFFF FFFC0000FFFFFFFC0000FFFF7FFC0000FFF07FFC0000F8007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00000000 7FFC000000007FFC000000007FFC000000007FFC000000007FFC00007FFFFFFFFFFE7FFF FFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE2F4E76CD43>I<00003FFE000000 0003FFFFE00000000FFFFFFC0000003FFFFFFF000000FFFFFFFFC00001FFC07FFFE00003 FE000FFFF80007F80003FFFC000FE00001FFFE001FC00000FFFF003F8000007FFF003FF0 00007FFF807FF800003FFFC07FFC00003FFFC0FFFE00001FFFE0FFFF00001FFFE0FFFF00 001FFFE0FFFF00000FFFF0FFFF00000FFFF0FFFF00000FFFF0FFFF00000FFFF0FFFF0000 0FFFF07FFE00000FFFF07FFE00000FFFF03FFC00000FFFF00FF000000FFFF003C000000F FFF0000000000FFFE0000000001FFFE0000000001FFFE0000000001FFFC0000000003FFF C0000000003FFF80000000003FFF80000000007FFF00000000007FFE0000000000FFFC00 00000001FFF80000000001FFF00000000003FFE00000000003FFC00000000007FF800000 00000FFF00000000001FFE00000000001FFC00000000003FF800000000007FE000000000 00FFC00000000001FF800000000003FE000000000007FC000000000007F800000000000F F00001F000001FE00001F000003F800001F000007F000001F00000FE000003E00001FC00 0003E00003F8000003E00007F0000003E0000FE0000003E0001F80000007E0003F000000 07E0003E0000000FE0007FFFFFFFFFE000FFFFFFFFFFC001FFFFFFFFFFC003FFFFFFFFFF C007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFFFFC03FFFFFFFFFFFC07FFFFFFFFFFFC0 FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF8034 4E79CD43>I<00000FFFC000000000FFFFFC00000007FFFFFF8000001FFFFFFFE000003F F807FFF00000FF8001FFFC0001FE00007FFE0003F800003FFF0003F000003FFF8007FC00 001FFF800FFF00001FFFC00FFF80001FFFC01FFFC0001FFFE01FFFC0001FFFE01FFFC000 1FFFE01FFFC0001FFFE01FFFE0001FFFE01FFFC0001FFFE01FFFC0001FFFE01FFFC0001F FFE00FFFC0001FFFC007FF80001FFFC003FF00003FFFC001FC00003FFF80000000003FFF 80000000007FFF00000000007FFE00000000007FFE0000000000FFFC0000000001FFF800 00000003FFF00000000007FFC0000000000FFF8000000000FFFE00000000FFFFF8000000 00FFFFE000000000FFFFFC00000000FFFFFF800000000007FFE00000000001FFF8000000 00007FFE00000000003FFF00000000001FFF80000000000FFFC0000000000FFFE0000000 0007FFF00000000007FFF00000000007FFF80000000007FFF80000000003FFFC00000000 03FFFC0000000003FFFE0000000003FFFE03E0000003FFFE0FF8000003FFFE1FFC000003 FFFE3FFE000003FFFE7FFF000003FFFEFFFF800003FFFEFFFF800003FFFEFFFF800003FF FEFFFF800003FFFCFFFF800003FFFCFFFF800007FFFCFFFF800007FFF8FFFF000007FFF8 7FFF000007FFF07FFE00000FFFF03FFC00000FFFE03FF000001FFFC01FE000003FFF800F F800007FFF0007FF0000FFFE0003FFF007FFFC0000FFFFFFFFF000007FFFFFFFE000001F FFFFFF80000003FFFFFC000000001FFF800000374F7ACD43>I<00000000007C00000000 000000FE00000000000000FE00000000000001FE00000000000003FE00000000000007FE 0000000000000FFE0000000000000FFE0000000000001FFE0000000000003FFE00000000 00007FFE0000000000007FFE000000000000FFFE000000000001FFFE000000000003FFFE 000000000003FFFE000000000007FFFE00000000000FFFFE00000000001FBFFE00000000 003F3FFE00000000003E3FFE00000000007C3FFE0000000000FC3FFE0000000001F83FFE 0000000001F03FFE0000000003E03FFE0000000007E03FFE000000000FC03FFE00000000 0F803FFE000000001F003FFE000000003F003FFE000000007E003FFE000000007C003FFE 00000000F8003FFE00000001F8003FFE00000003F0003FFE00000007E0003FFE00000007 C0003FFE0000000F80003FFE0000001F80003FFE0000003F00003FFE0000003E00003FFE 0000007C00003FFE000000FC00003FFE000001F800003FFE000001F000003FFE000003E0 00003FFE000007E000003FFE00000FC000003FFE00001F8000003FFE00001F0000003FFE 00003E0000003FFE00007E0000003FFE0000FC0000003FFE0000FFFFFFFFFFFFFFC0FFFF FFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0000000007FFE 0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000 00007FFE0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE 0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000 00007FFE000000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFF FFC000000FFFFFFFFFC03A4F7CCE43>I<03800000000E0007E00000007E0007FE000003 FE0007FFF0007FFE0007FFFFFFFFFC0007FFFFFFFFF80007FFFFFFFFF00007FFFFFFFFE0 0007FFFFFFFFC00007FFFFFFFF800007FFFFFFFF000007FFFFFFFE000007FFFFFFFC0000 07FFFFFFF0000007FFFFFFC0000007FFFFFF00000007FFFFF800000007E1FF0000000007 E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007E0 000000000007E0000000000007E0000000000007E0000000000007E0000000000007E000 0000000007E00FFF00000007E07FFFF0000007E3FFFFFE000007E7FFFFFF800007FFF807 FFC00007FFC001FFE00007FE0000FFF80007FC00007FFC0007F800003FFC0007F000003F FE0007E000001FFF0003C000001FFF80000000001FFF80000000001FFFC0000000000FFF C0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFF0 000000000FFFF0000000000FFFF00FE000000FFFF01FF000000FFFF03FF800000FFFF07F FC00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFF0FFFE 00000FFFE0FFFE00000FFFE0FFFE00000FFFE0FFFC00000FFFE07FF800001FFFC07FF000 001FFFC07FE000001FFF803E0000003FFF803F0000003FFF001F8000007FFE001FC00000 7FFC000FE00000FFF80007F80001FFF00003FE0007FFE00001FFC03FFFC00000FFFFFFFF 8000003FFFFFFE0000001FFFFFF800000003FFFFC0000000007FF8000000344F79CD43> I<0000000FFF0000000000FFFFE000000007FFFFF00000001FFFFFFC0000007FFE03FE00 0001FFF0007F000003FFC0003F800007FF00001F80000FFE00007FC0001FFC0000FFC000 3FF80001FFE0007FF00003FFE000FFF00007FFE001FFE00007FFE001FFE00007FFE003FF C00007FFE007FFC00007FFE007FFC00007FFE00FFFC00003FFC00FFF800001FF801FFF80 0000FF001FFF8000007E001FFF80000000003FFF80000000003FFF80000000003FFF0000 0000007FFF00000000007FFF00000000007FFF00080000007FFF01FFF800007FFF07FFFF 0000FFFF0FFFFFC000FFFF1FFFFFF000FFFF3F007FF800FFFF3C003FFC00FFFF78001FFE 00FFFFF0000FFF00FFFFF00007FF80FFFFE00007FFC0FFFFE00007FFC0FFFFC00007FFE0 FFFFC00003FFF0FFFF800003FFF0FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FF FF800003FFF8FFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000003FFFC7FFF 000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC3FFF00 0003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC1FFF000003FFF81FFF8000 03FFF81FFF800003FFF80FFF800003FFF80FFF800003FFF007FF800007FFF007FF800007 FFE003FFC00007FFC001FFC00007FFC001FFE0000FFF8000FFF0000FFF00007FF8001FFE 00003FFC007FFC00001FFF01FFF800000FFFFFFFF0000003FFFFFFC0000000FFFFFF0000 00003FFFFC0000000007FFC00000364F7ACD43>I<1F000000000000001F800000000000 001FC00000000000001FFF8000000000001FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFF FFFFFFFF801FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFFFF003FFFFFFFFFFFFE 003FFFFFFFFFFFFC003FFFFFFFFFFFF8003FFFFFFFFFFFF8003FFFFFFFFFFFF0003FFFFF FFFFFFE0003FFFFFFFFFFFC0007FFFFFFFFFFF80007F800000007F00007E00000000FF00 007E00000001FE00007C00000003FC00007C00000003F800007C00000007F000007C0000 000FF000007C0000001FE00000F80000003FC00000F80000007F800000F80000007F0000 00F8000000FE00000000000001FE00000000000003FC00000000000003F8000000000000 07F00000000000000FF00000000000001FE00000000000001FE00000000000003FC00000 000000003FC00000000000007F80000000000000FF80000000000000FF80000000000001 FF00000000000001FF00000000000003FF00000000000003FE00000000000007FE000000 00000007FE0000000000000FFE0000000000000FFE0000000000000FFC0000000000001F FC0000000000001FFC0000000000003FFC0000000000003FFC0000000000003FFC000000 0000003FFC0000000000007FFC0000000000007FF80000000000007FF80000000000007F F8000000000000FFF8000000000000FFF8000000000000FFF8000000000000FFF8000000 000000FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FF F8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000 000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000000FF F0000000000000FFF00000000000003FC00000000000001F8000000000395279D043>I< 000007FFC0000000007FFFFC00000003FFFFFF8000000FFFFFFFE000001FFC01FFF80000 3FE0003FFC00007F80000FFE0000FF000007FF0001FE000003FF0003FC000001FF8007FC 000001FFC007F8000000FFC00FF8000000FFC00FF8000000FFE00FF80000007FE00FF800 00007FE01FF80000007FE01FFC0000007FE01FFC0000007FE01FFE0000007FE01FFF0000 007FE01FFF800000FFE01FFFE00000FFC01FFFF80000FFC01FFFFE0001FF800FFFFF0001 FF800FFFFFC003FF000FFFFFF007FE0007FFFFF807FC0007FFFFFE1FF80003FFFFFFBFF0 0001FFFFFFFFE00001FFFFFFFF800000FFFFFFFE0000007FFFFFFF0000003FFFFFFF8000 000FFFFFFFE0000007FFFFFFF0000001FFFFFFFC000007FFFFFFFE00001FFFFFFFFF0000 3FFFFFFFFF8000FFE7FFFFFF8001FF81FFFFFFC003FF007FFFFFE007FE001FFFFFF00FFC 000FFFFFF01FF80003FFFFF01FF80000FFFFF83FF000007FFFF83FF000001FFFF87FE000 0007FFFC7FE0000001FFFC7FE0000000FFFCFFC00000007FFCFFC00000003FFCFFC00000 003FFCFFC00000001FFCFFC00000001FFCFFC00000000FFCFFC00000000FFCFFC0000000 0FF8FFC00000000FF8FFE00000000FF87FE00000000FF07FF00000001FF07FF00000001F F03FF80000003FE01FF80000003FC01FFC0000007FC00FFE000000FF8007FF800003FF00 03FFE0000FFE0001FFFC00FFFC00007FFFFFFFF000003FFFFFFFE000000FFFFFFF800000 01FFFFFC000000000FFFC00000364F7ACD43>I<00000FFF8000000000FFFFF800000003 FFFFFE0000000FFFFFFF8000001FFF03FFC000007FF800FFE00000FFF0003FF00001FFE0 001FF80003FFC0001FFC0007FFC0000FFE000FFF80000FFF000FFF800007FF001FFF8000 07FF803FFF800007FF803FFF000007FFC07FFF000007FFC07FFF000003FFE07FFF000003 FFE07FFF000003FFF0FFFF000003FFF0FFFF000003FFF0FFFF000003FFF0FFFF000003FF F8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8 FFFF000003FFFCFFFF000003FFFCFFFF000003FFFCFFFF000003FFFC7FFF000007FFFC7F FF000007FFFC7FFF000007FFFC3FFF000007FFFC3FFF000007FFFC3FFF00000FFFFC1FFF 80000FFFFC0FFF80001FFFFC0FFF80001FFFFC07FF80003FFFFC03FFC0003FFFFC01FFE0 007BFFFC00FFF000F3FFFC007FF803F3FFFC001FFFFFE3FFFC000FFFFFC3FFFC0003FFFF 83FFF800007FFE03FFF80000004003FFF80000000003FFF80000000003FFF80000000003 FFF00000000007FFF00000000007FFF00000000007FFF001F8000007FFE003FC000007FF E007FE000007FFC00FFF000007FFC01FFF80000FFF801FFF80000FFF801FFF80000FFF00 1FFF80001FFF001FFF80001FFE001FFF80003FFC001FFF00003FFC000FFE00007FF8000F FC0000FFF0000FF80001FFE00007F00003FFC00003FC000FFF800003FF807FFE000001FF FFFFFC0000007FFFFFF00000003FFFFFC00000000FFFFE0000000000FFF0000000364F7A CD43>I<00000000001F00000000000000000000003F80000000000000000000007FC000 0000000000000000007FC000000000000000000000FFE000000000000000000000FFE000 000000000000000000FFE000000000000000000001FFF000000000000000000001FFF000 000000000000000003FFF800000000000000000003FFF800000000000000000003FFF800 000000000000000007FFFC00000000000000000007FFFC00000000000000000007FFFC00 00000000000000000FFFFE0000000000000000000FFFFE0000000000000000001FFFFF00 00000000000000001FFFFF0000000000000000001FFFFF0000000000000000003FFFFF80 00000000000000003F7FFF8000000000000000007F7FFFC000000000000000007E7FFFC0 00000000000000007E3FFFC00000000000000000FE3FFFE00000000000000000FC1FFFE0 0000000000000001FC1FFFF00000000000000001F81FFFF00000000000000001F80FFFF0 0000000000000003F80FFFF80000000000000003F007FFF80000000000000007F007FFFC 0000000000000007E007FFFC0000000000000007E003FFFC000000000000000FE003FFFE 000000000000000FC001FFFE000000000000001FC001FFFF000000000000001F8001FFFF 000000000000001F8000FFFF000000000000003F8000FFFF800000000000003F00007FFF 800000000000007F00007FFFC00000000000007E00007FFFC00000000000007E00003FFF C0000000000000FE00003FFFE0000000000000FC00001FFFE0000000000001FC00001FFF F0000000000001F800001FFFF0000000000001F800000FFFF0000000000003F800000FFF F8000000000003F0000007FFF8000000000007F0000007FFFC000000000007E0000007FF FC000000000007E0000003FFFC00000000000FFFFFFFFFFFFE00000000000FFFFFFFFFFF FE00000000001FFFFFFFFFFFFF00000000001FFFFFFFFFFFFF00000000001FFFFFFFFFFF FF00000000003F80000000FFFF80000000003F000000007FFF80000000007F000000007F FFC0000000007F000000007FFFC0000000007E000000003FFFC000000000FE000000003F FFE000000000FC000000001FFFE000000001FC000000001FFFF000000001FC000000001F FFF000000001F8000000000FFFF000000003F8000000000FFFF800000003F00000000007 FFF800000007F00000000007FFFC00000007F00000000007FFFC00000007E00000000003 FFFC0000000FE00000000003FFFE0000000FC00000000003FFFE0000001FC00000000001 FFFF000000FFFC0000000001FFFF0000FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFF FFFFFFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFF FFFFFFE05B547BD366>65 D<0000000001FFFC000001C0000000007FFFFFC00003C00000 0007FFFFFFF80007C00000003FFFFFFFFE001FC0000000FFFFFFFFFF803FC0000003FFFF E003FFC07FC000000FFFFC00003FF0FFC000003FFFE000000FF9FFC000007FFF80000003 FFFFC00001FFFE00000000FFFFC00003FFF8000000007FFFC00007FFF0000000003FFFC0 000FFFE0000000001FFFC0001FFFC0000000000FFFC0003FFF800000000007FFC0007FFF 000000000003FFC000FFFE000000000001FFC000FFFE000000000001FFC001FFFC000000 000000FFC003FFF8000000000000FFC003FFF80000000000007FC007FFF0000000000000 7FC00FFFF00000000000003FC00FFFF00000000000003FC01FFFE00000000000001FC01F FFE00000000000001FC01FFFE00000000000001FC03FFFC00000000000001FC03FFFC000 00000000000FC03FFFC00000000000000FC07FFFC00000000000000FC07FFFC000000000 00000FC07FFFC000000000000000007FFF8000000000000000007FFF8000000000000000 00FFFF800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF 800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF800000 000000000000FFFF800000000000000000FFFF800000000000000000FFFF800000000000 000000FFFF800000000000000000FFFF800000000000000000FFFF800000000000000000 FFFF8000000000000000007FFF8000000000000000007FFF8000000000000000007FFFC0 00000000000000007FFFC000000000000000007FFFC000000000000007C03FFFC0000000 00000007C03FFFC000000000000007C03FFFC000000000000007C01FFFE0000000000000 07C01FFFE000000000000007C01FFFE00000000000000FC00FFFF00000000000000F800F FFF00000000000000F8007FFF00000000000001F8003FFF80000000000001F8003FFF800 00000000001F0001FFFC0000000000003F0000FFFE0000000000007E0000FFFE00000000 00007E00007FFF000000000000FC00003FFF800000000001F800001FFFC00000000003F8 00000FFFE00000000007F0000007FFF0000000000FE0000003FFFC000000001FC0000001 FFFE000000007F800000007FFF80000000FF000000003FFFE0000007FE000000000FFFFE 00001FF80000000003FFFFE001FFF00000000000FFFFFFFFFFC000000000003FFFFFFFFF 00000000000007FFFFFFFC000000000000007FFFFFE00000000000000001FFFC00000000 525479D261>67 D69 DI73 D76 DI<000000000FFFC000000000 00000003FFFFFF000000000000001FFFFFFFE0000000000000FFFFFFFFFC000000000003 FFFC00FFFF00000000000FFFC0000FFFC0000000003FFF000003FFF0000000007FFC0000 00FFF800000001FFF80000007FFE00000003FFE00000001FFF00000007FFC00000000FFF 8000000FFF8000000007FFC000001FFF0000000003FFE000003FFF0000000003FFF00000 7FFE0000000001FFF80000FFFC0000000000FFFC0000FFFC0000000000FFFC0001FFF800 000000007FFE0003FFF800000000007FFF0003FFF000000000003FFF0007FFF000000000 003FFF8007FFE000000000001FFF800FFFE000000000001FFFC00FFFE000000000001FFF C01FFFE000000000001FFFE01FFFC000000000000FFFE01FFFC000000000000FFFE03FFF C000000000000FFFF03FFFC000000000000FFFF03FFFC000000000000FFFF07FFF800000 00000007FFF87FFF80000000000007FFF87FFF80000000000007FFF87FFF800000000000 07FFF87FFF80000000000007FFF8FFFF80000000000007FFFCFFFF80000000000007FFFC FFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80 000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000 000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007 FFFCFFFF80000000000007FFFCFFFF80000000000007FFFCFFFF80000000000007FFFC7F FF80000000000007FFF87FFFC000000000000FFFF87FFFC000000000000FFFF87FFFC000 000000000FFFF87FFFC000000000000FFFF83FFFC000000000000FFFF03FFFC000000000 000FFFF03FFFE000000000001FFFF01FFFE000000000001FFFE01FFFE000000000001FFF E01FFFE000000000001FFFE00FFFF000000000003FFFC00FFFF000000000003FFFC007FF F800000000007FFF8007FFF800000000007FFF8003FFF800000000007FFF0001FFFC0000 000000FFFE0001FFFE0000000001FFFE0000FFFE0000000001FFFC00007FFF0000000003 FFF800003FFF8000000007FFF000001FFFC00000000FFFE000000FFFE00000001FFFC000 0007FFF00000003FFF80000003FFF80000007FFF00000001FFFC000000FFFE00000000FF FF000003FFFC000000003FFFE0001FFFF0000000000FFFFC00FFFFC00000000003FFFFFF FFFF000000000000FFFFFFFFFC0000000000001FFFFFFFE000000000000003FFFFFF0000 0000000000001FFFE000000000565479D265>79 DI82 D<00000FFF800007000000FFFFF8000F000007FFFF FF001F00001FFFFFFFC03F00003FFFFFFFF07F0000FFFC00FFF8FF0001FFE0000FFDFF00 03FF800001FFFF0007FE0000007FFF000FFC0000003FFF000FF80000000FFF001FF80000 0007FF001FF000000003FF003FF000000003FF003FE000000001FF007FE000000000FF00 7FE000000000FF007FE0000000007F00FFE0000000007F00FFE0000000003F00FFE00000 00003F00FFF0000000003F00FFF0000000003F00FFF8000000001F00FFF8000000001F00 FFFC000000001F00FFFE000000001F00FFFF000000000000FFFFC000000000007FFFF000 000000007FFFFF00000000007FFFFFF8000000003FFFFFFF800000003FFFFFFFFC000000 1FFFFFFFFFC000001FFFFFFFFFF000000FFFFFFFFFFC000007FFFFFFFFFF000003FFFFFF FFFFC00001FFFFFFFFFFE00000FFFFFFFFFFF000007FFFFFFFFFF800003FFFFFFFFFFC00 000FFFFFFFFFFE000003FFFFFFFFFE000000FFFFFFFFFF0000001FFFFFFFFF80000000FF FFFFFF800000000FFFFFFFC0000000007FFFFFC00000000007FFFFE00000000000FFFFE0 00000000003FFFE000000000000FFFF0000000000007FFF0000000000003FFF000000000 0003FFF0780000000001FFF0F80000000000FFF0F80000000000FFF0F80000000000FFF0 F800000000007FF0F800000000007FF0FC00000000007FF0FC00000000007FF0FC000000 00007FE0FE00000000007FE0FE00000000007FE0FF0000000000FFC0FF0000000000FFC0 FF8000000000FFC0FFC000000001FF80FFE000000001FF00FFF000000003FF00FFFC0000 0007FE00FFFF0000000FFC00FFFFC000001FF800FFFFF800007FF000FF1FFFC003FFE000 FE0FFFFFFFFFC000FC03FFFFFFFF0000F8007FFFFFFC0000F0000FFFFFF00000E000007F FF0000003C5479D24B>I<3FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFF FFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFC0003FFF C0007FFF803FFE00003FFFC00007FF807FF800003FFFC00001FFC07FE000003FFFC00000 FFC07FC000003FFFC000007FC07F8000003FFFC000003FC07F0000003FFFC000001FC07F 0000003FFFC000001FC07E0000003FFFC000000FC07E0000003FFFC000000FC07E000000 3FFFC000000FC07C0000003FFFC0000007C07C0000003FFFC0000007C07C0000003FFFC0 000007C07C0000003FFFC0000007C07C0000003FFFC0000007C0FC0000003FFFC0000007 E0F80000003FFFC0000003E0F80000003FFFC0000003E0F80000003FFFC0000003E0F800 00003FFFC0000003E0F80000003FFFC0000003E0F80000003FFFC0000003E0000000003F FFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000 000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000 000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000 003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFF C000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000 0000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000 0000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000000000 3FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0 00000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000 00000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000000000 00003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003F FFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000 000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000 000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000 003FFFC000000000000000003FFFC0000000000000FFFFFFFFFFFFF000000000FFFFFFFF FFFFF000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF0 000053517BD05E>I86 DI<00007FFF000000000007FFFFF000000000 3FFFFFFE00000000FFFFFFFF80000001FFE00FFFC0000003FE0001FFF0000007FF0000FF F8000007FF80003FFC00000FFF80003FFE00000FFFC0001FFE00000FFFC0001FFF00000F FFC0000FFF80000FFFC0000FFF80000FFFC0000FFF800007FF800007FFC00007FF800007 FFC00003FF000007FFC00001FE000007FFC0000000000007FFC0000000000007FFC00000 00000007FFC0000000000007FFC0000000000007FFC0000000000007FFC0000000007FFF FFC00000000FFFFFFFC0000000FFFFFFFFC0000007FFFF87FFC000003FFFF007FFC00000 7FFF8007FFC00001FFFC0007FFC00003FFF00007FFC00007FFE00007FFC0000FFFC00007 FFC0001FFF800007FFC0003FFF000007FFC0007FFF000007FFC0007FFE000007FFC0007F FE000007FFC000FFFC000007FFC000FFFC000007FFC000FFFC000007FFC000FFFC000007 FFC000FFFC00000FFFC000FFFC00000FFFC000FFFE00001FFFC0007FFE00001DFFC0007F FE00003DFFC0003FFF000079FFE0001FFF8000F1FFF8000FFFC003E1FFFFE007FFF81FC0 FFFFF003FFFFFF807FFFF000FFFFFF001FFFF0001FFFFC0007FFE00001FFE0000000003C 387CB641>97 D<003FF0000000000000FFFFF0000000000000FFFFF0000000000000FFFF F0000000000000FFFFF0000000000000FFFFF000000000000003FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF001FFE000000000FFF00FFFFE00000000FF F03FFFFFC0000000FFF0FFFFFFF0000000FFF3FF01FFF8000000FFF7F8003FFE000000FF FFE0000FFF000000FFFF800007FF800000FFFF000003FFC00000FFFE000001FFE00000FF FC000001FFF00000FFF8000000FFF80000FFF8000000FFF80000FFF80000007FFC0000FF F80000007FFC0000FFF80000007FFE0000FFF80000007FFE0000FFF80000007FFF0000FF F80000003FFF0000FFF80000003FFF0000FFF80000003FFF0000FFF80000003FFF8000FF F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FF F80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF0000FF F80000003FFF0000FFF80000003FFF0000FFF80000003FFF0000FFF80000007FFE0000FF F80000007FFE0000FFF80000007FFE0000FFF80000007FFC0000FFF8000000FFFC0000FF F8000000FFF80000FFFC000001FFF00000FFFC000001FFF00000FFFE000003FFE00000FF FF000007FFC00000FFFF80000FFF800000FFCFC0001FFF000000FF87F0007FFC000000FF 03FE03FFF8000000FE00FFFFFFE0000000FC007FFFFF80000000F8001FFFFC0000000000 0003FFC000000041547BD24B>I<000001FFF8000000001FFFFF80000000FFFFFFF00000 03FFFFFFFC00000FFFC00FFE00001FFE0001FF00007FFC0003FF8000FFF00007FF8001FF F00007FFC003FFE0000FFFC003FFC0000FFFC007FFC0000FFFC00FFF80000FFFC00FFF80 000FFFC01FFF800007FF801FFF000007FF803FFF000003FF003FFF000001FE007FFF0000 0000007FFE00000000007FFE00000000007FFE0000000000FFFE0000000000FFFE000000 0000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000 00FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000 FFFE00000000007FFE00000000007FFF00000000007FFF00000000003FFF00000000003F FF00000000003FFF00000003E01FFF80000003E01FFF80000007E00FFFC0000007C007FF C0000007C007FFE000000FC003FFE000001F8001FFF000003F0000FFF800007E00007FFE 0000FC00003FFF0003F800000FFFE01FF0000003FFFFFFE0000000FFFFFF800000003FFF FE0000000001FFE0000033387CB63C>I<000000000001FF80000000000007FFFF800000 00000007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF800000 000000001FFF8000000000000007FF8000000000000007FF8000000000000007FF800000 0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000 0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000 0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000 0000000007FF8000000000000007FF8000000000000007FF8000000000000007FF800000 0000000007FF8000000000000007FF8000000000000007FF8000000001FFE007FF800000 001FFFFC07FF80000000FFFFFF07FF80000003FFFFFFC7FF8000000FFFE03FE7FF800000 1FFF0007F7FF8000007FFC0001FFFF800000FFF80000FFFF800001FFF000003FFF800003 FFE000001FFF800007FFC000001FFF800007FFC000000FFF80000FFF8000000FFF80001F FF8000000FFF80001FFF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80003F FF0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007F FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF FE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FF FE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80003F FF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80001FFF0000000FFF80001F FF0000000FFF80000FFF8000000FFF80000FFF8000001FFF800007FFC000003FFF800003 FFC000003FFF800001FFE000007FFF800000FFF00001FFFF8000007FF80003FFFFE00000 3FFE000FEFFFFF80000FFFC07FCFFFFF800007FFFFFF8FFFFF800001FFFFFE0FFFFF8000 003FFFF80FFFFF80000003FFC00FFE000041547CD24B>I<000003FFC0000000003FFFFC 00000001FFFFFF00000007FFFFFFC000000FFF81FFE000003FFC007FF800007FF8003FFC 0000FFF0001FFE0001FFE0000FFE0003FFC00007FF0007FFC00007FF800FFF800003FF80 0FFF800003FFC01FFF800001FFC01FFF000001FFC03FFF000001FFE03FFF000001FFE07F FF000000FFE07FFE000000FFE07FFE000000FFF07FFE000000FFF0FFFE000000FFF0FFFE 000000FFF0FFFE000000FFF0FFFE000000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFF FFFFFFF0FFFFFFFFFFFFE0FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000 000000FFFE0000000000FFFE00000000007FFE00000000007FFE00000000007FFF000000 00003FFF00000000003FFF00000000003FFF00000000E01FFF00000001F01FFF80000003 F00FFF80000003F007FFC0000007E007FFC0000007E003FFE000000FC001FFF000001FC0 00FFF800003F80007FFC0000FF00001FFE0003FE00000FFFC03FF8000003FFFFFFF00000 00FFFFFFC00000001FFFFE0000000001FFF0000034387CB63D>I<0000003FFC00000003 FFFF0000000FFFFFC000003FFFFFE00000FFF81FF00001FFC03FF80003FF807FF80007FF 00FFFC000FFE00FFFC001FFC00FFFC001FFC00FFFC003FF800FFFC003FF800FFFC003FF8 007FF8007FF0007FF8007FF0003FF0007FF0000FC0007FF0000000007FF0000000007FF0 000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0 000000007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000FFFFFF FFE000FFFFFFFFE000FFFFFFFFE000FFFFFFFFE000FFFFFFFFE000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF8 000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000007FFFFF FE00007FFFFFFE00007FFFFFFE00007FFFFFFE00007FFFFFFE00002E547CD329>I<0000 3FFF0000FF000003FFFFF007FFC0000FFFFFFC1FFFE0003FFFFFFF7FFFE0007FFC0FFFFF 9FF000FFE001FFF83FF001FFC000FFE03FF003FF80007FF01FF007FF00003FF81FE00FFF 00003FFC0FC00FFF00003FFC07801FFE00001FFE00001FFE00001FFE00003FFE00001FFF 00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE 00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00001FFE00001FFE 00001FFE00001FFE00000FFF00003FFC00000FFF00003FFC000007FF00003FF8000003FF 80007FF0000001FFC000FFE0000000FFE001FFC0000000FFFC0FFF80000001FFFFFFFF00 000003EFFFFFFC00000003C3FFFFF000000007C03FFF0000000007C000000000000007C0 0000000000000FC00000000000000FC00000000000000FC00000000000000FE000000000 00000FE00000000000000FF80000000000000FFE0000000000000FFFFFFFFF00000007FF FFFFFFF8000007FFFFFFFFFF000007FFFFFFFFFFC00003FFFFFFFFFFE00001FFFFFFFFFF F00000FFFFFFFFFFF800007FFFFFFFFFFC00007FFFFFFFFFFE0001FFFFFFFFFFFF0007FF FFFFFFFFFF000FFE000003FFFF801FF80000003FFF803FF000000007FF807FE000000003 FFC07FE000000001FFC0FFC000000001FFC0FFC000000000FFC0FFC000000000FFC0FFC0 00000000FFC0FFC000000000FFC0FFC000000000FFC0FFE000000001FFC07FE000000001 FF807FF000000003FF803FF000000003FF001FF800000007FE000FFE0000001FFC0007FF 8000007FF80003FFE00001FFF00001FFFE001FFFE000007FFFFFFFFF8000000FFFFFFFFC 00000001FFFFFFE0000000000FFFFC0000003C4F7CB543>I<003FF0000000000000FFFF F0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFF F000000000000003FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F0001FFC00000000FFF000FFFFC0000000FFF003FFFFF0000000FFF00FFFFFF8000000FF F01FE07FFC000000FFF03F001FFE000000FFF07C001FFF000000FFF0F0000FFF000000FF F1E0000FFF800000FFF3C0000FFF800000FFF7800007FF800000FFF7800007FFC00000FF FF000007FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC000007FFC00000FF FC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FF F8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFF FFF807FFFFFFC0FFFFFFF807FFFFFFC042537BD24B>I<007F000000FF800003FFE00007 FFF00007FFF0000FFFF8000FFFF8000FFFF8000FFFF8000FFFF8000FFFF8000FFFF80007 FFF00007FFF00003FFE00000FF8000007F00000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 3FF000FFFFF000FFFFF000FFFFF000FFFFF000FFFFF00001FFF00000FFF00000FFF00000 FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000 FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000 FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000 FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000 FFF00000FFF00000FFF00000FFF000FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B 547BD325>I<003FF00000000000FFFFF00000000000FFFFF00000000000FFFFF0000000 0000FFFFF00000000000FFFFF0000000000003FFF0000000000000FFF0000000000000FF F0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000 000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FF F0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000 000000FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FF F0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00001FF FFF800FFF00001FFFFF800FFF00001FFFFF800FFF00001FFFFF800FFF00001FFFFF800FF F000003FFE0000FFF000001FF00000FFF000003FC00000FFF000007F800000FFF00000FF 000000FFF00003FE000000FFF00007F8000000FFF0000FF0000000FFF0001FE0000000FF F0007FC0000000FFF000FF00000000FFF001FE00000000FFF003FC00000000FFF00FF800 000000FFF01FE000000000FFF03FF000000000FFF07FF800000000FFF1FFF800000000FF F3FFFC00000000FFF7FFFE00000000FFFFFFFF00000000FFFFFFFF80000000FFFF9FFF80 000000FFFF0FFFC0000000FFFE0FFFE0000000FFF807FFF0000000FFF003FFF0000000FF F001FFF8000000FFF000FFFC000000FFF000FFFE000000FFF0007FFF000000FFF0003FFF 000000FFF0001FFF800000FFF0001FFFC00000FFF0000FFFE00000FFF00007FFF00000FF F00003FFF00000FFF00001FFF80000FFF00001FFFC0000FFF00000FFFE0000FFF000007F FE0000FFF000003FFF0000FFF000007FFFC0FFFFFFF003FFFFFFFFFFFFF003FFFFFFFFFF FFF003FFFFFFFFFFFFF003FFFFFFFFFFFFF003FFFFFF40537CD247>107 D<003FF000FFFFF000FFFFF000FFFFF000FFFFF000FFFFF00001FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0 0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000FFFFFFF0FFFFFFF0FFFFFF F0FFFFFFF0FFFFFFF01C537BD225>I<003FF0001FFC000000FFE00000FFFFF000FFFFC0 0007FFFE0000FFFFF003FFFFF0001FFFFF8000FFFFF00FFFFFF8007FFFFFC000FFFFF01F E07FFC00FF03FFE000FFFFF03F001FFE01F800FFF00003FFF07C001FFF03E000FFF80000 FFF0F0000FFF0780007FF80000FFF1E0000FFF8F00007FFC0000FFF3C0000FFF9E00007F FC0000FFF7800007FFBC00003FFC0000FFF7800007FFFC00003FFE0000FFFF000007FFF8 00003FFE0000FFFE000007FFF000003FFE0000FFFE000007FFF000003FFE0000FFFC0000 07FFE000003FFE0000FFFC000007FFE000003FFE0000FFFC000007FFE000003FFE0000FF FC000007FFE000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE 0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000 003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007 FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8 000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE00 00FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC00000 3FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FF C000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF800 0007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000 FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003F FE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC0 00003FFE00FFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807 FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFE6736 7BB570>I<003FF0001FFC000000FFFFF000FFFFC00000FFFFF003FFFFF00000FFFFF00F FFFFF80000FFFFF01FE07FFC0000FFFFF03F001FFE000003FFF07C001FFF000000FFF0F0 000FFF000000FFF1E0000FFF800000FFF3C0000FFF800000FFF7800007FF800000FFF780 0007FFC00000FFFF000007FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC00 0007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800 0007FFC00000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF8 07FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC042367BB54B>I<000001FFE000 000000001FFFFE0000000000FFFFFFC000000003FFFFFFF00000000FFF807FFC0000001F FC000FFE0000007FF80007FF800000FFF00003FFC00001FFE00001FFE00003FFC00000FF F00003FF8000007FF00007FF8000007FF8000FFF0000003FFC000FFF0000003FFC001FFF 0000003FFE001FFF0000003FFE003FFE0000001FFF003FFE0000001FFF003FFE0000001F FF007FFE0000001FFF807FFE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE 0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001F FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE 0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001F FF807FFE0000001FFF803FFE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF 0000003FFE001FFF0000003FFE000FFF0000003FFC000FFF8000007FFC0007FF8000007F F80003FFC00000FFF00001FFE00001FFE00000FFF00003FFC000007FF80007FF8000003F FE001FFF0000000FFF807FFC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF00 0000000001FFE00000003A387CB643>I<003FF001FFE0000000FFFFF00FFFFE000000FF FFF03FFFFFC00000FFFFF0FFFFFFF00000FFFFF3FF01FFF80000FFFFF7F8007FFE000003 FFFFE0001FFF000000FFFF80000FFF800000FFFF000007FFC00000FFFE000007FFE00000 FFFC000003FFF00000FFF8000001FFF80000FFF8000001FFF80000FFF8000000FFFC0000 FFF8000000FFFC0000FFF8000000FFFE0000FFF80000007FFE0000FFF80000007FFF0000 FFF80000007FFF0000FFF80000007FFF0000FFF80000007FFF0000FFF80000003FFF8000 FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000 FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000 FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF0000 FFF80000007FFF0000FFF80000007FFF0000FFF80000007FFF0000FFF80000007FFE0000 FFF8000000FFFE0000FFF8000000FFFE0000FFF8000000FFFC0000FFF8000001FFFC0000 FFF8000001FFF80000FFFC000003FFF00000FFFC000003FFF00000FFFE000007FFE00000 FFFF00000FFFC00000FFFF80001FFF800000FFFFC0003FFF000000FFFFF000FFFC000000 FFFBFE07FFF8000000FFF8FFFFFFE0000000FFF87FFFFF80000000FFF81FFFFC00000000 FFF803FFC000000000FFF800000000000000FFF800000000000000FFF800000000000000 FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000 FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000 FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000 FFF800000000000000FFF8000000000000FFFFFFF80000000000FFFFFFF80000000000FF FFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000414D7BB54B>I<007FE0 03FE00FFFFE00FFF80FFFFE03FFFE0FFFFE07FFFF0FFFFE0FE1FF8FFFFE1F83FFC03FFE3 E03FFE00FFE3C07FFE00FFE7807FFE00FFEF807FFE00FFEF007FFE00FFEE007FFE00FFFE 003FFC00FFFC003FFC00FFFC001FF800FFFC000FF000FFF800000000FFF800000000FFF8 00000000FFF800000000FFF800000000FFF000000000FFF000000000FFF000000000FFF0 00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0 00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0 00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0 00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0 000000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC00002F367C B537>114 D<0003FFF00F00003FFFFE1F0000FFFFFFFF0003FFFFFFFF0007FF003FFF00 0FF80007FF001FE00001FF003FC00000FF003F8000007F007F8000007F007F0000003F00 7F0000003F00FF0000001F00FF0000001F00FF8000001F00FF8000001F00FFC000001F00 FFF000000000FFFC00000000FFFFC00000007FFFFF0000007FFFFFF800003FFFFFFF0000 3FFFFFFFC0001FFFFFFFF0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0000FFFFFFFF00 003FFFFFFF80000FFFFFFFC00000FFFFFFC0000007FFFFE00000003FFFE000000007FFF0 00000001FFF0780000007FF0F80000003FF0F80000001FF0FC0000001FF0FC0000000FF0 FC0000000FF0FE0000000FF0FE0000000FE0FF0000000FE0FF8000001FE0FF8000001FC0 FFC000001FC0FFE000003F80FFF800007F00FFFE0001FE00FFFFC00FFC00FF7FFFFFF800 FC1FFFFFE000F807FFFF8000F000FFF800002C387CB635>I<00003E00000000003E0000 0000003E00000000003E00000000003E00000000003E00000000007E00000000007E0000 0000007E00000000007E0000000000FE0000000000FE0000000001FE0000000001FE0000 000001FE0000000003FE0000000007FE0000000007FE000000000FFE000000001FFE0000 00003FFE00000000FFFE00000001FFFE0000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF 00FFFFFFFFFF00FFFFFFFFFF00003FFE000000003FFE000000003FFE000000003FFE0000 00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0000 00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0000 00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0000 00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0007 C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007 C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0001FFE000F80001FFF000F 80001FFF000F80000FFF001F00000FFF801F000007FFC03E000003FFF0FC000001FFFFF8 0000007FFFF00000001FFFE000000003FF80002A4D7ECB34>I<003FF8000001FFC000FF FFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FF FFF80007FFFFC00003FFF800001FFFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000 FFF8000007FFC00000FFF8000007FFC00000FFF800000FFFC00000FFF800000FFFC00000 FFF800000FFFC00000FFF800001FFFC00000FFF800001FFFC000007FF800003FFFC00000 7FF800003BFFC000007FF800007BFFC000003FFC0000F3FFC000003FFC0001E3FFF00000 1FFE0007C3FFFFC0000FFFC03F83FFFFC00007FFFFFF03FFFFC00001FFFFFE03FFFFC000 007FFFF803FFFFC0000007FFE003FF000042377BB54B>I119 D121 D<1FFFFFFFFFFF001FFFFFFFFFFF801FFFFFFFFFFF801F FFFFFFFFFF801FFF80007FFF001FFC0000FFFF001FF00001FFFE001FE00001FFFC001FC0 0003FFF8001F800007FFF8001F80000FFFF0003F00000FFFE0003F00001FFFE0003F0000 3FFFC0003F00003FFF80003E00007FFF00003E0000FFFF00003E0001FFFE00003E0001FF FC00003E0003FFF800003E0007FFF8000000000FFFF0000000000FFFE0000000001FFFC0 000000003FFFC0000000007FFF80000000007FFF0000000000FFFF0000000001FFFE0000 000001FFFC0000000003FFF8000F800007FFF8000F80000FFFF0000F80000FFFE0000F80 001FFFC0000F80003FFFC0001F80007FFF80001F00007FFF00001F0000FFFE00001F0001 FFFE00003F0003FFFC00003F0003FFF800003F0007FFF800007F000FFFF000007F000FFF E00000FF001FFFC00001FF003FFFC00007FF007FFF80000FFE007FFF0000FFFE00FFFFFF FFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE007FFFFFFFFFFE0031357CB43C>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: FC cmr9 9 57 /FC 57 122 df0 D<00001FE000FF00000000FFFC07FFE0000003F01E1F80F000000FC0077E003C00001F80 07FC003C00003F001FF8007E00007E001FF000FE0000FC001FE000FE0000FC001FE000FE 0001F8001FC000FE0001F8000FC0007C0001F8000FC000000001F8000FC000000001F800 0FC000000001F8000FC000000001F8000FC000000001F8000FC000000001F8000FC00000 0001F8000FC000000001F8000FC000000001F8000FC0007E00FFFFFFFFFFFFFE00FFFFFF FFFFFFFE00FFFFFFFFFFFFFE0001F8000FC000FE0001F8000FC0007E0001F8000FC0007E 0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F800 0FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E 0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F800 0FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E 0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0001F8000FC0007E0003FC00 1FE000FF007FFFC1FFFE0FFFF87FFFC1FFFE0FFFF87FFFC1FFFE0FFFF83D357FB440>14 D<3C00F07E01F8FF03FCFF03FCFF83FEFF83FE7F81FE3D80F60180060180060180060180 0603800E03000C03000C07001C0600180E00380C00301C00703800E07001C06001801717 7EB326>34 D<0000C00001C0000380000F00000E00001C00003C0000780000F00000F000 01E00003C00003C00007C0000780000F80000F00001F00001F00001E00003E00003E0000 3E00003C00007C00007C00007C00007C00007C0000F80000F80000F80000F80000F80000 F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800007C0000 7C00007C00007C00007C00003C00003E00003E00003E00001E00001F00001F00000F0000 0F800007800007C00003C00003C00001E00000F00000F000007800003C00001C00000E00 000F000003800001C00000C0124A79B71E>40 DI<3C007E 00FF00FF00FF80FF807F803D800180018001800180038003000300070006000E000C001C 0038007000600009177A8715>44 D I<3C7EFFFFFFFF7E3C08087A8715>I<0000003000000078000000F8000000F8000000F0 000001F0000001F0000001E0000003E0000003E0000003C0000007C0000007C000000780 00000F8000000F8000000F0000001F0000001F0000003E0000003E0000003C0000007C00 00007C00000078000000F8000000F8000000F0000001F0000001F0000001E0000003E000 0003E0000003C0000007C0000007C000000F8000000F8000000F0000001F0000001F0000 001E0000003E0000003E0000003C0000007C0000007C00000078000000F8000000F80000 00F0000001F0000001F0000001E0000003E0000003E0000007C0000007C0000007800000 0F8000000F8000000F0000001F0000001F0000001E0000003E0000003E0000003C000000 7C0000007C00000078000000F8000000F8000000F0000000600000001D4B7CB726>I<00 0FE000007FFC0000F83E0003E00F8007C007C0078003C00F8003E01F0001F01F0001F03F 0001F83F0001F83E0000F87E0000FC7E0000FC7E0000FC7E0000FC7E0000FCFE0000FEFE 0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE 0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FE7E0000FC7E 0000FC7E0000FC7E0000FC7E0000FC3F0001F83F0001F83F0001F81F0001F01F0001F00F 8003E007C007C007C007C003E00F8000F83E00007FFC00000FE0001F347DB126>I<0007 0000000F0000001F0000007F000007FF0000FFFF0000FFBF0000F83F0000003F0000003F 0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F 0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F 0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F 0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F 0000007F80007FFFFF807FFFFF807FFFFF8019327AB126>I<003FC00000FFF00003FFFC 000F80FF001E007F801C003FC038001FE070000FE070000FF0600007F0FC0007F0FE0007 F8FF0007F8FF0003F8FF0003F8FF0003F87E0007F83C0007F8000007F8000007F0000007 F000000FF000000FE000001FC000001FC000003F8000003F0000007E000000FC000001F8 000001F0000003E0000007C000000F8000001F0000003E0000003C00000078001800F000 1801E0001803C00030078000300F0000301C0000701FFFFFF03FFFFFF07FFFFFF0FFFFFF E0FFFFFFE0FFFFFFE01D327CB126>I<001FE00000FFFC0001FFFF0007E03F800F001FC0 1E000FE01C0007F03F0007F03F8007F83F8003F83FC003F83F8003F83F8003F81F0007F8 000007F8000007F0000007F000000FE000000FC000001FC000003F8000007E000001F800 007FE000007FFC0000003F0000001FC000000FE0000007F0000007F8000003F8000003FC 000001FC000001FE000001FE000001FE7E0001FEFF0001FEFF0001FEFF0001FEFF0001FE FF0001FCFE0003FC780003FC700007F8380007F03C000FF01F001FE00FE03F8003FFFF00 00FFFC00001FE0001F347DB126>I<0C0000C00FC00FC00FFFFF800FFFFF000FFFFE000F FFFC000FFFF0000FFFC0000C1800000C0000000C0000000C0000000C0000000C0000000C 0000000C0000000C0000000C0000000C0FC0000C7FF8000CF07C000FC03F000F001F800F 000FC00E000FC00C0007E00C0007E0000007F0000003F0000003F0000003F8000003F800 0003F8000003F8180003F87E0003F8FE0003F8FE0003F8FE0003F8FE0003F0FE0007F0F8 0007F0600007E0700007E070000FC038001FC03C001F801E007F000F80FE0007FFF80001 FFE000003F80001D347CB126>53 D<0000FE000007FF80001FFFE0003F00F0007C007001 F801F801F003F803E003F807E003F80FC003F80FC001F01F8000001F8000003F0000003F 0000003F0000007F0000007E0000007E07F0007E1FFC00FE381F00FE700F80FEE007C0FF C003E0FF8003F0FF8001F8FF0001F8FF0001FCFF0000FCFF0000FCFE0000FEFE0000FEFE 0000FEFE0000FEFE0000FE7E0000FE7E0000FE7E0000FE7E0000FE7F0000FE3F0000FC3F 0000FC1F0001FC1F8001F80F8001F00FC003F007C007E003E00FC001F81F8000FFFF0000 3FFC00000FE0001F347DB126>I<000FE000007FFC0000FFFF0003F01F8007C007C00F00 03E00E0001F01E0000F01C0000F83C0000783C0000783C0000783E0000783E0000783F00 00F83F8000F03FC001F01FF001E01FF803C00FFE078007FF0F0003FFDE0001FFF80000FF F800003FFE00003FFF0000F7FFC003E3FFE00780FFF00F007FF81E001FF83E0007FC3C00 03FC780001FC7800007EF800007EF000003EF000003EF000001EF000001EF000001EF800 001EF800003C7800003C7C0000783E0000781F0000F00F8003E007F01FC001FFFF00007F FC00001FE0001F347DB126>56 D<000FE000007FF80000FFFE0003F83F0007E00F800FC0 07C01F8007E01F8003F03F0003F07F0001F87E0001F87E0001F8FE0001FCFE0000FCFE00 00FCFE0000FCFE0000FCFE0000FEFE0000FEFE0000FEFE0000FEFE0000FE7E0001FE7E00 01FE7F0001FE3F0001FE3F0003FE1F8003FE0F8007FE07C00EFE03E01CFE01F038FE007F F0FE001FC0FC000000FC000001FC000001FC000001F8000001F8000001F0000003F01F00 03E03F8007E03F8007C03F800FC03F801F803F003F001C007E001F01FC000FFFF00003FF C00000FF00001F347DB126>I<3C7EFFFFFFFF7E3C000000000000000000000000000000 003C7EFFFFFFFF7E3C08207A9F15>I<000000E0000000000000E0000000000000E00000 00000001F0000000000001F0000000000003F8000000000003F8000000000003F8000000 000007FC000000000007FC000000000007FC00000000000DFE00000000000CFE00000000 000CFE0000000000187F0000000000187F0000000000187F0000000000303F8000000000 303F8000000000703FC000000000601FC000000000601FC000000000E01FE000000000C0 0FE000000000C00FE000000001800FF0000000018007F0000000018007F0000000030003 F8000000030003F8000000030003F8000000060001FC000000060001FC0000000E0001FE 0000000FFFFFFE0000000FFFFFFE0000001FFFFFFF0000001800007F0000001800007F00 00003000007F8000003000003F8000003000003F8000006000001FC000006000001FC000 006000001FC00000C000000FE00000C000000FE00001C000000FF00001C0000007F00003 E0000007F0001FF000000FF800FFFE0001FFFFE0FFFE0001FFFFE0FFFE0001FFFFE03336 7DB53A>65 DI<000003FE00 0C00003FFF801C0000FFFFE01C0003FE01F83C000FF0003C7C001FC0000EFC007F800007 FC00FE000003FC01FC000001FC03FC000000FC03F8000000FC07F00000007C0FE0000000 7C0FE00000003C1FC00000003C1FC00000001C3FC00000001C3F800000001C7F80000000 0C7F800000000C7F800000000C7F000000000CFF0000000000FF0000000000FF00000000 00FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000 00FF0000000000FF00000000007F00000000007F800000000C7F800000000C7F80000000 0C3F800000000C3FC00000000C1FC00000001C1FC0000000180FE0000000180FE0000000 3807F00000003003F80000007003FC000000E001FC000000E000FE000001C0007F800003 80001FC0000F00000FF0001E000003FE00FC000000FFFFF00000003FFFC000000003FE00 002E377CB437>I69 DI<000003FE000C0000003F FF801C000000FFFFE01C000003FE01F83C00000FF0003C7C00001FC0000EFC00007F8000 07FC0000FE000003FC0001FC000001FC0003FC000000FC0003F8000000FC0007F0000000 7C000FE00000007C000FE00000003C001FC00000003C001FC00000001C003FC00000001C 003F800000001C007F800000000C007F800000000C007F800000000C007F000000000C00 FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF 000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00 0003FFFFE07F000003FFFFE07F800003FFFFE07F80000003FE007F80000001FC003F8000 0001FC003FC0000001FC001FC0000001FC001FC0000001FC000FE0000001FC000FF00000 01FC0007F0000001FC0003F8000001FC0003FC000001FC0001FE000003FC0000FF000003 FC00007F800007FC00001FC0000E7C00000FF0001C3C000003FE00F81C000000FFFFF00C 0000003FFFC00000000003FE00000033377CB43C>I76 D78 D<000007FC00000000007FFFC000000001FC07F0 00000007E000FC0000000F80003E0000003F00001F8000007E00000FC00000FC000007E0 0001F8000003F00003F0000001F80003F0000001F80007E0000000FC000FE0000000FE00 0FC00000007E001FC00000007F001FC00000007F003F800000003F803F800000003F807F 800000003FC07F800000003FC07F000000001FC07F000000001FC0FF000000001FE0FF00 0000001FE0FF000000001FE0FF000000001FE0FF000000001FE0FF000000001FE0FF0000 00001FE0FF000000001FE0FF000000001FE0FF000000001FE0FF000000001FE07F000000 001FC07F800000003FC07F800000003FC07F800000003FC03F800000003F803FC0000000 7F803FC00000007F801FC00000007F001FE0000000FF000FE0000000FE0007F0000001FC 0007F0000001FC0003F8000003F80001F8000003F00000FC000007E000007E00000FC000 003F00001F8000001FC0007F00000007E000FC00000001FC07F0000000007FFFC0000000 0007FC00000033377CB43C>II82 D<001FE00300007FFC070001FFFF0700 07F01FCF000F8003FF001F0000FF003E00007F003E00003F007C00001F007C00001F0078 00000F00F800000700F800000700F800000700F800000700FC00000300FC00000300FE00 000300FE000000007F000000007FC00000003FF00000003FFF0000001FFFF000000FFFFF 000007FFFFC00003FFFFF00000FFFFF800003FFFFC000003FFFE0000003FFF00000003FF 00000000FF800000007F800000003F800000001FC00000000FC0C000000FC0C000000FC0 C0000007C0C0000007C0C0000007C0E0000007C0E0000007C0F000000F80F000000F80F8 00000F00FC00001F00FE00003E00FF00007E00FFC000FC00F1FC03F800E0FFFFE000E01F FF8000C003FE000022377CB42B>I<7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7F8007 F001FE7C0007F0003E780007F0001E700007F0000E700007F0000E600007F00006E00007 F00007E00007F00007E00007F00007C00007F00003C00007F00003C00007F00003C00007 F00003C00007F00003C00007F00003000007F00000000007F00000000007F00000000007 F00000000007F00000000007F00000000007F00000000007F00000000007F00000000007 F00000000007F00000000007F00000000007F00000000007F00000000007F00000000007 F00000000007F00000000007F00000000007F00000000007F00000000007F00000000007 F00000000007F00000000007F00000000007F00000000007F00000000007F00000000007 F00000000007F0000000000FF80000001FFFFFFC00001FFFFFFC00001FFFFFFC0030337D B237>II<03000C07001C0E00381C00701800 603800E03000C07001C0600180600180E00380C00300C00300C00300C00300DE0378FF03 FCFF83FEFF83FE7F81FE7F81FE3F00FC1E0078171774B326>92 D<007F80000003FFF000 000F80FC00001C003E00003F003F00003F801F80003F800FC0003F800FC0003F8007E000 1F0007E000000007E000000007E000000007E000000007E0000001FFE000001FFFE00000 FF87E00003FC07E0000FF007E0001FC007E0003F8007E0007F8007E0007F0007E000FF00 07E0C0FE0007E0C0FE0007E0C0FE0007E0C0FE000FE0C0FE000FE0C0FF001FE0C07F003B E0C03F8071F1801FC1E1FF8007FFC0FF0000FE003C0022237DA126>97 D<03F0000000FFF0000000FFF0000000FFF000000007F000000003F000000003F0000000 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 F000000003F000000003F000000003F000000003F000000003F03F800003F0FFE00003F3 C0F80003F7007E0003FE003F0003FC001F8003F8000FC003F0000FC003F00007E003F000 07F003F00007F003F00003F003F00003F803F00003F803F00003F803F00003F803F00003 F803F00003F803F00003F803F00003F803F00003F803F00003F803F00003F003F00007F0 03F00007E003F00007E003F0000FC003F8000FC003FC001F8003EC003F0003CF007C0003 8381F8000301FFE00000007F000025357EB32B>I<0007F800003FFF0000FC07C001F000 E003E003F007C007F00FC007F01F8007F03F8007F03F0003E07F0000007F0000007E0000 00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000 00FE0000007F0000007F0000003F0000183F8000181F8000381FC000300FC0007007E000 E003F001C000FC0F80003FFE000007F0001D237EA122>I<0000003F0000000FFF000000 0FFF0000000FFF000000007F000000003F000000003F000000003F000000003F00000000 3F000000003F000000003F000000003F000000003F000000003F000000003F000000003F 000000003F000000003F000007F03F00003FFC3F0000FC0F3F0001F003BF0007E001FF00 0FC000FF001F80007F001F80003F003F00003F003F00003F007F00003F007E00003F00FE 00003F00FE00003F00FE00003F00FE00003F00FE00003F00FE00003F00FE00003F00FE00 003F00FE00003F00FE00003F007E00003F007F00003F007F00003F003F00003F001F8000 7F001F80007F000FC000FF0007E001FF8003F007BFFC00F81E3FFC003FFC3FFC000FE03F 0026357DB32B>I<000FE000007FFC0000F83F0003F00F8007E00FC00FC007E01F8003E0 1F8003F03F0003F03F0001F07F0001F87E0001F87E0001F8FE0001F8FE0001F8FFFFFFF8 FFFFFFF8FE000000FE000000FE000000FE000000FE0000007E0000007F0000007F000000 3F0000183F0000181F8000380F8000300FC0007007E000E001F003C000FC0F00003FFE00 0007F0001D237EA122>I<0001FC000007FF00001F0780003E0FC0007C1FC000FC1FC001 F81FC001F81FC003F8070003F0000003F0000003F0000003F0000003F0000003F0000003 F0000003F0000003F0000003F0000003F0000003F00000FFFFF000FFFFF000FFFFF00003 F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003 F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003 F0000003F0000003F0000003F0000003F0000003F0000003F0000007F800007FFFE0007F FFE0007FFFE0001A357FB417>I<0000001F00001FC07F8000FFF8E3C001F07FC7C007E0 3F03C00FC01F83800F800F80001F800FC0001F0007C0003F0007E0003F0007E0003F0007 E0003F0007E0003F0007E0003F0007E0001F0007C0001F800FC0000F800F80000FC01F80 0007E03F000007F07C00000EFFF800000C1FC000001C000000001C000000001C00000000 1E000000001E000000001F000000000FFFFE00000FFFFFC00007FFFFF00003FFFFFC0007 FFFFFE001F0001FE003E00007F007C00003F007C00001F80F800000F80F800000F80F800 000F80F800000F80F800000F80FC00001F807C00001F003E00003E001F00007C000FC001 F80003F007E00000FFFF8000001FFC000022337EA126>I<03F0000000FFF0000000FFF0 000000FFF000000007F000000003F000000003F000000003F000000003F000000003F000 000003F000000003F000000003F000000003F000000003F000000003F000000003F00000 0003F000000003F000000003F01FC00003F07FF00003F1E0FC0003F3807C0003F7007E00 03FE007E0003FC003F0003FC003F0003F8003F0003F8003F0003F0003F0003F0003F0003 F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0 003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F000 3F0003F0003F0003F0003F0007F8007F80FFFFC7FFFCFFFFC7FFFCFFFFC7FFFC26347EB3 2B>I<07800FC01FE01FE01FE01FE00FC007800000000000000000000000000000000000 00000007E0FFE0FFE0FFE00FE007E007E007E007E007E007E007E007E007E007E007E007 E007E007E007E007E007E007E007E007E007E007E007E007E00FF0FFFFFFFFFFFF10337E B215>I<0003C00007E0000FF0000FF0000FF0000FF00007E00003C00000000000000000 000000000000000000000000000000000000000000000003F000FFF000FFF000FFF00007 F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003 F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003 F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F03803F07C03 F0FE03E0FE07E0FE07C0FE0FC07C0F80381F001FFC0007F000144384B217>I<03F00000 00FFF0000000FFF0000000FFF000000007F000000003F000000003F000000003F0000000 03F000000003F000000003F000000003F000000003F000000003F000000003F000000003 F000000003F000000003F000000003F000000003F000000003F003FFE003F003FFE003F0 03FFE003F001FF0003F000F80003F001E00003F001C00003F003800003F00F000003F01C 000003F038000003F070000003F0F0000003F3F8000003F7FC000003FEFC000003FC7E00 0003F87F000003F03F800003F01F800003F00FC00003F00FE00003F007E00003F003F000 03F003F80003F001F80003F000FC0003F000FE0007F800FF80FFFFC3FFF0FFFFC3FFF0FF FFC3FFF024347EB329>I<07E0FFE0FFE0FFE00FE007E007E007E007E007E007E007E007 E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007 E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E00F F0FFFFFFFFFFFF10347EB315>I<03F01FE000FF0000FFF07FF803FFC000FFF1E07C0F03 E000FFF3803E1C01F00007F7003F3801F80003FE003F7001F80003FC001FE000FC0003FC 001FE000FC0003F8001FC000FC0003F8001FC000FC0003F0001F8000FC0003F0001F8000 FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0 001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000 FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0 001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0007F8003FC001 FE00FFFFC7FFFE3FFFF0FFFFC7FFFE3FFFF0FFFFC7FFFE3FFFF03C217EA041>I<03F01F C000FFF07FF000FFF1E0FC00FFF3807C0007F7007E0003FE007E0003FC003F0003FC003F 0003F8003F0003F8003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F00 03F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003 F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0007F8 007F80FFFFC7FFFCFFFFC7FFFCFFFFC7FFFC26217EA02B>I<0007F00000003FFE000000 FC1F800001F007C00003C001E00007C001F0000F8000F8001F00007C001F00007C003F00 007E003E00003E007E00003F007E00003F007E00003F00FE00003F80FE00003F80FE0000 3F80FE00003F80FE00003F80FE00003F80FE00003F80FE00003F807E00003F007E00003F 007E00003F003F00007E003F00007E001F00007C001F8000FC000FC001F80007C001F000 03F007E00000FC1F8000003FFE00000007F0000021237EA126>I<03F03F8000FFF0FFE0 00FFF3C0F800FFF7007E0007FE003F0003FC001F8003F8001FC003F0000FC003F0000FE0 03F00007F003F00007F003F00007F003F00003F803F00003F803F00003F803F00003F803 F00003F803F00003F803F00003F803F00003F803F00003F803F00007F803F00007F003F0 0007F003F00007E003F0000FE003F0000FC003F8001FC003FC003F8003FC003F0003FF00 FC0003F381F80003F1FFE00003F07F000003F000000003F000000003F000000003F00000 0003F000000003F000000003F000000003F000000003F000000003F000000007F8000000 FFFFC00000FFFFC00000FFFFC0000025307EA02B>I<03E07C00FFE1FF00FFE38F80FFE7 1FC007EE1FC003EC1FC003EC1FC003FC0F8003F8000003F8000003F8000003F0000003F0 000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0 000003F0000003F0000003F0000003F0000003F0000003F0000003F0000007F80000FFFF E000FFFFE000FFFFE0001A217FA01E>114 D<00FF060007FFCE001F00FE003C003E0078 001E0078000E00F0000E00F0000600F0000600F8000600F8000600FE000000FF8000007F FC00003FFFC0003FFFF0000FFFF80007FFFC0000FFFE00000FFF000000FF0000003F80C0 001F80C0000F80E0000780E0000780E0000780F0000780F0000700F8000F00FC000E00FE 001C00F7807800E1FFE000C07F800019237EA11E>I<0030000030000030000030000030 0000700000700000700000F00000F00001F00001F00003F00007F0001FFFFEFFFFFEFFFF FE03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F0 0003F00003F00003F00003F00303F00303F00303F00303F00303F00303F00303F00303F0 0701F80601F80600FC0E007E1C001FF80007E0182F7FAD1E>I<03F0003F00FFF00FFF00 FFF00FFF00FFF00FFF0007F0007F0003F0003F0003F0003F0003F0003F0003F0003F0003 F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0 003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F000 3F0003F0007F0003F0007F0003F0007F0003F000FF0001F000FF0001F801FF8000F803BF FC007E073FFC001FFE3FFC0007F83F0026227EA02B>II II<7FFF807FF87FFF807FF87FFF 807FF807F8001FC003F8000F8001F800070001F800060000FC000C0000FC000C0000FE00 1C00007E001800007E001800003F003000003F003000003F807000001F806000001FC0E0 00000FC0C000000FC0C0000007E180000007E180000007F380000003F300000003FB0000 0001FE00000001FE00000000FC00000000FC00000000FC00000000780000000078000000 003000000000300000000060000000006000000000E000000000C000000000C000000001 8000007801800000FC03000000FC03000000FC06000000FC0E000000701C000000783800 00001FF00000000FC000000025307F9F29>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: FD cmbx10 10.95 61 /FD 61 124 df<000000FFF8000000000FFFFF000000007FFFFF80000001FFFFFFE00000 07FFC01FF000000FFE0007F000001FF8000FF800003FE0001FF800007FC0003FFC0000FF C0003FFC0000FF80003FFC0001FF80003FFC0001FF00003FFC0001FF00003FFC0001FF00 001FF80001FF00000FF00001FF000003C00001FF000000000001FF000000000001FF0000 00000001FF000000000001FF000000000001FF000000000001FF000003FC00FFFFFFFFFF FC00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF80001FFC 0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC00 01FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001 FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF 80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80 000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF8000 0FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC007FFFFE03FFFFF07FFFFE03FF FFF07FFFFE03FFFFF07FFFFE03FFFFF07FFFFE03FFFFF034407EBF3A>12 D<0000078000000F8000001F8000003E000000FE000001FC000003F8000003F0000007E0 00000FE000001FC000003F8000003F8000007F000000FF000000FE000001FE000003FC00 0003FC000007FC000007F8000007F800000FF800000FF000001FF000001FF000001FF000 003FE000003FE000003FE000003FE000007FE000007FC000007FC000007FC000007FC000 007FC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000 00FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC00000FFC000007FC000 007FC000007FC000007FC000007FC000007FE000003FE000003FE000003FE000003FE000 001FF000001FF000001FF000000FF000000FF8000007F8000007F8000007FC000003FC00 0003FC000001FE000000FE000000FF0000007F0000003F8000003F8000001FC000000FE0 000007E0000003F0000003F8000001FC000000FE0000003E0000001F8000000F80000007 80195A77C329>40 D<70000000F80000007C0000003E0000003F8000001FC000000FE000 0007E0000003F0000003F8000001FC000000FE000000FE0000007F0000007F8000003F80 00003FC000001FE000001FE000001FF000000FF000000FF000000FF8000007F8000007FC 000007FC000007FC000003FE000003FE000003FE000003FE000003FF000001FF000001FF 000001FF000001FF000001FF000001FF800001FF800001FF800001FF800001FF800001FF 800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF800001FF 800001FF800001FF000001FF000001FF000001FF000001FF000003FF000003FE000003FE 000003FE000003FE000007FC000007FC000007FC000007F800000FF800000FF000000FF0 00001FF000001FE000001FE000003FC000003F8000007F8000007F000000FE000000FE00 0001FC000003F8000003F0000007E000000FE000001FC000003F8000003E0000007C0000 00F800000070000000195A7AC329>I<00000000F00000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F8000000007FFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFF0FFFF FFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFE00000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000001F8000000000000 0001F80000000000000001F80000000000000001F80000000000000000F0000000004446 7AB951>43 D45 D<0FC01FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF8 3FF01FE00FC00E0E798D1D>I<0000FFE000000007FFFC0000001FFFFF0000007FFFFFC0 0000FFE0FFE00001FF803FF00003FE000FF80007FC0007FC0007FC0007FC000FF80003FE 001FF80003FF001FF80003FF001FF80003FF003FF00001FF803FF00001FF803FF00001FF 807FF00001FFC07FF00001FFC07FF00001FFC07FF00001FFC07FF00001FFC0FFF00001FF E0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FF E0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FF E0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FF E0FFF00001FFE07FF00001FFC07FF00001FFC07FF00001FFC07FF00001FFC07FF00001FF C03FF00001FF803FF80003FF803FF80003FF801FF80003FF001FF80003FF000FF80003FE 000FFC0007FE0007FE000FFC0003FF001FF80001FF803FF00000FFE0FFE000007FFFFFC0 00001FFFFF00000007FFFC00000000FFE000002B3D7CBB34>48 D<00000F000000003F00 0000007F00000001FF0000000FFF000001FFFF0000FFFFFF0000FFFFFF0000FFFFFF0000 FFF7FF0000FE07FF00000007FF00000007FF00000007FF00000007FF00000007FF000000 07FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007 FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF 00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00 000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF0000 0007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF000000 07FF00000007FF00000007FF0000FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFF FFFFF0243C78BB34>I<0003FF800000003FFFF8000000FFFFFE000003FFFFFF800007FF FFFFC0000FF80FFFE0001FC003FFF0003F8000FFF8007FC0007FFC007FE0003FFE00FFF0 003FFE00FFF8001FFF00FFF8001FFF00FFF8000FFF80FFF8000FFF80FFF8000FFF80FFF8 000FFF807FF0000FFF803FE0000FFF801FC0000FFF800700000FFF800000000FFF800000 001FFF000000001FFF000000001FFE000000003FFE000000003FFC000000007FF8000000 007FF800000000FFF000000000FFE000000001FFC000000003FF8000000007FE00000000 07FC000000000FF8000000001FE0000000003FC0000000007F8000000000FF000F800001 FC000F800003F8000F800007F0001F00000FE0001F00001F80001F00003F00001F00007E 00003F0000FC00003F0001FFFFFFFF0003FFFFFFFE0007FFFFFFFE000FFFFFFFFE001FFF FFFFFE003FFFFFFFFE007FFFFFFFFE00FFFFFFFFFE00FFFFFFFFFC00FFFFFFFFFC00FFFF FFFFFC00FFFFFFFFFC00293C7BBB34>I<0001FFE00000000FFFFE0000003FFFFF800000 FFFFFFE00001FF81FFF00003FC007FF80007F0003FFC0007F0003FFE000FFC001FFE000F FE001FFF001FFE001FFF001FFF001FFF001FFF001FFF001FFF001FFF001FFF001FFF001F FF001FFF000FFE001FFF000FFE001FFE0007FC003FFE0001F0003FFC000000003FFC0000 00007FF8000000007FF000000000FFE000000001FFC00000000FFF80000007FFFE000000 07FFF800000007FFFE00000007FFFFC000000001FFF0000000007FF8000000003FFC0000 00001FFE000000000FFF000000000FFF800000000FFF8000000007FFC000000007FFC000 000007FFE00FC00007FFE01FE00007FFE03FF00007FFE07FF80007FFE0FFFC0007FFE0FF FC0007FFE0FFFC0007FFE0FFFC0007FFC0FFFC0007FFC0FFFC000FFFC0FFF8000FFF807F F8000FFF807FF0001FFF003FC0003FFE001FE0007FFC000FFE01FFF80007FFFFFFF00003 FFFFFFE00000FFFFFF8000003FFFFE00000003FFE000002B3D7CBB34>I<00000001F800 00000003F80000000007F80000000007F8000000000FF8000000001FF8000000003FF800 0000003FF8000000007FF800000000FFF800000001FFF800000003FFF800000003FFF800 000007FFF80000000FFFF80000001FBFF80000003F3FF80000003E3FF80000007C3FF800 0000FC3FF8000001F83FF8000001F03FF8000003E03FF8000007E03FF800000FC03FF800 001F803FF800001F003FF800003E003FF800007E003FF80000FC003FF80001F8003FF800 01F0003FF80003E0003FF80007E0003FF8000FC0003FF8000F80003FF8001F00003FF800 3F00003FF8007E00003FF800FC00003FF800FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8 FFFFFFFFFFF8FFFFFFFFFFF80000007FF8000000007FF8000000007FF8000000007FF800 0000007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF800 0001FFFFFFF80001FFFFFFF80001FFFFFFF80001FFFFFFF80001FFFFFFF82D3C7DBB34> I<0700000038000FE00001F8000FFE003FF8000FFFFFFFF8000FFFFFFFF0000FFFFFFFE0 000FFFFFFFC0000FFFFFFF80000FFFFFFF00000FFFFFFE00000FFFFFF800000FFFFFF000 000FFFFFC000000FFFFE0000000F80000000000F80000000000F80000000000F80000000 000F80000000000F80000000000F80000000000F80000000000F80000000000F80FFC000 000F87FFFC00000F9FFFFF00000FFFFFFF80000FFF01FFE0000FF8007FF0000FF0003FF8 000FC0001FFC000F80001FFC000700001FFE000000000FFE000000000FFF000000000FFF 000000000FFF000000000FFF800000000FFF800700000FFF801FC0000FFF803FE0000FFF 807FF0000FFF80FFF0000FFF80FFF8000FFF80FFF8000FFF80FFF8000FFF00FFF8000FFF 00FFF0000FFF00FFF0001FFE007FE0001FFE007F80001FFC003F00003FFC003F80007FF8 001FE000FFF0000FFC07FFE00007FFFFFFC00003FFFFFF000000FFFFFC0000003FFFF000 000007FF000000293D7BBB34>I<000007FF000000003FFFC0000001FFFFF0000007FFFF F800000FFF03FC00003FF800FC00007FE001FE0000FFC003FE0001FF8007FF0003FF000F FF0003FF000FFF0007FE000FFF000FFE000FFF000FFE000FFF001FFC000FFF001FFC0007 FE003FFC0003FC003FFC0001F8003FFC000000007FF8000000007FF8000000007FF80200 00007FF83FFE0000FFF87FFF8000FFF9FFFFE000FFFBFFFFF000FFFBE03FF800FFFF800F FC00FFFF0007FE00FFFF0007FF00FFFE0007FF00FFFE0003FF80FFFC0003FFC0FFFC0003 FFC0FFFC0003FFC0FFFC0003FFE0FFF80003FFE0FFF80003FFE0FFF80003FFE0FFF80003 FFE07FF80003FFE07FF80003FFE07FF80003FFE07FF80003FFE07FF80003FFE03FF80003 FFE03FF80003FFE03FFC0003FFC01FFC0003FFC01FFC0003FFC00FFC0007FF800FFE0007 FF0007FE0007FF0003FF000FFE0001FF801FFC0000FFE07FF800007FFFFFF000003FFFFF E000001FFFFF80000007FFFE00000000FFF000002B3D7CBB34>I<1F00000000001F8000 0000001FF8000000001FFFFFFFFFF01FFFFFFFFFF01FFFFFFFFFF01FFFFFFFFFF03FFFFF FFFFF03FFFFFFFFFE03FFFFFFFFFC03FFFFFFFFF803FFFFFFFFF003FFFFFFFFE003FFFFF FFFC007FFFFFFFFC007E000001F8007E000003F0007C000007E0007C00000FC0007C0000 1F80007C00001F0000F800003F0000F800007E0000F80000FC0000000001F80000000003 F00000000003F00000000007E0000000000FE0000000000FC0000000001FC0000000003F C0000000003F80000000007F80000000007F8000000000FF8000000000FF0000000001FF 0000000001FF0000000003FF0000000003FF0000000003FF0000000007FE0000000007FE 0000000007FE000000000FFE000000000FFE000000000FFE000000000FFE000000000FFE 000000001FFE000000001FFE000000001FFE000000001FFE000000001FFE000000001FFE 000000001FFE000000001FFE000000001FFE000000001FFE000000000FFC0000000007F8 0000000003F00000002C3F7ABD34>I<0000FFF000000007FFFE0000001FFFFF8000007F FFFFE00000FFC07FF00001FE001FF80003FC000FFC0007F80007FE0007F80003FE000FF0 0003FE000FF00003FF000FF00001FF001FF00001FF001FF00001FF001FF80001FF001FFC 0001FF001FFE0001FF001FFF0003FF001FFFC003FE001FFFF003FE000FFFF807FC000FFF FE0FF8000FFFFF9FF00007FFFFFFE00003FFFFFFC00003FFFFFF800001FFFFFF000000FF FFFF8000007FFFFFE000001FFFFFF000003FFFFFF80000FFFFFFFC0001FFFFFFFE0007FE 3FFFFF000FFC1FFFFF801FF807FFFF801FF001FFFFC03FE0007FFFC07FE0003FFFC07FC0 000FFFE07FC00003FFE0FF800001FFE0FF800000FFE0FF8000007FE0FF8000007FE0FF80 00003FE0FF8000003FE0FF8000003FE0FFC000003FC07FC000003FC07FC000007F807FE0 00007F803FF00000FF001FF80001FF001FFE0007FE000FFFC03FFC0007FFFFFFF80001FF FFFFE000007FFFFFC000001FFFFE00000001FFF000002B3D7CBB34>I<0001FFE0000000 0FFFFC0000003FFFFF000000FFFFFFC00001FFE0FFE00003FF003FF00007FE001FF8000F FE000FFC001FFC000FFC001FFC0007FE003FFC0007FE007FF80007FF007FF80003FF007F F80003FF80FFF80003FF80FFF80003FF80FFF80003FFC0FFF80003FFC0FFF80003FFC0FF F80003FFC0FFF80003FFC0FFF80003FFE0FFF80003FFE0FFF80003FFE0FFF80003FFE07F F80007FFE07FF80007FFE07FF80007FFE07FF80007FFE03FF8000FFFE01FFC000FFFE01F FC001FFFE00FFE001FFFE007FE003FFFE003FF80FBFFE001FFFFFBFFE0007FFFF3FFE000 3FFFC3FFE0000FFF83FFC000000803FFC000000003FFC000000003FFC000000007FF8003 F00007FF8007F80007FF800FFC0007FF001FFE0007FF001FFE000FFE001FFE000FFE001F FE000FFC001FFE001FFC001FFE003FF8001FFC003FF0000FF800FFE0000FF001FFC00007 FC0FFF800003FFFFFF000001FFFFFC000000FFFFF00000007FFFC00000000FFE0000002B 3D7CBB34>I<0FC01FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE00FC00000 000000000000000000000000000000000000000000000FC01FE03FF07FF8FFFCFFFCFFFC FFFCFFFCFFFC7FF83FF01FE00FC00E2879A71D>I<7FFFFFFFFFFFFFFFE0FFFFFFFFFFFF FFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF03FFFFFFFFFFF FFFFE0000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000003FFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFFFFF0FFFFFFFFFFFF FFFFF0FFFFFFFFFFFFFFFFF07FFFFFFFFFFFFFFFE0441C7AA451>61 D<00000000FC0000000000000000FC0000000000000001FE0000000000000001FE000000 0000000003FF0000000000000003FF0000000000000003FF0000000000000007FF800000 0000000007FF800000000000000FFFC00000000000000FFFC00000000000000FFFC00000 000000001FFFE00000000000001FFFE00000000000003FFFF00000000000003FFFF00000 000000003FFFF00000000000007FFFF80000000000007CFFF8000000000000FCFFFC0000 00000000F87FFC000000000000F87FFC000000000001F87FFE000000000001F03FFE0000 00000003F03FFF000000000003E01FFF000000000007E01FFF800000000007C01FFF8000 00000007C00FFF80000000000FC00FFFC0000000000F8007FFC0000000001F8007FFE000 0000001F0007FFE0000000001F0003FFE0000000003F0003FFF0000000003E0001FFF000 0000007E0001FFF8000000007C0000FFF8000000007C0000FFF800000000FC0000FFFC00 000000F800007FFC00000001FFFFFFFFFE00000001FFFFFFFFFE00000001FFFFFFFFFE00 000003FFFFFFFFFF00000003FFFFFFFFFF00000007E000001FFF80000007C000000FFF80 00000FC000000FFFC000000F8000000FFFC000000F80000007FFC000001F80000007FFE0 00001F00000003FFE000003F00000003FFF000003E00000003FFF000003E00000001FFF0 00007E00000001FFF800007C00000000FFF800FFFFFC0000FFFFFFFCFFFFFC0000FFFFFF FCFFFFFC0000FFFFFFFCFFFFFC0000FFFFFFFCFFFFFC0000FFFFFFFC463F7CBE4F>65 D<00000007FFC0000E000000FFFFFC001E000007FFFFFF003E00003FFFFFFFC07E0000FF FFFFFFE1FE0003FFFF803FFBFE0007FFF80003FFFE000FFFC00000FFFE003FFF0000007F FE007FFE0000001FFE00FFF80000000FFE01FFF000000007FE03FFE000000007FE03FFC0 00000003FE07FFC000000001FE0FFF8000000001FE0FFF8000000000FE1FFF0000000000 FE1FFF00000000007E3FFF00000000007E3FFE00000000007E3FFE00000000003E7FFE00 000000003E7FFE00000000003E7FFE00000000003E7FFC000000000000FFFC0000000000 00FFFC000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC00 0000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC0000000000 00FFFC000000000000FFFC0000000000007FFC0000000000007FFE0000000000007FFE00 000000003E7FFE00000000003E3FFE00000000003E3FFE00000000003E3FFF0000000000 3E1FFF00000000007E1FFF00000000007C0FFF80000000007C0FFF8000000000FC07FFC0 00000000F803FFE000000001F803FFE000000001F001FFF000000003F000FFF800000007 E0007FFE0000000FC0003FFF0000003F80000FFFC00000FF000007FFF80003FE000003FF FF801FFC000000FFFFFFFFF80000003FFFFFFFE000000007FFFFFF8000000000FFFFFC00 0000000007FFC000003F407ABE4C>67 DIII73 D75 DII<0000003FFF00000000000003FFFFF000000000001FFFFFFE00000000007FFF FFFF8000000001FFF807FFE000000007FFC000FFF80000000FFF00003FFC0000003FFC00 000FFF0000007FF8000007FF800000FFF0000003FFC00001FFE0000001FFE00001FFC000 0000FFE00003FFC0000000FFF00007FF800000007FF80007FF800000007FF8000FFF0000 00003FFC001FFF000000003FFE001FFF000000003FFE001FFE000000001FFE003FFE0000 00001FFF003FFE000000001FFF003FFE000000001FFF007FFC000000000FFF807FFC0000 00000FFF807FFC000000000FFF807FFC000000000FFF80FFFC000000000FFFC0FFFC0000 00000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC0000 00000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC0000 00000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFFC07FFC0000 00000FFF807FFE000000001FFF807FFE000000001FFF807FFE000000001FFF803FFE0000 00001FFF003FFE000000001FFF003FFF000000003FFF001FFF000000003FFE001FFF0000 00003FFE000FFF800000007FFC000FFF800000007FFC0007FFC0000000FFF80003FFE000 0001FFF00003FFE0000001FFF00001FFF0000003FFE00000FFF8000007FFC000007FFC00 000FFF8000003FFF00003FFF0000001FFFC000FFFE00000007FFF807FFF800000001FFFF FFFFE000000000FFFFFFFFC0000000001FFFFFFE000000000003FFFFF00000000000003F FF0000000042407ABE4F>79 DI 82 D<0003FFC001C0001FFFF803C0007FFFFE07C001FFFFFF8FC003FFFFFFDFC007FF00 FFFFC00FF8000FFFC01FF00003FFC01FE00001FFC03FC000007FC07FC000007FC07F8000 003FC07F8000001FC0FF8000001FC0FF8000000FC0FF8000000FC0FFC000000FC0FFC000 0007C0FFC0000007C0FFE0000007C0FFF0000007C0FFFC00000000FFFF800000007FFFF8 0000007FFFFFC000003FFFFFFC00003FFFFFFF80001FFFFFFFE0001FFFFFFFF8000FFFFF FFFC0007FFFFFFFE0003FFFFFFFF0001FFFFFFFF80007FFFFFFFC0003FFFFFFFC00007FF FFFFE000007FFFFFE0000007FFFFF00000003FFFF000000003FFF000000000FFF8000000 007FF8000000003FF8780000003FF8F80000001FF8F80000001FF8F80000000FF8F80000 000FF8FC0000000FF8FC0000000FF8FC0000000FF0FE0000000FF0FE0000001FF0FF0000 001FE0FF8000003FE0FFE000003FC0FFF800007F80FFFE0001FF80FFFFE007FF00FEFFFF FFFE00FC7FFFFFF800F81FFFFFF000F003FFFFC000E0003FFE00002D407ABE3A>I<3FFF FFFFFFFFFFFC3FFFFFFFFFFFFFFC3FFFFFFFFFFFFFFC3FFFFFFFFFFFFFFC3FFFFFFFFFFF FFFC3FFE003FFE003FFC7FF0003FFE000FFE7FC0003FFE0003FE7F80003FFE0001FE7F00 003FFE0000FE7F00003FFE00007E7E00003FFE00007E7E00003FFE00007E7C00003FFE00 003E7C00003FFE00003E7C00003FFE00003E7C00003FFE00003EFC00003FFE00003FF800 003FFE00001FF800003FFE00001FF800003FFE00001FF800003FFE00001FF800003FFE00 001F0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000 003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00 00000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000 003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00 00000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000 003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00 00000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000 003FFE0000000000003FFE000000000FFFFFFFFFF800000FFFFFFFFFF800000FFFFFFFFF F800000FFFFFFFFFF800000FFFFFFFFFF800403D7CBC49>III I<0007FFC00000003FFFF8000001FFFFFF000003FFFFFF800007FE03FFC0000FF800FFE0 000FFC003FF0001FFE003FF8001FFE001FFC001FFE001FFC001FFE001FFC001FFE000FFE 001FFE000FFE000FFC000FFE0007F8000FFE0001E0000FFE000000000FFE000000003FFE 000000FFFFFE00000FFFFFFE00007FFFFFFE0001FFFE0FFE0003FFE00FFE000FFF800FFE 001FFE000FFE003FFC000FFE003FF8000FFE007FF0000FFE00FFF0000FFE00FFE0000FFE 00FFE0000FFE00FFE0000FFE00FFE0000FFE00FFE0001FFE00FFF0001FFE007FF0003FFE 007FF8007BFF803FFC00FBFFFE1FFF07F3FFFE0FFFFFE1FFFE03FFFF80FFFE00FFFF003F FE001FF80000002F2B7DA933>97 D<00FF0000000000FFFF0000000000FFFF0000000000 FFFF0000000000FFFF0000000000FFFF000000000007FF000000000003FF000000000003 FF000000000003FF000000000003FF000000000003FF000000000003FF000000000003FF 000000000003FF000000000003FF000000000003FF000000000003FF000000000003FF00 0000000003FF000000000003FF000000000003FF000000000003FF00FFE0000003FF07FF FC000003FF1FFFFF800003FF7FFFFFC00003FFFF81FFF00003FFFC003FF80003FFF0001F FC0003FFE0000FFE0003FFC00007FE0003FF800007FF0003FF800003FF8003FF800003FF 8003FF800003FFC003FF800001FFC003FF800001FFC003FF800001FFC003FF800001FFE0 03FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003 FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFC003FF 800001FFC003FF800003FFC003FF800003FF8003FF800003FF8003FF800003FF0003FF80 0007FF0003FFC00007FE0003FFE0000FFC0003FFF0001FF80003FFFC007FF00003FCFF01 FFE00003F87FFFFFC00003F01FFFFF000003E007FFFC0000000001FFC0000033407DBE3A >I<00007FF0000007FFFF00001FFFFFC0007FFFFFE000FFF01FF001FF800FF803FF001F F807FE003FFC0FFE003FFC1FFC003FFC1FFC003FFC3FF8003FFC3FF8003FFC7FF8001FF8 7FF0000FF07FF00003C0FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FF F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF00000007FF00000007FF8 0000007FF80000007FF80000003FF800003E3FFC00003E1FFC00007E0FFE00007C07FF00 00FC07FF8001F803FFC003F000FFF81FE0007FFFFFC0001FFFFF800007FFFE0000007FF0 00272B7DA92E>I<0000000007F80000000007FFF80000000007FFF80000000007FFF800 00000007FFF80000000007FFF800000000003FF800000000001FF800000000001FF80000 0000001FF800000000001FF800000000001FF800000000001FF800000000001FF8000000 00001FF800000000001FF800000000001FF800000000001FF800000000001FF800000000 001FF800000000001FF800000000001FF80000007FF01FF8000007FFFE1FF800001FFFFF 9FF800007FFFFFDFF80000FFF01FFFF80001FFC003FFF80003FF0001FFF80007FE00007F F8000FFC00007FF8001FFC00003FF8001FF800003FF8003FF800003FF8003FF800003FF8 007FF800003FF8007FF000003FF8007FF000003FF800FFF000003FF800FFF000003FF800 FFF000003FF800FFF000003FF800FFF000003FF800FFF000003FF800FFF000003FF800FF F000003FF800FFF000003FF800FFF000003FF8007FF000003FF8007FF000003FF8007FF0 00003FF8007FF800003FF8003FF800003FF8003FF800003FF8001FFC00007FF8000FFC00 007FF8000FFE0000FFF80007FF0003FFFC0003FF8007FFFFE001FFF03FFFFFE0007FFFFF BFFFE0003FFFFF3FFFE00007FFFC3FFFE00000FFE03FE00033407DBE3A>I<0000FFF000 000007FFFE0000001FFFFF8000007FFFFFC00000FFE07FE00001FF801FF00003FF000FF8 0007FE0007FC000FFC0003FE001FFC0003FE001FF80001FE003FF80001FF003FF80001FF 007FF00001FF007FF00000FF807FF00000FF80FFF00000FF80FFF00000FF80FFFFFFFFFF 80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFF000000000FFF000000000FFF0000000 00FFF000000000FFF0000000007FF0000000007FF0000000007FF8000000003FF8000000 003FF800000F801FFC00000F801FFC00001F800FFE00001F0007FF00003F0003FF80007E 0001FFE001FC0000FFF80FF800003FFFFFF000001FFFFFC0000003FFFF000000007FF800 00292B7DA930>I<000007FE0000007FFF800001FFFFC00007FFFFE0000FFE3FF0001FF0 3FF0003FE07FF8007FC07FF800FFC07FF800FF807FF800FF807FF801FF003FF001FF001F E001FF000FC001FF00000001FF00000001FF00000001FF00000001FF00000001FF000000 01FF00000001FF00000001FF00000001FF000000FFFFFFE000FFFFFFE000FFFFFFE000FF FFFFE000FFFFFFE00001FF80000001FF80000001FF80000001FF80000001FF80000001FF 80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80 000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF8000 0001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF800000 01FF80000001FF80000001FF8000007FFFFF80007FFFFF80007FFFFF80007FFFFF80007F FFFF800025407DBF20>I<0003FF8007F0003FFFF83FF8007FFFFCFFFC01FFFFFFFFFE03 FF83FFF9FE07FC007FC3FE0FF8003FE1FE1FF8003FF1FC1FF0001FF0F81FF0001FF0003F F0001FF8003FF0001FF8003FF0001FF8003FF0001FF8003FF0001FF8003FF0001FF8003F F0001FF8001FF0001FF0001FF0001FF0001FF8003FF0000FF8003FE00007FC007FC00003 FF83FF800003FFFFFF000007FFFFFC000007BFFFF800000F03FF8000000F00000000000F 00000000001F80000000001F80000000001FC0000000001FF0000000000FFFFFFF00000F FFFFFFF0000FFFFFFFFC0007FFFFFFFF0007FFFFFFFF8003FFFFFFFFC001FFFFFFFFE007 FFFFFFFFE01FFFFFFFFFF03FE00003FFF07FC000003FF07F8000001FF8FF8000000FF8FF 00000007F8FF00000007F8FF00000007F8FF00000007F8FF00000007F87F8000000FF07F C000001FF03FC000001FE03FF000007FE01FFC0001FFC007FF800FFF0003FFFFFFFE0000 FFFFFFF800003FFFFFE0000001FFFC00002F3D7DA834>I<00FF0000000000FFFF000000 0000FFFF0000000000FFFF0000000000FFFF0000000000FFFF000000000007FF00000000 0003FF000000000003FF000000000003FF000000000003FF000000000003FF0000000000 03FF000000000003FF000000000003FF000000000003FF000000000003FF000000000003 FF000000000003FF000000000003FF000000000003FF000000000003FF000000000003FF 001FF8000003FF00FFFE000003FF03FFFF800003FF07FFFFC00003FF0FE0FFE00003FF1F 007FE00003FF3C007FF00003FF78007FF00003FFF0003FF80003FFE0003FF80003FFE000 3FF80003FFC0003FF80003FFC0003FF80003FFC0003FF80003FF80003FF80003FF80003F F80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8 0003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF800 03FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003 FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF800FFFF FE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0333F7C BE3A>I<01F80003FC0007FE000FFF001FFF801FFF801FFF801FFF801FFF801FFF800FFF 0007FE0003FC0001F8000000000000000000000000000000000000000000000000000000 0000FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003FF0003FF 0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF 0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF 00FFFFF8FFFFF8FFFFF8FFFFF8FFFFF815407CBF1D>I<00FF0000000000FFFF00000000 00FFFF0000000000FFFF0000000000FFFF0000000000FFFF000000000007FF0000000000 03FF000000000003FF000000000003FF000000000003FF000000000003FF000000000003 FF000000000003FF000000000003FF000000000003FF000000000003FF000000000003FF 000000000003FF000000000003FF000000000003FF000000000003FF000000000003FF00 0000000003FF000FFFFE0003FF000FFFFE0003FF000FFFFE0003FF000FFFFE0003FF000F FFFE0003FF0001FE000003FF0003FC000003FF0007F0000003FF001FE0000003FF003FC0 000003FF007F80000003FF00FF00000003FF03FC00000003FF07F800000003FF0FF00000 0003FF1FF000000003FF7FF800000003FFFFFC00000003FFFFFC00000003FFFFFE000000 03FFFFFF00000003FFE7FF80000003FFC3FFC0000003FF81FFC0000003FF00FFE0000003 FF00FFF0000003FF007FF8000003FF003FFC000003FF001FFC000003FF000FFE000003FF 000FFF000003FF0007FF800003FF0003FFC00003FF0001FFC00003FF0000FFE000FFFFFC 07FFFFC0FFFFFC07FFFFC0FFFFFC07FFFFC0FFFFFC07FFFFC0FFFFFC07FFFFC0323F7DBE 37>107 D<00FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003 FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00FF FFFCFFFFFCFFFFFCFFFFFCFFFFFC163F7CBE1D>I<00FF001FF80000FFC00000FFFF00FF FF0007FFF80000FFFF03FFFFC01FFFFE0000FFFF07FFFFE03FFFFF0000FFFF0FE0FFF07F 07FF8000FFFF1F003FF0F801FF800007FF3E003FF9F001FFC00003FF78003FFBC001FFC0 0003FFF0001FFF8000FFE00003FFF0001FFF8000FFE00003FFE0001FFF0000FFE00003FF C0001FFE0000FFE00003FFC0001FFE0000FFE00003FFC0001FFE0000FFE00003FF80001F FC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000 FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE000 03FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80 001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC 0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FF E00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003 FF80001FFC0000FFE00003FF80001FFC0000FFE000FFFFFE07FFFFF03FFFFF80FFFFFE07 FFFFF03FFFFF80FFFFFE07FFFFF03FFFFF80FFFFFE07FFFFF03FFFFF80FFFFFE07FFFFF0 3FFFFF8051297CA858>I<00FF001FF80000FFFF00FFFE0000FFFF03FFFF8000FFFF07FF FFC000FFFF0FE0FFE000FFFF1F007FE00007FF3C007FF00003FF78007FF00003FFF0003F F80003FFE0003FF80003FFE0003FF80003FFC0003FF80003FFC0003FF80003FFC0003FF8 0003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF800 03FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003 FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF 80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80 003FF80003FF80003FF800FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0F FFFFE0FFFFFE0FFFFFE033297CA83A>I<00007FF000000003FFFE0000001FFFFFC00000 7FFFFFF00000FFE03FF80001FF800FFC0003FE0003FE0007FC0001FF000FFC0001FF801F F80000FFC01FF80000FFC03FF80000FFE03FF000007FE07FF000007FF07FF000007FF07F F000007FF07FF000007FF0FFF000007FF8FFF000007FF8FFF000007FF8FFF000007FF8FF F000007FF8FFF000007FF8FFF000007FF8FFF000007FF8FFF000007FF8FFF000007FF87F F000007FF07FF000007FF07FF000007FF07FF000007FF03FF80000FFE03FF80000FFE01F F80000FFC00FFC0001FF800FFC0001FF8007FE0003FF0003FF800FFE0001FFE03FFC0000 7FFFFFF000001FFFFFC0000007FFFF000000007FF000002D2B7DA934>I<00FF00FFE000 00FFFF07FFFC0000FFFF1FFFFF8000FFFF7FFFFFC000FFFFFF81FFF000FFFFFC007FF800 03FFF0003FFC0003FFE0001FFE0003FFC0000FFE0003FF800007FF0003FF800007FF8003 FF800007FF8003FF800003FFC003FF800003FFC003FF800003FFC003FF800001FFC003FF 800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF80 0001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF8000 03FFC003FF800003FFC003FF800003FFC003FF800003FF8003FF800007FF8003FF800007 FF0003FF80000FFF0003FFC0000FFE0003FFE0001FFC0003FFF0003FF80003FFFC00FFF0 0003FFFF03FFE00003FFFFFFFFC00003FF9FFFFF000003FF87FFFC000003FF81FFC00000 03FF800000000003FF800000000003FF800000000003FF800000000003FF800000000003 FF800000000003FF800000000003FF800000000003FF800000000003FF800000000003FF 800000000003FF8000000000FFFFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE 00000000FFFFFE00000000333B7DA83A>I<00007FE00078000007FFFC00F800001FFFFF 01F800007FFFFF81F80000FFF81FC3F80001FFE007E7F80003FF8003F7F80007FF0001FF F8000FFE0000FFF8001FFE00007FF8001FFC00007FF8003FFC00003FF8003FF800003FF8 007FF800003FF8007FF800001FF8007FF800001FF800FFF000001FF800FFF000001FF800 FFF000001FF800FFF000001FF800FFF000001FF800FFF000001FF800FFF000001FF800FF F000001FF800FFF000001FF800FFF000001FF8007FF000001FF8007FF800001FF8007FF8 00001FF8007FF800001FF8003FFC00003FF8003FFC00007FF8001FFC00007FF8000FFE00 00FFF8000FFF0001FFF80007FF8003FFF80003FFC00FFFF80001FFF03FFFF800007FFFFF BFF800003FFFFE3FF8000007FFF83FF8000000FFC03FF800000000003FF800000000003F F800000000003FF800000000003FF800000000003FF800000000003FF800000000003FF8 00000000003FF800000000003FF800000000003FF800000000003FF800000000003FF800 0000000FFFFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE00000000FFFFFE033 3B7DA837>I<01FE01FE00FFFE07FF80FFFE0FFFE0FFFE1FFFF0FFFE3F1FF0FFFE7C3FF8 07FEF83FF803FEF03FF803FFE03FF803FFE03FF803FFC01FF003FFC00FE003FF8007C003 FF80000003FF80000003FF80000003FF00000003FF00000003FF00000003FF00000003FF 00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00 000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF0000 0003FF000000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFFFFF000025297DA82B >I<003FFC1E0001FFFFBE0007FFFFFE000FFFFFFE001FF00FFE003F8001FE007F0000FE 007E00007E007E00007E00FE00003E00FE00003E00FF00003E00FF80003E00FFC0000000 FFF8000000FFFFE000007FFFFF00007FFFFFC0003FFFFFF0001FFFFFF8000FFFFFFC0007 FFFFFE0003FFFFFF0000FFFFFF80001FFFFF800000FFFF80000007FFC0000000FFC07800 007FC0F800003FC0F800001FC0FC00001FC0FC00001FC0FE00001FC0FE00001F80FF0000 3F80FF80003F00FFE000FF00FFF803FE00FFFFFFFC00FFFFFFF000F87FFFC000E00FFE00 00222B7DA929>I<0007C0000007C0000007C0000007C0000007C000000FC000000FC000 000FC000000FC000001FC000001FC000001FC000003FC000007FC000007FC00000FFC000 01FFC00007FFC0001FFFFFFEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE01FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000 01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC01F 01FFC01F01FFC01F01FFC01F01FFC01F01FFC01F01FFC01F01FFC01F01FFC01F00FFE03E 00FFE03E007FE07E007FF8FC003FFFF8001FFFF00007FFE00000FF80203B7EB929>I<00 FF80000FF800FFFF800FFFF800FFFF800FFFF800FFFF800FFFF800FFFF800FFFF800FFFF 800FFFF80007FF80007FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80 003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8000 3FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003F F80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8 0003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80007FF800 03FF80007FF80003FF80007FF80003FF8000FFF80001FF8001FFF80001FF8003FFFC0000 FFC007DFFFE000FFF01F9FFFE0007FFFFF1FFFE0003FFFFE1FFFE0000FFFF81FFFE00001 FFE01FE000332A7CA83A>IIIII<3FFFFFFFF83FFFFFFFF83FFFFFFFF83FFFFFFFF83FF801FFF03FC001FFE03F 8003FFE03F0007FFC03F000FFF807E000FFF007E001FFF007E003FFE007C003FFC007C00 7FFC007C00FFF8007C01FFF0007C01FFE0000003FFE0000007FFC000000FFF8000000FFF 8000001FFF007C003FFE007C003FFC007C007FFC007C00FFF800FC01FFF000F801FFE000 F803FFE000F807FFC001F807FF8001F80FFF8003F81FFF0003F83FFE0007F83FFC001FF8 7FFC00FFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF026287DA72E>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: FE cmr10 10.95 88 /FE 88 125 df0 D<00000000E00000000000000001F00000000000 000001F00000000000000003F80000000000000003F80000000000000007FC0000000000 000007FC000000000000000FFE000000000000000FFE000000000000001DFF0000000000 00001DFF0000000000000038FF8000000000000038FF80000000000000787FC000000000 0000707FC0000000000000F03FE0000000000000E03FE0000000000001E01FF000000000 0001C01FF0000000000003C00FF8000000000003800FF80000000000078007FC00000000 00070007FC00000000000F0003FE00000000000E0003FE00000000001E0001FF00000000 001C0001FF00000000003C0000FF8000000000380000FF80000000007800007FC0000000 007000007FC000000000F000003FE000000000E000003FE000000001E000001FF0000000 01C000001FF000000003C000000FF8000000038000000FF80000000780000007FC000000 0700000007FC0000000F00000003FE0000000E00000003FE0000001E00000001FF000000 1C00000001FF0000003C00000000FF8000003800000000FF80000078000000007FC00000 70000000007FC00000F0000000003FE00000E0000000003FE00001E0000000001FF00001 C0000000001FF00003C0000000000FF8000380000000000FF80007800000000007FC0007 000000000007FC000F000000000003FE000E000000000003FE001E000000000001FF001F FFFFFFFFFFFFFF003FFFFFFFFFFFFFFF803FFFFFFFFFFFFFFF807FFFFFFFFFFFFFFFC07F FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE043417CC04C>I5 DI<0001FFFFFFFC00000001FFFFFFFC00000001FFFFFFFC00000000 007FF00000000000001FC00000000000001FC00000000000001FC00000000000001FC000 00000000001FC00000000000001FC00000000000001FC00000000000001FC0000000FF00 001FC0000FF0FFC0001FC0003FF01FE0001FC0007F800FE0001FC0007F000FF0001FC000 FF0007F0001FC000FE0007F0001FC000FE0007F8001FC001FE0003F8001FC001FC0003F8 001FC001FC0003F8001FC001FC0003F8001FC001FC0003F8001FC001FC0003F8001FC001 FC0003F8001FC001FC0003F8001FC001FC0003F8001FC001FC0003F8001FC001FC0003F8 001FC001FC0001FC001FC001F80001FC001FC003F80001FC001FC003F80001FC001FC003 F80000FC001FC003F80000FE001FC007F00000FE001FC007F000007F001FC007E000007F 001FC00FE000003F801FC01FC000001F801FC01F8000000FC01FC03F80000007E01FC07F 00000003F01FC0FE00000001F81FC1F8000000007E1FC7F0000000001FDFDFC000000000 07FFFF0000000000007FF00000000000001FC00000000000001FC00000000000001FC000 00000000001FC00000000000001FC00000000000001FC00000000000001FC00000000000 001FC00000000000007FF00000000001FFFFFFFC00000001FFFFFFFC00000001FFFFFFFC 00003C3E7BBD47>9 D<000001FFC000000000001FFFFC0000000000FF007F8000000003 F8000FE00000000FF00007F80000001FC00001FC0000007F800000FF000000FF0000007F 800001FE0000003FC00003FE0000003FE00007FC0000001FF0000FFC0000001FF8000FF8 0000000FF8001FF80000000FFC001FF000000007FC003FF000000007FE003FF000000007 FE003FF000000007FE007FE000000003FF007FE000000003FF007FE000000003FF007FE0 00000003FF007FE000000003FF007FE000000003FF007FE000000003FF007FE000000003 FF007FE000000003FF007FE000000003FF003FF000000007FE003FF000000007FE003FF0 00000007FE001FF000000007FC001FF000000007FC000FF80000000FF8000FF80000000F F80007F80000000FF00007FC0000001FF00003FC0000001FE00003FC0000001FE00001FE 0000003FC00000FE0000003F800000FE0000003F8000007F0000007F0000003F0000007E 0000003F0000007E0000001F800000FC0000000F800000F80000000F800000F800000007 C00001F00000E007C00001F00380E003C00001E003807001C00001C007007001E00003C0 07007000E000038007007000E000038007007000E000038007003800600003000E003C00 700007001E003FFFF00007FFFE003FFFF00007FFFE003FFFF00007FFFE001FFFF00007FF FC001FFFF00007FFFC001FFFF00007FFFC0039407CBF42>I<000001FF000FE00000001F FFE03FFC0000007F00F8FC1E000001FC003FF03F000007F0007FE07F80000FE000FFE0FF 80001FC001FFC0FF80003F8001FF80FF80007F8001FF80FF80007F0001FF807F00007F00 01FF003E0000FE0000FF00000000FE00007F00000000FE00007F00000000FE00007F0000 0000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00 007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F0000 0000FE00007F000000FFFFFFFFFFFF8000FFFFFFFFFFFF8000FFFFFFFFFFFF800000FE00 007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F0000 0000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00 007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F0000 0000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00 007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F0000 0000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00 007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F0000 0001FF0000FF8000007FFFFC3FFFFF80007FFFFC3FFFFF80007FFFFC3FFFFF800039407F BF35>I<000001FF000000001FFFC00000007F01F0000001FC0078000007F0001C00000F E0003E00001FC000FF00003F8001FF00007F8001FF00007F0001FF00007F0001FF0000FE 0001FF0000FE0000FE0000FE0000380000FE0000000000FE0000000000FE0000000000FE 0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE 0000000000FE00007F00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF0000FE0001FF0000FE 0000FF0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE 00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE 00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE 00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE 00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE 00007F0001FF0000FF807FFFFC3FFFFE7FFFFC3FFFFE7FFFFC3FFFFE2F407FBF33>I<00 0001FF800000001FFFF70000007F00FF000001F800FF000007F001FF00000FE001FF0000 1FC001FF00003F8001FF00007F8001FF00007F0001FF00007F0000FF0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000 FE00007F00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF0000FE00007F0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000 FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0001 FF0000FF807FFFFC3FFFFE7FFFFC3FFFFE7FFFFC3FFFFE2F407FBF33>I<000001FF0000 FF800000001FFFC00FFFE00000007F01F03F80F8000001F80078FE003C000007F0003FF8 000E00000FE0007FF0001F00001FC000FFE0007F80003F8001FFC000FF80007F8001FFC0 00FF80007F0001FF8000FF80007F0001FF8000FF8000FE0001FF0000FF8000FE0000FF00 007F0000FE00007F00001C0000FE00007F0000000000FE00007F0000000000FE00007F00 00000000FE00007F0000000000FE00007F0000000000FE00007F0000000000FE00007F00 00000000FE00007F0000000000FE00007F0000000000FE00007F0000000000FE00007F00 003F80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF8000FE00007F00 00FF8000FE00007F00007F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00 003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8001FF0000FF80 007FC07FFFFC3FFFFE1FFFFF7FFFFC3FFFFE1FFFFF7FFFFC3FFFFE1FFFFF48407FBF4C> I<000001FF0000FFC00000001FFFE00FFFFB8000007F00F83F807F800001F8003CFC007F 800007F0007FF800FF80000FE001FFF000FF80001FC001FFE000FF80003F8001FFC000FF 80007F8001FFC000FF80007F0001FF8000FF80007F0001FF80007F8000FE0000FF00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F 8001FF0000FF80007FC07FFFFC3FFFFE1FFFFF7FFFFC3FFFFE1FFFFF7FFFFC3FFFFE1FFF FF48407FBF4C>I<1E000F007F803FC0FF807FC0FFC07FE0FFC07FE0FFE07FF0FFE07FF0 FFE07FF07FE03FF01E600F300060003000600030006000300060003000E0007000C00060 00C0006000C0006001C000E0018000C0038001C003000180070003800E0007001C000E00 18000C0038001C00300018001C1C7DBE2D>34 D<003F0000000001800000FFC000000003 C00001E0E000000007C00007C0700000000FC0000F80380000001F80000F803E0000003F 00001F001F0000007F00003F000FC00001FE00003E000EF00007FC00003E000F3F003EFC 00007E00070FFFF8F800007C000700FFC1F000007C0007000003F00000FC0003800007E0 0000FC0003800007C00000FC000380000F800000FC000380001F800000FC000380001F00 0000FC000380003E000000FC000380007E000000FC000380007C000000FC00038000F800 0000FC00038001F8000000FC00038001F00000007C00070003E00000007C00070007E000 00007E00070007C00000003E000F000F800000003E000E001F800000003F000E001F0000 00001F001C003E000000000F803C007E000000000F8038007C0000000007C07000F80000 000001E0E001F80000000000FFC003F000000000003F0003E0003F000000000007C000FF C0000000000FC001E0E0000000000F8007C070000000001F000F8038000000003F000F80 3C000000003E001F001C000000007C003F000E00000000FC003E000E00000000F8003E00 0F00000001F0007E000700000003F0007C000700000003E0007C000700000007C000FC00 038000000FC000FC00038000000F8000FC00038000001F0000FC00038000003F0000FC00 038000003E0000FC00038000007C0000FC0003800000FC0000FC0003800000F80000FC00 03800001F00000FC0003800003F00000FC0003800007E000007C0007000007C000007C00 0700000F8000007E000700001F8000003E000F00001F0000003E000E00003E0000003F00 0E00007E0000001F001C00007C0000000F803C0000F80000000F80380001F800000007C0 700001F000000001E0E00001E000000000FFC00000C0000000003F000041497BC34C>37 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60006000600060006000E000C000C000 C001C001800380030007000E001C001800380030000B1C79BE19>39 D<0000300000700000E00001C0000380000780000F00001E00003E00003C0000780000F8 0000F00001F00001E00003E00003E00007C00007C0000FC0000F80000F80001F80001F00 001F00003F00003F00003F00003E00007E00007E00007E00007E00007E00007E00007C00 00FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 00FC0000FC0000FC0000FC0000FC0000FC00007C00007E00007E00007E00007E00007E00 007E00003E00003F00003F00003F00001F00001F00001F80000F80000F80000FC00007C0 0007C00003E00003E00001E00001F00000F00000F800007800003C00003E00001E00000F 000007800003800001C00000E0000070000030145A77C323>II<00000006000000000000000F000000000000000F00 0000000000000F000000000000000F000000000000000F000000000000000F0000000000 00000F000000000000000F000000000000000F000000000000000F000000000000000F00 0000000000000F000000000000000F000000000000000F000000000000000F0000000000 00000F000000000000000F000000000000000F000000000000000F000000000000000F00 0000000000000F000000000000000F000000000000000F000000000000000F0000000000 00000F000000000000000F000000000000000F000000007FFFFFFFFFFFFFE0FFFFFFFFFF FFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFFFFE00000000F000000000000000F0000000000 00000F000000000000000F000000000000000F000000000000000F000000000000000F00 0000000000000F000000000000000F000000000000000F000000000000000F0000000000 00000F000000000000000F000000000000000F000000000000000F000000000000000F00 0000000000000F000000000000000F000000000000000F000000000000000F0000000000 00000F000000000000000F000000000000000F000000000000000F000000000000000F00 0000000000000F000000000000000F0000000000000006000000003C3C7BB447>43 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60006000600060006000E000C000C000 C001C001800380030007000E001C001800380030000B1C798919>II<1E007F807F80FFC0FFC0FFC0FFC07F807F801E 000A0A798919>I<0001FE0000000FFFC000003F03F000007C00F80000F8007C0001F000 3E0003E0001F0007C0000F8007C0000F800FC0000FC01F800007E01F800007E01F800007 E03F800007F03F800007F03F000003F07F000003F87F000003F87F000003F87F000003F8 7F000003F87F000003F8FF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF 000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF00 0003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF0000 03FC7F000003F87F000003F87F000003F87F000003F87F000003F83F800007F03F800007 F03F800007F01F800007E01F800007E01F800007E00FC0000FC00FC0000FC007E0001F80 03E0001F0001F0003E0000F8007C00007C00F800003F03F000000FFFC0000001FE000026 3F7DBC2D>48 D<0001C0000003C0000007C000001FC000007FC00007FFC000FFFFC000FF 9FC000F81FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000 1FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00000 1FC000001FC000001FC000001FC000001FC000007FF000FFFFFFF8FFFFFFF8FFFFFFF81D 3D78BC2D>I<0007FC0000003FFF800000FFFFE00003F01FF80007C007FC000F0001FE00 1E0000FF001C0000FF803C00007FC07800007FC07800003FE07000003FE0FF00003FE0FF 80001FF0FFC0001FF0FFC0001FF0FFC0001FF0FFC0001FF0FFC0001FF07F80001FF03F00 001FF00C00001FF00000001FE00000003FE00000003FE00000003FC00000007FC0000000 7F80000000FF80000000FF00000001FE00000001FC00000003F800000007F000000007E0 0000000FC00000001F800000003F000000007E000000007C00000000F800000001F00000 0003E000000007C00000000F800000001F000070003E000070003C000070007800007000 F00000E001E00000E003C00000E007800000E00F000001E01FFFFFFFE01FFFFFFFE03FFF FFFFE07FFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0243D7CBC2D>I<0007FC000000 3FFF800000F80FE00001E003F800078001FC000F0001FE000E0000FF001E0000FF801F80 007F803FC0007FC03FE0007FC03FE0007FC03FF0007FC03FE0007FC03FE0007FC01FE000 7FC00FC0007FC00000007F80000000FF80000000FF00000000FF00000001FE00000001FE 00000003FC00000003F800000007E00000000FC00000003F0000001FFC0000001FFF8000 00000FE000000007F800000003FC00000001FE00000000FF00000000FF800000007FC000 00007FC00000007FE00000003FE00000003FE00000003FF00000003FF00C00003FF03F00 003FF07F80003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FE0FFC0003FE0FF8000 7FE07F00007FC07800007FC0780000FF803C0000FF801E0001FF000F0003FE0007C007FC 0003F80FF00000FFFFE000003FFF80000007F80000243F7CBC2D>I<0000000E00000000 1E000000003E000000003E000000007E000000007E00000000FE00000001FE00000001FE 00000003FE000000077E000000067E0000000E7E0000001C7E0000001C7E000000387E00 0000707E000000707E000000E07E000001C07E000001C07E000003807E000007007E0000 07007E00000E007E00001C007E00001C007E000038007E000070007E000070007E0000E0 007E0000C0007E0001C0007E000380007E000300007E000700007E000E00007E000C0000 7E001C00007E003800007E003800007E007000007E00E000007E00FFFFFFFFFFFFFFFFFF FFFFFFFFFFFF000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000001FF0000 01FFFFFF0001FFFFFF0001FFFFFF283E7EBD2D>I<06000003000780001F0007F800FE00 07FFFFFE0007FFFFFC0007FFFFF80007FFFFF00007FFFFC00007FFFF000007FFFC000007 3FE000000700000000070000000007000000000700000000070000000007000000000700 000000070000000007000000000700000000070000000007000000000701FE0000070FFF 8000073E03E000077001F80007E000FC0007C0007E000780003F000700003F800600001F 800000001FC00000001FC00000001FE00000000FE00000000FE00000000FE00000000FF0 0000000FF00000000FF00C00000FF07F00000FF07F80000FF0FF80000FF0FF80000FF0FF 80000FF0FF80000FF0FF80000FE0FF00001FE0FC00001FE07000001FC07800001FC03800 003F803C00003F801E00007F001F0000FE000F8001FC0007C003F80003F80FE00000FFFF C000003FFF00000007F80000243F7CBC2D>I<00001FE0000000FFF8000003F03E00000F C00F00001F000780003E000780007E001FC000FC003FC001F8007FC003F8007FC003F000 7FC007F0007FC00FE0003F800FE0001F001FE00000001FC00000001FC00000003FC00000 003FC00000003FC00000007F800000007F800000007F80FE00007F87FF8000FF8F07E000 FF9C01F000FFB800FC00FFB0007E00FFF0007E00FFE0003F00FFE0003F80FFC0003FC0FF C0003FC0FFC0001FE0FFC0001FE0FFC0001FE0FF80001FF0FF80001FF0FF80001FF0FF80 001FF0FF80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F8000 1FF03F80001FF03FC0001FE03FC0001FE01FC0001FE01FC0003FC01FC0003FC00FE0003F 800FE0003F8007E0007F0003F0007E0001F800FC0000FC01F800007E07F000003FFFE000 000FFF80000003FC0000243F7CBC2D>I<38000000003C000000003F000000003FFFFFFF FC3FFFFFFFFC3FFFFFFFFC3FFFFFFFF87FFFFFFFF87FFFFFFFF07FFFFFFFE078000001E0 70000003C0700000078070000007007000000F00E000001E00E000001C00E000003C00E0 000078000000007000000000F000000001E000000001C000000003C00000000780000000 07000000000F000000001E000000001E000000003C000000003C000000007C0000000078 00000000F800000000F800000001F800000001F000000003F000000003F000000003F000 000007F000000007F000000007F00000000FF00000000FE00000000FE00000001FE00000 001FE00000001FE00000001FE00000001FE00000001FE00000003FE00000003FE0000000 3FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003F E00000001FC00000000700000026407BBD2D>I<0003FC0000001FFF8000007C07E00000 F001F80001E0007C0003C0003E000780001F000F00001F000F00000F801E00000F801E00 000FC03E000007C03E000007C03E000007C03E000007C03F000007C03F000007C03F8000 0F803FC0000F801FE0001F801FF0001F001FFC003E000FFE007C000FFF80780007FFC0F0 0003FFF3E00001FFFF800000FFFF0000003FFF0000001FFFC000000FFFE000003FFFF800 0078FFFC0001F07FFE0003E01FFF0007C00FFF800F8003FFC01F0001FFC03F00007FE03E 00003FE07E00001FE07C00000FF07C000007F0F8000003F0F8000003F0F8000003F0F800 0001F0F8000001F0F8000001F0F8000001F0FC000001E07C000003E07C000003E07E0000 03C03F000007C01F00000F801F80001F000FC0003E0007F0007C0001FC03F80000FFFFE0 00001FFF80000003FC0000243F7CBC2D>I<0003FC0000001FFF0000007E07C00000FC03 F00001F801F80003F000FC0007E0007C000FE0007E001FC0007F001FC0003F003FC0003F 803F80003F807F80003FC07F80003FC07F80001FC0FF80001FC0FF80001FE0FF80001FE0 FF80001FE0FF80001FE0FF80001FE0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF 80001FF07F80001FF07F80003FF07F80003FF07F80003FF03FC0003FF03FC0003FF01FC0 007FF00FC0007FF007E000FFF007F000DFF003F001DFF000F8039FF0007E0F1FF0001FFE 1FE00007F01FE00000001FE00000001FE00000003FC00000003FC00000003FC00000003F C00000003F800000007F800F80007F001FC0007F003FE000FE003FE000FE003FE001FC00 3FE001F8003FC003F0003F8007F0001E000FE0001F001FC0000FC07F000003FFFE000001 FFF80000003FC00000243F7CBC2D>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E00 000000000000000000000000000000000000000000000000000000000000000000000000 00001E007F807F80FFC0FFC0FFC0FFC07F807F801E000A2779A619>I<1E007F807F80FF C0FFC0FFC0FFC07F807F801E000000000000000000000000000000000000000000000000 0000000000000000000000000000001E007F00FF80FF80FFC0FFC0FFC0FFC07FC01EC000 C000C000C000C001C001800180018003800300070006000E000C001C003800300030000A 3979A619>I<7FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFF FFE000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 0000000000007FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFF FFE03C167BA147>61 D<001FF80000FFFF0003E01FC00F0007F01E0003F83C0001FC7800 01FE780000FEFE0000FFFF0000FFFF8000FFFF8000FFFF8000FFFF8000FF7F0000FF3E00 00FF000001FE000001FE000003FC000007F8000007F000000FC000001F8000003F000000 3E0000007C00000078000000F8000000F0000001F0000001E0000001E0000003C0000003 C00000038000000380000003800000038000000380000003800000038000000380000003 800000038000000380000003000000000000000000000000000000000000000000000000 0000000000000000000000078000001FE000001FE000003FF000003FF000003FF000003F F000001FE000001FE0000007800020407BBF2B>63 D<00000007000000000000000F8000 00000000000F800000000000000F800000000000001FC00000000000001FC00000000000 001FC00000000000003FE00000000000003FE00000000000003FE00000000000007FF000 00000000007FF00000000000007FF0000000000000FFF8000000000000E7F80000000000 00E7F8000000000001C7FC000000000001C3FC000000000001C3FC00000000000381FE00 000000000381FE00000000000381FE00000000000700FF00000000000700FF0000000000 0700FF00000000000E007F80000000000E007F80000000000E007F80000000001C003FC0 000000001C003FC0000000001C003FC00000000038001FE00000000038001FE000000000 38001FE00000000070000FF00000000070000FF00000000070000FF000000000E00007F8 00000000E00007F800000000E00007F800000001C00003FC00000001FFFFFFFC00000001 FFFFFFFC00000003FFFFFFFE00000003800001FE00000003800001FE00000007000000FF 00000007000000FF0000000F000000FF8000000E0000007F8000000E0000007F8000001E 0000007FC000001C0000003FC000001C0000003FC000003C0000003FE00000380000001F E00000380000001FE00000780000001FF00000780000000FF00000FC0000000FF00003FC 0000001FF8000FFF0000003FFC00FFFFF0000FFFFFF8FFFFF0000FFFFFF8FFFFF0000FFF FFF83D417DC044>65 DI<0000003FF00006000003FFFE000E00000F FFFF801E00003FF007E03E0000FF8000F83E0003FE00007C7E0007F800001EFE000FF000 000FFE003FE0000007FE007FC0000003FE00FF80000003FE00FF00000001FE01FE000000 00FE03FE00000000FE07FC000000007E07F8000000007E0FF8000000003E0FF800000000 3E1FF0000000001E1FF0000000001E3FF0000000001E3FE0000000001E3FE0000000000E 7FE0000000000E7FE0000000000E7FE0000000000E7FC00000000000FFC00000000000FF C00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 0000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000 000000007FC000000000007FE000000000007FE0000000000E7FE0000000000E3FE00000 00000E3FE0000000000E3FF0000000000E1FF0000000001E1FF0000000001C0FF8000000 001C0FF8000000001C07F8000000003C07FC000000003803FE000000007801FE00000000 7000FF00000000F000FF80000001E0007FC0000001C0003FE0000003C0000FF000000780 0007F800001F000003FE00003E000000FF8000F80000003FF007F00000000FFFFFC00000 0003FFFF00000000003FF0000037427BBF42>III I<0000003FE0000C00000003FFFE001C0000001FFFFF803C0000007FF00FC07C000000FF 0001F07C000003FC000078FC000007F800003DFC00001FE000001FFC00003FC000000FFC 00007F80000007FC0000FF80000003FC0001FF00000003FC0001FE00000001FC0003FC00 000001FC0007FC00000000FC0007F800000000FC000FF8000000007C000FF0000000007C 001FF0000000003C001FF0000000003C003FE0000000003C003FE0000000003C003FE000 0000001C007FE0000000001C007FE0000000001C007FC0000000001C007FC00000000000 00FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC000 0000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC00000000000 00FFC0000000000000FFC0000000000000FFC000001FFFFFF07FC000001FFFFFF07FC000 001FFFFFF07FE00000000FFE007FE000000003FC003FE000000003FC003FE000000003FC 003FF000000003FC001FF000000003FC001FF000000003FC000FF800000003FC000FF800 000003FC0007F800000003FC0007FC00000003FC0003FC00000003FC0001FE00000003FC 0001FF00000003FC0000FF80000003FC00007FC0000007FC00003FE0000007FC00001FF0 00000FFC000007F800001EFC000003FE00003C7C000000FF8000F83C0000007FF007F01C 0000001FFFFFC00C00000003FFFF0000000000003FF00000003C427BBF47>III<001F FFFFFC001FFFFFFC001FFFFFFC000007FF00000003FE00000001FE00000001FE00000001 FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE 00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00 000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0000 0001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE000000 01FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001 FE00000001FE00000001FE00000001FE003F0001FE007F8001FE00FFC001FE00FFC001FE 00FFC001FE00FFC001FE00FFC003FC00FF8003FC007F0003F8007C0007F800380007F000 3C000FE0001E001FC0000F003F800003E07E000000FFF80000003FC0000026407CBD2F> II< FFFFFFF8000000FFFFFFF8000000FFFFFFF800000001FFE000000000007F800000000000 7F8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F 8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F80 00000000007F8000000000007F8000000000007F8000000000007F8000000000007F8000 000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000 0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000 00007F8000000000007F8000000000007F8000000000007F8000000000007F8000000000 007F8000000000007F8000000000007F8000000380007F8000000380007F800000038000 7F8000000380007F8000000380007F8000000780007F8000000700007F8000000700007F 8000000700007F8000000700007F8000000F00007F8000000F00007F8000000F00007F80 00001F00007F8000001F00007F8000003F00007F8000007F00007F800000FF00007F8000 01FE00007F800007FE0001FFC0003FFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFF FE00313E7DBD39>III<0000007FE0000000000007FFFE 00000000001FC03F80000000007E0007E000000001FC0003F800000007F00000FE000000 0FE000007F0000001FC000003F8000003F8000001FC000007F0000000FE00000FE000000 07F00001FE00000007F80001FC00000003F80003FC00000003FC0007F800000001FE0007 F800000001FE000FF000000000FF000FF000000000FF001FF000000000FF801FE0000000 007F803FE0000000007FC03FE0000000007FC03FE0000000007FC07FE0000000007FE07F C0000000003FE07FC0000000003FE07FC0000000003FE0FFC0000000003FF0FFC0000000 003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000003FF0FF C0000000003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000 003FF0FFC0000000003FF07FC0000000003FE07FE0000000007FE07FE0000000007FE07F E0000000007FE07FE0000000007FE03FE0000000007FC03FE0000000007FC01FF0000000 00FF801FF000000000FF801FF000000000FF800FF800000001FF000FF800000001FF0007 FC00000003FE0003FC00000003FC0003FE00000007FC0001FE00000007F80000FF000000 0FF000007F0000000FE000003F8000001FC000001FC000003F8000000FE000007F000000 07F00000FE00000001FC0003F8000000007F000FE0000000001FC03F800000000007FFFE 0000000000007FE00000003C427BBF47>II82 D<0007FC000C001FFF801C007FFFF03C01FC03F83C03F0007E7C07C0001F FC0F80000FFC1F800007FC3F000003FC3E000001FC7E000000FC7E000000FC7C0000007C FC0000007CFC0000007CFC0000003CFC0000003CFC0000003CFE0000001CFE0000001CFF 0000001CFF0000001C7F800000007FC00000007FE00000003FF80000003FFF8000001FFF F800000FFFFF800007FFFFF00003FFFFFC0001FFFFFF0000FFFFFFC0003FFFFFE00007FF FFF000007FFFF0000007FFF80000007FFC0000000FFC00000007FE00000003FE00000001 FE00000000FF00000000FFE00000007FE00000007FE00000007FE00000003FE00000003F F00000003FF00000003FF00000003FF00000003EF80000003EF80000007EFC0000007CFE 000000FCFF000000F8FF800001F8FFC00003F0FFE00007E0F9FC000FC0F07F803F80F01F FFFE00E007FFF800C0007FC00028427BBF33>I<3FFFFFFFFFFFFF803FFFFFFFFFFFFF80 3FFFFFFFFFFFFF803FF0007FE001FF803F80003FC0003F807F00003FC0001FC07E00003F C00007C07C00003FC00007C07800003FC00003C07800003FC00003C07800003FC00003C0 7000003FC00001C07000003FC00001C07000003FC00001C07000003FC00001C07000003F C00001C0E000003FC00000E0E000003FC00000E0E000003FC00000E0E000003FC00000E0 E000003FC00000E00000003FC00000000000003FC00000000000003FC00000000000003F C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 0000003FC00000000000003FC00000000000003FC00000000000003FC00000000000003F C00000000000003FC00000000000003FC00000000000003FC00000000000003FC0000000 0000007FE0000000000000FFF00000000007FFFFFFFE00000007FFFFFFFE00000007FFFF FFFE00003B3D7DBC42>IIII<7FFFFFC0 03FFFFE07FFFFFC003FFFFE07FFFFFC003FFFFE000FFFE0000FFFC00003FF800003FE000 001FF000001F8000000FF800001F0000000FF800001E00000007FC00001C00000003FE00 003C00000003FE00007800000001FF00007000000000FF8000F000000000FF8001E00000 00007FC001C0000000003FC003C0000000003FE00780000000001FF00700000000000FF0 0F00000000000FF81E000000000007FC1C000000000007FC3C000000000003FE78000000 000001FF70000000000001FFF0000000000000FFE00000000000007FC00000000000007F C00000000000003FE00000000000001FF00000000000001FF00000000000001FF8000000 0000001FFC0000000000003FFC0000000000003BFE00000000000071FF000000000000F1 FF000000000000E0FF800000000001C07F800000000003C07FC00000000003803FE00000 000007003FE0000000000F001FF0000000000E000FF8000000001C000FF8000000003C00 07FC00000000380003FE00000000780003FE00000000F00001FF00000000E00000FF8000 0001E00000FF80000003C000007FC00000038000003FE00000078000003FE000000F0000 001FF000001F0000000FF800003F8000000FF80000FFC000001FFC0007FFE000007FFF00 FFFFFC0003FFFFFEFFFFFC0003FFFFFEFFFFFC0003FFFFFE3F3E7EBD44>I91 D<018000C0038001C003000180070003800E0007001C000E0018000C0038001C 003000180070003800600030006000300060003000E0007000C0006000C0006000C00060 00C0006000CF006780FFC07FE0FFE07FF0FFE07FF0FFE07FF07FE03FF07FE03FF03FE01F F03FC01FE00F0007801C1C73BE2D>II<000FF800000000FFFE0000 0003F01F800000078007E000000F8003F000000FE001F800001FF001FC00001FF000FE00 001FF000FE00001FF000FE00001FF0007F00000FE0007F00000380007F00000000007F00 000000007F00000000007F00000000007F000000001FFF00000003FFFF0000001FF87F00 00007F807F000001FC007F000007F8007F00000FE0007F00001FC0007F00003F80007F00 003F80007F00007F00007F00007F00007F0380FE00007F0380FE00007F0380FE00007F03 80FE0000FF0380FE0000FF0380FE0000FF03807F0001FF03807F0003BF03803F80071F87 001FC00E1FCF0007F03C0FFE0001FFF807FC00003FC001F000292A7DA82D>97 D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC03FC00 0001FC1FFF800001FC7C07E00001FDE001F00001FFC000FC0001FF80007E0001FF00003F 0001FE00003F8001FC00001F8001FC00001FC001FC00000FE001FC00000FE001FC00000F F001FC00000FF001FC000007F001FC000007F801FC000007F801FC000007F801FC000007 F801FC000007F801FC000007F801FC000007F801FC000007F801FC000007F801FC000007 F801FC000007F001FC000007F001FC00000FF001FC00000FF001FC00000FE001FC00001F E001FC00001FC001FE00001F8001FE00003F0001FF00007F0001FF8000FE0001F3C001F8 0001F1E003F00001E0780FC00001C03FFF0000000007F800002D407EBE33>I<0001FF00 00000FFFE000003F00F800007C001E0001F8001F0003F0007F0007F000FF800FE000FF80 0FC000FF801FC000FF801FC000FF803F80007F003F80001C007F800000007F800000007F 00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00 000000FF00000000FF00000000FF00000000FF000000007F800000007F800000007F8000 00003F800001C03FC00001C01FC00003C01FC00003800FE000078007F000070003F0000E 0001F8001E0000FC007800003F01F000000FFFC0000001FE0000222A7DA828>I<000000 01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC00000000 01FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000000 01FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000000 01FC0000000001FC0000000001FC0000000001FC0000000001FC000000FF01FC000007FF E1FC00001F80F9FC00007E003DFC0000FC001FFC0003F80007FC0007F00007FC0007E000 03FC000FC00001FC001FC00001FC003FC00001FC003F800001FC007F800001FC007F8000 01FC007F000001FC007F000001FC00FF000001FC00FF000001FC00FF000001FC00FF0000 01FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF0000 01FC007F000001FC007F800001FC007F800001FC003F800001FC003F800001FC001FC000 01FC000FC00003FC000FE00003FC0007E00007FC0003F0000FFE0001F8001FFF00007C00 79FFF8003F01F1FFF8000FFFC1FFF80001FE01FC002D407DBE33>I<0001FE0000000FFF C000003F03F00000FC01F80001F800FC0003F0007E0007E0003F000FE0003F800FC0001F 801FC0001FC03F80000FC03F80000FC07F80000FC07F80000FE07F00000FE07F00000FE0 FF00000FE0FF00000FE0FFFFFFFFE0FFFFFFFFE0FF00000000FF00000000FF00000000FF 00000000FF00000000FF000000007F000000007F000000007F800000003F800000003F80 0000E01FC00000E01FC00001E00FC00001C007E00003C007F000078003F800070000FC00 1E00007E003C00001F80F8000007FFE0000000FF0000232A7EA828>I<00001FC000007F F80001F83C0007E07E000FC0FF001FC1FF003F81FF003F01FF007F01FF007F00FE00FE00 7C00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00 0000FE000000FE000000FE000000FE000000FE0000FFFFFF00FFFFFF00FFFFFF0000FE00 0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00 0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00 0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00 0000FE000000FE000000FE000000FE000001FF00007FFFFF007FFFFF007FFFFF0020407E BF1C>I<000000007C000003F801FF00001FFF078F80007E0FDE1F8000F803F81F8003F0 01F81F8003F001F81F8007E000FC06000FE000FE00000FC0007E00001FC0007F00001FC0 007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0 007F00000FC0007E00000FE000FE000007E000FC000003F001F8000003F001F8000001F8 03E0000003FE0FC00000071FFF0000000703F80000000600000000000E00000000000E00 000000000E00000000000F00000000000F00000000000F80000000000FC00000000007FF FFE0000007FFFFFE000003FFFFFF800001FFFFFFE00000FFFFFFF00003FFFFFFF8000FC0 001FFC001F000001FE003E000000FE007C0000007E007C0000003F00F80000003F00F800 00001F00F80000001F00F80000001F00F80000001F00FC0000003F007C0000003E007E00 00007E003F000000FC001F800001F8000FC00003F00003F0000FC00000FE007F0000003F FFFC00000003FFC00000293D7EA82D>I<01FC00000000FFFC00000000FFFC00000000FF FC0000000007FC0000000003FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC01FE000001FC07FFC00001FC1E07E00001FC7803F00001 FCE001F80001FDC001FC0001FD8001FC0001FF8000FE0001FF0000FE0001FF0000FE0001 FE0000FE0001FE0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0003FE0001FF00FFFFF87FFFFCFFFFF87FFFFCFFFFF87FFFFC2E 3F7DBE33>I<01E00007F80007F8000FFC000FFC000FFC000FFC0007F80007F80001E000 000000000000000000000000000000000000000000000000000000000000000000000000 01FC007FFC007FFC007FFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC00 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 03FE00FFFFF0FFFFF0FFFFF0143E7DBD1A>I<0000780001FE0001FE0003FF0003FF0003 FF0003FF0001FE0001FE0000780000000000000000000000000000000000000000000000 0000000000000000000000000000007F007FFF007FFF007FFF0001FF0000FF00007F0000 7F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000 7F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000 7F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000 7F00007F00007F00007F3E007F7F007FFF807EFF80FEFF80FEFF80FCFF81F87F01F87C03 F01E07C00FFF8001FC00185185BD1C>I<01FC00000000FFFC00000000FFFC00000000FF FC0000000007FC0000000003FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC00FFFF8001FC00FFFF8001FC00FFFF8001 FC003FFC0001FC003FE00001FC003F800001FC003F000001FC003C000001FC0078000001 FC00F0000001FC01E0000001FC07C0000001FC0F80000001FC1F00000001FC3E00000001 FC7F00000001FCFF80000001FDFF80000001FFDFC0000001FF9FE0000001FF0FE0000001 FE07F0000001FC07F8000001F803FC000001F801FC000001F801FE000001F800FF000001 F8007F000001F8007F800001F8003FC00001F8001FC00001F8001FE00001F8000FF00001 F8000FF00001F8000FF80003FC000FFE00FFFFF07FFFE0FFFFF07FFFE0FFFFF07FFFE02B 3F7EBE30>I<01FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC00 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00 01FC0003FE00FFFFF8FFFFF8FFFFF8153F7DBE1A>I<01F801FE0000FF0000FFF807FFC0 03FFE000FFF81E07E00F03F000FFF87803F03C01F80007F8E001F87000FC0003F9C001FC E000FE0001F98001FCC000FE0001FB8000FFC0007F0001FB0000FF80007F0001FF0000FF 80007F0001FE0000FF00007F0001FE0000FF00007F0001FC0000FE00007F0001FC0000FE 00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE 00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE 00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE 00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE 00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE 00007F0001FC0000FE00007F0001FC0000FE00007F0003FE0001FF0000FF80FFFFF87FFF FC3FFFFEFFFFF87FFFFC3FFFFEFFFFF87FFFFC3FFFFE47287DA74C>I<01F801FE0000FF F807FFC000FFF81E07E000FFF87803F00007F8E001F80003F9C001FC0001F98001FC0001 FB8000FE0001FB0000FE0001FF0000FE0001FE0000FE0001FE0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001 FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0003FE0001FF00FF FFF87FFFFCFFFFF87FFFFCFFFFF87FFFFC2E287DA733>I<0000FF00000007FFE000001F 81F800007E007E0000F8001F0001F0000F8003E00007C007C00003E00FC00003F01F8000 01F81F800001F83F800001FC3F800001FC7F000000FE7F000000FE7F000000FE7F000000 FEFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FF FF000000FFFF000000FF7F000000FE7F000000FE7F000000FE3F800001FC3F800001FC3F 800001FC1F800001F80FC00003F00FC00003F007E00007E003F0000FC001F8001F80007E 007E00003F81FC00000FFFF0000000FF0000282A7EA82D>I<01FC03FC0000FFFC1FFF80 00FFFC7C0FE000FFFDE003F00003FFC001FC0001FF8000FE0001FF00007F0001FE00003F 8001FC00003F8001FC00001FC001FC00001FE001FC00001FE001FC00000FF001FC00000F F001FC00000FF001FC000007F801FC000007F801FC000007F801FC000007F801FC000007 F801FC000007F801FC000007F801FC000007F801FC000007F801FC000007F801FC00000F F001FC00000FF001FC00000FF001FC00000FF001FC00001FE001FC00001FE001FC00003F C001FE00003F8001FE00007F0001FF00007F0001FF8000FE0001FFC001F80001FDE007F0 0001FC780FC00001FC3FFF000001FC07F8000001FC0000000001FC0000000001FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000003FE00000000FFFFF80000 00FFFFF8000000FFFFF80000002D3A7EA733>I<0000FF001C000007FFC03C00001F80F0 3C00007F00387C0000FC001C7C0003F8000E7C0007F0000FFC0007F00007FC000FE00003 FC001FE00003FC003FC00003FC003FC00001FC007F800001FC007F800001FC007F800001 FC007F800001FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF000001 FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC007F800001 FC007F800001FC007F800001FC003FC00001FC003FC00001FC001FC00003FC000FE00003 FC000FE00007FC0007F0000FFC0003F8000FFC0001FC003DFC00007E0079FC00003F81F1 FC00000FFFC1FC000001FE01FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001 FC0000000001FC0000000001FC0000000001FC0000000003FE00000000FFFFF8000000FF FFF8000000FFFFF82D3A7DA730>I<01F807E0FFF81FF8FFF8787CFFF8E1FE07F9C1FE03 F981FE01FB81FE01FB01FE01FB00FC01FF003001FE000001FE000001FE000001FC000001 FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001 FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001 FC000001FC000001FC000001FC000003FE0000FFFFFE00FFFFFE00FFFFFE001F287EA724 >I<003FC06001FFF8E007C03FE01F000FE03E0007E03C0003E07C0003E0780001E0F800 01E0F80000E0F80000E0FC0000E0FE0000E0FF0000E0FF8000007FF800007FFFC0003FFF F8001FFFFE000FFFFF0007FFFF8001FFFFC0003FFFE00003FFF000001FF000000FF8E000 03F8E00003F8E00001F8F00001F8F00000F8F00000F8F80000F8F80000F0FC0000F0FC00 01F0FE0001E0FF0003C0FF800780F3E01F00E0FFFC00C01FE0001D2A7DA824>I<001C00 00001C0000001C0000001C0000001C0000001C0000003C0000003C0000003C0000003C00 00007C0000007C000000FC000000FC000001FC000003FC000007FC00001FFFFFC0FFFFFF C0FFFFFFC001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00 0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00 0001FC000001FC000001FC000001FC00E001FC00E001FC00E001FC00E001FC00E001FC00 E001FC00E001FC00E001FC00E000FC00E000FE01C000FE01C0007F03C0003F0380001F87 000007FE000001F8001B397EB723>I<01FC0000FE00FFFC007FFE00FFFC007FFE00FFFC 007FFE0007FC0003FE0003FC0001FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC 0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC 0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC 0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC 0000FE0001FC0000FE0001FC0001FE0001FC0001FE0001FC0001FE0001FC0003FE0000FC 0003FE0000FC0007FE0000FE0006FF00007E000EFF80003F001CFFFC001FC078FFFC0007 FFE0FFFC0000FF80FE002E297DA733>IIIII<1F FFFFFF801FFFFFFF801FE000FF801F8000FF001F0001FE001E0003FC001C0003FC001C00 07F8003C000FF0003C001FF00038001FE00038003FC00038007FC00038007F80003800FF 00000001FE00000001FE00000003FC00000007F80000000FF80000000FF00000001FE000 00003FC00380003FC00380007F80038000FF00038001FF00038001FE00038003FC000780 07FC00078007F80007000FF00007001FE0000F001FE0000F003FC0001F007F80007F00FF 8001FF00FFFFFFFF00FFFFFFFF0021277EA628>III E %EndDVIPSBitmapFont %DVIPSBitmapFont: FF cmcsc10 10.95 49 /FF 49 122 df<000F00001F80003F80007F8000FF8001FF0001FE0003FC0007F8000FF0 001FC0001F80003F00007C0000F80000F0000060000011116CBE32>19 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60006000600060006000E000C000C001 C0018001800380030007000E001C001800780030000B1C77891D>44 DI<1E007F807F80FFC0FFC0 FFC0FFC07F807F801E000A0A77891D>I<0000E0000001E0000003E000000FE000007FE0 0007FFE000FFFFE000FF8FE000F80FE000000FE000000FE000000FE000000FE000000FE0 00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 00000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0 00000FE000000FE000000FE000000FE000000FE000000FE000000FE000003FF800FFFFFF FEFFFFFFFEFFFFFFFE1F3D77BC32>49 D<0007FC0000003FFF800000FFFFE00003F01FF8 0007C007FC000F0001FE001E0000FF001C0000FF803C00007FC07800007FC07800003FE0 7000003FE0FF00003FE0FF80001FF0FFC0001FF0FFC0001FF0FFC0001FF0FFC0001FF0FF C0001FF07F80001FF03F00001FF00C00001FF00000001FE00000003FE00000003FE00000 003FC00000007FC00000007F80000000FF80000000FF00000001FE00000001FC00000003 F800000007F000000007E00000000FC00000001F800000003F000000007E000000007C00 000000F800000001F000000003E000000007C00000000F800000001F000070003E000070 003C000070007800007000F00000E001E00000E003C00000E007800000E00F000001E01F FFFFFFE01FFFFFFFE03FFFFFFFE07FFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0243D 7ABC32>I<38000000003C000000003F800000003FFFFFFFFF3FFFFFFFFF3FFFFFFFFF3F FFFFFFFE7FFFFFFFFE7FFFFFFFFC7FFFFFFFF8780000007070000000F070000001E07000 0003C07000000380E000000780E000000F00E000000E00E000001E000000003C00000000 78000000007000000000F000000001E000000001C000000003C000000007800000000780 0000000F000000001F000000001E000000003E000000003E000000007C000000007C0000 0000FC00000000FC00000001F800000001F800000001F800000003F800000003F8000000 03F800000007F800000007F000000007F000000007F00000000FF00000000FF00000000F F00000000FF00000000FF00000001FF00000001FF00000001FF00000001FF00000001FF0 0000001FF00000001FF00000001FF00000001FF00000001FF00000000FE0000000038000 0028407ABD32>55 D<0001FE0000000FFFC000003F03F00000FC00F80001F8007C0003F0 003E0007F0003F000FE0001F801FC0001F801FC0000FC03FC0000FC03FC0000FE07F8000 0FE07F80000FF07F80000FF0FF800007F0FF800007F8FF800007F8FF800007F8FF800007 F8FF800007F8FF800007FCFF800007FCFF800007FCFF800007FCFF800007FC7F800007FC 7F80000FFC7F80000FFC3F80000FFC3FC0000FFC1FC0001FFC1FC0001FFC0FE0003FFC07 E00037FC03F00077FC01F800E7FC00FC01C7FC007E0387F8001FFF07F80003FC07F80000 0007F800000007F80000000FF00000000FF00000000FF00000000FE00000000FE0000000 1FE00F80001FC01FC0001F803FE0003F803FE0003F003FE0007F003FE000FE003FC000FC 003F8001F8001E0003F0000F000FE0000FE03FC00003FFFF000000FFFC0000003FE00000 263F7BBC32>57 D<00000003C000000000000003C000000000000003C000000000000007 E000000000000007E00000000000000FF00000000000000FF00000000000000FF0000000 0000001FF80000000000001FF80000000000001FF80000000000003BFC0000000000003B FC0000000000003BFC00000000000071FE00000000000071FE000000000000F1FF000000 000000E0FF000000000000E0FF000000000001E0FF800000000001C07F800000000001C0 7F800000000003807FC00000000003803FC00000000003803FC00000000007001FE00000 000007001FE0000000000F001FF0000000000E000FF0000000000E000FF0000000001E00 0FF8000000001C0007F8000000001C0007F8000000003C0007FC00000000380003FC0000 0000380003FC00000000700001FE00000000700001FE00000000700001FE00000000E000 00FF00000000E00000FF00000001FFFFFFFF80000001FFFFFFFF80000001FFFFFFFF8000 0003C000007FC00000038000003FC00000038000003FC00000070000003FE00000070000 001FE00000070000001FE000000E0000000FF000000E0000000FF000001E0000000FF800 001C00000007F800001C00000007F800003C00000007FC00003800000003FC0000780000 0003FC00007800000003FE0000FC00000001FE0001FE00000003FF000FFF0000000FFF80 FFFFF00001FFFFFFFFFFF00001FFFFFFFFFFF00001FFFFFF40417CC04A>65 DI< 0000001FF8000180000001FFFF80038000000FFFFFE0078000003FF803F80F800000FF80 007C0F800001FE00001E1F800007FC00000FBF80000FF0000007FF80001FE0000003FF80 003FC0000001FF80007F80000000FF8000FF000000007F8001FE000000003F8003FE0000 00003F8003FC000000001F8007FC000000001F800FF8000000000F800FF8000000000F80 1FF0000000000F801FF00000000007803FF00000000007803FE00000000007803FE00000 000003807FE00000000003807FE00000000003807FE00000000003807FC0000000000000 FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC00000 00000000FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000 FFC0000000000000FFC0000000000000FFC00000000000007FC00000000000007FE00000 000000007FE00000000003807FE00000000003803FE00000000003803FE0000000000380 3FF00000000003801FF00000000007801FF00000000007000FF80000000007000FF80000 0000070007FC000000000F0003FC000000000E0003FE000000001E0001FE000000001C00 00FF000000003C00007F800000007800003FC0000000F000001FE0000001E000000FF000 0003C0000007FC00000780000001FE00001F00000000FFC0007E000000003FF803F80000 00000FFFFFE00000000001FFFF8000000000001FFC00000039427ABF47>IIII<0000001FF8000180000001FFFF80038000000FFFFFE00780 00003FF803F80F800000FF80007C0F800001FE00001E1F800007FC00000FBF80000FF000 0007FF80001FE0000003FF80003FC0000001FF80007F80000000FF8000FF000000007F80 01FE000000003F8003FE000000003F8003FC000000001F8007FC000000001F800FF80000 00000F800FF8000000000F801FF0000000000F801FF00000000007803FF0000000000780 3FE00000000007803FE00000000003807FE00000000003807FE00000000003807FE00000 000003807FC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000 FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC00000 00000000FFC0000000000000FFC0000000000000FFC0000000000000FFC0000007FFFFFE 7FC0000007FFFFFE7FE0000007FFFFFE7FE000000001FFC07FE0000000007F803FE00000 00007F803FE0000000007F803FF0000000007F801FF0000000007F801FF0000000007F80 0FF8000000007F800FF8000000007F8007FC000000007F8003FC000000007F8003FE0000 00007F8001FF000000007F8000FF000000007F80007F80000000FF80003FC0000000FF80 001FE0000001FF80000FF0000001FF800007FC000003DF800001FF00000F8F800000FFC0 003F078000003FF801FC038000000FFFFFF00180000001FFFFC000000000001FFC000000 3F427ABF4D>II<0007FFFFFF0007FFFFFF0007FFFFFF000001FFC0000000FF800000007F80 0000007F800000007F800000007F800000007F800000007F800000007F800000007F8000 00007F800000007F800000007F800000007F800000007F800000007F800000007F800000 007F800000007F800000007F800000007F800000007F800000007F800000007F80000000 7F800000007F800000007F800000007F800000007F800000007F800000007F800000007F 800000007F800000007F800000007F800000007F800000007F800000007F800000007F80 0000007F800000007F800000007F800000007F800000007F803F00007F807F80007F80FF C0007F80FFC0007F80FFC0007F80FFC0007F80FFC000FF00FF8000FF007F0000FE007C00 01FE00380003FC003C0003F8001E0007F0000F800FE00003E03F800000FFFE0000001FF0 000028407BBD34>74 D76 DII80 D82 D<0003FE000600001FFFC00E00007FFFF81E0001FE 01FC1E0003F0003F3E0007E0000FFE000FC00007FE001F800003FE001F000001FE003E00 0000FE007E0000007E007E0000007E007C0000003E00FC0000003E00FC0000003E00FC00 00001E00FC0000001E00FC0000001E00FE0000000E00FE0000000E00FF0000000E00FF80 00000E007F80000000007FC0000000007FF0000000003FFC000000003FFFC00000001FFF FC0000000FFFFFC0000007FFFFFC000003FFFFFF000001FFFFFFC000007FFFFFE000001F FFFFF0000003FFFFF80000003FFFFC00000003FFFE000000003FFF0000000007FF000000 0001FF8000000000FF80000000007F80000000007FC0000000003FC0E00000001FC0E000 00001FC0E00000001FC0E00000000FC0E00000000FC0F00000000FC0F00000000FC0F000 00000FC0F80000000F80F80000001F80FC0000001F80FC0000001F00FE0000003F00FF00 00003E00FF8000007C00FFC00000FC00FDF00001F800F8FC0003F000F07FC01FC000F01F FFFF8000E003FFFE0000C0003FF000002A427ABF38>I85 D87 D<3FFFFFFFFFFE3FFFFFFFFFFE3F FFFFFFFFFE3FFF800007FC3FF8000007FC3FE000000FF83FC000001FF03F0000001FF03F 0000003FE03E0000007FC03C0000007FC07C000000FF8078000001FF0078000001FF0078 000003FE0078000007FC0070000007FC007000000FF8007000001FF0007000001FF00070 00003FE0000000007FC0000000007FC000000000FF8000000001FF0000000001FF000000 0003FE0000000007FC0000000007FC000000000FF8000000001FF0000000001FF0000000 003FE0000000007FC0000000007FC000000000FF8000000001FF0000000001FF00000000 03FE00000E0007FC00000E0007FC00000E000FF800000E001FF000000E001FF000000E00 3FE000000E007FC000001E007FC000001E00FF8000001E01FF0000001E01FF0000003E03 FE0000003C07FC0000003C07FC0000007C0FF8000000FC1FF0000000FC1FF0000001FC3F E0000007FC7FC000001FFC7FC00001FFFCFFFFFFFFFFFCFFFFFFFFFFFCFFFFFFFFFFFC2F 3E7ABD3D>90 D<000001E0000000000001E0000000000003F0000000000003F000000000 0003F0000000000007F8000000000007F8000000000007F800000000000FFC0000000000 0FFC00000000001FFE00000000001CFE00000000001CFE00000000003CFF000000000038 7F0000000000387F0000000000703F8000000000703F8000000000703F8000000000E01F C000000000E01FC000000001E01FE000000001C00FE000000001C00FE0000000038007F0 000000038007F0000000038007F0000000070003F8000000070003F80000000F0003FC00 00000E0001FC0000000FFFFFFC0000001FFFFFFE0000001FFFFFFE0000001C0000FE0000 003800007F0000003800007F0000007800007F8000007000003F8000007000003F800000 F000003FC00000E000001FC00001E000001FC00003F000001FE00007F000001FE0000FF8 00003FF800FFFE0001FFFFC0FFFE0001FFFFC0FFFE0001FFFFC032317DB038>97 DI<00000FF8003000007FFF00700003FFFFC0F0000FFC03F1F0001FE000F9F0007F8000 3FF000FE00001FF001FC00000FF003F8000007F007F0000007F00FF0000003F00FE00000 01F01FE0000001F01FC0000000F03FC0000000F03F80000000F07F80000000F07F800000 00707F8000000070FF0000000070FF0000000000FF0000000000FF0000000000FF000000 0000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000000 00007F80000000707F80000000707F80000000703F80000000703FC0000000F01FC00000 00F01FE0000000E00FE0000001E00FF0000001C007F0000003C003F80000038001FC0000 078000FE00000F00007F80003E00001FE0007C00000FFC03F0000003FFFFE00000007FFF 800000000FF800002C317BAF36>IIII<00000FF8006000 00FFFE00E00003FFFF81E0000FF807E3E0003FC000F3E0007F80007FE000FE00003FE001 FC00001FE003F800000FE007F0000007E00FF0000007E00FE0000003E01FC0000003E03F C0000001E03FC0000001E03F80000001E07F80000000E07F80000000E07F80000000E0FF 00000000E0FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF 0000000000FF0000000000FF0000000000FF00001FFFFFFF00001FFFFF7F80001FFFFF7F 8000001FF07F8000000FE03F8000000FE03FC000000FE03FC000000FE01FE000000FE00F E000000FE00FF000000FE007F000000FE003F800000FE001FC00000FE000FE00001FE000 7F80003FE0003FE0007BE0000FFC03F1E00003FFFFE0E00000FFFF806000000FFC000030 317BAF3A>III<003FFFFC003FFFFC003FFFFC0000 7FC000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000 3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000 3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000 3F8000003F8000003F8000003F8000003F8018003F807E003F80FF003F80FF003F80FF00 3F80FF007F00FE007F007C007E007800FE003C01F8001F03F00007FFC00000FE00001E30 7CAE27>IIIII<00001FF800000000FFFF00000007F00FE000000FC003F000003F0000FC00 007E00007E0000FC00003F0001F800001F8003F000000FC007E0000007E00FE0000007F0 0FC0000003F01FC0000003F81F80000001F83F80000001FC3F80000001FC7F80000001FE 7F00000000FE7F00000000FE7F00000000FEFF00000000FFFF00000000FFFF00000000FF FF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FFFF00000000FF FF00000000FF7F80000001FE7F80000001FE7F80000001FE3F80000001FC3F80000001FC 3FC0000003FC1FC0000003F80FE0000007F00FE0000007F007F000000FE003F000000FC0 01F800001F8000FC00003F00007E00007E00003F0000FC00000FC003F0000007F00FE000 0000FFFF000000001FF8000030317BAF3A>II114 D<003FC00C00FFF81C03FFFE3C0FE03FFC1F8007FC1F0003FC3E0001FC7C0000 FC7C00007CF800007CF800003CF800003CF800003CFC00001CFC00001CFE00001CFF0000 007F8000007FE000007FFE00003FFFE0001FFFFE000FFFFF8007FFFFE001FFFFF0007FFF F8000FFFFC0000FFFC000007FE000001FE000000FE0000007F0000003FE000003FE00000 1FE000001FE000001FF000001FF000001FF000001EF800003EFC00003CFE00007CFF0000 F8FFC001F0FBF807E0F1FFFFC0E07FFF00C007FC0020317BAF2A>I<7FFFFFFFFFF87FFF FFFFFFF87FFFFFFFFFF87F801FF007F87E000FE000F878000FE0007878000FE000787000 0FE00038F0000FE0003CF0000FE0003CF0000FE0003CE0000FE0001CE0000FE0001CE000 0FE0001CE0000FE0001CE0000FE0001C00000FE0000000000FE0000000000FE000000000 0FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE000000000 0FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE000000000 0FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE000000000 0FE0000000000FE0000000000FE0000000000FE0000000000FE0000000003FF80000001F FFFFF000001FFFFFF000001FFFFFF0002E2E7CAD36>IIII121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: FG cmr12 12 27 /FG 27 118 df0 D<00000000180000000000000000 3C00000000000000003C00000000000000007E00000000000000007E0000000000000000 FF0000000000000000FF0000000000000001FF8000000000000001FF8000000000000003 7FC0000000000000037FC0000000000000063FE0000000000000063FE00000000000000C 1FF00000000000000C1FF0000000000000180FF8000000000000180FF800000000000038 07FC0000000000003007FC0000000000007003FE0000000000006003FE000000000000E0 01FF000000000000C001FF000000000001C000FF8000000000018000FF80000000000380 007FC0000000000300007FC0000000000700003FE0000000000600003FE0000000000E00 001FF0000000000C00001FF0000000001C00000FF8000000001800000FF8000000003800 0007FC0000000030000007FC0000000070000003FE0000000060000003FE00000000E000 0001FF00000000C0000001FF00000001C0000000FF8000000180000000FF800000038000 00007FC0000003000000007FC0000003000000003FC0000006000000003FE00000060000 00001FE000000C000000001FF000000C000000000FF0000018000000000FF80000180000 000007F80000300000000007FC0000300000000003FC0000600000000003FE0000600000 000003FE0000C00000000001FF0000C00000000001FF0001800000000000FF8001800000 000000FF80030000000000007FC0030000000000007FC0060000000000003FE006000000 0000003FE00C0000000000001FF00C0000000000001FF01FFFFFFFFFFFFFFFF81FFFFFFF FFFFFFFFF83FFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFE7FFFFFFF FFFFFFFFFEFFFFFFFFFFFFFFFFFF48477CC651>I<00007FFFFFFF80000000007FFFFFFF 80000000007FFFFFFF8000000000001FFE000000000000000FFC0000000000000007F800 00000000000007F80000000000000007F80000000000000007F80000000000000007F800 00000000000007F80000000000000007F80000000000000007F800000000FF800007F800 00FF80FFE00007F80003FF801FF00007F80007FC000FF80007F8000FF80007F80007F800 0FF00007FC0007F8001FF00003FC0007F8001FE00003FC0007F8001FE00003FE0007F800 3FE00001FE0007F8003FC00001FE0007F8003FC00001FE0007F8003FC00001FE0007F800 3FC00001FE0007F8003FC00001FE0007F8003FC00001FE0007F8003FC00001FE0007F800 3FC00001FE0007F8003FC00001FE0007F8003FC00001FE0007F8003FC00001FE0007F800 3FC00000FF0007F8003F800000FF0007F8007F800000FF0007F8007F800000FF0007F800 7F800000FF0007F8007F8000007F8007F800FF0000007F8007F800FF0000003F8007F800 FE0000003FC007F801FE0000001FC007F801FE0000001FE007F803FC0000000FE007F803 F800000007F007F807F800000003F807F807F000000001FC07F80FE000000000FE07F81F C0000000007F07F87F00000000001FC7F8FE000000000007FFFFF8000000000001FFFFC0 0000000000001FFC0000000000000007F80000000000000007F80000000000000007F800 00000000000007F80000000000000007F80000000000000007F80000000000000007F800 00000000000007F8000000000000000FFC000000000000001FFE0000000000007FFFFFFF 80000000007FFFFFFF80000000007FFFFFFF80000041447BC34C>9 D<00000C00001C0000380000700000E00001C00003C0000780000F00000F00001E00003C 00003C0000780000F80000F00001F00001E00003E00003E00007C00007C00007C0000F80 000F80000F80001F00001F00001F00003F00003F00003E00003E00007E00007E00007E00 007E00007C00007C00007C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 00FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00 007C00007C00007C00007E00007E00007E00007E00003E00003E00003F00003F00001F00 001F00001F00000F80000F80000F800007C00007C00007C00003E00003E00001E00001F0 0000F00000F800007800003C00003C00001E00000F00000F000007800003C00001C00000 E000007000003800001C00000C166476CA26>40 DI<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A0A78891B>46 D<000030000000F0000001F0000003F000001FF00000FFF000FFFFF000FFE7F000FF07F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0 000007F0000007F0000007F0000007F0000007F0000007F0000007F000000FF800001FFC 007FFFFFFF7FFFFFFF7FFFFFFF204278C131>49 D<1C00000000001C00000000001F8000 0000001FFFFFFFFFC01FFFFFFFFFC01FFFFFFFFFC03FFFFFFFFF803FFFFFFFFF803FFFFF FFFF003FFFFFFFFE00380000000C00300000001C00700000003800600000003000600000 00700060000000E00060000000C000C0000001C000C00000038000C00000070000000000 0600000000000E00000000001C0000000000180000000000380000000000700000000000 600000000000E00000000001C00000000001C00000000003800000000007800000000007 00000000000F00000000000F00000000001F00000000001E00000000003E00000000003E 00000000007E00000000007C00000000007C0000000000FC0000000000FC0000000001FC 0000000001FC0000000001FC0000000003F80000000003F80000000003F80000000003F8 0000000007F80000000007F80000000007F80000000007F80000000007F80000000007F8 000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8 000000000FF8000000000FF8000000000FF8000000000FF80000000007F00000000001C0 0000002A457BC231>55 D<0000FF00000007FFE000001FFFF800007F80FC0000FC007E00 01F8003F0003F0001F8007E0000FC00FE00007E01FC00007E01FC00003F03F800003F03F 800003F87F800001F87F000001FC7F000001FCFF000001FCFF000001FCFF000001FEFF00 0000FEFF000000FEFF000000FEFF000000FEFF000000FEFF000000FFFF000000FFFF0000 00FFFF000000FF7F000001FF7F000001FF7F000001FF3F800001FF3F800003FF1F800003 FF1FC00003FF0FC00007FF07E00006FF07E0000EFF03F0001CFF01F80038FF007C0070FF 003F01E0FF000FFF80FE0001FE00FE00000000FE00000001FE00000001FC00000001FC00 000001FC00000001FC00000003F800000003F800000003F00F800007F01FC00007E03FE0 000FE03FE0000FC03FE0001F803FE0001F803FC0003F003F80007E001E0000FC001C0001 F8000F0003F00007E01FE00003FFFF800000FFFE0000001FF0000028447CC131>57 D<1E007F807F80FFC0FFC0FFC0FFC07F807F801E00000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000001E007F807F 80FFC0FFC0FFC0FFC07F807F801E000A2B78AA1B>I<1E007F807F80FFC0FFC0FFC0FFC0 7F807F801E00000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000001E007F00FF80FF80FFC0FFC0FFC0FFC07FC01EC0 00C000C000C000C000C001C001800180018003800300070006000E000C001C0038007000 60000A3E78AA1B>I<0000000FFE000060000000FFFFC000E0000003FFFFF000E000000F FC01FC01E000003FC0003E01E00000FF00000F83E00003FC000003C7E00007F8000001E7 E0000FF0000000FFE0001FE00000007FE0003FC00000003FE0007F800000001FE000FF00 0000000FE001FE000000000FE001FC0000000007E003FC0000000007E007F80000000003 E007F80000000003E00FF00000000001E00FF00000000001E01FE00000000000E01FE000 00000000E03FE00000000000E03FE00000000000E03FC00000000000607FC00000000000 607FC00000000000607FC00000000000607FC0000000000000FF80000000000000FF8000 0000000000FF80000000000000FF80000000000000FF80000000000000FF800000000000 00FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF8000 0000000000FF80000000000000FF80000000000000FF800000000000007FC00000000000 007FC00000000000007FC00000000000607FC00000000000603FC00000000000603FE000 00000000603FE00000000000601FE00000000000E01FF00000000000E00FF00000000000 C00FF00000000000C007F80000000001C007F800000000018003FC00000000038001FC00 000000038001FE00000000070000FF000000000600007F800000000E00003FC00000001C 00001FE00000003800000FF000000078000007F8000000F0000003FC000001E0000000FF 000007800000003FC0001F000000000FFC00FC0000000003FFFFF00000000000FFFFC000 000000000FFE0000003B487BC546>67 D<0000000FFE00006000000000FFFFC000E00000 0003FFFFF000E00000000FFC01FC01E00000003FC0003E01E0000000FF00000F83E00000 03FC000003C7E0000007F8000001E7E000000FF0000000FFE000001FE00000007FE00000 3FC00000003FE000007F800000001FE00000FF000000000FE00001FE000000000FE00001 FC0000000007E00003FC0000000007E00007F80000000003E00007F80000000003E0000F F00000000001E0000FF00000000001E0001FE00000000000E0001FE00000000000E0003F E00000000000E0003FE00000000000E0003FC0000000000060007FC0000000000060007F C0000000000060007FC0000000000060007FC000000000000000FF8000000000000000FF 8000000000000000FF8000000000000000FF8000000000000000FF8000000000000000FF 8000000000000000FF8000000000000000FF8000000000000000FF8000000000000000FF 8000000000000000FF8000000000000000FF8000000000000000FF8000000000000000FF 80000001FFFFFFC07FC0000001FFFFFFC07FC0000001FFFFFFC07FC0000000007FF0007F C0000000003FE0003FC0000000001FE0003FE0000000001FE0003FE0000000001FE0001F E0000000001FE0001FF0000000001FE0000FF0000000001FE0000FF0000000001FE00007 F8000000001FE00007F8000000001FE00003FC000000001FE00001FE000000001FE00001 FE000000001FE00000FF000000001FE000007F800000001FE000003FC00000003FE00000 1FE00000003FE000000FF00000007FE0000007F8000000E7E0000003FE000001C7E00000 00FF00000383E00000003FE0000F01E00000000FFC00FE00E000000003FFFFF800600000 0000FFFFE00000000000000FFE0000000042487BC54D>71 D76 D78 D<0000001FFC00000000000001FFFFC000000000 0007F007F000000000001F8000FC00000000007E00003F0000000001F800000FC0000000 03F0000007E000000007E0000003F00000000FC0000001F80000001F80000000FC000000 3F000000007E0000007E000000003F000000FE000000003F800001FC000000001FC00003 F8000000000FE00003F8000000000FE00007F00000000007F00007F00000000007F0000F F00000000007F8000FE00000000003F8001FE00000000003FC001FE00000000003FC003F C00000000001FE003FC00000000001FE003FC00000000001FE007FC00000000001FF007F C00000000001FF007F800000000000FF007F800000000000FF007F800000000000FF00FF 800000000000FF80FF800000000000FF80FF800000000000FF80FF800000000000FF80FF 800000000000FF80FF800000000000FF80FF800000000000FF80FF800000000000FF80FF 800000000000FF80FF800000000000FF80FF800000000000FF80FF800000000000FF80FF 800000000000FF807FC00000000001FF007FC00000000001FF007FC00000000001FF007F C00000000001FF003FC00000000001FE003FE00000000003FE003FE00000000003FE001F E00000000003FC001FE00000000003FC000FF00000000007F8000FF00000000007F80007 F8000000000FF00007F8000000000FF00003F8000000000FE00003FC000000001FE00001 FE000000003FC00000FE000000003F8000007F000000007F0000007F80000000FF000000 3F80000000FE0000001FC0000001FC00000007E0000003F000000003F0000007E0000000 01FC00001FC0000000007E00003F00000000001F8000FC000000000007F007F000000000 0001FFFFC00000000000001FFC0000000041487BC54C>II<0007FC000000003FFF80000000F80FE0000003C003F00000070001F800000E0000 FC00000FC0007E00001FE0007F00001FF0003F80001FF0003F80001FF0003F80001FF000 1FC0001FF0001FC0000FE0001FC0000380001FC0000000001FC0000000001FC000000000 1FC0000000001FC00000000FFFC0000001FFFFC000000FFE1FC000003FC01FC00000FF00 1FC00003FC001FC00007F8001FC0000FF0001FC0001FE0001FC0003FC0001FC0007FC000 1FC0007F80001FC0007F80001FC060FF00001FC060FF00001FC060FF00001FC060FF0000 3FC060FF00003FC060FF00003FC060FF80007FC0607F8000EFC0607FC000C7E0C03FC001 C7E0C01FE00783F1C007F81E03FF8001FFFC01FF00001FE0007C002B2E7CAC31>97 D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000 0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000 0001FC0000000001FC03FC000001FC0FFF800001FC3C07E00001FC7001F80001FDE0007E 0001FD80003F0001FF80001F8001FF00001FC001FE00000FE001FC000007E001FC000007 F001FC000007F001FC000003F801FC000003F801FC000003FC01FC000003FC01FC000001 FC01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001 FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001 FC01FC000003FC01FC000003FC01FC000003F801FC000003F801FC000007F001FC000007 F001FE00000FE001FE00000FC001FF00001FC001FB00003F8001F380007E0001E1C000FC 0001E0F001F80001C03C07E00001801FFF8000000003FC00002F467DC436>I<00007F80 000003FFF000000FC07C00003F000F0000FC00038001F80001C003F8000FC007F0001FE0 07E0003FE00FE0003FE01FC0003FE01FC0003FE03F80003FE03F80001FC07F800007007F 800000007F800000007F00000000FF00000000FF00000000FF00000000FF00000000FF00 000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000000007F0000 00007F800000007F800000003F800000003F800000303FC00000301FC00000700FE00000 600FE00000E007F00000C003F80001C001F800038000FC000700003F001E00001FC07800 0007FFF0000000FF8000242E7DAC2B>I<0001FE00000007FFC000001F03F000007E00FC 0000FC007E0001F8003F0003F0003F0007E0001F800FE0001FC00FC0000FC01FC0000FC0 3F80000FE03F800007E03F800007E07F800007F07F000007F07F000007F0FF000007F0FF 000007F0FF000007F0FFFFFFFFF0FFFFFFFFF0FF00000000FF00000000FF00000000FF00 000000FF00000000FF000000007F000000007F000000007F800000007F800000003F8000 00003F800000301FC00000301FC00000700FC00000600FE00000E007F00000C003F00001 C001F800038000FC000700003E001E00001F80F8000003FFE0000000FF0000242E7DAC2B >101 D<000000000F800001FC007FE0000FFF81F0F0003F07E381F000FC01FF03F001F8 00FE01F003F0007E01E007F0007F000007E0003F00000FE0003F80000FC0001F80001FC0 001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0 001FC0001FC0001FC0001FC0001FC0000FC0001F80000FE0003F800007E0003F000007F0 007F000003F0007E000001F800FC000001FC01F8000003BF07E00000030FFF8000000701 FC0000000700000000000700000000000F00000000000F00000000000F00000000000F80 0000000007C00000000007E00000000007FFFFF8000003FFFFFF000003FFFFFFE00001FF FFFFF800007FFFFFFC0001FFFFFFFE0007C0000FFF000F800000FF003F0000003F803E00 00001F807C0000000FC07C0000000FC0F800000007C0F800000007C0F800000007C0F800 000007C0F800000007C0FC0000000FC07C0000000F807E0000001F803E0000001F001F00 00003E000F8000007C0007E00001F80001F80007E000007F003F8000001FFFFE00000001 FFE000002C427DAC31>103 D<01FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC 0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0003FE00FFFFF8FFFF F8FFFFF815457DC41C>108 D<00007F8000000003FFF00000000FC0FC0000003E001F00 00007C000F800000F80007C00001F00003E00003E00001F00007C00000F8000FC00000FC 000FC00000FC001F8000007E003F8000007F003F8000007F003F0000003F007F0000003F 807F0000003F807F0000003F807F0000003F80FF0000003FC0FF0000003FC0FF0000003F C0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003F C0FF0000003FC07F0000003F807F0000003F807F8000007F803F8000007F003F8000007F 001F8000007E001FC00000FE000FC00000FC000FE00001FC0007E00001F80003F00003F0 0001F80007E00000FC000FC000003E001F0000001FC0FE00000007FFF8000000007F8000 002A2E7DAC31>111 D<03F803F0FFF81FFCFFF83C3EFFF8707F07F8E0FF03F9C0FF01F9 80FF01FB80FF01FB007E01FB003C01FF000001FE000001FE000001FE000001FE000001FC 000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC 000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC 000001FC000001FC000001FC000001FC000001FC000001FC000003FF0000FFFFFE00FFFF FE00FFFFFE00202C7DAB26>114 D<000600000006000000060000000600000006000000 0E0000000E0000000E0000000E0000001E0000001E0000001E0000003E0000007E000000 7E000000FE000001FE000007FE00001FFFFFF0FFFFFFF0FFFFFFF000FE000000FE000000 FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000 FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000 FE000000FE000000FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00 FE000C00FE000C00FE000C007E001C007F0018007F0018003F0038001F8030001FC07000 07E0E00001FFC000007F001E3E7EBC26>116 D<01FC00007F00FFFC003FFF00FFFC003F FF00FFFC003FFF0007FC0001FF0003FC0000FF0001FC00007F0001FC00007F0001FC0000 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000 7F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC0000 FF0001FC0000FF0001FC0000FF0001FC0001FF0001FC0001FF0000FC0001FF0000FE0003 FF00007E00077F80007F000E7FC0003F001C7FFE000FC0787FFE0003FFF07FFE00007F80 7F002F2D7DAB36>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: FH cmr12 14.4 20 /FH 20 117 df<00000003FF800001FF8000000000003FFFE0001FFFF00000000001FFFF F800FFFFFC0000000007FE00FE03FF00FE000000001FF0001F0FF0001F000000003FC000 0F9FE0000780000000FF000007FF800003C0000001FE00001FFF00001FC0000003FC0000 3FFE00003FE0000007F800007FFC00007FE000000FF800007FFC00007FE000000FF00000 7FF800007FE000001FE000007FF000007FE000001FE000007FF000007FE000001FE00000 7FF000003FC000003FC000001FE000001F8000003FC000001FE00000060000003FC00000 1FE00000000000003FC000001FE00000000000003FC000001FE00000000000003FC00000 1FE00000000000003FC000001FE00000000000003FC000001FE00000000000003FC00000 1FE00000000000003FC000001FE00000000000003FC000001FE00000000000003FC00000 1FE00000000000003FC000001FE00000000000003FC000001FE00000000000003FC00000 1FE00000000000003FC000001FE00000000000003FC000001FE00000000000003FC00000 1FE000003FE000FFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFE000FFFFFFFFFF FFFFFFFFFFE000FFFFFFFFFFFFFFFFFFFFE000003FC000001FE00000FFE000003FC00000 1FE000003FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE000003FC000001FE000001FE000003FC00000 1FE000001FE000003FC000001FE000001FE00000FFF000007FF800007FF8007FFFFFE03F FFFFF03FFFFFF07FFFFFE03FFFFFF03FFFFFF07FFFFFE03FFFFFF03FFFFFF07FFFFFE03F FFFFF03FFFFFF05C547ED362>14 D69 D76 D80 D82 D86 D<0000FFC0000000000FFFF8000000003FFFFE00000000FF00FF80000001F0003FE00000 03C0000FF0000007E00007F8000007F80003FC00000FF80003FE00000FFC0001FE00000F FC0000FF00000FFC0000FF00000FFC0000FF00000FFC00007F800007F800007F800001E0 00007F8000000000007F8000000000007F8000000000007F8000000000007F8000000000 007F8000000000007F80000000003FFF800000000FFFFF80000000FFFC7F80000007FF00 7F8000001FF0007F8000007FC0007F800001FF00007F800003FC00007F800007F800007F 80000FF000007F80001FE000007F80003FE000007F80003FC000007F80007F8000007F80 007F8000007F8070FF8000007F8070FF0000007F8070FF0000007F8070FF000000FF8070 FF000000FF8070FF000000FF8070FF000001FF8070FF800001BF80707F800003BF80707F C000073F80703FE0000F1FC0E01FF0001E1FC0E00FF8003C0FE1C007FE01F00FFFC001FF FFE007FF80007FFF8003FE000007FC0000F80034367BB43B>97 D<00000FFE000000007F FFE0000001FFFFF8000007F801FE00001FE0001F00003F80000780007F00000FC000FE00 003FC001FC00003FE003FC00007FE007F800007FE00FF000007FE00FF000007FE01FE000 007FE01FE000003FC03FE000000F003FC0000000003FC0000000007FC0000000007FC000 0000007FC0000000007F8000000000FF8000000000FF8000000000FF8000000000FF8000 000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000 000000FF80000000007F80000000007FC0000000007FC0000000007FC0000000003FC000 0000003FE0000000701FE0000000701FF0000000F00FF0000000E00FF8000001E007F800 0001E003FC000003C003FE0000038001FF0000078000FF80000F00003FC0001E00001FE0 007C000007FC03F0000003FFFFE00000007FFF800000000FF800002C367CB434>99 D<0000000000FF000000000001FFFF000000000001FFFF000000000001FFFF0000000000 01FFFF00000000000007FF00000000000001FF00000000000000FF00000000000000FF00 000000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000 0000FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00 000000000000FF00000000000000FF00000000000000FF00000000000000FF0000000000 0000FF00000000000000FF00000000000000FF00000000000000FF00000000000000FF00 000000000000FF00000000000000FF00000000000000FF00000000000000FF000000000F F800FF000000007FFF00FF00000001FFFFE0FF00000007FC03F0FF0000001FE0007CFF00 00003FC0003EFF0000007F00000FFF000000FE000007FF000001FC000003FF000003F800 0003FF000007F8000001FF00000FF0000000FF00000FF0000000FF00001FE0000000FF00 001FE0000000FF00003FC0000000FF00003FC0000000FF00007FC0000000FF00007FC000 0000FF00007FC0000000FF00007F80000000FF0000FF80000000FF0000FF80000000FF00 00FF80000000FF0000FF80000000FF0000FF80000000FF0000FF80000000FF0000FF8000 0000FF0000FF80000000FF0000FF80000000FF0000FF80000000FF0000FF80000000FF00 007F80000000FF00007F80000000FF00007FC0000000FF00007FC0000000FF00003FC000 0000FF00003FC0000000FF00003FE0000000FF00001FE0000000FF00001FE0000000FF00 000FF0000001FF000007F0000003FF000007F8000003FF000003FC000007FF000001FE00 000FFF000000FF00001EFF8000007F80007CFFE000001FC000F8FFFF80000FF807E0FFFF 800003FFFF80FFFF800000FFFE00FFFF8000001FF000FF000039547CD241>I<00000FF8 00000000FFFF00000003FFFFC000000FF80FF000001FC003FC00007F8001FE0000FF0000 FF0001FE00007F8003FC00003F8003F800001FC007F000001FC00FF000000FE00FE00000 0FE01FE000000FF01FE0000007F03FC0000007F03FC0000007F07FC0000007F87FC00000 07F87F80000007F87F80000003F8FF80000003F8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFF FFF8FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800000 0000FF8000000000FF80000000007F80000000007FC0000000007FC0000000003FC00000 00003FC0000000003FE0000000381FE0000000381FE0000000780FF00000007007F00000 00F007F8000000E003FC000001E001FE000003C000FF00000380007F80000F80003FC000 1F00000FF0003C000007FE01F8000001FFFFE00000007FFF8000000007FC00002D367DB4 34>I<0000007F00000003FFE000000FFFF000003FC0F800007F01FC0001FE03FE0003FC 07FE0003F807FE0007F807FE000FF007FE000FF007FE001FE003FC001FE001F8001FE000 00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000 003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000000 3FC00000003FC00000003FC00000003FC00000003FC00000FFFFFFFE00FFFFFFFE00FFFF FFFE00FFFFFFFE00003FC00000003FC00000003FC00000003FC00000003FC00000003FC0 0000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000 00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000 003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0000000 3FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003F C00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FE0 000000FFF000007FFFFFF8007FFFFFF8007FFFFFF8007FFFFFF80027547DD324>I<0000 0000001FC000003FE000FFE00001FFFC03FFF00007FFFF07E1F8001FE03FCF01F8003F80 0FFC03F8007F0007F801F800FE0003F801F001FC0001FC004003FC0001FE000003F80000 FE000007F80000FF000007F80000FF000007F000007F00000FF000007F80000FF000007F 80000FF000007F80000FF000007F80000FF000007F80000FF000007F80000FF000007F80 000FF000007F800007F000007F000007F80000FF000007F80000FF000003F80000FE0000 03FC0001FE000001FC0001FC000000FE0003F80000007F0007F00000007F800FE0000000 FFE03FC0000001C7FFFF00000001C1FFFC00000003803FE0000000038000000000000380 000000000003800000000000038000000000000380000000000003C0000000000003C000 0000000003E0000000000003F0000000000003F8000000000001FFFFFFE0000001FFFFFF FF000000FFFFFFFFC00000FFFFFFFFF000003FFFFFFFFC00003FFFFFFFFE0000FFFFFFFF FF0003F800001FFF800FE0000001FFC01FC00000007FC03F800000001FE03F000000000F E07E000000000FE07E0000000007F0FE0000000007F0FC0000000003F0FC0000000003F0 FC0000000003F0FC0000000003F0FC0000000003F0FE0000000007F07E0000000007E07F 000000000FE03F800000001FC01FC00000003F800FE00000007F0007F0000000FE0003FC 000003FC0000FF00000FF000003FF000FFC000000FFFFFFF00000001FFFFF8000000001F FF800000354E7DB43B>I<0078000001FE000003FF000007FF800007FF800007FF800007 FF800007FF800007FF800003FF000001FE00000078000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000007F8000FFFF8000FFFF8000FFFF8000FFFF800003 FF800000FF8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 7F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800000 7F8000007F8000007F8000007F8000007F8000007F800001FFE000FFFFFF80FFFFFF80FF FFFF80FFFFFF8019507CCF21>105 D<007F8000FFFF8000FFFF8000FFFF8000FFFF8000 03FF800000FF8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000 007F800001FFE000FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A537CD221>108 D<00FF0007FC000000FFFF003FFF800000FFFF00FFFFE00000FFFF01F00FF80000FFFF03 C007FC000003FF070003FE000000FF0E0001FE0000007F1C0000FF0000007F380000FF00 00007F300000FF0000007F7000007F8000007F6000007F8000007FE000007F8000007FC0 00007F8000007FC000007F8000007FC000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80 00007F8000007F8000007F8000007F800001FFE00001FFE000FFFFFFC0FFFFFFC0FFFFFF C0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC03A347CB341>110 D<00000FFC00000000007FFF8000000001FFFFE000000007F807F80000001FE001FE0000 003F80007F0000007E00001F800000FC00000FC00001F8000007E00003F8000007F00007 F0000003F80007F0000003F8000FE0000001FC000FE0000001FC001FC0000000FE001FC0 000000FE003FC0000000FF003FC0000000FF007F800000007F807F800000007F807F8000 00007F807F800000007F80FF800000007FC0FF800000007FC0FF800000007FC0FF800000 007FC0FF800000007FC0FF800000007FC0FF800000007FC0FF800000007FC0FF80000000 7FC0FF800000007FC0FF800000007FC07F800000007F807F800000007F807FC0000000FF 807FC0000000FF803FC0000000FF003FC0000000FF001FC0000000FE001FE0000001FE00 0FE0000001FC000FF0000003FC0007F0000003F80003F8000007F00001FC00000FE00001 FC00000FE000007F00003F8000003F80007F0000001FE001FE00000007F807F800000003 FFFFF0000000007FFF80000000000FFC00000032367CB43B>I<007F8007FC000000FFFF 807FFF800000FFFF81FFFFE00000FFFF87F00FF80000FFFF8F8003FC000001FF9E0001FF 000000FFBC0000FF8000007FF800007FC000007FF000003FE000007FE000001FF000007F C000000FF000007FC000000FF800007F80000007FC00007F80000007FC00007F80000003 FE00007F80000003FE00007F80000003FE00007F80000001FF00007F80000001FF00007F 80000001FF00007F80000001FF00007F80000000FF80007F80000000FF80007F80000000 FF80007F80000000FF80007F80000000FF80007F80000000FF80007F80000000FF80007F 80000000FF80007F80000000FF80007F80000000FF80007F80000000FF80007F80000001 FF00007F80000001FF00007F80000001FF00007F80000001FF00007F80000003FE00007F 80000003FE00007F80000007FC00007F80000007FC00007F80000007F800007FC000000F F800007FC000001FF000007FE000001FE000007FF000003FC000007FF800007F8000007F BC0000FF0000007F9E0001FE0000007F8F0007FC0000007F87E01FF00000007F81FFFFC0 0000007F807FFF000000007F800FF8000000007F800000000000007F800000000000007F 800000000000007F800000000000007F800000000000007F800000000000007F80000000 0000007F800000000000007F800000000000007F800000000000007F800000000000007F 800000000000007F800000000000007F800000000000007F800000000000007F80000000 0000007F80000000000001FFE00000000000FFFFFFC000000000FFFFFFC000000000FFFF FFC000000000FFFFFFC000000000394B7DB341>I<00FF001F80FFFF007FF0FFFF01FFF8 FFFF03E1FCFFFF0783FE03FF0F07FE00FF1E07FE007F1C07FE007F3807FE007F3007FE00 7F7003FC007F6000F0007F600000007FE00000007FC00000007FC00000007FC00000007F C00000007F800000007F800000007F800000007F800000007F800000007F800000007F80 0000007F800000007F800000007F800000007F800000007F800000007F800000007F8000 00007F800000007F800000007F800000007F800000007F800000007F800000007F800000 007F800000007F800000007F800000007F800000007F800000007F800000007F80000000 7FC0000001FFE00000FFFFFFF000FFFFFFF000FFFFFFF000FFFFFFF00027347DB32E> 114 D<0007FE00C0007FFF81C001FFFFE3C007F803FFC00FC0007FC01F80003FC03F0000 1FC03E00000FC07E000007C07C000007C0FC000003C0FC000003C0FC000003C0FC000001 C0FE000001C0FE000001C0FF000001C0FF800001C07FC00000007FF00000007FFF000000 3FFFF800001FFFFF80000FFFFFE00007FFFFF80003FFFFFE0000FFFFFF00003FFFFF8000 07FFFFC000003FFFE0000003FFE00000007FF00000001FF0E000000FF0E0000007F8E000 0007F8F0000003F8F0000003F8F0000001F8F8000001F8F8000001F8F8000001F8FC0000 01F0FC000001F0FE000003F0FF000003E0FF000007E0FF80000FC0FFC0001F80FDF0003F 00F8FC01FE00F07FFFF800E01FFFE000C003FF000025367CB42E>I<0001C000000001C0 00000001C000000001C000000001C000000001C000000001C000000003C000000003C000 000003C000000003C000000007C000000007C000000007C00000000FC00000000FC00000 001FC00000001FC00000003FC00000007FC0000000FFC0000001FFC0000003FFC000001F FFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0003FC00000003FC00000003FC00000003F C00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0 0000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC000 00003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000 003FC00038003FC00038003FC00038003FC00038003FC00038003FC00038003FC0003800 3FC00038003FC00038003FC00038003FC00038003FC00038003FE00078001FE00070001F E00070000FF000F0000FF000E00007F801E00003FC03C00001FE07800000FFFF0000003F FC00000007F000254B7EC92E>I E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%EndSetup %%Page: 0 1 0 0 bop 671 1067 a FH(E\016cien)m(t)37 b(Represen)m(tation)g(and)h(V) -10 b(alidation)36 b(of)i(Logical)1786 1217 y(Pro)s(ofs)1218 1483 y FG(George)32 b(C.)h(Necula)307 b(P)m(eter)33 b(Lee)1664 1624 y(Octob)s(er)g(1997)1592 1762 y FF(CMU-CS-97-172)1396 2497 y FE(Sc)m(ho)s(ol)c(of)i(Computer)f(Science)1407 2610 y(Carnegie)g(Mellon)f(Univ)m(ersit)m(y)1519 2723 y(Pittsburgh,)g(P)-8 b(A)31 b(15213)1750 3236 y FD(Abstract)0 3449 y FE(This)40 b(rep)s(ort)i(describ)s(es)f(a)h(framew)m(ork)h(for)f (represen)m(ting)f(and)h(v)-5 b(alidating)40 b(formal)i(pro)s(ofs)f(in) g(v)-5 b(arious)41 b(ax-)0 3562 y(iomatic)c(systems.)61 b(The)36 b(framew)m(ork)h(is)f(based)h(on)g(the)g(Edin)m(burgh)d (Logical)j(F)-8 b(ramew)m(ork)39 b(\(LF\))e(but)g(is)f(op-)0 3675 y(timized)42 b(for)i(minimizing)c(the)k(size)f(of)h(pro)s(ofs)e (and)h(the)h(complexit)m(y)g(of)f(pro)s(of)g(v)-5 b(alidation,)46 b(b)m(y)d(remo)m(ving)0 3788 y(redundan)m(t)29 b(represen)m(tation)h (comp)s(onen)m(ts.)41 b(Sev)m(eral)30 b(v)-5 b(arian)m(ts)30 b(of)g(represen)m(tation)g(algorithms)f(are)i(presen)m(ted)0 3901 y(with)39 b(the)i(resulting)d(represen)m(tations)i(b)s(eing)f(a)i (factor)g(of)g(15)g(smaller)e(than)h(similar)d(LF)k(represen)m (tations.)0 4013 y(The)f(v)-5 b(alidation)39 b(algorithm)g(is)h(a)g (reconstruction)h(algorithm)e(that)i(runs)e(ab)s(out)h(7)h(times)f (faster)h(than)f(LF)0 4126 y(t)m(yp)s(ec)m(hec)m(king.)47 b(W)-8 b(e)33 b(presen)m(t)f(a)h(full)c(pro)s(of)j(of)g(correctness)h (of)f(the)g(reconstruction)g(algorithm)f(and)g(hin)m(ts)g(for)0 4239 y(the)e(e\016cien)m(t)h(implemen)m(tation)e(using)g(explicit)f (substitutions.)38 b(W)-8 b(e)30 b(conclude)f(with)f(a)h(quan)m (titativ)m(e)h(analysis)0 4352 y(of)h(the)f(algorithms.)138 4883 y FC(This)25 b(researc)n(h)f(w)n(as)h(sp)r(onsored)f(in)g(part)g (b)n(y)e(the)i(Adv)l(anced)e(Researc)n(h)i(Pro)t(jects)h(Agency)f(CSTO) g(under)e(the)i(title)g(\\The)g(F)-6 b(o)n(x)0 4975 y(Pro)t(ject:)41 b(Adv)l(anced)26 b(Languages)k(for)f(Systems)e(Soft)n(w)n(are,")j(ARP) -6 b(A)27 b(Order)g(No.)i(C533,)h(issued)f(b)n(y)e(ESC/ENS)h(under)f (Con)n(tract)0 5066 y(No.)f(F19628-95-C-0050.)138 5157 y(The)f(views)g(and)f(conclusions)i(con)n(tained)f(in)f(this)h(do)r (cumen)n(t)e(are)i(those)g(of)g(the)f(authors)h(and)f(should)h(not)f(b) r(e)g(in)n(terpreted)g(as)0 5249 y(represen)n(ting)i(the)g(o\016cial)h (p)r(olicies,)h(either)e(expressed)g(or)h(implied,)e(of)i(the)f(Adv)l (anced)e(Researc)n(h)i(Pro)t(jects)i(Agency)d(or)i(the)e(U.S.)0 5340 y(Go)n(v)n(ernmen)n(t.)p eop %%Page: 1 2 1 1 bop 141 5114 a FD(Keyw)m(ords:)38 b FE(Pro)s(of)25 b(Represen)m(tation,)i(Pro)s(of)e(Chec)m(king,)h(Logical)f(F)-8 b(ramew)m(orks,)27 b(T)m(yp)s(e)e(Reconstruction,)0 5227 y(Predicate)37 b(Logic,)i(Explicit)34 b(Substitutions,)i (Uni\014cation,)i(Occurs-Chec)m(k)f(Optimization,)f(Pro)s(of-Carrying)0 5340 y(Co)s(de.)p eop %%Page: 1 3 1 2 bop 0 91 a FB(Con)l(ten)l(ts)0 295 y FD(1)84 b(In)m(tro)s(duction) 3136 b(3)0 499 y(2)84 b(A)35 b(First-Order)f(Predicate)i(Logic)f FA(L)2227 b FD(5)136 612 y FE(2.1)94 b(The)30 b(Pro)s(of)g(System)87 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.) h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h (.)g(.)f(.)131 b(5)0 816 y FD(3)84 b(The)35 b(Edin)m(burgh)g(Logical)h (F)-9 b(ramew)m(ork)2115 b(7)136 929 y FE(3.1)94 b(Represen)m(ting)30 b(Abstract)h(Syn)m(tax:)41 b(Expressions)29 b(and)h(Predicates)88 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(7)136 1042 y(3.2)94 b(Represen)m(ting)30 b(Seman)m(tics:)41 b(Pro)s(ofs)g(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.) g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(8)0 1245 y FD(4)84 b(T)m(yp)s(e)35 b(Chec)m(king)h(in)f(the)f(LF)h(T) m(yp)s(e)f(System)1869 b(10)0 1449 y(5)84 b(The)35 b(Implicit)f(LF)g (Represen)m(tation)2197 b(14)136 1562 y FE(5.1)94 b(The)30 b(LF)648 1576 y Fz(i)707 1562 y FE(T)m(yp)s(e-System)67 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.) f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f (.)85 b(16)0 1766 y FD(6)f(An)35 b(Algorithm)g(for)g(LF)1105 1780 y Fz(i)1168 1766 y FD(T)m(yp)s(e)f(Reconstruction)1668 b(17)136 1879 y FE(6.1)94 b(Notation)35 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.) g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g (.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.) f(.)85 b(17)136 1992 y(6.2)94 b(Collecting)30 b(T)m(yp)s(ec)m(hec)m (king)g(Constrain)m(ts)g(:)41 b(\000)25 b FA(`)1998 1947 y Fy(r)2063 1992 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)25 b Fx(B)5 b FE(\))35 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f (.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(18)136 2105 y(6.3)94 b(Solving)29 b(Residual)g(Constrain)m(ts:)40 b(\000)25 b FA(`)1659 2060 y Fy(r)1723 2105 y Fx(C)32 b FA(\))25 b FE(\011)66 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f (.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(19)136 2218 y(6.4)94 b(T)m(yp)s(e)30 b(Reconstruction)h(for)f(Ob)5 b(jects:)40 b(\000)26 b FA(`)1818 2173 y Fy(r)1882 2218 y Fx(M)36 b FE(:)25 b Fx(A)h FA(\))f FE(\011)90 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f (.)85 b(19)136 2330 y(6.5)94 b(Uni\014cation:)40 b Fx(M)35 b FA(\031)1042 2344 y Fz(a)1109 2330 y Fx(M)1207 2297 y Fw(0)1256 2330 y FA(\))25 b FE(\011)30 b(and)g Fx(M)35 b FA(\031)25 b Fx(M)1967 2297 y Fw(0)2015 2330 y FA(\))h FE(\011)82 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f (.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(20)136 2443 y(6.6)94 b(Wh)m(y)31 b(do)s(es)f(t)m(yp)s(e)h(reconstruction)f(w)m(ork?)54 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.) h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(21)0 2647 y FD(7)f(Algorithms)35 b(for)g(Implicit)f(Represen)m(tation)1865 b(22)136 2760 y FE(7.1)94 b(A)31 b(Lo)s(cal)f(Algorithm)56 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.) h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h (.)g(.)f(.)85 b(22)136 2873 y(7.2)94 b(The)30 b(One-bit)g(Global)f (Algorithm)82 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h (.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(25)136 2986 y(7.3)94 b(The)30 b(Global)g(Algorithm)61 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.) f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f (.)85 b(28)136 3099 y(7.4)94 b(Discussion)39 b(.)46 b(.)g(.)g(.)f(.)h (.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.) g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g (.)f(.)85 b(30)0 3303 y FD(8)f(The)35 b(Correctness)g(Pro)s(of)h(of)f (T)m(yp)s(e)g(Reconstruction)1505 b(31)136 3416 y FE(8.1)94 b(Notation)32 b(and)e(Con)m(v)m(en)m(tions)48 b(.)e(.)f(.)h(.)g(.)f(.)h (.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.) g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(31)136 3528 y(8.2)94 b(Correctness)31 b(of)f(the)h(T)m(yp)s(e)f(Reconstruction)g (Judgmen)m(t)74 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.) h(.)g(.)f(.)h(.)g(.)f(.)85 b(32)136 3641 y(8.3)94 b(Correctness)31 b(of)f(Uni\014cation)59 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.) g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g (.)f(.)h(.)g(.)f(.)85 b(33)136 3754 y(8.4)94 b(Correctness)31 b(of)f(Constrain)m(t)g(Collection)f(and)h(Constrain)m(t)g(Solving)36 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(36)136 3867 y(8.5)94 b(Correctness)31 b(in)e(the)h(F)-8 b(ully-Explicit)28 b(Case)72 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h (.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(41)136 3980 y(8.6)94 b(Soundness)29 b(of)h(LF)1005 3994 y Fz(i)1064 3980 y FE(t)m(yping)49 b(.)d(.)g(.)f(.)h(.)g(.)f(.)h (.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.) g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(42)136 4093 y(8.7)94 b(Auxiliary)28 b(Lemmas)77 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.) g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g (.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(43)0 4297 y FD(9)f(An)35 b(Optimized)f(V)-9 b(ersion)36 b(of)f(T)m(yp)s(e)g (Reconstruction)1521 b(46)136 4410 y FE(9.1)94 b(Optimizing)28 b(the)j(Occurs)f(Chec)m(k)55 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g (.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.) f(.)h(.)g(.)f(.)85 b(46)136 4523 y(9.2)94 b(Optimizing)28 b(the)j(Side)e(Conditions)114 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h (.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.) g(.)f(.)85 b(49)136 4636 y(9.3)94 b(Optimizations)29 b(Sp)s(eci\014c)g(to)i(First-Order)e(Logics)102 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f (.)h(.)g(.)f(.)85 b(50)0 4839 y FD(10)32 b(The)j(Implemen)m(tation)d (of)j(T)m(yp)s(e)g(Reconstruction)1608 b(52)136 4952 y FE(10.1)49 b(De)32 b(Bruijn)c(Notation)j(and)f(Explicit)e (Substitutions)86 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g (.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(52)136 5065 y(10.2)49 b(Implemen)m(ting)29 b(the)i(Occurs)f(Chec)m(k)g(Optimization)k(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f (.)h(.)g(.)f(.)85 b(55)136 5178 y(10.3)49 b(Memory)31 b(Managemen)m(t)83 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g (.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.) g(.)f(.)h(.)g(.)f(.)85 b(55)136 5291 y(10.4)49 b(The)30 b(Flat)h(Binary)f(Represen)m(tation)c(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.) g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g (.)f(.)h(.)g(.)f(.)85 b(56)1927 5589 y(1)p eop %%Page: 2 4 2 3 bop 0 91 a FD(11)32 b(P)m(erformance)j(Measuremen)m(ts)2386 b(58)136 204 y FE(11.1)49 b(E\013ectiv)m(eness)32 b(of)e(Optimizations) h(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.) f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(61)136 317 y(11.2)49 b(Correlation)30 b(b)s(et)m(w)m(een)h(the)f (Reconstruction)h(Time)e(and)h(T)-8 b(erm)30 b(Size)78 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(64)0 521 y FD(12)32 b(Related)j(W)-9 b(ork)3022 b(66)0 725 y(13)32 b(Conclusion)3160 b(67)1927 5589 y FE(2)p eop %%Page: 3 5 3 4 bop 0 91 a FB(1)135 b(In)l(tro)t(duction)0 294 y FE(The)34 b(problem)g(of)h(theorem)g(pro)m(ving)f(has)h(receiv)m(ed)g (signi\014can)m(t)f(atten)m(tion)h(from)g(the)g(scien)m(ti\014c)f(comm) m(unit)m(y)0 407 y(in)44 b(the)h(last)g(30)h(y)m(ears,)j(mostly)c(as)g (a)g(critical)f(comp)s(onen)m(t)i(of)f(program)f(v)m(eri\014cation.)85 b(The)44 b(most)i(often)0 520 y(analyzed)32 b(asp)s(ect)h(of)f(theorem) h(pro)m(ving)e(has)h(b)s(een)g(the)g(most)h(c)m(hallenging)e(one,)i (namely)f(the)g(e\016ciency)h(and)0 633 y(practicalit)m(y)27 b(of)h(the)g(pro)s(of)f(searc)m(h.)41 b(Muc)m(h)28 b(less)f(atten)m (tion)i(has)e(b)s(een)g(dev)m(oted)i(to)f(the)g(problem)e(of)i(pro)s (ducing)0 746 y(and)i(manipulating)d(the)k(pro)s(ofs)e(of)i(the)f(pro)m (v)m(ed)h(theorems.)141 859 y(A)38 b(t)m(ypical)g(theorem)g(pro)m(v)m (er)g(pro)m(vides)f(a)h(coun)m(terexample)g(for)g(eac)m(h)h(failed)d (theorem)j(but)e(it)g(do)s(es)h(not)0 972 y(emit)g(a)i(pro)s(of)d(of)i (the)g(theorem)g(in)f(case)i(of)e(success.)66 b(This)37 b(means)i(that)g(users)f(of)h(suc)m(h)g(theorem)g(pro)m(v)m(ers)0 1085 y(are)i(obligated)f(to)h(tak)m(e)i(on)d(faith)g(their)f (soundness.)70 b(This)39 b(is)h(a)h(signi\014can)m(t)e(problem,)j(b)s (ecause)e(p)s(o)m(w)m(erful)0 1198 y(theorem)i(pro)m(v)m(ers)g(are)g (complex)g(systems,)i(with)d(v)m(ery)h(complicated)f(in)m(v)-5 b(arian)m(ts)41 b(that)h(are)g(easy)h(to)f(break)0 1310 y(during)24 b(implemen)m(tation)h(or)h(main)m(tenance.)40 b(F)-8 b(urthermore,)28 b(theorem)e(pro)m(v)m(er)h(bugs)f(migh)m(t)g(p) s(ersist)e(for)j(a)f(long)0 1423 y(time)f(b)s(ecause)f(the)i(user)e(do) s(es)g(not)h(usually)e(ha)m(v)m(e)j(a)f(simple)e(criterion)h(to)i (distinguish)21 b(b)s(et)m(w)m(een)k(theorems)g(that)0 1536 y(should)30 b(succeed)i(and)f(those)i(that)f(should)e(not.)45 b(Because)33 b(of)f(these)g(reasons)g(w)m(e)h(b)s(eliev)m(e)e(that)h (it)f(is)g(useful)f(to)0 1649 y(instrumen)m(t)j(a)i(theorem)g(pro)m(v)m (er)g(to)g(emit)f(a)h(pro)s(of)f(for)h(ev)m(ery)g(theorem)g(that)g(it)f (pro)m(v)m(es.)54 b(The)34 b(pro)s(of)g(should)0 1762 y(b)s(e)c(detailed)f(enough)h(so)h(that)g(it)f(can)g(b)s(e)g(c)m(hec)m (k)m(ed)j(b)m(y)d(a)h(v)m(ery)f(simple)f(and)g(easy-to-trust)j(pro)s (of)e(c)m(hec)m(k)m(er.)141 1875 y(Adding)i(the)i(pro)s(of-generating)g (capabilit)m(y)e(to)j(a)f(theorem)g(pro)m(v)m(er)g(not)g(only)f(mak)m (es)h(it)f(easier)h(to)h(v)m(erify)0 1988 y(and)23 b(to)h(main)m(tain,) g(but)f(also)g(enables)g(its)f(use)i(as)f(a)h(fron)m(t-end)f(to)h(a)g (Pro)s(of-Carrying)e(Co)s(de)h(\(PCC\))g([12)q(])h(system)0 2101 y(for)35 b(the)h(safe)g(execution)g(of)g(un)m(trusted)f(co)s(de.) 57 b(PCC)35 b(is)f(a)i(proto)s(col)g(b)m(y)g(whic)m(h)e(t)m(w)m(o)j (soft)m(w)m(are)g(systems)f(\(sa)m(y)0 2214 y(a)c Fv(c)-5 b(o)g(de)34 b(pr)-5 b(o)g(duc)g(er)34 b FE(and)d(a)g Fv(c)-5 b(o)g(de)35 b(c)-5 b(onsumer)p FE(\))33 b(can)e(co)s(op)s (erate)h(on)g(the)f(task)h(of)f(con)m(vincing)g(the)g(co)s(de)h (consumer)0 2327 y(that)25 b(a)f(program)g(supplied)d(b)m(y)j(the)h(un) m(trusted)e(co)s(de)h(pro)s(ducer)f(is)g(safe)i(to)g(run.)37 b(The)23 b(k)m(ey)i(elemen)m(t)g(of)f(the)h(PCC)0 2440 y(tec)m(hnique)g(is)g(that)h(the)g(pro)s(ducer)e(m)m(ust)i(supply)d (together)k(with)d(the)i(program)f(a)h(formal)f(safet)m(y)i(pro)s(of)e (stating)0 2552 y(the)i(the)f(execution)h(of)f(the)h(program)f(do)s(es) g(not)h(violate)g(the)f(safet)m(y)i(p)s(olicy)d(of)h(the)h(co)s(de)f (consumer.)39 b(Then)26 b(the)0 2665 y(serv)m(er)31 b(can)g(easily)e(v) -5 b(alidate)31 b(the)f(safet)m(y)i(pro)s(of)e(b)s(efore)g(installing)e (the)j(un)m(trusted)e(co)s(de)i(for)f(execution.)42 b(PCC)0 2778 y(has)32 b(uses)g(ranging)g(from)f(op)s(erating)h(system)h(k)m (ernel)f(extensions)f(to)j(mobile)c(co)s(de)j(and)f(safe)h(in)m(ter-op) s(eration)0 2891 y(of)38 b(comp)s(onen)m(ts)h(written)e(in)g(safe)h (and)g(unsafe)g(languages)g([12)q(,)h(13)q(,)f(14)q(].)64 b(In)38 b(all)f(of)h(these)h(situations,)g(it)f(is)0 3004 y(imp)s(ortan)m(t)c(to)i(ha)m(v)m(e)g(compact)h(represen)m(tation) e(of)g(pro)s(ofs)f(b)s(ecause)h(they)g(are)h(explicitly)d(manipulated)g (and)0 3117 y(p)s(ossibly)f(sen)m(t)j(through)f(comm)m(unication)g(net) m(w)m(orks.)55 b(F)-8 b(or)36 b(the)f(PCC)e(tec)m(hnique)i(to)g(b)s(e)g (practical)f(it)g(is)g(also)0 3230 y(imp)s(ortan)m(t)c(to)h(b)s(e)e (able)h(to)h(v)-5 b(alidate)30 b(the)h(pro)s(ofs)e(quic)m(kly)-8 b(.)141 3393 y(The)24 b(purp)s(ose)e(of)i(this)f(rep)s(ort)g(is)g(to)i (presen)m(t)f(e\016cien)m(t)g(algorithms)f(for)h(the)g(represen)m (tation)g(and)g(v)-5 b(alidation)0 3506 y(of)37 b(pro)s(ofs.)60 b(These)37 b(algorithms)f(w)m(ere)i(dev)m(elop)s(ed)e(as)i(part)e(of)i (our)e(PCC)h(implemen)m(tation)e(e\013ort,)40 b(whic)m(h)c(is)0 3618 y(curren)m(tly)44 b(based)h(on)g(\014rst-order)f(logic.)85 b(Ev)m(en)45 b(though)g(the)g(algorithms)f(are)h(optimized)f(and)h(v)-5 b(alidated)0 3731 y(exp)s(erimen)m(tally)28 b(for)j(\014rst-order)e (logic,)h(they)h(are)g(usable)e(for)h(other)h(logics)f(as)g(w)m(ell.) 141 3844 y(There)i(are)g(t)m(w)m(o)i(main)d(factors)i(that)g(ha)m(v)m (e)g(guided)e(our)h(c)m(hoices)g(for)g(a)h(pro)s(of)e(represen)m (tation)i(algorithm:)0 3957 y(generalit)m(y)23 b(and)f(the)h(abilit)m (y)f(to)h(handle)f(higher-order)f(represen)m(tation.)39 b(Eac)m(h)23 b(of)g(these)h(factors)f(are)h(motiv)-5 b(ated)0 4070 y(b)s(elo)m(w.)141 4183 y(The)32 b(\014rst)g(impulse)e (in)i(designing)e(an)j(e\016cien)m(t)g(pro)s(of)f(represen)m(tation)h (and)f(v)-5 b(alidation)31 b(algorithms)g(is)h(to)0 4296 y(sp)s(ecialize)i(them)g(to)i(a)f(giv)m(en)g(logic.)54 b(F)-8 b(or)36 b(example,)g(w)m(e)f(migh)m(t)g(de\014ne)f(the)h (represen)m(tation)g(and)g(v)-5 b(alidation)0 4409 y(algorithm)27 b(b)m(y)i(cases,)h(with)d(one)i(case)g(for)g(eac)m(h)g(inference)f (rule)f(in)g(the)i(logic.)40 b(This)26 b(approac)m(h)j(has)f(the)h(ma)5 b(jor)0 4522 y(disadv)-5 b(an)m(tage)39 b(that)g(a)f(new)g(represen)m (tation)g(and)g(v)-5 b(alidation)36 b(algorithm)h(has)h(to)h(b)s(e)f (designed)f(and)h(imple-)0 4635 y(men)m(ted)c(for)f(eac)m(h)i(logic.)50 b(W)-8 b(e)35 b(w)m(ould)d(prefer)h(instead)f(to)j(use)e(general)g (algorithms)g(that)h(are)g(parameterized)0 4748 y(b)m(y)c(the)h (particular)e(logic)h(of)g(in)m(terest.)141 4860 y(A)42 b(simplistic)d(view)j(of)g(a)h(pro)s(of)e(is)h(as)g(a)h(tree,)j(whose)c (lea)m(v)m(es)h(represen)m(t)f(uses)g(of)h(axioms)f(and)f(whose)0 4973 y(in)m(ternal)c(no)s(de)g(represen)m(t)h(uses)f(of)i(inference)e (rules.)62 b(If)37 b(w)m(e)h(lab)s(el)f(eac)m(h)i(no)s(de)e(with)g(the) h(predicate)g(pro)m(v)m(ed)0 5086 y(b)m(y)d(the)g(subtree)g(ro)s(oted)g (at)h(that)g(no)s(de)e(w)m(e)i(can)f(then)g(c)m(hec)m(k)i(the)e(v)-5 b(alidit)m(y)34 b(of)h(the)g(pro)s(of)g(b)m(y)g(v)m(erifying)e(that)0 5199 y(eac)m(h)39 b(no)s(de)e(is)g(a)h(v)-5 b(alid)36 b(instance)h(of)h(an)g(inference)f(rule.)61 b(Unfortunately)-8 b(,)40 b(this)d(is)f(not)i(quite)g(enough)f(for)h(a)0 5312 y(large)24 b(class)g(of)h(logics)f(that)h(ha)m(v)m(e)g(parametric) f(and)g(h)m(yp)s(othetical)f(judgmen)m(ts.)39 b(F)-8 b(or)25 b(example,)g(the)g(implication)1927 5589 y(3)p eop %%Page: 4 6 4 5 bop 0 91 a FE(in)m(tro)s(duction)27 b(rule)h(of)h(\014rst-order)f (logic)h(sp)s(eci\014es)f(that)h(the)g(left-hand)f(side)g(of)h(the)h (implication)c(can)j(b)s(e)g(used)0 204 y(as)i(an)g(assumption)e(but)h (only)g(in)g(the)h(subtree)g(that)g(pro)m(v)m(es)h(the)f(righ)m(t-hand) e(side.)42 b(This)29 b(side-condition)g(can)0 317 y(b)s(e)24 b(expressed)h(naturally)e(using)g(a)i(binding)d(pro)s(of)i(constructor) i(that)f(binds)d(the)k(assumption)d(of)i(the)g(left-hand)0 430 y(side)k(in)g(the)i(pro)s(of)f(of)g(the)h(righ)m(t-hand)e(side.)141 543 y(T)-8 b(o)30 b(ac)m(hiev)m(e)g(b)s(oth)e(the)h(generalit)m(y)g (and)g(the)g(higher-order)e(represen)m(tation)i(goals)h(w)m(e)f(use)g (the)g(Edin)m(burgh)0 656 y(Logical)g(F)-8 b(ramew)m(ork)30 b(\(LF\))f([5)q(])g(in)m(tro)s(duced)e(b)m(y)i(Harp)s(er,)g(Honsell)e (and)i(Plotkin)e(as)i(a)g(general)g(framew)m(ork)g(for)0 769 y(de\014ning)h(logics.)44 b(LF)32 b(is)f(general)h(in)e(the)i (sense)g(that)g(implemen)m(tation)f(of)h(v)-5 b(alidation)30 b(and)h(represen)m(tation)h(is)0 882 y(parameterized)e(b)m(y)g(the)h (logic)f(of)g(in)m(terest.)41 b(Section)30 b(3)h(presen)m(ts)f(the)g (logical)g(framew)m(ork)g(and)g(ho)m(w)g(it)g(can)h(b)s(e)0 995 y(used)f(to)h(v)-5 b(alidate)30 b(pro)s(ofs.)141 1157 y(The)36 b(ma)5 b(jor)37 b(dra)m(wbac)m(k)g(of)g(represen)m(ting)e (pro)s(ofs)h(in)f(LF)i(is)f(that,)j(in)c(general,)j(the)f(represen)m (tations)g(are)0 1270 y(unnecessarily)28 b(large)h(and)g(di\016cult)f (to)i(c)m(hec)m(k)i(b)s(ecause)d(of)h(man)m(y)g(redundan)m(t)e(comp)s (onen)m(ts.)41 b(T)-8 b(o)30 b(address)f(this)0 1383 y(problem)d(w)m(e)h(in)m(tro)s(duce)g(in)f(Section)h(5)g(the)h(framew)m (ork)f(LF)2087 1397 y Fz(i)2115 1383 y FE(,)i(a)e(v)-5 b(arian)m(t)27 b(of)h(LF)f(that)h(can)g(deal)e(with)g(represen-)0 1496 y(tations)g(where)f(redundan)m(t)f(comp)s(onen)m(ts)h(ha)m(v)m(e)i (b)s(een)e(erased.)39 b(W)-8 b(e)27 b(presen)m(t)e(in)f(Sections)h(5)h (and)f(6)h(a)g(v)-5 b(alidation)0 1609 y(algorithm)31 b(for)h(LF)673 1623 y Fz(i)734 1609 y FE(and)f(then)h(in)f(Section)h(7) g(sev)m(eral)h(algorithms)e(that)i(transform)e(a)i(LF)f(represen)m (tation)g(to)0 1722 y(the)f(LF)273 1736 y Fz(i)331 1722 y FE(implicit)d(represen)m(tation.)141 1835 y(The)37 b(adequacy)h(of)f(represen)m(ting)g(logical)g(deriv)-5 b(ation)36 b(in)g(LF)h(is)g(pro)m(v)m(ed)g(in)f([5)q(].)62 b(In)36 b(Section)i(8)f(w)m(e)h(redo)0 1948 y(the)e(pro)s(ofs)f(for)g (the)h(LF)863 1962 y Fz(i)927 1948 y FE(represen)m(tations.)57 b(This)34 b(section)i(is)f(v)m(ery)h(tec)m(hnical)g(and)f(can)h(b)s(e)f (skipp)s(ed)e(on)j(the)0 2061 y(\014rst)f(reading.)58 b(The)35 b(pro)s(of)h(of)g(correctness)h(motiv)-5 b(ates)37 b(the)f(design)g(of)g(the)g(reconstruction)g(and)g(v)-5 b(alidation)0 2174 y(algorithms)35 b(and)g(exp)s(oses)h(opp)s (ortunities)d(for)i(optimizations.)56 b(A)36 b(basic)f(understanding)e (of)j(this)f(section)h(is)0 2286 y(required)g(for)i(writing)f(a)h(go)s (o)s(d)g(implemen)m(tation)f(of)i(the)f(represen)m(tation)g(and)g(v)-5 b(alidation)36 b(algorithms)i(and)0 2399 y(also)30 b(for)g (understanding)e(of)j(the)f(optimizations)f(presen)m(ted)i(in)e (Section)h(9.)141 2512 y(In)25 b(Sections)g(9)i(and)e(10)h(w)m(e)g (consider)f(practical)g(asp)s(ects)h(related)g(to)g(the)g(concrete)i (implemen)m(tation)c(of)i(the)0 2625 y(represen)m(tation)i(and)f(v)-5 b(alidation)26 b(algorithms.)38 b(The)27 b(implemen)m(tation)g(is)f (based)i(on)f(explicit)f(substitutions)f(to)0 2738 y(minimize)j(the)i (time)h(and)e(space)i(required)e(for)h(pro)s(of)g(v)-5 b(alidation.)141 2851 y(Finally)d(,)48 b(in)c(Section)h(11)h(w)m(e)g (sho)m(w)g(quan)m(titativ)m(e)g(comparisons)e(b)s(et)m(w)m(een)i(the)g (LF)f(and)g(LF)3530 2865 y Fz(i)3604 2851 y FE(sizes)g(of)0 2964 y(represen)m(tations)25 b(and)g(sp)s(eed)f(of)i(v)-5 b(alidation)24 b(algorithms.)37 b(The)25 b(p)s(erformance)g(results)f (can)i(b)s(e)e(summarized)g(b)m(y)0 3077 y(sa)m(ying)e(that)i(the)e (implicit)e(represen)m(tation)j(is)e(on)i(the)f(a)m(v)m(erage)k(15)d (times)f(smaller)f(than)h(the)h(LF)g(represen)m(tation)0 3190 y(and)32 b(v)-5 b(alidating)32 b(it)g(is)g(on)h(the)g(a)m(v)m (erage)j(7)d(times)g(faster.)48 b(Moreo)m(v)m(er)36 b(these)d(impro)m (v)m(emen)m(ts)g(seem)g(to)h(increase)0 3303 y(for)39 b(larger)g(problems,)h(reac)m(hing)f(factor)i(of)e(44)h(for)f(the)h (size)f(and)g(18)h(for)f(the)g(time,)j(for)d(the)g(largest)h(PCC)0 3416 y(exp)s(erimen)m(ts)d(to)i(date.)64 b(F)-8 b(ollo)m(wing)37 b(these)i(p)s(erformance)e(results)g(w)m(e)h(ev)-5 b(aluate)39 b(the)f(v)-5 b(arious)37 b(optimizations)0 3528 y(presen)m(ted)e(in)g (Section)g(9,)i(sho)m(wing)e(that)h(they)g(roughly)e(halv)m(e)i(the)f (space)h(and)f(time)g(requiremen)m(ts)g(of)h(LF)3872 3542 y Fz(i)0 3641 y FE(pro)s(of)30 b(v)-5 b(alidation.)1927 5589 y(4)p eop %%Page: 5 7 5 6 bop 0 91 a FB(2)135 b(A)44 b(First-Order)h(Predicate)h(Logic)f Fu(L)0 294 y FE(F)-8 b(or)33 b(illustration)c(purp)s(oses)h(w)m(e)i(in) m(tro)s(duce)f(in)g(this)g(section)h(a)g(fragmen)m(t)h(of)f(the)g (\014rst-order)f(predicate)h(logic.)0 407 y(In)g(the)h(rest)f(of)h (this)e(pap)s(er)h(w)m(e)h(will)d(refer)i(to)h(this)f(logic)g(as)h FA(L)p FE(.)47 b(The)32 b(syn)m(tactic)h(elemen)m(ts)g(of)g FA(L)f FE(are)h(group)s(ed)0 520 y(in)g(t)m(w)m(o)j(lev)m(els:)49 b(expressions)33 b(and)h(predicates.)53 b(The)34 b(language)h(of)g (expressions)e(includes)f(in)m(teger)j(v)-5 b(ariables,)0 633 y(literals,)29 b(addition)g(and)g(subtraction:)1192 808 y Fx(e)84 b FE(::=)f Fx(x)75 b FA(j)h Fx(n)g FA(j)g Fx(e)2024 822 y Ft(1)2084 808 y FE(+)20 b Fx(e)2217 822 y Ft(2)2332 808 y FA(j)76 b Fx(e)2475 822 y Ft(1)2535 808 y FA(\000)20 b Fx(e)2668 822 y Ft(2)141 984 y FE(The)32 b(language)g(of)g(predicates)g(is)f(essen)m(tially)g(a)i(fragmen)m(t)g (of)f(\014rst-order)f(predicate)h(logic)g(that)g(includes)0 1097 y(the)f(predicate)f FD(true)o FE(,)h(conjunction,)f(implication,)e (univ)m(ersal)g(quan)m(ti\014cation)i(and)g(expression)f(equalit)m(y:) 769 1272 y Fx(P)96 b FE(::=)83 b FD(true)76 b FA(j)g Fx(P)1552 1286 y Ft(1)1617 1272 y FA(^)25 b Fx(P)1761 1286 y Ft(2)1876 1272 y FA(j)76 b Fx(P)2035 1286 y Ft(1)2100 1272 y FA(\033)25 b Fx(P)2254 1286 y Ft(2)2370 1272 y FA(j)76 b(8)p Fx(x:P)88 b FA(j)76 b Fx(e)2888 1286 y Ft(1)2953 1272 y FE(=)25 b Fx(e)3091 1286 y Ft(2)141 1447 y FE(This)34 b(subset)g(of)i(\014rst-order)e(predicate)h(logic)g (is)g(su\016cien)m(t)f(for)h(our)g(purp)s(oses.)54 b(Ho)m(w)m(ev)m(er) 37 b(the)f(logic)f(can)0 1560 y(b)s(e)c(extended)h(in)e(t)m(w)m(o)j(w)m (a)m(ys.)46 b(One)31 b(is)g(to)h(allo)m(w)f(other)h(b)s(o)s(olean)f (connectiv)m(es)i(suc)m(h)e(as)h(negation,)h(disjunction)0 1673 y(and)27 b(existen)m(tial)h(quan)m(ti\014cation.)39 b(The)27 b(other)i(opp)s(ortunit)m(y)d(for)i(extension)f(is)g(to)i(add) e(new)h(function)e(sym)m(b)s(ols)0 1786 y(at)j(the)g(lev)m(el)g(of)f (expressions)g(and)g(predicates.)39 b(Suc)m(h)28 b(extensions)h(of)f FA(L)h FE(can)g(b)s(e)f(expressed)g(in)f(the)i(framew)m(ork)0 1899 y(presen)m(ted)e(in)g(the)g(rest)h(of)g(this)e(rep)s(ort)h(b)m(y)g (treating)h(new)f(expression)f(and)h(predicate)h(constructors)f(follo)m (wing)0 2012 y(the)k(mo)s(del)e(of)h(constructors)h(already)f(existen)m (t)h(in)e FA(L)p FE(.)0 2251 y Fs(2.1)112 b(The)38 b(Pro)s(of)f(System) 0 2422 y FE(The)32 b(pro)s(of)f(system)i(of)f FA(L)g FE(is)g(the)g(collection)g(of)h(axioms)f(and)f(inference)h(rules)f (that)i(de\014ne)e(the)i(v)-5 b(alid)31 b(deriv)-5 b(a-)0 2535 y(tions.)67 b(Not)41 b(surprisingly)35 b(the)k(pro)s(of)g(system)h (is)e(comp)s(osed)h(of)h(t)m(w)m(o)h(orthogonal)f(comp)s(onen)m(ts.)68 b(The)39 b(\014rst)0 2648 y(comp)s(onen)m(t)f(con)m(tains)g(the)f (\014rst-order)g(predicate)g(logic)g(rules)g(and)f(the)i(other)g(giv)m (es)g(an)f(in)m(terpretation)g(to)0 2761 y(in)m(teger)f(arithmetic)e (functions.)55 b(W)-8 b(e)36 b(write)f Fx(.)f(P)48 b FE(when)35 b(the)g(predicate)h Fx(P)48 b FE(can)36 b(b)s(e)e(pro)m(v)m (ed)i(using)e(the)i(pro)s(of)0 2874 y(rules)29 b(in)g FA(L)p FE(.)141 2987 y(Figure)34 b(1)h(sho)m(ws)f(the)g(inference)g (rules)f(of)h(\014rst-order)g(predicate)g(logic)g(from)g FA(L)p FE(.)52 b(In)33 b(an)i(extended)f(logic,)0 3100 y(negation,)d(disjunction)d(and)h(existen)m(tial)h(quan)m(ti\014cation) g(rules)f(m)m(ust)h(b)s(e)g(added.)p 332 3392 261 4 v 332 3458 a Fx(.)25 b FD(true)602 3413 y(true)p 798 3413 32 4 v 37 w(i)990 3360 y Fx(.)g(P)1118 3374 y Ft(1)1370 3360 y Fx(.)h(P)1499 3374 y Ft(2)p 959 3392 610 4 v 1075 3462 a Fx(.)g(P)1204 3476 y Ft(1)1269 3462 y FA(^)f Fx(P)1413 3476 y Ft(2)1579 3413 y FD(and)p 1752 3413 32 4 v 38 w(i)1944 3360 y Fx(.)g(P)2072 3374 y Ft(1)2138 3360 y FA(^)f Fx(P)2281 3374 y Ft(2)p 1913 3392 439 4 v 2048 3462 a Fx(.)i(P)2177 3476 y Ft(1)2361 3413 y FD(and)p 2534 3413 32 4 v 38 w(el)2865 3360 y Fx(.)g(P)2994 3374 y Ft(1)3059 3360 y FA(^)f Fx(P)3203 3374 y Ft(2)p 2835 3392 439 4 v 2970 3462 a Fx(.)g(P)3098 3476 y Ft(2)3283 3413 y FD(and)p 3456 3413 32 4 v 37 w(er)p 364 3596 169 4 v 364 3666 a Fx(.)h(P)493 3680 y Ft(1)543 3617 y Fv(u)434 3779 y FE(.)434 3812 y(.)434 3845 y(.)460 3823 y Fx(u)354 3990 y(.)g(P)483 4004 y Ft(2)p 279 4021 388 4 v 279 4092 a Fx(.)g(P)408 4106 y Ft(1)473 4092 y FA(\033)f Fx(P)627 4106 y Ft(2)677 4042 y FD(impl)p 887 4042 32 4 v 37 w(i)947 4009 y Fz(u)1123 3990 y Fx(.)h(P)1252 4004 y Ft(1)1317 3990 y FA(\033)f Fx(P)1471 4004 y Ft(2)1722 3990 y Fx(.)h(P)1851 4004 y Ft(1)p 1093 4021 829 4 v 1423 4092 a Fx(.)f(P)1551 4106 y Ft(2)1931 4042 y FD(impl)p 2141 4042 32 4 v 37 w(e)2496 3671 y Fx(v)2483 3770 y FE(.)2483 3803 y(.)2483 3836 y(.)2509 3814 y Fx(v)2351 3981 y(.)h FE([)p Fx(v)s(=x)p FE(])p Fx(P)p 2321 4021 398 4 v 2360 4093 a(.)f FA(8)p Fx(x)g(:)h(P)2728 4042 y FD(all)p 2843 4042 32 4 v 38 w(i)2904 4009 y Fz(v)3076 4003 y Fx(.)g FA(8)p Fx(x)f(:)g(P)p 3046 4021 381 4 v 3070 4098 a(.)h FE([)p Fx(e=x)p FE(])p Fx(P)3436 4042 y FD(all)p 3551 4042 32 4 v 38 w(e)656 4329 y FE(Figure)j(1:)42 b(F)-8 b(ragmen)m(t)32 b(of)e(the)h (\014rst-order)e(predicate)h(logic)h(pro)s(of)e(rules.)141 4532 y(The)j(c)m(hoice)g(of)g(axioms)g(for)g(dealing)e(with)h(in)m (teger)h(arithmetic)f(is)g(a)h(delicate)g(one.)46 b(W)-8 b(e)33 b(do)f(not)g(attempt)0 4645 y(here)f(to)h(ha)m(v)m(e)g(a)f (complete)h(logic)e(but)h(one)g(that)h(is)e(suitable)f(for)i (illustrating)d(the)j(pro)s(of)f(represen)m(tation)i(and)0 4758 y(v)-5 b(alidation)27 b(framew)m(ork)j(presen)m(ted)f(in)f(the)h (rest)g(of)g(this)f(rep)s(ort.)40 b(Soundness)27 b(of)i(the)h(logic)f (is)f(also)h(not)g(crucial)0 4871 y(for)h(our)g(purp)s(oses,)f(but)g (is)h(a)h(desirable)d(feature.)41 b(Figure)30 b(2)h(sho)m(ws)f(our)g(c) m(hoice)h(of)g(arithmetic)e(axioms.)141 4984 y(As)39 b(an)f(example)g(of)h(a)g(deriv)-5 b(ation)37 b(in)g FA(L)h FE(consider)f(the)i(pro)s(of)f(of)h Fx(P)51 b FE(=)39 b FA(8)p Fx(e)2825 4998 y Ft(1)2864 4984 y Fx(:)p FA(8)p Fx(e)2982 4998 y Ft(2)3022 4984 y Fx(:)p FA(8)p Fx(e)3140 4998 y Ft(3)3179 4984 y Fx(:)p FE(\()p Fx(e)3281 4998 y Ft(1)3360 4984 y FE(=)g Fx(e)3512 4998 y Ft(2)3577 4984 y FE(+)25 b Fx(e)3715 4998 y Ft(3)3755 4984 y FE(\))39 b FA(\033)0 5096 y FE(\()p Fx(e)77 5110 y Ft(1)141 5096 y FA(\000)24 b Fx(e)278 5110 y Ft(3)352 5096 y FE(=)34 b Fx(e)499 5110 y Ft(2)539 5096 y FE(\).)57 b(The)36 b(deriv)-5 b(ation)34 b FA(D)39 b FE(of)d(the)g(predicate)f Fx(P)49 b FE(is)35 b(sho)m(wn)g(in)g(tree)i(form)e(in)g(Figure)g(3.)58 b(W)-8 b(e)37 b(will)0 5209 y(return)f(to)j(this)d(deriv)-5 b(ation)36 b(in)g(the)i(follo)m(wing)e(sections)h(to)h(exemplify)e(the) i(v)-5 b(arious)36 b(pro)s(of)h(represen)m(tations)0 5322 y(and)30 b(the)g(b)s(eha)m(vior)g(of)g(corresp)s(onding)f(v)-5 b(alidation)28 b(algorithms.)1927 5589 y(5)p eop %%Page: 6 8 6 7 bop 598 724 337 4 v 598 794 a Fx(.)25 b(E)31 b FE(=)25 b Fx(E)944 744 y FD(=id)1244 692 y Fx(.)g(E)1381 706 y Ft(2)1446 692 y FE(=)g Fx(E)1609 706 y Ft(1)p 1213 724 466 4 v 1244 794 a Fx(.)g(E)1381 808 y Ft(1)1446 794 y FE(=)g Fx(E)1609 808 y Ft(2)1689 744 y FD(=sym)2085 692 y Fx(.)h(E)2223 706 y Ft(1)2288 692 y FE(=)e Fx(E)2450 706 y Ft(2)2702 692 y Fx(.)i(E)2840 706 y Ft(2)2905 692 y FE(=)f Fx(E)3068 706 y Ft(3)p 2055 724 1083 4 v 2394 794 a Fx(.)g(E)2531 808 y Ft(1)2596 794 y FE(=)g Fx(E)2759 808 y Ft(3)3147 744 y FD(=tr)p 598 912 494 4 v 598 982 a Fx(.)g(E)h FE(+)20 b(0)26 b(=)f Fx(E)1101 933 y FD(+id)p 1370 912 841 4 v 1370 982 a Fx(.)h(E)1508 996 y Ft(1)1568 982 y FE(+)19 b Fx(E)1725 996 y Ft(2)1790 982 y FE(=)25 b Fx(E)1953 996 y Ft(2)2013 982 y FE(+)20 b Fx(E)2171 996 y Ft(1)2220 933 y FD(+com)p 2588 912 494 4 v 2588 982 a Fx(.)26 b(E)g FA(\000)20 b Fx(E)30 b FE(=)25 b(0)3092 933 y FD(+in)m(v)532 1203 y Fx(.)h(E)670 1217 y Ft(1)734 1203 y FE(=)f Fx(E)897 1217 y Ft(2)1149 1203 y Fx(.)h(E)1292 1170 y Fw(0)1287 1227 y Ft(1)1352 1203 y FE(=)f Fx(E)1520 1170 y Fw(0)1515 1227 y Ft(2)p 502 1245 1083 4 v 623 1328 a Fx(.)h(E)761 1342 y Ft(1)820 1328 y FE(+)20 b Fx(E)983 1290 y Fw(0)978 1350 y Ft(1)1043 1328 y FE(=)25 b Fx(E)1206 1342 y Ft(2)1266 1328 y FE(+)20 b Fx(E)1429 1290 y Fw(0)1424 1350 y Ft(2)1594 1266 y FD(+congr)2059 1203 y Fx(.)26 b(E)2197 1217 y Ft(1)2261 1203 y FE(=)f Fx(E)2424 1217 y Ft(2)2676 1203 y Fx(.)h(E)2819 1170 y Fw(0)2814 1227 y Ft(1)2879 1203 y FE(=)f Fx(E)3047 1170 y Fw(0)3042 1227 y Ft(2)p 2029 1245 V 2150 1328 a Fx(.)h(E)2288 1342 y Ft(1)2347 1328 y FA(\000)20 b Fx(E)2510 1290 y Fw(0)2505 1350 y Ft(1)2570 1328 y FE(=)25 b Fx(E)2733 1342 y Ft(2)2793 1328 y FA(\000)20 b Fx(E)2956 1290 y Fw(0)2951 1350 y Ft(2)3121 1266 y FD(-congr)p 144 1449 1418 4 v 144 1526 a Fx(.)26 b FE(\()p Fx(E)317 1540 y Ft(1)377 1526 y FE(+)20 b Fx(E)535 1540 y Ft(2)574 1526 y FE(\))h(+)f Fx(E)788 1540 y Ft(3)852 1526 y FE(=)25 b Fx(E)1015 1540 y Ft(1)1075 1526 y FE(+)20 b(\()p Fx(E)1268 1540 y Ft(2)1328 1526 y FE(+)g Fx(E)1486 1540 y Ft(3)1526 1526 y FE(\))1571 1470 y FD(+asso)s(c)p 1988 1449 V 1988 1526 a Fx(.)26 b FE(\()p Fx(E)2161 1540 y Ft(1)2221 1526 y FE(+)20 b Fx(E)2379 1540 y Ft(2)2418 1526 y FE(\))h FA(\000)f Fx(E)2632 1540 y Ft(3)2697 1526 y FE(=)k Fx(E)2859 1540 y Ft(1)2919 1526 y FE(+)c(\()p Fx(E)3112 1540 y Ft(2)3172 1526 y FA(\000)g Fx(E)3330 1540 y Ft(3)3370 1526 y FE(\))3415 1470 y FD(+-asso)s(c)1274 1757 y FE(Figure)30 b(2:)41 b(Arithmetic)30 b(pro)s(of)f(rules.)165 3782 y Fr(D)60 b Fq(=)p 486 3213 505 4 v 486 3269 a Fp(.)22 b(e)589 3281 y Fo(1)649 3269 y Fq(=)h Fp(e)776 3281 y Fo(2)831 3269 y Fq(+)18 b Fp(e)953 3281 y Fo(3)1000 3232 y Fp(u)p 1251 3221 328 4 v 1251 3269 a(.)23 b(e)1355 3281 y Fo(3)1415 3269 y Fq(=)f Fp(e)1541 3281 y Fo(3)1588 3240 y Fn(=id)p 448 3298 1168 4 v 570 3367 a Fp(.)h(e)674 3379 y Fo(1)729 3367 y Fr(\000)18 b Fp(e)851 3379 y Fo(3)911 3367 y Fq(=)23 b(\()p Fp(e)1070 3379 y Fo(2)1125 3367 y Fq(+)18 b Fp(e)1247 3379 y Fo(3)1284 3367 y Fq(\))h Fr(\000)f Fp(e)1457 3379 y Fo(3)1626 3317 y Fn(-congr)2400 3256 y Fr(D)2466 3222 y Fm(u)2464 3277 y Fo(1)2082 3367 y Fp(.)k Fq(\()p Fp(e)2217 3379 y Fo(2)2273 3367 y Fq(+)c Fp(e)2395 3379 y Fo(3)2432 3367 y Fq(\))h Fr(\000)f Fp(e)2605 3379 y Fo(3)2665 3367 y Fq(=)k Fp(e)2791 3379 y Fo(2)p 528 3405 2328 4 v 1440 3461 a Fp(.)g(e)1543 3473 y Fo(1)1599 3461 y Fr(\000)c Fp(e)1721 3473 y Fo(3)1781 3461 y Fq(=)k Fp(e)1907 3473 y Fo(2)2866 3424 y Fn(=tr)p 963 3490 1458 4 v 1165 3546 a Fp(.)g(e)1268 3558 y Fo(1)1328 3546 y Fq(=)h Fp(e)1455 3558 y Fo(2)1510 3546 y Fq(+)18 b Fp(e)1632 3558 y Fo(3)1692 3546 y Fr(\033)23 b Fp(e)1819 3558 y Fo(1)1874 3546 y Fr(\000)18 b Fp(e)1996 3558 y Fo(3)2056 3546 y Fq(=)23 b Fp(e)2183 3558 y Fo(2)2431 3509 y Fn(impl)p 2625 3509 29 4 v 32 w(i)2678 3479 y Fm(u)p 926 3575 1533 4 v 1081 3640 a Fp(.)f Fr(8)p Fp(e)1231 3652 y Fo(3)1267 3640 y Fp(:)h(e)1352 3652 y Fo(1)1412 3640 y Fq(=)g Fp(e)1539 3652 y Fo(2)1594 3640 y Fq(+)18 b Fp(e)1716 3652 y Fo(3)1776 3640 y Fr(\033)23 b Fp(e)1903 3652 y Fo(1)1958 3640 y Fr(\000)18 b Fp(e)2080 3652 y Fo(3)2140 3640 y Fq(=)23 b Fp(e)2267 3652 y Fo(2)2469 3594 y Fn(all)p 2575 3594 29 4 v 33 w(i)2629 3564 y Fm(e)2660 3572 y Fl(3)p 888 3669 1609 4 v 1008 3734 a Fp(.)g Fr(8)p Fp(e)1159 3746 y Fo(2)1195 3734 y Fp(:)p Fr(8)p Fp(e)1304 3746 y Fo(3)1340 3734 y Fp(:)g(e)1425 3746 y Fo(1)1485 3734 y Fq(=)f Fp(e)1611 3746 y Fo(2)1667 3734 y Fq(+)c Fp(e)1789 3746 y Fo(3)1849 3734 y Fr(\033)k Fp(e)1975 3746 y Fo(1)2031 3734 y Fr(\000)c Fp(e)2153 3746 y Fo(3)2213 3734 y Fq(=)k Fp(e)2339 3746 y Fo(2)2506 3688 y Fn(all)p 2612 3688 29 4 v 34 w(i)2667 3658 y Fm(e)2698 3666 y Fl(2)p 850 3763 1684 4 v 935 3828 a Fp(.)h Fr(8)p Fp(e)1086 3840 y Fo(1)1122 3828 y Fp(:)p Fr(8)p Fp(e)1231 3840 y Fo(2)1267 3828 y Fp(:)p Fr(8)p Fp(e)1376 3840 y Fo(3)1412 3828 y Fp(:)g(e)1497 3840 y Fo(1)1557 3828 y Fq(=)g Fp(e)1684 3840 y Fo(2)1739 3828 y Fq(+)18 b Fp(e)1861 3840 y Fo(3)1921 3828 y Fr(\033)23 b Fp(e)2048 3840 y Fo(1)2103 3828 y Fr(\000)18 b Fp(e)2225 3840 y Fo(3)2285 3828 y Fq(=)23 b Fp(e)2412 3840 y Fo(2)2544 3782 y Fn(all)p 2650 3782 29 4 v 34 w(i)2705 3752 y Fm(e)2736 3760 y Fl(1)165 4325 y Fr(D)231 4295 y Fm(u)229 4346 y Fo(1)289 4325 y Fq(=)p 416 4200 1166 4 v 416 4269 a Fp(.)f Fq(\()p Fp(e)551 4281 y Fo(2)607 4269 y Fq(+)c Fp(e)729 4281 y Fo(3)766 4269 y Fq(\))g Fr(\000)g Fp(e)938 4281 y Fo(3)998 4269 y Fq(=)23 b Fp(e)1125 4281 y Fo(2)1180 4269 y Fq(+)18 b(\()p Fp(e)1334 4281 y Fo(3)1390 4269 y Fr(\000)g Fp(e)1512 4281 y Fo(3)1549 4269 y Fq(\))1591 4218 y Fn(+-asso)s(c)p 1988 4016 328 4 v 1988 4063 a Fp(.)23 b(e)2092 4075 y Fo(2)2152 4063 y Fq(=)f Fp(e)2278 4075 y Fo(2)2325 4034 y Fn(=id)p 2529 4002 471 4 v 2529 4063 a Fp(.)h(e)2633 4075 y Fo(3)2688 4063 y Fr(\000)18 b Fp(e)2810 4075 y Fo(3)2870 4063 y Fq(=)23 b(0)3009 4021 y Fn(+in)m(v)p 1951 4092 1087 4 v 2049 4162 a Fp(.)g(e)2153 4174 y Fo(2)2208 4162 y Fq(+)18 b(\()p Fp(e)2362 4174 y Fo(3)2418 4162 y Fr(\000)g Fp(e)2540 4174 y Fo(3)2576 4162 y Fq(\))24 b(=)e Fp(e)2758 4174 y Fo(2)2814 4162 y Fq(+)c(0)3047 4111 y Fn(+congr)p 3416 4101 471 4 v 3416 4162 a Fp(.)k(e)3519 4174 y Fo(2)3575 4162 y Fq(+)c(0)k(=)h Fp(e)3849 4174 y Fo(2)3896 4120 y Fn(+id)p 1960 4200 1964 4 v 2569 4269 a Fp(.)f(e)2672 4281 y Fo(2)2728 4269 y Fq(+)c(\()p Fp(e)2882 4281 y Fo(3)2937 4269 y Fr(\000)g Fp(e)3059 4281 y Fo(3)3096 4269 y Fq(\))23 b(=)g Fp(e)3278 4281 y Fo(2)3933 4218 y Fn(=tr)p 378 4307 3347 4 v 1678 4376 a Fp(.)g Fq(\()p Fp(e)1814 4388 y Fo(2)1869 4376 y Fq(+)18 b Fp(e)1991 4388 y Fo(3)2028 4376 y Fq(\))h Fr(\000)f Fp(e)2201 4388 y Fo(3)2261 4376 y Fq(=)23 b Fp(e)2388 4388 y Fo(2)3735 4325 y Fn(=tr)0 4663 y FE(Figure)31 b(3:)42 b(The)31 b(deriv)-5 b(ation)30 b FA(D)k FE(of)d FA(8)p Fx(e)1317 4677 y Ft(1)1356 4663 y Fx(:)p FA(8)p Fx(e)1474 4677 y Ft(2)1514 4663 y Fx(:)p FA(8)p Fx(e)1632 4677 y Ft(3)1671 4663 y Fx(:)p FE(\()p Fx(e)1773 4677 y Ft(1)1840 4663 y FE(=)26 b Fx(e)1979 4677 y Ft(2)2040 4663 y FE(+)20 b Fx(e)2173 4677 y Ft(3)2213 4663 y FE(\))27 b FA(\033)f FE(\()p Fx(e)2449 4677 y Ft(1)2510 4663 y FA(\000)21 b Fx(e)2644 4677 y Ft(3)2710 4663 y FE(=)26 b Fx(e)2849 4677 y Ft(2)2889 4663 y FE(\))31 b(in)f FA(L)p FE(.)43 b(F)-8 b(or)32 b(t)m(yp)s(ographical)0 4776 y(reasons)e(the)h (sub)s(deriv)-5 b(ation)27 b FA(D)1115 4743 y Fz(u)1112 4801 y Ft(1)1190 4776 y FE(is)j(sho)m(wn)g(as)g(a)h(separate)g(tree.) 1927 5589 y(6)p eop %%Page: 7 9 7 8 bop 0 91 a FB(3)135 b(The)44 b(Edin)l(burgh)h(Logical)h(F)-11 b(ramew)l(ork)0 294 y FE(The)25 b(Edin)m(burgh)e(Logical)j(F)-8 b(ramew)m(ork)27 b(\(also)f(referred)f(to)i(as)f(LF\))g(has)g(b)s(een)f (in)m(tro)s(duced)f(b)m(y)i(Harp)s(er,)g(Honsell)0 407 y(and)e(Plotkin)g([5)q(])h(as)g(a)g(metalanguage)i(for)d(high-lev)m(el) g(sp)s(eci\014cation)g(of)h(logics.)39 b(LF)25 b(pro)m(vides)f(natural) g(supp)s(ort)0 520 y(for)33 b(the)g(managemen)m(t)i(of)e(binding)d(op)s (erators,)35 b(h)m(yp)s(othetical)d(and)h(sc)m(hematic)h(judgmen)m(ts.) 49 b(F)-8 b(or)34 b(example)e(it)0 633 y(captures)45 b(the)f(con)m(v)m(en)m(tion)i(that)f(expressions)e(that)j(di\013er)d (only)h(in)f(the)i(names)f(of)h(b)s(ound)d(v)-5 b(ariables)44 b(are)0 746 y(considered)31 b(iden)m(tical.)45 b(Similarly)-8 b(,)29 b(it)j(allo)m(ws)f(direct)h(expression)f(of)h(con)m(texts)i(and) e(v)-5 b(ariable)31 b(lo)s(okup)f(as)j(they)0 859 y(arise)g(in)f(a)i(h) m(yp)s(othetical)f(and)f(parametrical)h(judgmen)m(t.)50 b(The)33 b(fact)h(that)g(these)g(tec)m(hniques)f(are)h(supp)s(orted)0 972 y(b)m(y)c(the)h(logical)f(framew)m(ork)g(is)g(a)g(crucial)f(factor) j(for)e(the)h(succinct)f(formalization)f(of)h(pro)s(ofs.)141 1085 y(The)g(LF)h(represen)m(tation)f(of)h(a)g(logic)f(consists)g(of)h (t)m(w)m(o)h(stages.)42 b(The)30 b(\014rst)g(stage)i(is)d(the)i (represen)m(tation)g(of)0 1198 y(the)j(abstract)h(syn)m(tax)f(of)h(the) f(logic)f(under)g(in)m(v)m(estigation.)51 b(F)-8 b(or)35 b(example,)g(w)m(e)f(will)d(sho)m(w)j(ho)m(w)g(to)h(represen)m(t)0 1310 y(expressions)d(and)g(predicates)h(of)g FA(L)g FE(in)f(LF.)h(The)g (second)g(stage)h(is)e(the)i(represen)m(tation)f(of)g(the)g(seman)m (tics)h(of)0 1423 y FA(L)p FE(.)49 b(W)-8 b(e)35 b(do)e(this)f(b)m(y)i (represen)m(ting)e(in)g(LF)i(the)f(pro)s(of)g(rules)f(set)h FA(L)p FE(.)50 b(Then)32 b(w)m(e)i(sho)m(w)f(ho)m(w)g(actual)h(pro)s (ofs)f(can)0 1536 y(b)s(e)d(constructed)g(from)g(instances)g(of)h(pro)s (of)e(rules.)141 1699 y(The)g(LF)g(t)m(yp)s(e)g(theory)h(is)e(a)h (language)h(with)e(en)m(tities)h(of)g(three)g(lev)m(els:)40 b(ob)5 b(jects,)31 b(t)m(yp)s(es)e(and)f(kinds.)39 b(T)m(yp)s(es)0 1812 y(are)34 b(used)f(to)h(qualify)e(ob)5 b(jects)34 b(and)f(similarly)-8 b(,)32 b(kinds)g(are)i(used)e(to)j(qualify)d(t)m (yp)s(es.)50 b(The)33 b(abstract)i(syn)m(tax)f(of)0 1925 y(these)d(en)m(tities)f(is)f(sho)m(wn)h(b)s(elo)m(w:)953 2103 y(Kinds)162 b Fx(K)97 b FE(::=)83 b Fk(Type)74 b FA(j)i FE(\005)p Fx(x)10 b FE(:)g Fx(A:K)953 2216 y FE(T)m(yp)s(es)163 b Fx(A)99 b FE(::=)83 b Fx(a)76 b FA(j)g Fx(A)25 b(M)86 b FA(j)76 b FE(\005)p Fx(x)10 b FE(:)g Fx(A)2554 2230 y Ft(1)2594 2216 y Fx(:A)2687 2230 y Ft(2)953 2329 y FE(Ob)5 b(jects)83 b Fx(M)94 b FE(::=)83 b Fx(x)76 b FA(j)g Fx(c)g FA(j)g Fx(M)2261 2343 y Ft(1)2300 2329 y Fx(M)2388 2343 y Ft(2)2504 2329 y FA(j)g Fx(\025x)10 b FE(:)g Fx(A:M)141 2526 y FE(Here)31 b Fk(Type)e FE(is)h(the)g(base)h (kind,)e Fx(a)h FE(is)f(a)i(t)m(yp)s(e)g(constan)m(t)g(and)f Fx(c)h FE(is)e(an)h(ob)5 b(ject)32 b(constan)m(t.)141 2639 y(W)-8 b(e)30 b(represen)m(t)e(our)g(logic)g(in)f(LF)i(b)m(y)f (means)g(of)h(a)g(signature)e(\006)h(that)h(assigns)f(t)m(yp)s(es)g(to) i(a)e(set)h(of)g(constan)m(ts)0 2752 y(describing)22 b(the)i(syn)m(tax)h(of)g(expressions)e(and)g(predicates,)j(and)d(the)i (pro)s(of)e(rules)g(of)h(our)g(logic.)39 b(Then)23 b(w)m(e)i(de\014ne)0 2865 y(a)31 b(represen)m(tation)f(function)f(that)i(will)d(map)h (expressions,)h(predicates)g(and)f(their)h(pro)s(ofs)f(in)g(our)h (logic)g(to)h(LF)0 2978 y(ob)5 b(jects)31 b(constructed)g(with)e (constan)m(ts)i(declared)f(in)f(the)i(signature)f(\006.)141 3090 y(The)i(main)e(represen)m(tation)i(strategy)i(in)c(LF)i(is)f(that) i(judgmen)m(ts)e(\(e.g.,)j(statemen)m(ts)g(ab)s(out)d(the)i(v)-5 b(alidit)m(y)0 3203 y(of)33 b(predicates\))h(are)f(represen)m(ted)h(as) f(LF)h(t)m(yp)s(es)f(and)g(judgmen)m(t)g(deriv)-5 b(ations)31 b(\(e.g.)51 b(a)34 b(pro)s(of)f(of)g(a)h(predicate\))0 3316 y(are)39 b(represen)m(ted)g(as)g(ob)5 b(jects)40 b(whose)f(t)m(yp)s(e)g(is)f(the)h(represen)m(tation)g(of)g(the)h (judgmen)m(ts)e(they)h(pro)m(v)m(e.)67 b(T)m(yp)s(e)0 3429 y(c)m(hec)m(king)31 b(in)e(the)i(LF)f(t)m(yp)s(e)h(discipline)26 b(can)31 b(then)f(b)s(e)g(used)f(to)i(c)m(hec)m(k)h(the)f(v)-5 b(alidit)m(y)29 b(of)h(logic)g(pro)s(ofs.)141 3542 y(W)-8 b(e)32 b(start)f(no)m(w)f(to)h(presen)m(t)g(the)f(signature)g(\006)g (corresp)s(onding)e(to)j(the)g(logic)f FA(L)p FE(.)0 3786 y Fs(3.1)112 b(Represen)m(ting)37 b(Abstract)g(Syn)m(tax:)51 b(Expressions)37 b(and)h(Predicates)0 3957 y FE(First,)c(w)m(e)h (de\014ne)e(in)f(Figure)i(4)g(the)g(LF)g(t)m(yp)s(es)g Fk(exp)f FE(of)h(expressions)f(and)g Fk(pred)g FE(of)h(predicates.)51 b(All)32 b(of)i(these)0 4070 y(are)d(atomic)g(LF)f(t)m(yp)s(es)h(of)f (base)h(kind)d Fk(Type)p FE(.)1663 4277 y Fk(exp)130 b FE(:)84 b Fk(Type)1663 4390 y(pred)e FE(:)i Fk(Type)755 4638 y FE(Figure)30 b(4:)41 b(the)31 b(LF)f(signature)g(\006)g(\(part)h (1\).)41 b(Base)32 b(t)m(yp)s(e)e(constan)m(ts.)141 4853 y(Then)43 b(for)h(eac)m(h)h(expression)d(and)i(predicate)f(constructor) i(w)m(e)f(de\014ne)f(an)h(LF)g(constan)m(t)h(as)f(sho)m(wn)f(in)0 4965 y(Figure)36 b(5.)61 b(One)37 b(of)g(the)g(most)g(in)m(teresting)f (cases)i(is)e(the)h(univ)m(ersal)e(quan)m(ti\014cation.)60 b(Care)37 b(m)m(ust)g(b)s(e)f(tak)m(en)0 5078 y(when)22 b(dealing)g(with)g(univ)m(ersal)f(quan)m(ti\014cation)i(b)s(ecause)g (of)g(the)h(presence)f(of)g(b)s(ound)e(v)-5 b(ariables.)37 b(F)-8 b(or)24 b(example,)0 5191 y(w)m(e)f(m)m(ust)f(ensure)f(that)i (the)f(represen)m(tation)h(captures)f(the)g(fact)h(that)g(the)f(b)s (ound)f(v)-5 b(ariable)21 b(is)g(lo)s(cal)g(to)i(the)g(b)s(o)s(dy)0 5304 y(of)k(the)g(quan)m(ti\014cation)g(and)f(that)h(t)m(w)m(o)i (expressions)c(di\013ering)g(only)h(in)g(the)h(name)g(of)g(the)g(b)s (ound)e(v)-5 b(ariables)26 b(are)1927 5589 y(7)p eop %%Page: 8 10 8 9 bop 0 91 a FE(equal.)40 b(Moreo)m(v)m(er,)31 b(when)d(an)h (expression)e(is)h(substituted)g(for)g(the)h(b)s(ound)e(v)-5 b(ariable)28 b(w)m(e)h(m)m(ust)g(ensure)f(that)h(no)0 204 y(free)h(v)-5 b(ariable)30 b(of)g(the)h(substituted)e(expression)g (is)g(captured.)141 317 y(One)38 b(of)h(the)g(main)f(reasons)g(w)m(e)i (c)m(hose)f(LF)g(as)g(a)g(pro)s(of)f(represen)m(tation)h(language)g(is) e(that)j(it)e(pro)m(vides)0 430 y(mec)m(hanisms)29 b(for)g(dealing)f (with)g(b)s(ound)g(v)-5 b(ariables.)39 b(Note)31 b(in)d(Figure)h(5)h (ho)m(w)g(the)f(univ)m(ersal)f(quan)m(ti\014cation)h(is)0 543 y(represen)m(ted)i(as)h(a)g(higher-order)e(construct)i(b)m(y)f (represen)m(ting)f(the)i(b)s(ound)d(logical)i(v)-5 b(ariable)30 b(b)m(y)i(a)g(b)s(ound)d(LF)0 656 y(v)-5 b(ariable.)40 b(This)28 b(e\013ectiv)m(ely)j(delegates)h(all)d(the)i(tedious)e (manipulations)f(of)i(b)s(ound)e(v)-5 b(ariables)29 b(to)j(LF.)1320 861 y(0)229 b(:)83 b Fk(exp)1320 973 y FE(+)203 b(:)83 b Fk(exp)24 b FA(!)h Fk(exp)g FA(!)g Fk(exp)1320 1086 y FA(\000)203 b FE(:)83 b Fk(exp)24 b FA(!)h Fk(exp)g FA(!)g Fk(exp)1320 1199 y FE(=)203 b(:)83 b Fk(exp)24 b FA(!)h Fk(exp)g FA(!)g Fk(pred)1320 1312 y Fx(<>)132 b FE(:)83 b Fk(exp)24 b FA(!)h Fk(exp)g FA(!)g Fk(pred)1320 1425 y(true)82 b FE(:)h Fk(pred)1320 1538 y(and)130 b FE(:)83 b Fk(pred)24 b FA(!)h Fk(pred)f FA(!)h Fk(pred)1320 1651 y(impl)82 b FE(:)h Fk(pred)24 b FA(!)h Fk(pred)f FA(!)h Fk(pred)1320 1764 y(all)130 b FE(:)83 b(\()p Fk(exp)25 b FA(!)g Fk(pred)o FE(\))g FA(!)g Fk(pred)378 2011 y FE(Figure)30 b(5:)41 b(The)30 b(LF)h(signature)e(\006)h(\(part)h(2\).) 41 b(Expression)29 b(and)h(predicate)g(constructors.)141 2229 y(The)e(LF)g(represen)m(tation)g(function)f Fj(p)p FA(\001)q Fj(q)h FE(is)f(de\014ned)g(inductiv)m(ely)f(on)i(the)h (structure)e(of)h(expressions,)g(t)m(yp)s(es)0 2342 y(and)i(predicates) g(as)g(sho)m(wn)g(in)f(Figures)h(6)h(and)f(7.)1638 2546 y Fj(p)p Fx(x)p Fj(q)84 b FE(=)f Fx(x)1416 2659 y Fj(p)p Fx(e)1503 2673 y Ft(1)1563 2659 y FE(+)20 b Fx(e)1696 2673 y Ft(2)1736 2659 y Fj(q)83 b FE(=)g(+)25 b Fj(p)p Fx(e)2201 2673 y Ft(1)2241 2659 y Fj(q)h(p)p Fx(e)2399 2673 y Ft(2)2439 2659 y Fj(q)1416 2772 y(p)p Fx(e)1503 2786 y Ft(1)1563 2772 y FA(\000)20 b Fx(e)1696 2786 y Ft(2)1736 2772 y Fj(q)83 b FE(=)g FA(\000)25 b Fj(p)p Fx(e)2201 2786 y Ft(1)2241 2772 y Fj(q)h(p)p Fx(e)2399 2786 y Ft(2)2439 2772 y Fj(q)946 3019 y FE(Figure)k(6:)41 b(LF)30 b(represen)m(tation)h(\(part)f(1\).)42 b(Expressions.)1284 3329 y Fj(p)p Fx(e)1371 3343 y Ft(1)1436 3329 y FE(=)25 b Fx(e)1574 3343 y Ft(2)1614 3329 y Fj(q)84 b FE(=)e(=)25 b Fj(p)p Fx(e)2079 3343 y Ft(1)2119 3329 y Fj(q)h(p)p Fx(e)2277 3343 y Ft(2)2317 3329 y Fj(q)1284 3442 y(p)p Fx(e)1371 3456 y Ft(1)1436 3442 y FA(6)p FE(=)f Fx(e)1574 3456 y Ft(2)1614 3442 y Fj(q)84 b FE(=)e Fx(<>)25 b Fj(p)p Fx(e)2150 3456 y Ft(1)2190 3442 y Fj(q)h(p)p Fx(e)2348 3456 y Ft(2)2388 3442 y Fj(q)1379 3555 y(p)p FD(true)p Fj(q)84 b FE(=)e Fk(true)1317 3667 y Fj(p)p Fx(P)38 b FA(^)25 b Fx(R)q Fj(q)84 b FE(=)e Fk(and)25 b Fj(p)p Fx(P)13 b Fj(q)26 b(p)p Fx(R)q Fj(q)1307 3780 y(p)p Fx(P)38 b FA(\033)25 b Fx(R)q Fj(q)84 b FE(=)e Fk(impl)24 b Fj(p)p Fx(P)13 b Fj(q)27 b(p)p Fx(R)q Fj(q)1370 3893 y(p)p FA(8)p Fx(x:P)13 b Fj(q)84 b FE(=)e Fk(all)25 b FE(\()p Fx(\025x)10 b FE(:)g Fk(exp)p Fx(:)p Fj(p)p Fx(P)j Fj(q)p FE(\))755 4141 y(Figure)30 b(7:)41 b(LF)30 b(represen)m(tation)h(\(part)f(2\).)42 b(T)m(yp)s(es)29 b(and)h(predicates.)0 4489 y Fs(3.2)112 b(Represen)m(ting)37 b(Seman)m(tics:)49 b(Pro)s(ofs)0 4660 y FE(Up)38 b(to)h(this)e(p)s(oin)m(t)g(w)m(e)i(ha)m(v)m(e)g (de\014ned)e(the)i(represen)m(tation)f(of)h(expressions,)g(t)m(yp)s(es) f(and)g(predicates)g(in)f(LF.)0 4773 y(Our)30 b(ultimate)h(goal)h(is)f (to)h(b)s(e)f(able)g(to)i(represen)m(t)e(pro)s(ofs)g(of)h(predicates)f (or)h(equiv)-5 b(alen)m(tly)30 b(deriv)-5 b(ations)30 b(of)i(the)0 4886 y(v)-5 b(alidit)m(y)36 b(of)j(predicates.)63 b(W)-8 b(e)39 b(follo)m(w)f(the)g(same)g(pattern)h(as)f(for)g(syn)m (tactic)h(constructs)f(and)f(w)m(e)i(in)m(tro)s(duce)0 4999 y(a)d(t)m(yp)s(e)g(of)g(pro)s(ofs)f Fk(pf)70 b FE(and)35 b(then)h(de\014ne)f(eac)m(h)i(pro)s(of)e(rule)f(as)j(an)e(LF)h(constan) m(t)h(of)f(this)f(t)m(yp)s(e.)58 b(Things)34 b(are)0 5112 y(actually)28 b(more)h(in)m(v)m(olv)m(ed)f(due)f(to)j(the)e(fact)h (that)g(w)m(e)g(w)m(an)m(t)h(the)e(t)m(yp)s(e)h(of)f(a)h(pro)s(of)f(to) h(determine)f(the)g(predicate)0 5225 y(that)i(is)e(b)s(eing)g(pro)m(v)m (ed.)40 b(In)29 b(this)f(w)m(a)m(y)i(w)m(e)f(v)m(erify)g(b)m(y)g(t)m (yp)s(e)g(c)m(hec)m(king)h(not)f(only)f(that)i(a)g(pro)s(of)e(is)g(v)-5 b(alid)28 b(but)g(also)1927 5589 y(8)p eop %%Page: 9 11 9 10 bop 728 87 a Fk(true)p 926 87 29 4 v 33 w(i)83 b FE(:)g Fk(pf)25 b(true)728 200 y(and)p 878 200 V 33 w(i)131 b FE(:)83 b(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)p Fx(:)p Fk(pf)24 b Fx(p)h FA(!)h Fk(pf)e Fx(r)k FA(!)d Fk(pf)g FE(\()p Fk(and)g Fx(p)50 b(r)s FE(\))728 313 y Fk(and)p 878 313 V 33 w(el)83 b FE(:)g(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)p Fx(:)p Fk(pf)24 b FE(\()p Fk(and)h Fx(p)51 b(r)s FE(\))25 b FA(!)g Fk(pf)g Fx(p)728 426 y Fk(and)p 878 426 V 33 w(er)83 b FE(:)g(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)p Fx(:)p Fk(pf)24 b FE(\()p Fk(and)h Fx(p)51 b(r)s FE(\))25 b FA(!)g Fk(pf)g Fx(r)728 539 y Fk(impl)p 926 539 V 33 w(i)83 b FE(:)g(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)p Fx(:)p FE(\()p Fk(pf)25 b Fx(p)g FA(!)g Fk(pf)g Fx(r)s FE(\))g FA(!)g Fk(pf)g FE(\()p Fk(impl)f Fx(p)50 b(r)s FE(\))728 652 y Fk(impl)p 926 652 V 33 w(e)83 b FE(:)g(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)p Fx(:)p Fk(pf)24 b FE(\()p Fk(impl)h Fx(p)50 b(r)s FE(\))25 b FA(!)h Fk(pf)e Fx(p)h FA(!)g Fk(pf)g Fx(r)728 765 y Fk(all)p 878 765 V 33 w(i)131 b FE(:)83 b(\005)p Fx(p)10 b FE(:)g Fk(exp)25 b FA(!)g Fk(pred)o Fx(:)p FE(\(\005)p Fx(v)13 b FE(:)d Fk(exp)q Fx(:)p Fk(pf)25 b FE(\()p Fx(p)g(v)s FE(\)\))h FA(!)f Fk(pf)g FE(\()p Fk(all)50 b Fx(p)p FE(\))728 878 y Fk(all)p 878 878 V 33 w(e)131 b FE(:)83 b(\005)p Fx(p)10 b FE(:)g Fk(exp)25 b FA(!)g Fk(pred)o Fx(:)p FE(\005)p Fx(e)10 b FE(:)g Fk(exp)p Fx(:)p Fk(pf)25 b FE(\()p Fk(all)50 b Fx(p)p FE(\))26 b FA(!)f Fk(pf)f FE(\()p Fx(p)i(e)p FE(\))206 1125 y(Figure)k(8:)41 b(The)30 b(LF)g(signature)g(\006)g(\(part)g(3\).)42 b(First-order)30 b(logic)g(pro)s(of)f(constan)m(ts)j(\(see)f(Figure)f(1\).)243 1325 y(=)25 b Fk(id)311 b FE(:)83 b(\005)p Fx(e)10 b FE(:)g Fk(exp)q Fx(:)p Fk(pf)25 b FE(\(=)g Fx(e)g(e)p FE(\))243 1437 y(=)g Fk(sym)263 b FE(:)83 b(\005)p Fx(e)964 1451 y Ft(1)1015 1437 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 1451 y Ft(2)1378 1437 y FE(:)g Fk(exp)p Fx(:)p Fk(pf)25 b FE(\(=)g Fx(e)1876 1451 y Ft(2)1941 1437 y Fx(e)1983 1451 y Ft(1)2023 1437 y FE(\))h FA(!)f Fk(pf)f FE(\(=)i Fx(e)2494 1451 y Ft(1)2559 1437 y Fx(e)2601 1451 y Ft(2)2641 1437 y FE(\))243 1550 y(=)f Fk(tr)311 b FE(:)83 b(\005)p Fx(e)964 1564 y Ft(1)1015 1550 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 1564 y Ft(2)1378 1550 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)1692 1564 y Ft(3)1742 1550 y FE(:)g Fk(exp)p Fx(:)p Fk(pf)25 b FE(\(=)g Fx(e)2240 1564 y Ft(1)2305 1550 y Fx(e)2347 1564 y Ft(2)2387 1550 y FE(\))g FA(!)h Fk(pf)e FE(\(=)i Fx(e)2858 1564 y Ft(2)2923 1550 y Fx(e)2965 1564 y Ft(3)3004 1550 y FE(\))g FA(!)f Fk(pf)g FE(\(=)g Fx(e)3475 1564 y Ft(1)3540 1550 y Fx(e)3582 1564 y Ft(3)3622 1550 y FE(\))243 1663 y(+)p Fk(id)336 b FE(:)83 b(\005)p Fx(e)10 b FE(:)g Fk(exp)q Fx(:)p Fk(pf)25 b FE(\(=)g(\(+)g Fx(e)h FE(0\))g Fx(e)p FE(\))243 1776 y(+)p Fk(com)288 b FE(:)83 b(\005)p Fx(e)964 1790 y Ft(1)1015 1776 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 1790 y Ft(2)1378 1776 y FE(:)g Fk(exp)p Fx(:)p Fk(pf)25 b FE(\(=)g(\(+)g Fx(e)2007 1790 y Ft(1)2072 1776 y Fx(e)2114 1790 y Ft(2)2154 1776 y FE(\))h(\(+)f Fx(e)2388 1790 y Ft(2)2453 1776 y Fx(e)2495 1790 y Ft(1)2535 1776 y FE(\)\))243 1889 y(+)p Fk(inv)288 b FE(:)83 b(\005)p Fx(e)10 b FE(:)g Fk(exp)q Fx(:)p Fk(pf)25 b FE(\(=)g(\()p FA(\000)g Fx(e)h(e)p FE(\))g(0\))243 2002 y(+)p Fk(congr)192 b FE(:)83 b(\005)p Fx(e)964 2016 y Ft(1)1015 2002 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 2016 y Ft(2)1378 2002 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)1692 1969 y Fw(0)1692 2026 y Ft(1)1742 2002 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)2056 1969 y Fw(0)2056 2026 y Ft(2)2106 2002 y FE(:)g Fk(exp)p Fx(:)854 2115 y Fk(pf)25 b FE(\(=)g Fx(e)1148 2129 y Ft(1)1214 2115 y Fx(e)1256 2129 y Ft(2)1295 2115 y FE(\))h FA(!)f Fk(pf)g FE(\(=)g Fx(e)1766 2082 y Fw(0)1766 2139 y Ft(1)1831 2115 y Fx(e)1873 2082 y Fw(0)1873 2139 y Ft(2)1913 2115 y FE(\))g FA(!)h Fk(pf)e FE(\(=)i(\(+)f Fx(e)2515 2129 y Ft(1)2580 2115 y Fx(e)2622 2082 y Fw(0)2622 2139 y Ft(1)2662 2115 y FE(\))g(\(+)h Fx(e)2896 2129 y Ft(2)2961 2115 y Fx(e)3003 2082 y Fw(0)3003 2139 y Ft(2)3042 2115 y FE(\)\))243 2228 y FA(\000)p Fk(congr)192 b FE(:)83 b(\005)p Fx(e)964 2242 y Ft(1)1015 2228 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 2242 y Ft(2)1378 2228 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)1692 2195 y Fw(0)1692 2252 y Ft(1)1742 2228 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)2056 2195 y Fw(0)2056 2252 y Ft(2)2106 2228 y FE(:)g Fk(exp)p Fx(:)854 2341 y Fk(pf)25 b FE(\(=)g Fx(e)1148 2355 y Ft(1)1214 2341 y Fx(e)1256 2355 y Ft(2)1295 2341 y FE(\))h FA(!)f Fk(pf)g FE(\(=)g Fx(e)1766 2308 y Fw(0)1766 2365 y Ft(1)1831 2341 y Fx(e)1873 2308 y Fw(0)1873 2365 y Ft(2)1913 2341 y FE(\))g FA(!)h Fk(pf)e FE(\(=)i(\()p FA(\000)f Fx(e)2515 2355 y Ft(1)2580 2341 y Fx(e)2622 2308 y Fw(0)2622 2365 y Ft(1)2662 2341 y FE(\))g(\()p FA(\000)h Fx(e)2896 2355 y Ft(2)2961 2341 y Fx(e)3003 2308 y Fw(0)3003 2365 y Ft(2)3042 2341 y FE(\)\))243 2454 y(+)p Fk(assoc)192 b FE(:)83 b(\005)p Fx(e)964 2468 y Ft(1)1015 2454 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 2468 y Ft(2)1378 2454 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)1692 2468 y Ft(3)1742 2454 y FE(:)g Fk(exp)p Fx(:)p Fk(pf)25 b FE(\(=)g(\(+)g(\(+)h Fx(e)2503 2468 y Ft(1)2568 2454 y Fx(e)2610 2468 y Ft(2)2649 2454 y FE(\))g Fx(e)2752 2468 y Ft(3)2792 2454 y FE(\))f(\(+)h Fx(e)3026 2468 y Ft(1)3091 2454 y FE(\(+)f Fx(e)3264 2468 y Ft(2)3329 2454 y Fx(e)3371 2468 y Ft(3)3411 2454 y FE(\)\)\))243 2567 y(+)20 b FA(\000)g Fk(assoc)81 b FE(:)i(\005)p Fx(e)964 2581 y Ft(1)1015 2567 y FE(:)10 b Fk(exp)o Fx(:)p FE(\005)p Fx(e)1328 2581 y Ft(2)1378 2567 y FE(:)g Fk(exp)p Fx(:)p FE(\005)p Fx(e)1692 2581 y Ft(3)1742 2567 y FE(:)g Fk(exp)p Fx(:)p Fk(pf)25 b FE(\(=)g(\()p FA(\000)g FE(\(+)h Fx(e)2503 2581 y Ft(1)2568 2567 y Fx(e)2610 2581 y Ft(2)2649 2567 y FE(\))g Fx(e)2752 2581 y Ft(3)2792 2567 y FE(\))f(\(+)h Fx(e)3026 2581 y Ft(1)3091 2567 y FE(\()p FA(\000)f Fx(e)3264 2581 y Ft(2)3329 2567 y Fx(e)3371 2581 y Ft(3)3411 2567 y FE(\)\)\))137 2814 y(Figure)30 b(9:)41 b(The)30 b(LF)h(signature)f(\006)f(\(part)i (4\).)42 b(Application-sp)s(eci\014c)27 b(pro)s(of)j(constan)m(ts)h (\(see)h(Figure)d(2\).)0 3073 y(that)j(it)f(pro)m(v)m(es)h(the)g (desired)e(predicate.)43 b(This)30 b(is)h(p)s(ossible)d(to)33 b(express)e(in)f(the)h(LF)h(t)m(yp)s(e)g(discipline)27 b(b)m(y)k(using)0 3186 y(t)m(yp)s(e)g(families)d(indexed)h(b)m(y)h (terms.)141 3299 y(Th)m(us)f Fk(pf)55 b FE(is)30 b(actually)g(a)h(t)m (yp)s(e)f(family)f(indexed)g(b)m(y)h(LF)g(represen)m(tation)h(of)f (predicates:)1532 3473 y Fk(pf)108 b FE(:)83 b Fk(pred)25 b FA(!)g Fk(Type)0 3646 y FE(F)-8 b(ollo)m(wing)33 b(the)h(mo)s(del)f (of)h(expressions)f(and)g(predicates)h(w)m(e)g(add)f(to)i(the)f (signature)f(\006)h(a)g(constan)m(t)h(for)f(eac)m(h)0 3759 y(pro)s(of)29 b(rule)g(in)g FA(L)p FE(.)40 b(The)29 b(constan)m(ts)j(corresp)s(onding)27 b(to)k(the)f(pro)s(of)g(rules)e (used)h(b)m(y)h(our)g(example)f(are)i(sho)m(wn)e(in)0 3872 y(Figure)h(8)h(\(\014rst-order)e(logic)i(pro)s(of)e(rules\))h(and) f(Figure)h(9)h(\(arithmetic)f(pro)s(of)g(rules\).)141 3985 y(W)-8 b(e)47 b(then)e(extend)g(the)h(represen)m(tation)f (function)g Fj(p)p FA(\001)p Fj(q)h FE(to)g(deriv)-5 b(ations.)84 b(When)46 b(doing)e(so)i(care)g(m)m(ust)0 4098 y(b)s(e)40 b(tak)m(en)i(with)d(h)m(yp)s(othetical)h(and)g(sc)m (hematic)h(judgmen)m(ts,)i(suc)m(h)d(as)h(the)g(implication)d(in)m(tro) s(duction)h(and)0 4211 y(the)g(univ)m(ersal)f(quan)m(ti\014cation)g(in) m(tro)s(duction)g(rules.)66 b(W)-8 b(e)40 b(sho)m(w)f(in)f(Figure)h(11) h(the)f(represen)m(tation)g(of)h(the)0 4324 y(in)m(tro)s(duction)29 b(rules)g(for)h(conjunction,)g(implication)e(and)i(univ)m(ersal)f(quan) m(ti\014cation.)41 b(The)30 b(represen)m(tation)h(of)0 4437 y(the)g(conjunction)e(in)m(tro)s(duction)g(is)g(t)m(ypical)h(for)g (all)f(other)i(rules)e(not)i(sho)m(wn)f(here,)g(including)d(the)k (arithmetic)0 4550 y(pro)s(of)f(rules.)141 4663 y(The)20 b(implication)e(in)m(tro)s(duction)g(rule)h(in)m(tro)s(duces)g(the)i(h) m(yp)s(othesis)e(lab)s(elled)f Fx(u)i FE(for)g(the)h(purp)s(ose)e(of)h (deriving)0 4775 y Fx(P)58 4789 y Ft(2)98 4775 y FE(.)70 b(Chec)m(king)40 b(an)g(instance)f(of)i(this)e(rule)g(sc)m(hema)i(in)m (v)m(olv)m(es)f(v)m(erifying)f(that)h(it)g(disc)m(harges)g(prop)s(erly) e(the)0 4888 y(h)m(yp)s(othesis)21 b Fx(u)p FE(.)38 b(Equiv)-5 b(alen)m(tly)d(,)22 b(the)h(deriv)-5 b(ation)20 b FA(D)1729 4902 y Fz(u)1797 4888 y FE(m)m(ust)i(b)s(e)f(h)m(yp)s(othetical)h(in)f Fx(u)p FE(.)37 b(This)21 b(is)g(expressed)h(naturally)0 5001 y(in)36 b(LF)h(b)m(y)g(represen)m(ting)f(the)h(h)m(yp)s(othesis)f (as)h(a)h(v)-5 b(ariable)35 b(b)s(ound)g(in)h(the)h(deriv)-5 b(ation)36 b FA(D)3155 4968 y Fz(u)3200 5001 y FE(.)60 b(Finally)-8 b(,)38 b(the)f(LF)0 5114 y(represen)m(tation)d(of)g(our)f (logic)h(con)m(tains)g(also)g(the)g(represen)m(tation)g(of)g(the)g (application-sp)s(eci\014c)d(pro)s(of)i(rules.)0 5227 y(Their)26 b(represen)m(tation)h(is)f(straigh)m(tforw)m(ard)h(b)s (ecause)g(they)g(do)g(not)h(in)m(v)m(olv)m(e)f(h)m(yp)s(othetical)g (judgmen)m(ts.)39 b(As)27 b(an)0 5340 y(example)j(w)m(e)h(sho)m(w)f(b)s (elo)m(w)g(the)g(LF)h(represen)m(tation)f(of)h(the)f(symmetry)g(rule)f (for)i(equalit)m(y:)1927 5589 y(9)p eop %%Page: 10 12 10 11 bop 1172 71 a Fj(p)1424 133 y FA(D)1283 278 y Fx(.)25 b(e)1395 292 y Ft(2)1460 278 y FE(=)g Fx(e)1598 292 y Ft(1)p 1252 309 417 4 v 1283 361 a Fx(.)g(e)1395 375 y Ft(1)1460 361 y FE(=)g Fx(e)1598 375 y Ft(2)1704 71 y Fj(q)1774 330 y FE(=)g(=)p 1972 330 29 4 v 60 w Fk(sym)f Fj(p)p Fx(e)2256 344 y Ft(1)2296 330 y Fj(q)i(p)p Fx(e)2454 344 y Ft(2)2494 330 y Fj(q)g(p)p FA(D)s Fj(q)0 589 y FE(Figure)g(10:)39 b(LF)26 b(represen)m(tation)g(\(part)h(4\).)40 b(F)-8 b(ragmen)m(t)28 b(of)e(the)g(application-sp)s(eci\014c)e(rule)h (represen)m(tation)h(\(see)0 702 y(Figure)k(2\).)982 895 y Fj(p)1122 957 y FA(D)1192 971 y Ft(1)1093 1101 y Fx(.)c(P)1222 1115 y Ft(1)1503 957 y FA(D)1573 971 y Ft(2)1473 1101 y Fx(.)g(P)1602 1115 y Ft(2)p 1063 1133 610 4 v 1179 1204 a Fx(.)f(P)1307 1218 y Ft(1)1372 1204 y FA(^)g Fx(P)1516 1218 y Ft(2)1707 895 y Fj(q)1718 1154 y FE(=)g Fk(and)p 1964 1154 29 4 v 33 w(i)g Fj(p)p Fx(P)2167 1168 y Ft(1)2207 1154 y Fj(q)h(p)p Fx(P)2381 1168 y Ft(2)2421 1154 y Fj(q)g(p)p FA(D)2607 1168 y Ft(1)2647 1154 y Fj(q)g(p)p FA(D)2833 1168 y Ft(2)2873 1154 y Fj(q)874 1342 y(p)p 1038 1400 169 4 v 1038 1471 a Fx(.)g(P)1167 1485 y Ft(1)1217 1421 y Fx(u)1028 1583 y FE(.)1028 1617 y(.)1028 1650 y(.)51 b FA(D)1174 1664 y Fz(u)1028 1794 y Fx(.)26 b(P)1157 1808 y Ft(2)p 955 1826 388 4 v 955 1896 a Fx(.)f(P)1083 1910 y Ft(1)1148 1896 y FA(\033)g Fx(P)1302 1910 y Ft(2)1352 1847 y Fx(u)1429 1342 y Fj(q)1439 1847 y FE(=)g Fk(impl)p 1733 1847 29 4 v 34 w(i)g Fj(p)p Fx(P)1937 1861 y Ft(1)1977 1847 y Fj(q)h(p)p Fx(P)2151 1861 y Ft(2)2191 1847 y Fj(q)g FE(\()p Fx(\025u)10 b FE(:)g Fk(pf)25 b Fj(p)p Fx(P)2671 1861 y Ft(1)2711 1847 y Fj(q)p Fx(:)p Fj(p)p FA(D)2899 1809 y Fz(u)2945 1847 y Fj(q)q FE(\))908 2035 y Fj(p)1148 2097 y FA(D)1218 2111 y Fz(v)1019 2241 y Fx(.)h FE([)p Fx(v)s(=x)p FE(])p Fx(P)1342 2255 y Fz(x)p 989 2282 429 4 v 1053 2353 a Fx(.)g FA(8)p Fx(x:P)1310 2367 y Fz(x)1453 2035 y Fj(q)1448 2303 y FE(=)f Fk(all)p 1694 2303 29 4 v 33 w(i)g FE(\()p Fx(\025x)10 b FE(:)g Fk(exp)p Fx(:)p Fj(p)p Fx(P)2251 2317 y Fz(x)2296 2303 y Fj(q)q FE(\))25 b(\()p Fx(\025v)13 b FE(:)d Fk(exp)q Fx(:)p Fj(p)p FA(D)2870 2265 y Fz(v)2911 2303 y Fj(q)p FE(\))0 2581 y(Figure)36 b(11:)55 b(LF)36 b(represen)m(tation)h(\(part)g(3\).)61 b(F)-8 b(ragmen)m(t)38 b(of)f(the)g(\014rst-order)f(logic)h(rule)e (represen)m(tation)i(\(see)0 2693 y(Figure)30 b(1\).)141 2974 y(As)i(an)g(example)f(of)h(a)g(pro)s(of)f(represen)m(tation)h(in)f (LF)h(w)m(e)g(sho)m(w)f(in)g(Figure)g(12)i(the)f(represen)m(tation)g (of)g(the)0 3086 y(pro)s(of)41 b FA(D)i FE(from)e(Figure)g(3)h(of)f (the)g(predicate)g FA(8)p Fx(e)1752 3100 y Ft(1)1792 3086 y Fx(:)p FA(8)p Fx(e)1910 3100 y Ft(2)1949 3086 y Fx(:)p FA(8)p Fx(e)2067 3100 y Ft(3)2107 3086 y Fx(:)p FE(\()p Fx(e)2209 3100 y Ft(1)2293 3086 y FE(=)i Fx(e)2449 3100 y Ft(2)2516 3086 y FE(+)27 b Fx(e)2656 3100 y Ft(3)2696 3086 y FE(\))44 b FA(\033)f FE(\()p Fx(e)2966 3100 y Ft(1)3033 3086 y FA(\000)27 b Fx(e)3173 3100 y Ft(3)3257 3086 y FE(=)43 b Fx(e)3413 3100 y Ft(2)3452 3086 y FE(\).)74 b(The)41 b(LF)0 3199 y(represen)m(tation)27 b(of)g(the)g(pro)s(of)g(is) f(computed)g(as)i Fj(p)p FA(D)s Fj(q)f FE(from)g(the)g(represen)m (tation)g(in)e(tree)j(form.)39 b(Compare)27 b(this)0 3312 y(LF)h(represen)m(tation)g(to)h(the)f(pro)s(of)f(in)g(tree)h(form) g(as)g(sho)m(wn)f(in)g(Figure)g(3.)40 b(The)28 b(only)f(di\013erence)g (is)g(the)h(syn)m(tax)0 3425 y(used)d(to)i(express)e(the)h(pro)s(of)g (and)f(it)g(seems)h(ob)m(vious)g(ho)m(w)g(one)g(could)f(reconstruct)h (the)g(tree)h(form)e(of)i(the)f(pro)s(of)0 3538 y(from)k(the)g(LF)h (represen)m(tation.)141 3651 y(In)g(the)i(next)f(section)g(w)m(e)g(sho) m(w)g(a)g(simple)e(algorithm)h(that)i(can)f(b)s(e)g(used)f(to)h(v)-5 b(alidate)32 b(pro)s(of)f(represen)m(ta-)0 3764 y(tions.)40 b(The)28 b(algorithm)g(is)f(parameterized)i(b)m(y)g(the)g(signature)f (\006)g(and)g(therefore)h(can)h(b)s(e)e(reused)g(for)g(c)m(hec)m(king)0 3877 y(v)-5 b(alidit)m(y)29 b(of)h(deriv)-5 b(ations)29 b(in)g(other)i(logics)f(just)g(b)m(y)g(c)m(hanging)g(the)h(LF)f (represen)m(tation)h(signature.)0 4163 y FB(4)135 b(T)l(yp)t(e)44 b(Chec)l(king)i(in)e(the)i(LF)e(T)l(yp)t(e)g(System)0 4366 y FE(One)26 b(of)h(the)f(adv)-5 b(an)m(tages)28 b(of)f(using)e(LF)h(for)h(pro)s(of)e(represen)m(tation)i(is)e(that)i (pro)s(of)f(v)-5 b(alidit)m(y)25 b(can)i(b)s(e)e(determined)0 4479 y(b)m(y)k(a)g(simple)e(t)m(yp)s(e-c)m(hec)m(king)j(algorithm.)40 b(That)28 b(is,)h(to)h(c)m(hec)m(k)g(that)g(the)f(LF)g(ob)5 b(ject)30 b Fx(M)39 b FE(is)28 b(the)h(represen)m(tation)0 4592 y(of)36 b(a)h(v)-5 b(alid)34 b(pro)s(of)i(of)g(the)g(predicate)g Fx(P)49 b FE(w)m(e)37 b(use)f(the)g(LF)g(t)m(yping)g(rules)e(\(to)j(b)s (e)f(presen)m(ted)g(b)s(elo)m(w\))g(to)h(v)m(erify)0 4705 y(that)31 b Fx(M)40 b FE(has)31 b(t)m(yp)s(e)f Fk(pf)25 b Fj(p)p Fx(P)13 b Fj(q)31 b FE(in)e(the)i(con)m(text)h(of)e(the)h (signature)f(\006)g(de\014ning)e(the)j(v)-5 b(alid)28 b(pro)s(of)i(rules.)141 4818 y(In)41 b(order)g(to)i(de\014ne)e(the)h(t) m(yping)f(rules)f(w)m(e)i(m)m(ust)g(formalize)f(the)h(syn)m(tax)g(of)g (signatures)f(and)g(w)m(e)h(also)0 4931 y(in)m(tro)s(duce)29 b(t)m(yping)h(con)m(texts)i(that)f(assign)f(t)m(yp)s(es)g(to)h(free)g (v)-5 b(ariables:)1034 5127 y(\006)82 b(::=)i FA(\001)76 b(j)g FE(\006)p Fx(;)15 b(a)25 b FE(:)h Fx(K)82 b FA(j)76 b FE(\006)p Fx(;)15 b(c)26 b FE(:)f Fx(A)83 b FE(Signatures)1034 5240 y(\000)91 b(::=)84 b FA(\001)76 b(j)g FE(\000)p Fx(;)15 b(x)25 b FE(:)h Fx(A)569 b FE(Con)m(texts)1905 5589 y(10)p eop %%Page: 11 13 11 12 bop 141 91 a FE(W)-8 b(e)30 b(de\014ne)e(the)h(t)m(yping)g (judgmen)m(t)f(for)h(LF)g(ob)5 b(jects)30 b(in)d(terms)i(of)g(three)g (additional)e(judgmen)m(ts)h(as)i(sho)m(wn)0 204 y(b)s(elo)m(w:)1188 292 y(\000)25 b FA(`)1279 247 y Fy(L)-11 b(F)1386 292 y Fx(M)35 b FE(:)26 b Fx(A)83 b(M)41 b FE(is)29 b(a)i(v)-5 b(alid)28 b(ob)5 b(ject)32 b(of)e(t)m(yp)s(e)h Fx(A)1188 404 y FE(\000)25 b FA(`)1279 359 y Fy(L)-11 b(F)1386 404 y Fx(A)26 b FE(:)f Fx(K)104 b(A)31 b FE(is)e(a)i(v)-5 b(alid)29 b(t)m(yp)s(e)h(of)h(kind)d Fx(K)1188 517 y(A)e FA(\021)1353 531 y Fy(\014)1419 517 y Fx(B)223 b(A)31 b FE(is)e Fx(\014)5 b FE(-equiv)-5 b(alen)m(t)30 b(to)i Fx(B)1188 630 y(M)j FA(\021)1382 644 y Fy(\014)1449 630 y Fx(N)189 b(M)41 b FE(is)29 b Fx(\014)5 b FE(-equiv)-5 b(alen)m(t)30 b(to)h Fx(N)141 790 y FE(The)c(complete)g(LF)h(t)m(yp)s (e-system)g(de\014nes)e(also)h(a)h(t)m(yping)e(judgmen)m(t)h(for)g (kinds.)38 b(W)-8 b(e)28 b(omit)f(this)f(judgmen)m(t)0 902 y(here)32 b(b)s(ecause,)h(for)f(the)h(purp)s(ose)e(of)h(c)m(hec)m (king)h(the)g(v)-5 b(alidit)m(y)31 b(of)h(pro)s(ofs,)g(kinds)f(can)h(b) s(e)g(assumed)g(to)h(b)s(e)f(w)m(ell-)0 1015 y(t)m(yp)s(ed.)61 b(In)37 b(particular)f(the)h(only)g(kinds)e(relev)-5 b(an)m(t)38 b(to)g(c)m(hec)m(king)g(pro)s(ofs)f(are)h(the)f(base)h (kind)e(and)g(the)i(kinds)0 1128 y(asso)s(ciated)28 b(with)e(the)i(t)m (yp)s(e-constan)m(ts)h(in)d(the)i(signature)f(\006,)h(all)e(of)i(whic)m (h)e(can)i(b)s(e)f(trusted)g(to)h(b)s(e)f(w)m(ell-t)m(yp)s(ed.)0 1241 y(F)-8 b(or)34 b(the)f(signature)f(corresp)s(onding)e(to)k(the)f (logic)g FA(L)f FE(these)h(kinds)e(are)i Fk(Type)f FE(and)g Fk(pred)c FA(!)i Fk(Type)n FE(,)k(whic)m(h)e(are)0 1354 y(ob)m(viously)d(w)m(ell-t)m(yp)s(ed.)141 1467 y(W)-8 b(e)37 b(sho)m(w)e(in)f(T)-8 b(able)35 b(1)h(the)g(de\014nition)d(of)j (the)f(judgmen)m(ts)g(in)m(tro)s(duced)f(ab)s(o)m(v)m(e.)57 b(F)-8 b(or)36 b(the)g Fx(\014)5 b FE(-equiv)-5 b(alence)0 1580 y(judgmen)m(t)30 b(w)m(e)h(omit)f(the)h(rules)d(that)j(de\014ne)f (it)g(to)h(b)s(e)f(an)g(equiv)-5 b(alence)30 b(and)g(a)g(congruence.)0 1759 y Fv(T)-7 b(yp)i(es)34 b(:)206 2021 y FE(\006\()p Fx(a)p FE(\))26 b(=)e Fx(K)p 176 2062 450 4 v 198 2153 a FE(\000)h FA(`)289 2104 y Fy(L)-11 b(F)396 2153 y Fx(a)25 b FE(:)h Fx(K)711 2021 y FE(\000)f FA(`)802 1976 y Fy(L)-11 b(F)909 2021 y Fx(A)26 b FE(:)f(\005)p Fx(x)10 b FE(:)g Fx(B)5 b(:K)219 b FE(\000)25 b FA(`)1704 1976 y Fy(L)-11 b(F)1811 2021 y Fx(M)36 b FE(:)25 b Fx(B)p 681 2062 1409 4 v 990 2153 a FE(\000)g FA(`)1081 2104 y Fy(L)-11 b(F)1188 2153 y Fx(A)25 b(M)36 b FE(:)25 b([)p Fx(M)5 b(=x)p FE(])p Fx(K)2175 2021 y FE(\000)25 b FA(`)2266 1976 y Fy(L)-11 b(F)2373 2021 y Fx(A)25 b FE(:)h Fk(Type)211 b FE(\000)p Fx(;)15 b(x)25 b FE(:)h Fx(A)f FA(`)3247 1976 y Fy(L)-11 b(F)3354 2021 y Fx(B)30 b FE(:)25 b Fk(Type)p 2144 2062 1581 4 v 2536 2153 a FE(\000)g FA(`)2627 2104 y Fy(L)-11 b(F)2734 2153 y FE(\005)p Fx(x)10 b FE(:)g Fx(A:B)31 b FE(:)25 b Fk(Type)0 2339 y Fv(Obje)-5 b(cts)32 b(:)964 2509 y FE(\006\()p Fx(c)p FE(\))26 b(=)f Fx(A)p 934 2550 426 4 v 956 2642 a FE(\000)g FA(`)1047 2592 y Fy(L)-11 b(F)1154 2642 y Fx(c)26 b FE(:)f Fx(A)1504 2509 y FE(\000\()p Fx(x)p FE(\))h(=)f Fx(A)p 1474 2550 430 4 v 1492 2642 a FE(\000)g FA(`)1583 2592 y Fy(L)-11 b(F)1690 2642 y Fx(x)25 b FE(:)g Fx(A)2151 2509 y FE(\000)p Fx(;)15 b(x)26 b FE(:)f Fx(A)h FA(`)2479 2464 y Fy(L)-11 b(F)2585 2509 y Fx(M)36 b FE(:)25 b Fx(B)p 2018 2550 949 4 v 2018 2642 a FE(\000)g FA(`)2109 2592 y Fy(L)-11 b(F)2216 2642 y Fx(\025x)10 b FE(:)g Fx(A:M)36 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)713 2871 y FE(\000)26 b FA(`)805 2826 y Fy(L)-11 b(F)911 2871 y Fx(M)36 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)218 b FE(\000)25 b FA(`)1721 2826 y Fy(L)-11 b(F)1828 2871 y Fx(N)35 b FE(:)26 b Fx(A)p 683 2912 1403 4 v 1008 3004 a FE(\000)f FA(`)1099 2954 y Fy(L)-11 b(F)1206 3004 y Fx(M)10 b(N)36 b FE(:)25 b([)p Fx(N)r(=x)p FE(])p Fx(B)2230 2870 y FE(\000)g FA(`)2321 2825 y Fy(L)-11 b(F)2428 2870 y Fx(M)35 b FE(:)26 b Fx(A)212 b(A)26 b FA(\021)3047 2884 y Fy(\014)3113 2870 y Fx(B)p 2200 2912 1018 4 v 2486 3004 a FE(\000)f FA(`)2577 2954 y Fy(L)-11 b(F)2684 3004 y Fx(M)35 b FE(:)25 b Fx(B)0 3152 y Fv(Equivalenc)-5 b(e)32 b(:)p 1460 3244 980 4 v 1460 3320 a FE(\()p Fx(\025x)10 b FE(:)g Fx(A:M)g FE(\))p Fx(N)37 b FA(\021)2052 3334 y Fy(\014)2118 3320 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)978 3552 y FE(T)-8 b(able)30 b(1:)41 b(T)m(yp)s(e)29 b(c)m(hec)m(king)j(in)d(the)h(LF)h(t)m(yp)s(e)f (discipline)141 3764 y(The)23 b(follo)m(wing)f(theorems)i(can)f(b)s(e)g (pro)m(v)m(en)h(using)e(tec)m(hniques)h(whic)m(h)f(are)i(similar)c(to) 25 b(those)f(used)e(in)g([5)q(,)i(13].)0 3877 y(These)k(theorems)h (establish)e(that)i(LF)f(t)m(yp)s(e-c)m(hec)m(king)i(is)d(an)i (adequate)g(pro)s(cedure)f(for)g(c)m(hec)m(king)h(the)g(v)-5 b(alidit)m(y)0 3990 y(of)27 b(LF)g(represen)m(tations)g(of)g(pro)s(ofs) f(in)f FA(L)p FE(.)39 b(As)27 b(men)m(tioned)f(b)s(efore,)i(the)f (adequacy)g(of)g(LF)g(t)m(yp)s(e-c)m(hec)m(king)h(holds)0 4103 y(ev)m(en)39 b(if)d FA(L)i FE(is)f(extended)h(with)e(additional)g (b)s(o)s(olean)h(connectiv)m(es)i(and)e(function)g(sym)m(b)s(ols.)62 b(The)37 b(adequacy)0 4216 y(holds)29 b(ev)m(en)i(for)f(higher-order)f (logics)h([5)q(].)0 4429 y FD(Theorem)k(4.1)46 b(\(Adequacy)35 b(of)g(Expression)h(Represen)m(tation.\))107 4616 y Fv(1.)46 b(If)33 b Fx(e)g Fv(has)g(fr)-5 b(e)g(e)33 b(variables)h(among)g Fx(x)1456 4630 y Ft(1)1495 4616 y Fx(;)15 b(:)g(:)g(:)i(;)e(x)1749 4630 y Fz(n)1796 4616 y Fv(,)32 b(then)h Fx(x)2110 4630 y Ft(1)2175 4616 y FE(:)26 b Fk(exp)o Fx(;)15 b(:)g(:)g(:)h(;)f(x)2622 4630 y Fz(n)2695 4616 y FE(:)25 b Fk(exp)g FA(`)2923 4571 y Fy(L)-11 b(F)3030 4616 y Fj(p)p Fx(e)p Fj(q)26 b FE(:)g Fk(exp)o Fv(.)107 4804 y(2.)46 b(If)33 b Fx(M)43 b Fv(is)33 b(an)g(LF)h(obje)-5 b(ct)33 b(such)g(that)h Fx(x)1535 4818 y Ft(1)1600 4804 y FE(:)26 b Fk(exp)p Fx(;)15 b(:)g(:)g(:)h(;)f(x)2048 4818 y Fz(n)2121 4804 y FE(:)26 b Fk(exp)f FA(`)2350 4759 y Fy(L)-11 b(F)2458 4804 y Fx(M)36 b FE(:)26 b Fk(exp)o Fv(,)33 b(then)g(exists)h(an)f (expr)-5 b(ession)35 b Fx(e)227 4917 y Fv(with)f(fr)-5 b(e)g(e)33 b(variables)g(among)h Fx(x)1320 4931 y Ft(1)1359 4917 y Fx(;)15 b(:)g(:)g(:)i(;)e(x)1613 4931 y Fz(n)1693 4917 y Fv(such)33 b(that)h Fj(p)p Fx(e)p Fj(q)26 b FA(\021)2315 4931 y Fy(\014)2381 4917 y Fx(M)10 b Fv(.)0 5129 y FD(Theorem)34 b(4.2)46 b(\(Adequacy)35 b(of)g(Predicate)h(Represen)m(tation.\))107 5317 y Fv(1.)46 b(If)33 b Fx(P)45 b Fv(has)34 b(fr)-5 b(e)g(e)33 b(variables)g(among)h Fx(x)1484 5331 y Ft(1)1524 5317 y Fx(;)15 b(:)g(:)g(:)h(;)f(x)1777 5331 y Fz(n)1825 5317 y Fv(,)32 b(then)h Fx(x)2139 5331 y Ft(1)2204 5317 y FE(:)25 b Fk(exp)o Fx(;)15 b(:)g(:)g(:)i(;)e(x)2651 5331 y Fz(n)2724 5317 y FE(:)25 b Fk(exp)g FA(`)2952 5272 y Fy(L)-11 b(F)3058 5317 y Fj(p)p Fx(P)13 b Fj(q)27 b FE(:)e Fk(pred)o Fv(.)1905 5589 y FE(11)p eop %%Page: 12 14 12 13 bop 107 91 a Fv(2.)46 b(If)26 b Fx(M)37 b Fv(is)26 b(an)h(LF)f(obje)-5 b(ct)27 b(such)f(that)i Fx(x)1482 105 y Ft(1)1547 91 y FE(:)d Fk(exp)o Fx(;)15 b(:)g(:)g(:)i(;)e(x)1994 105 y Fz(n)2066 91 y FE(:)26 b Fk(exp)e FA(`)2294 46 y Fy(L)-11 b(F)2401 91 y Fx(M)36 b FE(:)25 b Fk(pred)o Fv(,)i(then)g(ther)-5 b(e)27 b(exists)g(a)g(pr)-5 b(e)g(dic)g(ate)227 204 y Fx(P)46 b Fv(with)33 b(fr)-5 b(e)g(e)33 b(variables)h(among)g Fx(x)1424 218 y Ft(1)1463 204 y Fx(;)15 b(:)g(:)g(:)i(;)e(x)1717 218 y Fz(n)1796 204 y Fv(such)33 b(that)h Fj(p)p Fx(P)13 b Fj(q)26 b FA(\021)2447 218 y Fy(\014)2514 204 y Fx(M)10 b Fv(.)0 417 y FD(Theorem)34 b(4.3)46 b(\(Adequacy)35 b(of)g(Deriv)-6 b(ation)36 b(Represen)m(tation.\))107 604 y Fv(1.)46 b(If)d FA(D)k FE(::)90 b Fx(.)45 b FA(P)51 b Fv(is)43 b(a)g(derivation)i(of)e Fx(P)57 b Fv(with)44 b(p)-5 b(ar)g(ameters)46 b Fx(v)2392 618 y Fz(i)2463 604 y Fv(\()p Fx(i)f FE(=)f(1)p Fx(;)15 b(:)g(:)g(:)j(;)d(n)p Fv(\))43 b(and)h(fr)-5 b(om)44 b(hyp)-5 b(otheses)227 717 y Fx(u)279 731 y Fz(j)341 717 y FE(::)51 b Fx(.)26 b(P)571 731 y Fz(j)640 717 y Fv(\()p Fx(j)31 b FE(=)25 b(1)p Fx(;)15 b(:)g(:)g(:)i(;)e(m)p Fv(\))33 b(then)g Fx(v)1484 731 y Fz(i)1538 717 y FE(:)25 b Fk(exp)p Fx(;)15 b(u)1824 731 y Fz(j)1886 717 y FE(:)25 b Fk(pf)g Fj(p)p Fx(P)2160 731 y Fz(j)2197 717 y Fj(q)h FA(`)2277 672 y Fy(L)-11 b(F)2384 717 y Fj(p)p FA(D)s Fj(q)26 b FE(:)f Fk(pf)g Fj(p)p Fx(P)13 b Fj(q)p Fv(.)107 905 y(2.)46 b(If)40 b Fx(M)51 b Fv(is)40 b(an)h(LF)g(obje)-5 b(ct)40 b(such)h(that)g Fx(v)1586 919 y Fz(i)1654 905 y FE(:)e Fk(exp)p Fx(;)15 b(u)1954 919 y Fz(j)2030 905 y FE(:)39 b Fk(pf)g Fj(p)p Fx(P)2332 919 y Fz(j)2369 905 y Fj(q)h FA(`)2463 860 y Fy(L)-11 b(F)2584 905 y Fx(M)49 b FE(:)40 b Fk(pf)f Fj(p)p Fx(P)13 b Fj(q)p Fv(,)43 b(then)e(ther)-5 b(e)41 b(exists)g(a)227 1018 y(derivation)d FA(D)d FE(::)65 b Fx(.)33 b FA(P)44 b Fv(of)36 b Fx(P)50 b Fv(with)37 b(p)-5 b(ar)g(ameters)40 b Fx(v)1999 1032 y Fz(i)2063 1018 y Fv(\()p Fx(i)33 b FE(=)f(1)p Fx(;)15 b(:)g(:)g(:)i(;)e(n)p Fv(\))37 b(and)g(fr)-5 b(om)38 b(hyp)-5 b(otheses)39 b Fx(u)3544 1032 y Fz(j)3612 1018 y FE(::)65 b Fx(.)33 b(P)3863 1032 y Fz(j)227 1131 y Fv(\()p Fx(j)e FE(=)25 b(1)p Fx(;)15 b(:)g(:)g(:)i(;)e(m)p Fv(\))33 b(such)g(that)h Fj(p)p FA(D)s Fj(q)26 b FA(\021)1478 1145 y Fy(\014)1544 1131 y Fx(M)10 b Fv(.)141 1343 y FE(The)22 b(reason)h(for)g(the)g (asymmetry)g(in)e(the)i(statemen)m(t)i(of)e(the)g(adequacy)h(theorems)f (ab)s(o)m(v)m(e)h(is)e(that)h(while)e(the)0 1456 y(represen)m(tation)26 b(of)g(an)g(expression,)g(predicate)g(or)g(deriv)-5 b(ation)25 b(is)g(alw)m(a)m(ys)i(a)f(w)m(ell-t)m(yp)s(ed)f(LF)h(ob)5 b(ject)27 b(\(p)s(oin)m(t)f(1)g(in)0 1569 y(the)d(theorems)h(ab)s(o)m (v)m(e\))g(not)f(ev)m(ery)h(w)m(ell-t)m(yp)s(ed)e(LF)h(ob)5 b(ject)24 b(is)e(the)h(represen)m(tation)h(of)f(an)g(expression,)g (predicate)0 1682 y(or)35 b(deriv)-5 b(ation)34 b(ev)m(en)i(though)e (it)h(has)g(the)g(appropriate)f(t)m(yp)s(e.)56 b(The)34 b(reason)h(is)g(that)g(the)h(LF)f(represen)m(tation)0 1795 y(function)44 b(only)h(pro)s(duces)f(ob)5 b(jects)46 b(that)g(do)f(not)h(con)m(tain)f Fx(\014)5 b FE(-redices)46 b(\(canonical)f(ob)5 b(jects\).)87 b(In)44 b(fact)j(the)0 1908 y(adequacy)26 b(pro)s(ofs)e(in)h([5,)h(13)q(])f(in)m(tro)s(duce)g (\014rst)f(the)i(notion)f(of)g(canonical)g(LF)h(ob)5 b(jects)26 b(and)f(then)g(pro)m(v)m(e)h(that)g Fj(p)p FA(\001)q Fj(q)0 2021 y FE(is)i(a)i(bijectiv)m(e)f(function.)39 b(Those)29 b(results)f(can)h(b)s(e)g(used)f(to)i(obtain)f(pro)s(ofs)f (of)h(the)g(ab)s(o)m(v)m(e)i(adequacy)f(theorems)0 2134 y(b)m(y)g(in)m(tro)s(ducing)e(a)j(normalization)e(judgmen)m(t)h(that)h (can)g(b)s(e)f(sho)m(wn)f(to)i(preserv)m(e)g Fx(\014)5 b FE(-equiv)-5 b(alence.)1905 5589 y(12)p eop %%Page: 13 15 13 14 bop 0 450 a Fi(all_i)42 b(\()p Fp(\025e)393 462 y Fo(1)473 450 y Fi(:)h(exp.)349 550 y(all)f(\()p Fp(\025e)654 562 y Fo(2)735 550 y Fi(:)h(exp.)610 649 y(all)g(\()p Fp(\025e)916 661 y Fo(3)996 649 y Fi(:)g(exp.)828 749 y(=>)g(\(=)g Fp(e)1129 761 y Fo(1)1166 749 y Fi(\(+)f Fp(e)1335 761 y Fo(2)1416 749 y Fp(e)1455 761 y Fo(3)1492 749 y Fi(\)\))959 849 y(\(=)h(\(-)f Fp(e)1259 861 y Fo(1)1340 849 y Fp(e)1379 861 y Fo(3)1416 849 y Fi(\))h Fp(e)1542 861 y Fo(2)1579 849 y Fi(\)\)\)\))262 948 y(\()p Fp(\025e)393 960 y Fo(1)473 948 y Fi(:)g(exp)349 1048 y(all_i)e(\()p Fp(\025e)741 1060 y Fo(2)822 1048 y Fi(:)i(exp.)654 1147 y(all)f(\()p Fp(\025e)959 1159 y Fo(3)1040 1147 y Fi(:)h(exp.)872 1247 y(=>)f(\(=)h Fp(e)1172 1259 y Fo(1)1209 1247 y Fi(\(+)g Fp(e)1379 1259 y Fo(2)1459 1247 y Fp(e)1498 1259 y Fo(3)1535 1247 y Fi(\)\))1002 1347 y(\(=)g(\(-)g Fp(e)1303 1359 y Fo(1)1383 1347 y Fp(e)1422 1359 y Fo(3)1459 1347 y Fi(\))h Fp(e)1586 1359 y Fo(2)1622 1347 y Fi(\)\)\))610 1446 y(\()p Fp(\025e)741 1458 y Fo(2)822 1446 y Fi(:)f(exp)697 1546 y(all_i)f(\()p Fp(\025e)1090 1558 y Fo(3)1170 1546 y Fi(:)i(exp.)1002 1646 y(=>)f(\(=)g Fp(e)1303 1658 y Fo(1)1340 1646 y Fi(\(+)g Fp(e)1510 1658 y Fo(2)1590 1646 y Fp(e)1629 1658 y Fo(3)1666 1646 y Fi(\)\))1133 1745 y(\(=)g(\(-)g Fp(e)1434 1757 y Fo(1)1514 1745 y Fp(e)1553 1757 y Fo(3)1590 1745 y Fi(\))g Fp(e)1716 1757 y Fo(2)1753 1745 y Fi(\)\))959 1845 y(\()p Fp(\025e)1090 1857 y Fo(3)1170 1845 y Fi(:)h(exp)1046 1944 y(\(impl_i)d(\(=)i Fp(e)1565 1956 y Fo(1)1601 1944 y Fi(\(+)g Fp(e)1771 1956 y Fo(2)1852 1944 y Fp(e)1891 1956 y Fo(3)1928 1944 y Fi(\)\))1395 2044 y(\(=)g(\(-)f Fp(e)1695 2056 y Fo(1)1776 2044 y Fp(e)1815 2056 y Fo(3)1852 2044 y Fi(\))h Fp(e)1978 2056 y Fo(2)2015 2044 y Fi(\))1526 2144 y(\()p Fp(\025u)g Fi(:)g(pf)g(\(=)f Fp(e)2096 2156 y Fo(1)2133 2144 y Fi(\(+)h Fp(e)2303 2156 y Fo(2)2383 2144 y Fp(e)2422 2156 y Fo(3)2459 2144 y Fi(\)\).)1613 2243 y(\(=tr)f(\(-)g Fp(e)2000 2255 y Fo(1)2081 2243 y Fp(e)2120 2255 y Fo(3)2157 2243 y Fi(\))1831 2343 y(\(-)g(\(+)h Fp(e)2131 2355 y Fo(2)2212 2343 y Fp(e)2251 2355 y Fo(3)2288 2343 y Fi(\))g Fp(e)2414 2355 y Fo(3)2451 2343 y Fi(\))1831 2443 y Fp(e)1870 2455 y Fo(2)1831 2542 y Fi(\(-congr)d Fp(e)2218 2554 y Fo(1)2179 2642 y Fi(\(+)j Fp(e)2349 2654 y Fo(2)2430 2642 y Fp(e)2469 2654 y Fo(3)2505 2642 y Fi(\))2179 2741 y Fp(e)2218 2753 y Fo(3)2179 2841 y Fp(e)2218 2853 y Fo(3)2179 2941 y Fp(u)2179 3040 y Fi(\(=id)f Fp(e)2436 3052 y Fo(3)2473 3040 y Fi(\)\))1787 3140 y(\(=tr)g(\(-)h(\(+)f Fp(e)2305 3152 y Fo(2)2386 3140 y Fp(e)2425 3152 y Fo(3)2462 3140 y Fi(\))h Fp(e)2588 3152 y Fo(3)2625 3140 y Fi(\))2005 3240 y(\(+)g Fp(e)2175 3252 y Fo(2)2255 3240 y Fi(\(-)g Fp(e)2425 3252 y Fo(3)2505 3240 y Fp(e)2544 3252 y Fo(3)2581 3240 y Fi(\)\))2005 3339 y Fp(e)2044 3351 y Fo(2)2005 3439 y Fi(\(+-assoc)d Fp(e)2436 3451 y Fo(2)2397 3538 y Fp(e)2436 3550 y Fo(3)2397 3638 y Fp(e)2436 3650 y Fo(3)2473 3638 y Fi(\))2005 3738 y(\(=tr)i(\(+)h Fp(e)2393 3750 y Fo(2)2473 3738 y Fi(\(-)g Fp(e)2643 3750 y Fo(3)2723 3738 y Fp(e)2762 3750 y Fo(3)2799 3738 y Fi(\)\))2223 3837 y(\(+)g Fp(e)2393 3849 y Fo(2)2473 3837 y Fi(0\))2223 3937 y Fp(e)2262 3949 y Fo(2)2223 4037 y Fi(\(+congr)e Fp(e)2611 4049 y Fo(2)2572 4136 y Fp(e)2611 4148 y Fo(2)2572 4236 y Fi(\(-)h Fp(e)2741 4248 y Fo(3)2822 4236 y Fp(e)2861 4248 y Fo(3)2898 4236 y Fi(\))2572 4335 y(0)2572 4435 y(\(=id)g Fp(e)2829 4447 y Fo(2)2865 4435 y Fi(\))2572 4535 y(\(+inv)f Fp(e)2872 4547 y Fo(3)2909 4535 y Fi(\)\))2179 4634 y(\(+id)h Fp(e)2436 4646 y Fo(2)2473 4634 y Fi(\)\)\)\)\)\)\)\)\)) 719 5030 y FE(Figure)30 b(12:)41 b(LF)31 b(represen)m(tation)f(of)h (the)g(pro)s(of)e(sho)m(wn)h(in)f(Figure)h(3.)1905 5589 y(13)p eop %%Page: 14 16 14 15 bop 0 91 a FB(5)135 b(The)44 b(Implicit)i(LF)e(Represen)l(tation) 0 294 y FE(The)27 b(LF)h(represen)m(tation)g(and)f(t)m(yp)s(e-c)m(hec)m (king)i(algorithm)d(presen)m(ted)i(in)e(the)i(previous)e(section)i(are) g(adequate)0 407 y(for)c(the)h(represen)m(tation)f(and)g(v)-5 b(alidation)23 b(of)h(pro)s(ofs.)38 b(Ho)m(w)m(ev)m(er)27 b(the)d(pro)s(of)g(represen)m(tations)g(are)h(unnecessarily)0 520 y(large.)40 b(This)25 b(is)i(apparen)m(t)g(in)f(the)h(pro)s(of)g (represen)m(tation)g(of)h(Figure)e(12,)j(where,)f(for)f(example,)h(the) f(expression)0 633 y Fx(e)42 647 y Ft(2)120 633 y FE(o)s(ccurs)37 b(23)i(times,)h(and)d(it)g(b)s(ecomes)i(ev)m(en)f(more)g(pronounced)f (in)g(larger)g(examples.)63 b(The)38 b(redundancy)0 746 y(in)d(the)i(LF)f(represen)m(tation)g(is)g(no)g(larger)g(than)g(the)h (redundancy)d(in)h(the)i(original)d(pro)s(of)i(of)g(Figure)g(3,)j(but)0 859 y(nev)m(ertheless)30 b(w)m(e)h(w)m(ould)e(prefer)h(to)h(manipulate) e(smaller)g(pro)s(ofs.)141 972 y(The)d(size)h(of)g(pro)s(ofs,)g(in)e (general,)j(is)e(an)g(imp)s(ortan)m(t)g(factor)i(in)d(an)m(y)i (application)f(that)h(manipulates)e(pro)s(ofs)0 1085 y(explicitly)-8 b(,)48 b(but)c(the)i(redundancy)e(of)h(represen)m (tation)h(in)e(particular,)k(has)d(imp)s(ortan)m(t)g(consequences)h (for)0 1198 y(the)37 b(e\016ciency)g(of)g(pro)s(of)g(c)m(hec)m(king.)61 b(Consider)35 b(an)i(instance)g(of)g(a)g(Pro)s(of-Carrying)f(Co)s(de)g (where)h(the)g(co)s(de)0 1310 y(consumer)e(desires)f(to)i(c)m(hec)m(k)g (that)g(the)g(un)m(trusted)e(safet)m(y)i(pro)s(of)f(\(for)g(example,)h (the)g(one)f(from)g(Figure)g(12\))0 1423 y(enclosed)d(with)g(the)h(co)s (de)g(pro)m(v)m(es)g(a)g(certain)g(predicate.)48 b(In)32 b(suc)m(h)g(a)h(situation)f(ev)m(ery)h(subterm)f(of)h(the)g(pro)s(of)0 1536 y(represen)m(tation)25 b(m)m(ust)g(b)s(e)g(t)m(yp)s(e-c)m(hec)m(k) m(ed.)41 b(This)24 b(means)h(that)h(eac)m(h)g(of)f(the)h(23)g(o)s (ccurrences)f(of)g(the)h(LF)f(term)g Fx(e)3860 1550 y Ft(2)0 1649 y FE(m)m(ust)e(b)s(e)g(t)m(yp)s(e-c)m(hec)m(k)m(ed)j (separately)-8 b(.)39 b(Moreo)m(v)m(er,)27 b(follo)m(wing)22 b(eac)m(h)j(of)e(the)h(t)m(yp)s(e-c)m(hec)m(king)h(op)s(erations)d(the) i(term)0 1762 y(m)m(ust)h(b)s(e)f(compared)h(with)f(the)h(instance)g (of)g(itself)f(con)m(tained)h(in)f(the)h(predicate)g(to)g(b)s(e)g(pro)m (v)m(en,)h(to)g(ensure)e(that)0 1875 y(ev)m(ery)33 b(sub)s(deriv)-5 b(ation)30 b(pro)m(v)m(es)j(the)g(desired)e(predicate.)48 b(Therefore)32 b(the)h(redundancy)e(in)g(the)i(represen)m(tation)0 1988 y(increases)d(the)h(amoun)m(t)f(of)h(required)e(c)m(hec)m(ks)i (and)f(therefore)h(can)g(lead)f(to)h(ine\016cien)m(t)e(pro)s(of)h(v)-5 b(alidation.)141 2151 y(W)d(e)32 b(address)e(the)h(problem)e(of)i(pro)s (of)f(size)h(at)g(its)f(source.)42 b(W)-8 b(e)32 b(eliminate)e(the)h (redundancy)e(in)g(the)i(repre-)0 2264 y(sen)m(tation)g(b)m(y)f (omitting)g(redundan)m(t)f(copies)i(and)e(main)m(taining)g(only)h(one)g (cop)m(y)-8 b(.)42 b(It)31 b(is)f(a)g(go)s(o)s(d)h(idea)f(to)h(try)f (to)0 2376 y(preserv)m(e)i(only)f(the)i(cop)m(y)f(con)m(tained)h(in)d (the)i(pro)m(v)m(ed)h(predicate,)f(if)f(suc)m(h)h(a)g(cop)m(y)h (exists.)45 b(This)30 b(is)i(motiv)-5 b(ated)0 2489 y(b)m(y)30 b(the)h(fact)g(that)g(the)g(pro)m(v)m(ed)f(predicate,)h(and)f(all)f(of) h(its)g(subterms,)g(can)g(b)s(e)g(trusted)g(to)h(b)s(e)f(w)m (ell-formed.)141 2602 y(During)d(t)m(yp)s(e-c)m(hec)m(king)j(w)m(e)e (reconstruct)h(the)f(missing)f(copies)h(from)f(the)i(subterms)e(of)h (the)h(pro)m(v)m(en)f(predi-)0 2715 y(cate.)41 b(This)25 b(addresses)h(not)g(only)g(the)h(pro)s(of)f(size)g(problem)f(but)h (also)g(reduces)g(drastically)f(the)i(e\013ort)g(in)m(v)m(olv)m(ed)0 2828 y(in)f(pro)s(of)h(v)-5 b(alidation.)38 b(The)27 b(reason)h(is)e(that)i(the)g(reconstruction)f(algorithm)g(is)f (designed)g(so)i(that)g(whenev)m(er)g(a)0 2941 y(missing)g(cop)m(y)i (of)g(a)g(subterm)f(is)g(reconstructed)h(w)m(e)g(kno)m(w)g(that)g(the)g (resulting)e(term)i(is)f(w)m(ell-t)m(yp)s(ed,)g(without)0 3054 y(ha)m(ving)35 b(to)i(t)m(yp)s(ec)m(hec)m(k)g(it.)57 b(Similarly)31 b(the)36 b(equiv)-5 b(alence)35 b(c)m(hec)m(k)j(do)s(es) d(not)h(normally)e(ha)m(v)m(e)j(to)f(b)s(e)f(p)s(erformed)0 3167 y(b)s(ecause)30 b(of)h(the)f(prop)s(erties)f(of)i(reconstruction.) 141 3280 y(The)j(algorithm)g(that)h(w)m(e)g(presen)m(t)f(in)f(this)h (section)g(is)g(able)g(to)h(analyze)g(the)g(term)f(sho)m(wn)g(in)f (Figure)h(13)0 3393 y(and)d(c)m(hec)m(k)j(that)e(it)g(represen)m(ts)f (the)h(implicit)d(form)j(of)g(a)g(v)-5 b(alid)30 b(pro)s(of)h(of)h(the) g(predicate)g(sho)m(wn)f(in)g(Figure)g(3.)0 3506 y(Compare)22 b(this)f(implicit)d(represen)m(tation)k(with)f(the)h(full)e(LF)i (represen)m(tation)g(of)g(a)g(pro)s(of)g(of)g(the)g(same)g(predicate)0 3618 y(sho)m(wn)30 b(in)f(Figure)h(12.)141 3781 y(Before)g(w)m(e)g (plunge)e(in)m(to)h(the)g(formal)g(details)f(of)h(the)h(t)m(yp)s(e)f (reconstruction)g(w)m(e)g(sho)m(w)g(ho)m(w)h(the)f(algorithm)0 3894 y(w)m(orks)e(on)f(a)i(simple)c(example.)39 b(F)-8 b(or)28 b(the)f(purp)s(ose)e(of)i(this)f(example)g(consider)g(a)h(new)f (kind)f(of)i(ob)5 b(ject,)29 b(called)d(a)0 4007 y(placeholder,)f (written)e(as)i FA(\003)g FE(and)f(marking)f(a)i(missing)e(LF)h(ob)5 b(ject.)40 b(Consider)23 b(no)m(w)h(the)h(pro)s(of)f(of)g(the)h (predicate)0 4120 y Fx(P)49 b FA(\033)35 b Fx(P)49 b FA(^)35 b Fx(P)13 b FE(.)60 b(If)36 b(w)m(e)h(apply)f(the)h(LF)f (represen)m(tation)h(algorithm)f(presen)m(ted)g(in)g(the)h(previous)e (section,)j(w)m(e)0 4233 y(obtain:)759 4346 y Fk(impl)p 957 4346 29 4 v 33 w(i)25 b Fj(p)p Fx(P)13 b Fj(q)26 b FE(\()p Fk(and)f Fj(p)p Fx(P)13 b Fj(q)26 b(p)p Fx(P)13 b Fj(q)p FE(\))27 b(\()p Fx(\025u)10 b FE(:)g Fk(pf)25 b Fj(p)p Fx(P)13 b Fj(q)p Fx(:)p Fk(and)p 2500 4346 V 35 w(i)25 b Fj(p)p Fx(P)13 b Fj(q)26 b(p)p Fx(P)13 b Fj(q)26 b Fx(u)g(u)p FE(\))643 b(\(1\))141 4513 y(The)24 b(redundancy)g(of)h(the)g(represen)m(tation)f(is)g(manifested)g (through)g(the)h(presence)g(of)g(6)g(copies)g(of)g(the)g(term)0 4626 y Fj(p)p Fx(P)13 b Fj(q)p FE(,)39 b(whic)m(h)c(can)h(b)s(e)g(a)h (sizeable)e(term)i(in)d(general.)59 b(It)36 b(is)f(easy)i(to)g(c)m(hec) m(k)h(the)f(t)m(yp)s(e)f(of)g(the)h(represen)m(tation)0 4738 y(ab)s(o)m(v)m(e)c(to)g(b)s(e)f Fk(pf)c FE(\()p Fk(impl)g Fj(p)p Fx(P)13 b Fj(q)29 b FE(\()p Fk(and)f Fj(p)p Fx(P)13 b Fj(q)29 b(p)p Fx(P)13 b Fj(q)p FE(\)\).)48 b(W)-8 b(e)34 b(are)e(going)h(to)g(replace)f(all)f(o)s(ccurrences)h(of) h Fj(p)p Fx(P)13 b Fj(q)33 b FE(in)e(the)0 4851 y(represen)m(tation)j (of)f(the)h(pro)s(of)f(b)m(y)h(placeholders)e(and)h(then)g(sho)m(w)g (ho)m(w)h(t)m(yp)s(e-reconstruction)g(w)m(orks)f(for)h(the)0 4964 y(resulting)28 b(ob)5 b(ject.)141 5077 y(The)30 b(implicit)d(represen)m(tation)k(of)f(the)h(considered)e(pro)s(of)h (is:)1225 5281 y Fk(impl)p 1423 5281 V 33 w(i)25 b FA(\003)1568 5295 y Ft(1)1633 5281 y FA(\003)1678 5295 y Ft(2)1744 5281 y FE(\()p Fx(\025u)10 b FE(:)g FA(\003)1974 5295 y Ft(3)2014 5281 y Fx(:)p Fk(and)p 2189 5281 V 34 w(i)25 b FA(\003)2335 5295 y Ft(4)2400 5281 y FA(\003)2445 5295 y Ft(5)2510 5281 y Fx(u)h(u)p FE(\))1109 b(\(2\))1905 5589 y(14)p eop %%Page: 15 17 15 16 bop 0 150 a Fi(all_i)42 b(*)262 250 y(\()p Fp(\025e)393 262 y Fo(1)473 250 y Fi(:)h(*)349 350 y(all_i)e(*)610 449 y(\()p Fp(\025e)741 461 y Fo(2)822 449 y Fi(:)i(*)697 549 y(all_i)f(*)959 648 y(\()p Fp(\025e)1090 660 y Fo(3)1170 648 y Fi(:)i(*)1046 748 y(\(impl_i)d(*)i(*)1395 848 y(\()p Fp(\025u)g Fi(:)g(*.)1482 947 y(\(=tr)f(*)h(*)g(*)1700 1047 y(\(-congr)e(*)i(*)g(*)g(*)2049 1147 y Fp(u)2049 1246 y Fi(\(=id)e(*\)\))1700 1346 y(\(=tr)h(*)h(*)g(*)1874 1446 y(\(+-assoc)d(*)k(*)f(*\))1874 1545 y(\(=tr)f(*)h(*)g(*)2092 1645 y(\(+congr)e(*)i(*)g(*)g(*)2441 1744 y(\(=id)f(*\))2441 1844 y(\(+inv)f(*\)\))2049 1944 y(\(+id)g(*\)\)\)\)\)\)\)\)\))549 2339 y FE(Figure)29 b(13:)42 b(Implicit)28 b(LF)i(represen)m(tation)h (of)f(the)h(pro)s(of)f(sho)m(wn)f(in)g(Figure)h(3.)0 2597 y(where)39 b FA(\003)317 2611 y Fz(i)384 2597 y FE(are)h(5)f(placeholders,)h(whic)m(h)e(are)h(lab)s(elled)e(for)h (demonstration)h(purp)s(oses.)65 b(W)-8 b(e)40 b(claim)e(that)i(the)0 2710 y(ab)s(o)m(v)m(e)32 b(LF)f(term)f(captures)h(the)g(essence)g(of)g (the)g(pro)s(of.)40 b(The)30 b(remaining)f(parts)h(of)h(the)g(pro)s(of) f(represen)m(tation)0 2823 y(can)h(b)s(e)e(reco)m(v)m(ered)j(while)d(v) m(erifying)g(that)i(the)f(the)h(term)f(has)g(t)m(yp)s(e)h Fk(pf)25 b FE(\()p Fk(impl)f Fj(p)p Fx(P)13 b Fj(q)26 b FE(\()p Fk(and)f Fj(p)p Fx(P)13 b Fj(q)26 b(p)p Fx(P)13 b Fj(q)p FE(\)\).)141 2935 y(T)m(yp)s(ec)m(hec)m(king)39 b(starts)g(b)m(y)f(recognizing)g(the)g(top-lev)m(el)h(constructor)g Fk(impl)p 2827 2935 29 4 v 33 w(i)p FE(.)65 b(The)37 b(t)m(yp)s(e)i(of)f(the)h(en)m(tire)0 3048 y(term,)32 b Fk(pf)26 b FE(\()p Fk(impl)g Fj(p)p Fx(P)13 b Fj(q)28 b FE(\()p Fk(and)e Fj(p)p Fx(P)13 b Fj(q)27 b(p)p Fx(P)13 b Fj(q)p FE(\)\),)34 b(is)c(\\matc)m(hed")j(against)e(the)h(result)e(t) m(yp)s(e)h(of)h(the)f Fk(impl)p 3432 3048 V 33 w(i)g FE(constan)m(t,)0 3161 y(as)f(giv)m(en)h(b)m(y)f(the)g(signature)f (\006.)41 b(The)29 b(result)g(of)i(this)e(matc)m(hing)h(is)f(an)h (instan)m(tiation)f(for)h(placeholders)f(1)i(and)0 3274 y(2)g(and)f(a)g(residual)e(t)m(yp)s(e-c)m(hec)m(king)k(constrain)m(t)f (for)f(the)g(explicit)f(argumen)m(t)i(of)f Fk(impl)p 2990 3274 V 34 w(i)p FE(:)869 3447 y FA(\003)914 3461 y Ft(1)1883 3447 y FA(\021)83 b Fj(p)p Fx(P)13 b Fj(q)869 3560 y FA(\003)914 3574 y Ft(2)1883 3560 y FA(\021)83 b Fk(and)24 b Fj(p)p Fx(P)13 b Fj(q)27 b(p)p Fx(P)13 b Fj(q)730 3673 y FA(`)83 b FE(\()p Fx(\025u)10 b FE(:)g FA(\003)1099 3687 y Ft(3)1139 3673 y Fx(:)p Fk(and)p 1314 3673 V 34 w(i)25 b FA(\003)1460 3687 y Ft(4)1525 3673 y FA(\003)1570 3687 y Ft(5)1636 3673 y Fx(u)g(u)p FE(\))106 b(:)g Fk(pf)25 b Fj(p)p Fx(P)13 b Fj(q)26 b FA(!)f Fk(pf)g FE(\()p Fk(and)f Fj(p)p Fx(P)13 b Fj(q)27 b(p)p Fx(P)13 b Fj(q)p FE(\))141 3844 y(No)m(w)29 b(w)m(e)g(con)m(tin)m (ue)f(with)f(the)h(remaining)e(t)m(yp)s(e-c)m(hec)m(king)k(constrain)m (t.)40 b(F)-8 b(rom)29 b(its)e(desired)g(t)m(yp)s(e)h(w)m(e)h(imme-)0 3957 y(diately)h(obtain)f(the)i(v)-5 b(alue)30 b(of)g(placeholder)f(3)i (and)f(a)h(t)m(yping)e(constrain)m(t)i(for)f(the)h(b)s(o)s(dy:)1464 4127 y FA(\003)1509 4141 y Ft(3)2147 4127 y FA(\021)83 b Fk(pf)25 b Fj(p)p Fx(P)13 b Fj(q)890 4240 y Fx(u)25 b FE(:)h Fk(pf)e Fj(p)p Fx(P)13 b Fj(q)27 b FA(`)82 b Fk(and)p 1614 4240 V 34 w(i)25 b FA(\003)1760 4254 y Ft(4)1825 4240 y FA(\003)1870 4254 y Ft(5)1935 4240 y Fx(u)g(u)106 b FE(:)g Fk(pf)25 b FE(\()p Fk(and)g Fj(p)p Fx(P)13 b Fj(q)26 b(p)p Fx(P)13 b Fj(q)p FE(\))141 4411 y(No)m(w)31 b(w)m(e)g(notice)f(that)h Fk(and)p 1096 4411 V 33 w(i)f FE(is)f(the)h(top-lev)m(el)h(constan)m(t)g(and)f(b)m(y)g (matc)m(hing)g(its)f(result)g(t)m(yp)s(e)i(declared)e(in)0 4524 y(the)g(signature)f(with)g(the)g(goal)i(t)m(yp)s(e)f(w)m(e)g(get)h (the)f(instan)m(tiation)f(for)g(placeholders)f(4)j(and)e(5)h(and)f(t)m (w)m(o)i(residual)0 4637 y(t)m(yping)g(constrain)m(ts:)1935 4742 y FA(\003)1980 4756 y Ft(4)2103 4742 y FA(\021)83 b Fj(p)p Fx(P)13 b Fj(q)1935 4855 y FA(\003)1980 4869 y Ft(5)2103 4855 y FA(\021)83 b Fj(p)p Fx(P)13 b Fj(q)1361 4968 y Fx(u)25 b FE(:)h Fk(pf)e Fj(p)p Fx(P)13 b Fj(q)26 b FA(`)83 b Fx(u)139 b FE(:)106 b Fk(pf)24 b Fj(p)p Fx(P)13 b Fj(q)1361 5081 y Fx(u)25 b FE(:)h Fk(pf)e Fj(p)p Fx(P)13 b Fj(q)26 b FA(`)83 b Fx(u)139 b FE(:)106 b Fk(pf)24 b Fj(p)p Fx(P)13 b Fj(q)141 5227 y FE(The)32 b(remaining)f(t)m(w)m(o)j (t)m(yp)s(ec)m(hec)m(king)g(constrain)m(ts)f(are)g(solv)m(ed)f(b)m(y)h (the)g(v)-5 b(ariable)32 b(t)m(yp)s(ec)m(hec)m(king)h(rule,)g(and)0 5340 y(this)28 b(concludes)h(t)m(yp)s(ec)m(hec)m(king)h(the)g(en)m (tire)f(pro)s(of.)40 b(W)-8 b(e)30 b(reconstructed)g(the)f(full)e (represen)m(tation)j(of)f(the)h(pro)s(of)1905 5589 y(15)p eop %%Page: 16 18 16 17 bop 0 91 a FE(b)m(y)25 b(instan)m(tiating)g(all)f(the)i (placeholders)e(with)g(w)m(ell-t)m(yp)s(ed)h(LF)g(ob)5 b(jects.)40 b(W)-8 b(e)27 b(kno)m(w)e(that)h(these)g(instan)m(tiations) 0 204 y(are)38 b(w)m(ell-t)m(yp)s(ed)f(b)s(ecause)h(they)g(are)g (ultimately)f(extracted)i(from)e(the)h(original)e(constrain)m(t)i(t)m (yp)s(e,)i(whic)m(h)d(is)0 317 y(assumed)30 b(to)h(con)m(tain)f(only)g (w)m(ell-t)m(yp)s(ed)f(subterms.)141 480 y(Starting)g(with)f(the)i (next)f(section)h(w)m(e)g(de\014ne)e(a)i(t)m(yp)s(e-system,)h(called)d (LF)2734 494 y Fz(i)2763 480 y FE(,)h(whic)m(h)g(is)f(v)m(ery)i (similar)d(to)j(the)0 593 y(LF)35 b(t)m(yp)s(e-system)g(but)f(allo)m (ws)g(for)g(placeholders.)52 b(Ho)m(w)m(ev)m(er,)38 b(the)d(LF)2488 607 y Fz(i)2551 593 y FE(t)m(yp)s(e-system)g(is)f(not)g(v)m(ery)h (useful)e(for)0 706 y(t)m(yp)s(ec)m(hec)m(king)38 b(or)f(t)m(yp)s(e)h (reconstruction.)60 b(F)-8 b(or)38 b(this)e(purp)s(ose)f(w)m(e)j (describ)s(e)e(in)f(Section)i(6)h(a)f(reconstruction)0 819 y(algorithm)29 b(for)i(LF)670 833 y Fz(i)698 819 y FE(.)0 1062 y Fs(5.1)112 b(The)38 b(LF)621 1077 y Fz(i)687 1062 y Fs(T)m(yp)s(e-System)0 1234 y FE(W)-8 b(e)30 b(extend)f(the)g (syn)m(tax)g(of)g(LF)g(ob)5 b(jects)29 b(with)f(placeholders,)g (written)g FA(\003)p FE(.)40 b(An)28 b(ob)5 b(ject)30 b(is)e(fully)e(reconstructed,)0 1347 y(or)31 b(fully)e(explicit,)h (when)g(it)g(is)h(placeholder-free.)42 b(W)-8 b(e)32 b(write)e(PF)q(\()p Fx(M)10 b FE(\))31 b(to)h(denote)g(this)e(prop)s (ert)m(y)-8 b(.)43 b(W)-8 b(e)32 b(extend)0 1459 y(this)24 b(notation)h(to)h(t)m(yp)s(e)f(en)m(vironmen)m(ts)g(and)f(w)m(e)i (write)e(PF\(\000\))i(to)g(denote)f(that)h(all)e(the)h(t)m(yp)s(es)g (assigned)g(in)e(\000)i(to)0 1572 y(v)-5 b(ariables)33 b(are)h(placeholder-free.)50 b(W)-8 b(e)36 b(also)d(in)m(tro)s(duce)g (the)h(implicitly)d(t)m(yp)s(ed)i(abstraction,)i(written)e Fx(\025x:M)10 b FE(,)0 1685 y(at)31 b(the)g(lev)m(el)f(of)g(ob)5 b(jects.)141 1798 y(W)-8 b(e)38 b(call)f(the)g(resulting)e(system)i(of) h(terms)f(and)f(t)m(yp)s(es)h(implicit)d(LF)j(and)g(w)m(e)g(refer)g(to) h(it)e(b)m(y)h(LF)3629 1812 y Fz(i)3658 1798 y FE(.)60 b(The)0 1911 y(t)m(yping)32 b(rules)g(of)h(LF)728 1925 y Fz(i)789 1911 y FE(are)g(an)g(extension)g(of)g(the)g(LF)g(t)m(yping)f (rules)g(with)f(t)m(w)m(o)j(new)f(t)m(yping)f(rules)g(for)g(dealing)0 2024 y(with)i(implicit)f(abstraction)j(and)f(placeholders,)g(and)g(one) h(new)f Fx(\014)5 b FE(-equiv)-5 b(alence)36 b(rule)e(dealing)h(with)f (implicit)0 2137 y(abstraction.)40 b(These)29 b(additions)f(are)h(sho)m (wn)g(in)f(Figure)g(14.)41 b(The)29 b(LF)2439 2151 y Fz(i)2497 2137 y FE(t)m(yping)f(judgmen)m(t)h(is)f(written)h(\000)c FA(`)3687 2092 y Fy(i)3751 2137 y Fx(M)36 b FE(:)0 2250 y Fx(A)p FE(.)0 2413 y Fv(Obje)-5 b(cts)32 b(:)711 2583 y FE(\006\()p Fx(c)p FE(\))26 b(=)f Fx(A)p 681 2624 426 4 v 721 2715 a FE(\000)g FA(`)819 2665 y Fy(i)884 2715 y Fx(c)g FE(:)h Fx(A)1251 2583 y FE(\000\()p Fx(x)p FE(\))g(=)f Fx(A)p 1221 2624 430 4 v 1256 2715 a FE(\000)g FA(`)1354 2665 y Fy(i)1419 2715 y Fx(x)g FE(:)h Fx(A)1795 2583 y FE(\000)f FA(`)1893 2538 y Fy(i)1958 2583 y Fx(M)35 b FE(:)26 b Fx(A)212 b(A)26 b FA(\021)2577 2597 y Fy(\014)2643 2583 y Fx(B)217 b FE(PF\()p Fx(A)p FE(\))p 1765 2624 1455 4 v 2287 2715 a(\000)25 b FA(`)2385 2665 y Fy(i)2450 2715 y Fx(M)35 b FE(:)26 b Fx(B)1113 2944 y FE(\000)p Fx(;)15 b(x)25 b FE(:)h Fx(A)f FA(`)1447 2899 y Fy(i)1512 2944 y Fx(M)35 b FE(:)26 b Fx(B)p 1036 2984 800 4 v 1036 3075 a FE(\000)g FA(`)1135 3025 y Fy(i)1199 3075 y Fx(\025x:M)36 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)2084 2944 y FE(\000)p Fx(;)15 b(x)25 b FE(:)h Fx(A)f FA(`)2418 2899 y Fy(i)2483 2944 y Fx(M)35 b FE(:)26 b Fx(B)p 1950 2984 914 4 v 1950 3075 a FE(\000)f FA(`)2048 3025 y Fy(i)2113 3075 y Fx(\025x)10 b FE(:)g Fx(A:M)37 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)121 3304 y FE(\000)25 b FA(`)219 3259 y Fy(i)284 3304 y Fx(M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)217 b FE(\000)25 b FA(`)1100 3259 y Fy(i)1165 3304 y Fx(N)35 b FE(:)26 b Fx(A)212 b FE(PF\()p Fx(A)p FE(\))p 91 3345 1805 4 v 622 3435 a(\000)25 b FA(`)720 3386 y Fy(i)785 3435 y Fx(M)35 b(N)g FE(:)26 b([)p Fx(N)r(=x)p FE(])p Fx(B)2036 3304 y FE(\000)f FA(`)2134 3259 y Fy(i)2199 3304 y Fx(M)35 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)218 b FE(\000)25 b FA(`)3015 3259 y Fy(i)3080 3304 y Fx(N)35 b FE(:)26 b Fx(A)212 b FE(PF\()p Fx(A)p FE(\))p 2005 3345 V 2555 3435 a(\000)25 b FA(`)2653 3386 y Fy(i)2718 3435 y Fx(M)36 b FA(\003)25 b FE(:)h([)p Fx(N)r(=x)p FE(])p Fx(B)0 3583 y Fv(Equivalenc)-5 b(e)32 b(:)p 972 3676 980 4 v 972 3752 a FE(\()p Fx(\025x)10 b FE(:)g Fx(A:M)g FE(\))p Fx(N)37 b FA(\021)1564 3766 y Fy(\014)1630 3752 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)p 2062 3676 867 4 v 122 w FE(\()p Fx(\025x:M)10 b FE(\))p Fx(N)36 b FA(\021)2540 3766 y Fy(\014)2607 3752 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)852 3984 y FE(Figure)30 b(14:)42 b(The)29 b(LF)1598 3998 y Fz(i)1657 3984 y FE(t)m(yp)s(e-system)i(as)g(an)f(extension)g (of)h(LF.)141 4214 y(Note)j(that)f(according)f(to)h(the)g(LF)1361 4228 y Fz(i)1421 4214 y FE(t)m(yp)s(e-system)g(placeholders)e(cannot)i (o)s(ccur)g(on)f(a)h(function)e(p)s(osition.)0 4327 y(This)g (restriction)h(is)g(consisten)m(t)i(with)d(the)i(previous)f(example)h (and)f(is)g(essen)m(tial)h(for)g(the)g(correctness)h(of)f(the)0 4440 y(reconstruction)39 b(algorithm.)68 b(Also)40 b(note)g(that)g(w)m (e)g(restrict)g(the)g(t)m(yp)s(es)g(to)g(b)s(e)f(placeholder-free)g(in) g(sev)m(eral)0 4553 y(rules.)53 b(This)33 b(restriction)h(simpli\014es) e(greatly)j(the)g(pro)s(ofs)f(of)h(soundness)f(and)g(do)s(es)h(not)g (seem)g(to)h(get)g(in)e(the)0 4666 y(w)m(a)m(y)d(when)f(v)-5 b(alidating)28 b(implicit)g(represen)m(tation)i(of)h(pro)s(ofs.)141 4779 y(A)j(quic)m(k)e(analysis)g(of)i(the)f(LF)1212 4793 y Fz(i)1274 4779 y FE(t)m(yp)s(e-system)h(rev)m(eals)f(that)h(it)f(is)f (not)i(v)m(ery)g(useful)d(for)i(t)m(yp)s(e-c)m(hec)m(king)i(or)0 4891 y(t)m(yp)s(e-inference.)i(The)21 b(main)f(reason)h(is)f(that)i(t)m (yp)s(ec)m(hec)m(king)g(an)f(application)f(in)m(v)m(olv)m(es)h (\\guessing")g(appropriate)0 5004 y Fx(A)31 b FE(and)f Fx(N)10 b FE(.)43 b(The)30 b(t)m(yp)s(e)i Fx(A)f FE(can)g(sometimes)g (b)s(e)f(reco)m(v)m(ered)j(from)d(the)i(t)m(yp)s(e)f(of)g(the)g (application)e(head,)i(but)g(the)0 5117 y(term)d Fx(N)38 b FE(in)27 b(an)g(application)g(to)h(a)h(placeholder)d(cannot)j(b)s(e)e (found)g(easily)g(in)g(general.)40 b(This)26 b(is)h(not)h(a)h(problem)0 5230 y(for)35 b(us)g(b)s(ecause)g(w)m(e)h(are)f(going)g(to)h(use)f(the) h(LF)1705 5244 y Fz(i)1768 5230 y FE(t)m(yp)s(e-system)g(just)f(as)g(a) h(step)f(in)f(pro)m(ving)h(the)g(correctness)1905 5589 y(16)p eop %%Page: 17 19 17 18 bop 0 91 a FE(of)41 b(the)g(t)m(yp)s(e-reconstruction)f (algorithm)g(presen)m(ted)g(in)g(the)g(next)h(section,)j(and)c(not)h (as)f(the)h(basis)f(for)g(an)0 204 y(implemen)m(tation)29 b(of)i(a)f(t)m(yp)s(ec)m(hec)m(king)i(algorithm.)141 317 y(The)g(only)g(prop)s(ert)m(y)g(of)h(in)m(terest)f(of)h(the)g(LF) 1721 331 y Fz(i)1782 317 y FE(t)m(yp)s(e-system)g(is)f(that)h(once)g(w) m(e)g(ha)m(v)m(e)h(a)f(t)m(yping)f(deriv)-5 b(ation)0 430 y(w)m(e)37 b(can)f(reconstruct)h(the)g(ob)5 b(ject)37 b(in)m(v)m(olv)m(ed)f(and)g(a)g(corresp)s(onding)e(LF)j(t)m (yping-deriv)-5 b(ation.)57 b(T)-8 b(o)37 b(mak)m(e)g(this)0 543 y(more)27 b(precise)f(w)m(e)i(in)m(tro)s(duce)e(the)h(notation)g Fx(M)35 b FA(\045)26 b Fx(M)1902 510 y Fw(0)1952 543 y FE(to)i(denote)f(that)h Fx(M)2641 510 y Fw(0)2691 543 y FE(is)e(a)h(fully-reconstructed)e(v)m(ersion)0 656 y(of)40 b(the)g(implicit)d(ob)5 b(ject)40 b Fx(M)50 b FE(\(i.e.,)43 b(PF\()p Fx(M)1517 623 y Fw(0)1541 656 y FE(\)\).)69 b(This)38 b(means)i(that)g(all)f(the)h(placeholders)e(in) h Fx(M)50 b FE(ha)m(v)m(e)41 b(b)s(een)0 769 y(replaced)30 b(b)m(y)g(fully-explicit)d(LF)j(ob)5 b(jects)32 b(and)d(similarly)e (all)j(the)g(implicit)e(abstractions)i(ha)m(v)m(e)i(b)s(een)d(replaced) 0 882 y(b)m(y)i(explicit)f(abstractions.)45 b(Note)32 b(that)h(the)e(reconstruction)g(relation)g(is)g(not)h(a)g(function)e (as)i(there)f(migh)m(t)h(b)s(e)0 995 y(man)m(y)e(reconstructions)g(of)h (a)g(giv)m(en)f(implicit)d(ob)5 b(ject)32 b(or)e(t)m(yp)s(e.)0 1174 y FD(Theorem)k(5.1)46 b(Soundness)36 b(of)e(LF)1378 1188 y Fz(i)1441 1174 y FD(t)m(yping)f Fv(If)f FE(\000)25 b FA(`)1957 1129 y Fy(i)2022 1174 y Fx(M)35 b FE(:)26 b Fx(A)32 b Fv(and)h FE(PF)q(\(\000\))p Fv(,)f FE(PF)q(\()p Fx(A)p FE(\))p Fv(,)h(then)g(ther)-5 b(e)33 b(exists)g Fx(M)3877 1141 y Fw(0)0 1287 y Fv(such)g(that)h Fx(M)h FA(\045)25 b Fx(M)730 1254 y Fw(0)786 1287 y Fv(and)34 b FE(\000)25 b FA(`)1054 1242 y Fy(L)-11 b(F)1161 1287 y Fx(M)1259 1254 y Fw(0)1307 1287 y FE(:)26 b Fx(A)p Fv(.)141 1467 y FE(The)k(pro)s(of)g(of)g(Theorem)g(5.1)i(is)d(sho)m(wn) h(in)f(Section)h(8.6.)141 1580 y(T)-8 b(o)22 b(giv)m(e)g(an)g(example)f (of)h(a)g(situation)e(where)h(Theorem)g(5.1)i(is)e(used)f(consider)h (that)h(w)m(e)g(ha)m(v)m(e)h(constructed|)0 1693 y(using)28 b(the)h(algorithm)f(presen)m(ted)h(in)f(the)h(next)g(section)g(for)g (example|a)g(t)m(yping)g(deriv)-5 b(ation)27 b FA(\001)f(`)3379 1648 y Fy(i)3444 1693 y Fx(M)35 b FE(:)25 b Fk(pf)g Fj(p)p Fx(P)13 b Fj(q)0 1806 y FE(for)41 b(some)g(predicate)f Fx(P)54 b FE(and)40 b(a)h(term)g Fx(M)51 b FE(p)s(ossibly)38 b(con)m(taining)i(placeholders.)70 b(Then)40 b(Theorem)h(5.1)g(sa)m(ys) 0 1919 y(that)c(there)f(exists)f(an)h(LF)g(term)g Fx(M)1302 1886 y Fw(0)1361 1919 y FE(suc)m(h)g(that)h FA(\001)d(`)1843 1874 y Fy(L)-11 b(F)1960 1919 y Fx(M)2058 1886 y Fw(0)2116 1919 y FE(:)34 b Fk(pf)g Fj(p)p Fx(P)13 b Fj(q)p FE(,)39 b(or)d(equiv)-5 b(alen)m(tly)34 b(that)j(there)f(exists)g(a)0 2032 y(pro)s(of)e(of)i(the)f(predicate)g Fx(P)13 b FE(.)54 b(Theorem)35 b(5.1)h(reduces)f(the)g(problem)f(of)h(c)m(hec)m(king)h(a) f(pro)s(of)g(to)g(\014nding)e(a)j(LF)3872 2046 y Fz(i)0 2145 y FE(t)m(yping-deriv)-5 b(ation)29 b(for)h(the)h(implicit)c(pro)s (of-represen)m(tation)j Fx(M)10 b FE(.)0 2426 y FB(6)135 b(An)44 b(Algorithm)i(for)f(LF)1447 2444 y Fp(i)1524 2426 y FB(T)l(yp)t(e)f(Reconstruction)0 2629 y FE(The)31 b(LF)304 2643 y Fz(i)363 2629 y FE(t)m(yp)s(e-system)h(presen)m(ted)f (in)f(the)h(previous)f(section)h(has)g(the)h(b)s(ene\014t)e(that)i(can) f(deal)g(with)f(implicit)0 2742 y(LF)k(terms.)50 b(Ho)m(w)m(ev)m(er)35 b(this)d(t)m(yp)s(e-system)j(do)s(es)e(not)g(immediately)f(suggest)i(a) g(t)m(yp)s(e-c)m(hec)m(king)h(algorithm,)f(as)0 2855 y(explained)c(b)s(efore.)45 b(W)-8 b(e)33 b(sho)m(w)f(in)f(this)f (section)i(an)g(algorithm)f(that)i(can)f(b)s(e)f(used)g(to)i(t)m(yp)s (ec)m(hec)m(k)h(LF)3592 2869 y Fz(i)3652 2855 y FE(terms,)0 2967 y(or)c(more)h(precisely)e(to)i(reconstruct)g(and)e(t)m(yp)s(ec)m (hec)m(k)k(LF)2010 2981 y Fz(i)2068 2967 y FE(terms.)141 3080 y(W)-8 b(e)41 b(start)g(with)d(in)m(tro)s(ducing)g(some)j (notation)f(and)f(then)h(w)m(e)g(presen)m(t)g(the)g(algorithm)f(at)i (an)f(abstract)0 3193 y(lev)m(el,)30 b(in)f(terms)i(of)f(inference)g (rules,)f(and)h(w)m(e)h(deal)e(with)h(actual)g(implemen)m(tation)f (issues)g(in)g(Section)i(10.)0 3432 y Fs(6.1)112 b(Notation)0 3603 y FE(In)20 b(addition)g(to)i(the)f(placeholder)f(constan)m(ts)i (in)m(tro)s(duced)e(in)f(the)j(previous)d(section)j(w)m(e)f(in)m(tro)s (duce)f(a)i(new)e(brand)0 3716 y(of)28 b(v)-5 b(ariables.)38 b(These)27 b(v)-5 b(ariables)26 b(pla)m(y)h(similar)e(role)i(to)h(that) g(of)g(placeholders)e(in)g(that)i(they)g(stand)f(for)g(missing)0 3829 y(terms.)39 b(W)-8 b(e)26 b(shall)e(use)g(the)i(letters)f Fx(x)g FE(and)f Fx(y)k FE(to)e(denote)g(traditional)d(LF)i(v)-5 b(ariables)24 b(and)h(the)g(letter)g Fx(u)h FE(to)f(denote)0 3942 y(a)g(placeholder)f(v)-5 b(ariable.)38 b(Also,)26 b(w)m(e)f(use)g(the)g(letter)g(\001)g(to)h(denote)f(a)g(t)m(yp)s(e)h (en)m(vironmen)m(t)e(con)m(taining)h(only)f(t)m(yp)s(e)0 4055 y(assignmen)m(ts)33 b(for)f(placeholder)g(v)-5 b(ariables.)47 b(The)33 b(letter)g(\000)g(will)d(denote)j(t)m(yp)s(e)h(en)m(vironmen)m (ts)e(con)m(taining)h(an)m(y)0 4168 y(kind)28 b(of)i(v)-5 b(ariables.)39 b(In)30 b(the)g(sp)s(ecial)e(case)j(when)e(an)h(LF)g(ob) 5 b(ject)31 b Fx(M)40 b FE(do)s(es)29 b(not)h(con)m(tain)h(placeholder) d(v)-5 b(ariables)0 4281 y(w)m(e)31 b(write)e(PVF)q(\()p Fx(M)10 b FE(\).)41 b(Note)32 b(that)f(placeholder)e(v)-5 b(ariables)29 b(alw)m(a)m(ys)i(o)s(ccur)f(free.)141 4394 y(W)-8 b(e)34 b(extend)f(this)e(notation)i(and)f(w)m(e)h(write)f (PVF\(\000\(FV)r(\()p Fx(M)10 b FE(\)\)\))34 b(to)g(mean)e(that)i(the)e (t)m(yp)s(es)h(asso)s(ciated)g(b)m(y)0 4507 y(\000)d(to)h(the)g(free)f (v)-5 b(ariables)29 b(of)i Fx(M)40 b FE(do)31 b(not)f(con)m(tain)h (placeholder)e(v)-5 b(ariables.)141 4658 y(The)41 b(main)g(op)s (eration)g(on)h(placeholder)e(v)-5 b(ariables)40 b(is)h(substitution)e (with)i(LF)g(terms.)75 b(W)-8 b(e)43 b(de\014ne)e(the)0 4771 y(syn)m(tactic)31 b(class)f(of)h(substitutions)d(\011)i(as)h (follo)m(ws:)1220 4943 y(\011)82 b(::=)i FA(\001)76 b(j)g Fx(u)25 b FA( )g Fx(M)93 b FE(Substitutions)141 5114 y(W)-8 b(e)41 b(denote)g(b)m(y)e(\011\()p Fx(M)10 b FE(\))41 b(the)f(term)g(obtained)f(b)m(y)h(p)s(erforming)d(the)k(substitution)c (\011)j(on)f Fx(M)10 b FE(.)70 b(W)-8 b(e)41 b(write)0 5227 y Fv(Dom)7 b FE(\(\011\))39 b(to)g(refer)f(to)h(the)g(set)f(of)h (placeholder)e(v)-5 b(ariables)37 b(on)h(whic)m(h)f(\011)h(is)f (de\014ned.)63 b(W)-8 b(e)40 b(write)d(PF)q(\(\011\))h(to)0 5340 y(mean)30 b(that)h(all)f(the)g(terms)h(substituted)d(for)i (placeholder)f(v)-5 b(ariables)29 b(are)i(placeholder-free.)1905 5589 y(17)p eop %%Page: 18 20 18 19 bop 141 91 a FE(W)-8 b(e)33 b(write)f(\011)p FA(j)630 105 y Fz(S)722 91 y FE(to)h(denote)g(the)f(substitution)e(obtained)h (from)h(\011)f(b)m(y)h(restricting)f(it)h(to)h(the)f(set)g(of)h(place-) 0 204 y(holder)c(v)-5 b(ariables)29 b Fx(S)5 b FE(.)141 367 y(One)21 b(of)h(the)g(k)m(ey)h(op)s(erations)e(p)s(erformed)f(b)m (y)i(the)g(reconstruction)f(algorithm)g(is)g(to)h(compute)g (substitutions)0 480 y(through)45 b(uni\014cation)e(of)j(terms)g(or)f (t)m(yp)s(es.)86 b(F)-8 b(or)46 b(a)g(more)g(precise)f(presen)m(tation) g(w)m(e)h(use)g(t)m(w)m(o)h(\015a)m(v)m(ors)f(of)0 593 y(uni\014cation)20 b(sho)m(wn)i(b)s(elo)m(w)f(as)h(uni\014cation)f(of)h (terms.)38 b(The)22 b(same)g(notation)g(is)g(used)f(for)h(expressing)f (uni\014cation)0 706 y(of)31 b(t)m(yp)s(es.)1234 811 y Fx(M)k FA(\031)1428 825 y Fz(a)1495 811 y Fx(M)1593 778 y Fw(0)1641 811 y FA(\))25 b FE(\011)83 b(A)m(tomic)31 b(Uni\014cation)1234 924 y Fx(M)k FA(\031)25 b Fx(M)1551 891 y Fw(0)1600 924 y FA(\))g FE(\011)124 b(Uni\014cation)141 1083 y(The)24 b(last)f(syn)m(tactic)i(construct)g(that)f(w)m(e)h(in)m (tro)s(duce)d(is)h(a)i(list)d(of)j(t)m(yp)s(e)f(reconstruction)f (constrain)m(ts)h(de\014ned)0 1196 y(as)31 b(follo)m(ws:)1201 1309 y Fx(C)90 b FE(::=)83 b FA(\001)76 b(j)g Fx(C)q(;)15 b(M)36 b FE(:)26 b Fx(A)75 b FA(j)i Fx(C)q(;)15 b(A)26 b FA(\031)2559 1323 y Fz(a)2625 1309 y Fx(B)141 1476 y FE(The)34 b(reconstruction)f(algorithm)h(is)f(describ)s(ed)f(b)m(y)i (the)g(t)m(w)m(o)h(uni\014cation)e(judgmen)m(ts)g(in)m(tro)s(duced)g (ab)s(o)m(v)m(e)0 1588 y(and)d(three)g(additional)f(m)m(utually)f (recursiv)m(e)i(judgmen)m(ts)g(sho)m(wn)g(b)s(elo)m(w:)883 1785 y(\000)25 b FA(`)981 1740 y Fy(r)1046 1785 y Fx(M)35 b FE(:)26 b Fx(A)f FA(\))g FE(\011)311 b(Main)30 b(reconstruction)g (judgmen)m(t)883 1898 y(\000)25 b FA(`)981 1853 y Fy(r)1046 1898 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)26 b Fx(B)5 b FE(\))82 b(Collect)30 b(constrain)m(ts)883 2011 y(\000)25 b FA(`)981 1966 y Fy(r)1046 2011 y Fx(C)32 b FA(\))25 b FE(\011)481 b(Solv)m(e)31 b(constrain)m(ts)141 2207 y(W)-8 b(e)32 b(con)m(tin)m(ue)f(no)m(w)f(with)g(the)g (de\014nition)f(of)h(the)h(\014v)m(e)g(judgmen)m(ts)f(in)m(tro)s(duced) f(ab)s(o)m(v)m(e.)42 b(The)31 b(collection)f(of)0 2320 y(these)h(inference)e(rules)g(constitute)i(an)f(abstract)i(description) c(of)j(the)f(reconstruction)g(algorithm.)0 2564 y Fs(6.2)112 b(Collecting)35 b(T)m(yp)s(ec)m(hec)m(king)i(Constrain)m(ts)g(:)50 b FG(\000)27 b Fh(`)2282 2515 y Fy(r)2350 2564 y Fg(M)38 b Fh(\))28 b FG(\(\001)g(;)f Fg(C)35 b FG(;)28 b Fg(B)5 b FG(\))0 2735 y FE(This)34 b(judgmen)m(t)h(is)f(used)h(for)g(atomic)h (ob)5 b(jects)36 b Fx(M)10 b FE(,)37 b(whic)m(h)d(are)i(constan)m(ts)h (or)e(v)-5 b(ariables)34 b(applied)g(to)i(zero)g(or)0 2848 y(more)27 b(canonical)f(ob)5 b(jects.)40 b(A)27 b(canonical)g(ob)5 b(ject)27 b(is)f(a)h(sequence)g(of)g(abstractions)g (with)e(an)i(atomic)g(b)s(o)s(dy)-8 b(.)38 b(The)0 2961 y(ob)5 b(ject)30 b Fx(M)39 b FE(is)28 b(scanned)g(to)i(\014nd)d(the)j (application)d(head,)i(whose)g(t)m(yp)s(e)g(is)f(read)h(from)f(the)i (signature)e(\006)g(or)h(from)0 3074 y(the)j(v)-5 b(ariable)30 b(t)m(yp)s(e)h(en)m(vironmen)m(t)g(\000.)44 b(Then)31 b(all)f(argumen)m(ts)i(are)f(collected)h(in)e(the)i(residual)d(t)m(yp)s (e)j(constrain)m(t)0 3187 y(list)22 b Fx(C)30 b FE(together)24 b(with)e(their)g(t)m(yp)s(e.)39 b(Placeholder)22 b(v)-5 b(ariables)22 b(are)i(in)m(tro)s(duced)d(for)i(eac)m(h)i(placeholder)d (argumen)m(ts)0 3300 y(and)32 b(are)h(collected)g(in)e(\001)h(with)f (their)h(t)m(yp)s(e.)47 b(The)32 b(resulting)e(t)m(yp)s(e)j Fx(B)k FE(is)31 b(the)i(t)m(yp)s(e)g(of)f(the)h(whole)f(application)0 3413 y(and)27 b(migh)m(t)f(con)m(tain)i(placeholder)e(v)-5 b(ariables)25 b(from)i(\001.)39 b(Similarly)-8 b(,)25 b(the)i(t)m(yp)s(es)h(in)d(the)j(constrain)m(t)f(list)f Fx(C)33 b FE(migh)m(t)0 3526 y(con)m(tain)27 b(placeholders)e(v)-5 b(ariables)25 b(from)i(\001.)39 b(Note)28 b(that)f(no)g(placeholders)e (can)i(o)s(ccur)f(in)g(t)m(yp)s(es)g(b)s(ecause)h(of)g(the)0 3639 y(side-condition)h(on)j(the)f(rule)f(p)s(ertaining)f(to)j(the)g (application)e(to)i(a)g(placeholder.)p 1094 3844 793 4 v 1094 3923 a(\000)25 b FA(`)1192 3873 y Fy(r)1257 3923 y Fx(c)h FA(\))f FE(\()p FA(\001)h FE(;)f FA(\001)h FE(;)f(\006\()p Fx(c)p FE(\)\))p 1997 3844 809 4 v 112 w(\000)g FA(`)2095 3873 y Fy(r)2160 3923 y Fx(x)g FA(\))g FE(\()p FA(\001)h FE(;)g FA(\001)f FE(;)h(\000\()p Fx(x)p FE(\)\))137 4152 y(\000)f FA(`)235 4107 y Fy(r)300 4152 y Fx(M)35 b FA(\))26 b FE(\(\001)f(;)g Fx(C)32 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fx(x)25 b FA(2)g FE(FV)r(\()p Fx(B)5 b FE(\))25 b FA(\033)g FE(\(PF)q(\()p Fx(N)10 b FE(\))25 b Fv(and)36 b FE(PVF)q(\()p Fx(A)p FE(\))26 b Fv(and)35 b FE(PVF)q(\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\)\))p 107 4193 3687 4 v 1230 4272 a(\000)26 b FA(`)1329 4222 y Fy(r)1393 4272 y Fx(M)36 b(N)f FA(\))25 b FE(\(\001)g(;)h Fx(C)q(;)15 b(N)36 b FE(:)25 b Fx(A)h FE(;)f([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))666 4501 y(\000)25 b FA(`)764 4456 y Fy(r)829 4501 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))p 542 4542 1353 4 v 542 4621 a(\000)25 b FA(`)640 4571 y Fy(r)705 4621 y Fx(M)35 b FA(\003)26 b(\))f FE(\(\001)p Fx(;)15 b(u)26 b FE(:)f Fx(A)h FE(;)f Fx(C)32 b FE(;)26 b([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))2141 4563 y Fx(u)30 b FE(is)f(a)i(new)f (placeholder)f(v)-5 b(ariable)141 4769 y(In)32 b(the)h(next)f(section)h (w)m(e)g(describ)s(e)e(ho)m(w)i(the)f(list)g(of)g(constrain)m(ts)h(is)f (solv)m(ed.)47 b(The)32 b(main)f(reason)i(w)m(e)g(sep-)0 4882 y(arate)g(the)f(tasks)g(of)g(collecting)g(constrain)m(ts)g(and)f (solving)f(them)i(is)f(to)i(allo)m(w)e(an)h(arbitrary)e(order)i(in)e (solving)0 4995 y(the)36 b(constrain)m(ts.)59 b(W)-8 b(e)37 b(disco)m(v)m(ered)g(that)g(this)e(can)i(greatly)f(increase)h (the)f(e\013ectiv)m(eness)i(of)e(the)h(reconstruc-)0 5108 y(tion)d(algorithm,)g(with)f(the)h(b)s(ene\014t)f(that)i(pro)s(of) e(represen)m(tations)i(can)f(b)s(e)f(made)i(smaller)d(b)m(y)i(making)g (more)0 5221 y(subterms)29 b(implicit.)1905 5589 y(18)p eop %%Page: 19 21 19 20 bop 141 91 a FE(The)29 b(restriction)f(in)g(the)i(explicit)e (application)f(rule)h(ensures)h(that)h(the)f(resulting)f(t)m(yp)s(e)i ([)p Fx(N)r(=x)p FE(])p Fx(B)35 b FE(do)s(es)29 b(not)0 204 y(ha)m(v)m(e)e(placeholders,)f(pro)m(vided)e(that)j Fx(B)j FE(do)s(es)25 b(not)h(ha)m(v)m(e)i(placeholders.)37 b(This)24 b(restriction)h(simpli\014es)e(the)j(pro)s(of)0 317 y(of)31 b(correctness)g(of)g(the)g(reconstruction)f(and)g(is)g (also)h(required)e(in)g(order)h(to)i(use)e(the)h(LF)3123 331 y Fz(i)3182 317 y FE(t)m(yping)f(judgmen)m(ts,)0 430 y(whic)m(h)f(are)i(de\014ned)e(only)g(on)i(t)m(yp)s(es)f(without)g (placeholders.)0 673 y Fs(6.3)112 b(Solving)37 b(Residual)f(Constrain)m (ts:)50 b FG(\000)27 b Fh(`)1864 625 y Fy(r)1932 673 y Fg(C)34 b Fh(\))28 b FG(\011)0 845 y FE(This)33 b(judgmen)m(t)h (describ)s(es)e(the)j(pro)s(cess)e(of)i(solving)e(all)g(the)i(t)m(yp)s (e-c)m(hec)m(king)g(constrain)m(ts)g(in)e(a)h(list)f Fx(C)41 b FE(in)33 b(an)0 958 y(arbitrary)40 b(order.)72 b(T)-8 b(o)41 b(accommo)s(date)i(arbitrary)d(orders)g(w)m(e)h(in)m(tro) s(duce)f(the)h(constrain)m(t)g(reordering)f(rule.)0 1071 y(Note)33 b(that)f(in)e(an)m(y)h(particular)f(case)i(a)g(giv)m(en)f (order)g(is)g(used)f(so)i(that)g(the)f(reconstruction)g(is)g(more)g (e\013ectiv)m(e.)0 1184 y(Ho)m(w)m(ev)m(er,)f(for)c(the)g(purp)s(ose)f (of)i(the)f(reconstruction)g(algorithm)g(w)m(e)h(do)f(not)h(care)g(ab)s (out)f(the)h(particular)d(order)0 1297 y(used.)p 1257 1603 355 4 v 1257 1682 a(\000)h FA(`)1355 1632 y Fy(r)1420 1682 y FA(\001)g(\))g(\001)1844 1562 y FE(\000)g FA(`)1942 1517 y Fy(r)2007 1562 y Fx(C)2072 1576 y Ft(1)2111 1562 y Fx(;)15 b(C)2216 1576 y Ft(2)2256 1562 y Fx(;)g(C)2361 1576 y Ft(3)2426 1562 y FA(\))25 b FE(\011)p 1813 1603 830 4 v 1844 1682 a(\000)g FA(`)1942 1632 y Fy(r)2007 1682 y Fx(C)2072 1696 y Ft(2)2111 1682 y Fx(;)15 b(C)2216 1696 y Ft(1)2256 1682 y Fx(;)g(C)2361 1696 y Ft(3)2426 1682 y FA(\))25 b FE(\011)333 1911 y(\000)g FA(`)431 1866 y Fy(r)496 1911 y Fx(M)35 b FE(:)25 b Fx(A)h FA(\))f FE(\011)212 b(\011\(\000\))25 b FA(`)1401 1866 y Fy(r)1466 1911 y FE(\011\()p Fx(C)7 b FE(\))25 b FA(\))g FE(\011)1891 1878 y Fw(0)p 302 1952 1643 4 v 672 2034 a FE(\000)g FA(`)770 1985 y Fy(r)835 2034 y Fx(C)q(;)15 b(M)36 b FE(:)25 b Fx(A)h FA(\))f FE(\011)1396 1997 y Fw(0)1439 2034 y FA(\016)c FE(\011)2086 1911 y Fx(A)k FA(\031)2250 1925 y Fz(a)2317 1911 y Fx(B)30 b FA(\))25 b FE(\011)212 b(\011\(\000\))25 b FA(`)3054 1866 y Fy(r)3119 1911 y FE(\011\()p Fx(C)7 b FE(\))25 b FA(\))g FE(\011)3544 1878 y Fw(0)p 2056 1952 1542 4 v 2343 2034 a FE(\000)h FA(`)2442 1985 y Fy(r)2506 2034 y Fx(C)q(;)15 b(A)27 b FA(\031)2778 2048 y Fz(a)2844 2034 y Fx(B)j FA(\))25 b FE(\011)3130 1997 y Fw(0)3173 2034 y FA(\016)c FE(\011)0 2262 y Fs(6.4)112 b(T)m(yp)s(e)38 b(Reconstruction)e(for)h(Ob)6 b(jects:)51 b FG(\000)28 b Fh(`)2062 2214 y Fy(r)2129 2262 y Fg(M)39 b FG(:)27 b Fg(A)h Fh(\))g FG(\011)0 2433 y FE(This)e(is)g(the)h(base)h(judgmen)m(t)f(of)h(the)f(t)m(yp)s (e-reconstruction)h(algorithm.)38 b(The)27 b(term)h Fx(M)37 b FE(can)28 b(con)m(tain)f(v)-5 b(ariables)0 2546 y(\(but)44 b(no)g(placeholder)f(v)-5 b(ariables\))43 b(that)h(are)h(de\014ned)e (in)g(\000)h(and)f(constan)m(ts)i(that)g(are)g(de\014ned)d(in)h(\006.) 82 b Fx(M)0 2659 y FE(can)34 b(also)g(con)m(tain)g(placeholders)f(and)g (implicit)e(abstractions.)52 b(Ho)m(w)m(ev)m(er,)37 b(the)d (restriction)f(is)g(that)i(the)f(t)m(yp)s(e)0 2772 y(en)m(vironmen)m(t) 39 b(\000)h(and)f(the)h(t)m(yp)s(e)g Fx(A)g FE(do)g(not)g(con)m(tain)h (placeholders.)67 b(This)38 b(is)h(again)h(required)e(in)h(order)g(to)0 2885 y(relate)34 b(the)g(t)m(yp)s(e)g(reconstruction)g(judgmen)m(t)g (to)g(the)g(LF)2023 2899 y Fz(i)2085 2885 y FE(t)m(yping)g(judgmen)m(t) f(and)h(has)f(the)h(b)s(ene\014cial)e(e\013ect)0 2998 y(of)f(simplifying)26 b(the)k(pro)s(of)g(of)g(correctness.)141 3111 y(Recall)f(that)h(a)g(canonical)f(LF)1199 3125 y Ft(0)1268 3111 y FE(ob)5 b(ject)30 b(is)e(either)h(an)h(abstraction)f (with)f(a)i(canonical)f(b)s(o)s(dy)f(or)h(an)g(atomic)0 3224 y(ob)5 b(ject.)66 b(The)37 b(t)m(yp)s(e-c)m(hec)m(king)j(judgmen)m (t)e(deals)g(directly)f(with)g(abstractions)h(and)g(in)m(v)m(ok)m(es)h (the)g(constrain)m(t)0 3337 y(collecting)30 b(and)g(solving)f(judgmen)m (ts)h(for)g(atomic)h(ob)5 b(jects.)1543 3602 y(\000)p Fx(;)15 b(x)26 b FE(:)f Fx(A)h FA(`)1878 3557 y Fy(r)1943 3602 y Fx(M)35 b FE(:)25 b Fx(B)30 b FA(\))25 b(\001)p 1467 3643 967 4 v 1467 3722 a FE(\000)g FA(`)1565 3672 y Fy(r)1630 3722 y Fx(\025x:M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)31 b FA(\))25 b(\001)141 3870 y FE(Note)33 b(that)f(the)f(implicit)e(abstraction)i(reco)m(v)m(ers)i(the)e(argumen) m(t)h(t)m(yp)s(e)g(from)f(the)g(goal)h(t)m(yp)s(e,)g(whic)m(h)e(m)m (ust)0 3982 y(b)s(e)f(a)g(t)m(yp)s(e)g(abstraction.)41 b(Note)30 b(also)g(that)f(no)g(reconstruction)g(is)f(allo)m(w)m(ed)h (under)f(abstraction)h(\(the)h(returned)0 4095 y(substitution)39 b(m)m(ust)h(b)s(e)g(empt)m(y\).)73 b(This)39 b(restriction)h(do)s(es)g (not)i(harm)e(in)f(an)m(y)i(w)m(a)m(y)h(the)f(usefulness)e(of)i(the)0 4208 y(reconstruction)24 b(algorithm)g(for)g(\014rst-order)g(logic)g (pro)s(ofs)g(but)f(simpli\014es)f(the)i(correctness)i(argumen)m(ts)e (greatly)0 4321 y(b)m(y)30 b(eliminating)e(w)m(orries)i(ab)s(out)g(the) g(returned)f(substitution)g(con)m(taining)g(the)i(b)s(ound)d(v)-5 b(ariable)29 b Fx(x)p FE(.)141 4434 y(In)34 b(the)i(case)g(of)f(a)h (constan)m(t,)i(a)d(v)-5 b(ariable)34 b(or)h(an)g(application)e(the)j (t)m(yping)e(judgmen)m(t)h(\014rst)f(collects)i(t)m(yp)s(e)0 4547 y(reconstruction)30 b(constrain)m(ts)g(that)h(are)g(then)f(solv)m (ed)g(in)f(an)i(arbitrary)e(order.)50 4808 y(\000)c FA(`)148 4764 y Fy(r)212 4808 y Fx(M)36 b FA(\))25 b FE(\(\001)g(;)h Fx(C)32 b FE(;)25 b Fx(B)5 b FE(\))212 b(\000)p Fx(;)15 b FE(\001)25 b FA(`)1321 4764 y Fy(r)1386 4808 y Fx(C)q(;)15 b(A)26 b FA(\031)1657 4822 y Fz(a)1724 4808 y Fx(B)k FA(\))25 b FE(\011)212 b Fv(Dom)7 b FE(\(\001\))26 b FA(\022)f Fv(Dom)7 b FE(\(\011\))p 19 4849 3035 4 v 1079 4935 a(\000)25 b FA(`)1177 4885 y Fy(r)1242 4935 y Fx(M)36 b FE(:)25 b Fx(A)h FA(\))f FE(\011)1697 4858 y Ff(\014)1697 4912 y(\014)1727 4953 y Fe(Dom)6 b Ft(\(\000\))3182 4823 y Fx(M)59 b FE(is)48 b(not)h(an)g(ab-)3182 4935 y(straction)141 5133 y(Note)39 b(in)d(the)h(previous)f(rule)f(that)j(it)f(is)f (required)f(that)j(the)g(substitution)d(returned)g(b)s(e)i(de\014ned)f (on)h(all)0 5246 y(placeholder)30 b(v)-5 b(ariables)29 b(in)m(tro)s(duced)g(b)m(y)i(the)g(curren)m(t)g(collecting)f(op)s (eration.)42 b(In)30 b(this)g(resp)s(ect)h(the)g(presen)m(ted)1905 5589 y(19)p eop %%Page: 20 22 20 21 bop 0 91 a FE(t)m(yp)s(e)35 b(reconstruction)g(algorithm)f(is)g (simpler,)g(and)h(p)s(oten)m(tially)f(less)g(p)s(o)m(w)m(erful,)h(than) g(constrain)m(t)g(based)g(al-)0 204 y(gorithms)k(that)h(allo)m(w)f (reconstruction)g(constrain)m(ts)g(to)i(p)s(ersist)c(unsolv)m(ed)i(b)s (ey)m(ond)g(the)g(place)h(where)f(they)0 317 y(w)m(ere)c(in)m(tro)s (duced.)52 b(Ho)m(w)m(ev)m(er,)38 b(this)33 b(restriction)h(do)s(es)g (not)h(seem)g(to)g(limit)e(the)h(p)s(o)m(w)m(er)h(of)g(the)g(algorithm) e(for)0 430 y(reconstructing)26 b(\014rst-order)f(pro)s(of)g(represen)m (tation)i(but)e(on)h(the)g(other)h(hand)e(eliminates)g(the)h(need)g (for)g(all)f(the)0 543 y(mac)m(hinery)30 b(for)g(managing)g(p)s (ersisten)m(t)f(constrain)m(ts.)141 656 y(Note)j(also)e(that)h(the)g (reconstruction)f(algorithm)f(do)s(es)h(not)h(c)m(hec)m(k)h(explicitly) c(that)j(the)f(returned)f(substi-)0 769 y(tution)j(is)g(w)m(ell-t)m(yp) s(ed.)48 b(Ho)m(w)m(ev)m(er,)36 b(this)c(prop)s(ert)m(y)g(holds)g(b)s (ecause)h(of)g(the)g(design)f(of)h(the)g(uni\014cation,)f(whic)m(h)0 882 y(w)m(e)f(presen)m(t)f(next.)0 1125 y Fs(6.5)112 b(Uni\014cation:)49 b Fg(M)39 b Fh(\031)1085 1140 y Fz(a)1155 1125 y Fg(M)1259 1089 y Fw(0)1310 1125 y Fh(\))28 b FG(\011)37 b Fs(and)h Fg(M)h Fh(\031)28 b Fg(M)2109 1089 y Fw(0)2161 1125 y Fh(\))f FG(\011)0 1297 y FE(The)h(purp)s(ose)g(of)h (uni\014cation)e(is)h(to)h(c)m(hec)m(k)i(the)e(equiv)-5 b(alence)28 b(of)h(t)m(w)m(o)h(ob)5 b(jects)30 b(or)f(t)m(w)m(o)h(t)m (yp)s(es.)40 b(As)29 b(a)g(result,)g(the)0 1410 y(uni\014cation)h (constructs)i(a)g(substitution)d(of)j(terms)f(for)h(placeholder)e(v)-5 b(ariables.)43 b(Both)32 b(terms)g(b)s(eing)e(c)m(hec)m(k)m(ed)0 1523 y(migh)m(t)j(con)m(tain)h(implicit)d(abstractions)j(and)f(migh)m (t)g(not)h(b)s(e)f(in)g(canonical)g(form,)h(but)f(they)h(cannot)h(con)m (tain)0 1635 y(placeholders.)141 1748 y(The)k(main)f(restriction)f(of)j (the)f(uni\014cation)e(that)j(w)m(e)f(presen)m(t)g(here)g(is)f(that)h (is)f(do)s(es)h(not)g(try)g(to)h(unify)0 1861 y(terms)d(where)f(the)h (placeholder)f(v)-5 b(ariable)36 b(is)g(the)h(head)g(of)g(an)g (application.)58 b(In)37 b(suc)m(h)f(a)i(case)g(the)f(resulting)0 1974 y(substitution)24 b(w)m(ould)h(not)h(b)s(e)f(uniquely)f(de\014ned) h(and)g(th)m(us)h(w)m(e)g(prefer)g(to)g(a)m(v)m(oid)h(it.)39 b(Ho)m(w)m(ev)m(er,)29 b(this)c(restriction)0 2087 y(do)s(es)e(not)g (seem)h(to)g(harm)e(the)i(p)s(o)m(w)m(er)f(of)h(the)f(reconstruction)g (of)g(\014rst-order)g(logic)g(pro)s(ofs.)37 b(In)23 b(order)f(to)i (express)0 2200 y(this)31 b(restriction)h(w)m(e)g(use)g(t)m(w)m(o)i (\015a)m(v)m(ors)f(of)g(uni\014cation:)42 b(atomic)33 b(and)f(normal.)46 b(Only)30 b(the)j(atomic)g(uni\014cation)0 2313 y(can)g(b)s(e)f(used)g(for)h(the)g(head)f(of)h(an)g(application)e (and)h(w)m(e)h(restrict)g(it)f(so)h(that)h(a)f(placeholder)e(v)-5 b(ariable)32 b(is)g(not)0 2426 y(instan)m(tiated)e(b)m(y)g(an)h(atomic) g(uni\014cation.)38 b(The)30 b(uni\014cation)f(judgmen)m(ts)h(are)g (presen)m(ted)h(b)s(elo)m(w.)141 2630 y Fv(A)n(tomic)i(Uni\014c)-5 b(ation)p 1474 2722 409 4 v 1474 2774 a Fx(c)25 b FA(\031)1609 2788 y Fz(a)1676 2774 y Fx(c)h FA(\))f(\001)p 1993 2722 434 4 v 111 w Fx(x)g FA(\031)2141 2788 y Fz(a)2208 2774 y Fx(x)g FA(\))g(\001)306 2994 y Fx(M)35 b FA(\031)500 3008 y Fz(a)567 2994 y Fx(M)665 2961 y Fw(0)713 2994 y FA(\))25 b FE(\011)212 b(\011\()p Fx(N)10 b FE(\))26 b FA(\031)f FE(\011\()p Fx(N)1647 2961 y Fw(0)1670 2994 y FE(\))h FA(\))f FE(\011)1918 2961 y Fw(0)p 275 3035 1696 4 v 616 3118 a Fx(M)36 b(N)f FA(\031)919 3132 y Fz(a)985 3118 y Fx(M)1083 3080 y Fw(0)1132 3118 y Fx(N)1215 3080 y Fw(0)1264 3118 y FA(\))25 b FE(\011)1451 3080 y Fw(0)1494 3118 y FA(\016)c FE(\011)2181 2994 y([)p Fx(N)2279 3008 y Fz(n)2326 2994 y Fx(=x)2423 3008 y Fz(n)2470 2994 y FE(])15 b Fx(:)g(:)g(:)i FE([)p Fx(N)2730 3008 y Ft(1)2770 2994 y Fx(=x)2867 3008 y Ft(1)2906 2994 y FE(])p Fx(M)36 b FA(\031)3126 3008 y Fz(a)3193 2994 y Fx(M)3291 2961 y Fw(0)3339 2994 y FA(\))25 b FE(\011)p 2082 3035 1543 4 v 2082 3118 a(\()p Fx(\025x)2222 3132 y Ft(1)2262 3118 y Fx(:)15 b(:)g(:)g(:)h(\025x)2528 3132 y Fz(n)2575 3118 y Fx(:M)10 b FE(\))26 b Fx(N)2832 3132 y Ft(1)2887 3118 y Fx(:)15 b(:)g(:)h(N)3081 3132 y Fz(n)3153 3118 y FA(\031)3224 3132 y Fz(a)3291 3118 y Fx(M)3389 3080 y Fw(0)3438 3118 y FA(\))25 b FE(\011)141 3266 y Fv(Normal)34 b(Uni\014c)-5 b(ation)1313 3450 y Fx(M)36 b FA(\031)25 b Fx(M)1631 3417 y Fw(0)1679 3450 y FA(\))g(\001)p 1183 3468 768 4 v 1183 3551 a Fx(\025x:M)36 b FA(\031)25 b Fx(\025x:M)1761 3513 y Fw(0)1810 3551 y FA(\))g(\001)2092 3436 y Fx(M)35 b FA(\031)2286 3450 y Fz(a)2353 3436 y Fx(M)2451 3403 y Fw(0)2500 3436 y FA(\))25 b FE(\011)p 2062 3468 656 4 v 2113 3551 a Fx(M)35 b FA(\031)25 b Fx(M)2430 3513 y Fw(0)2479 3551 y FA(\))g FE(\011)1720 3757 y Fx(u)g FA(62)g FE(FV)r(\()p Fx(M)10 b FE(\))p 1598 3798 705 4 v 1598 3868 a Fx(u)25 b FA(\031)g Fx(M)35 b FA(\))26 b Fx(u)f FA( )g Fx(M)141 3986 y FE(The)i(side)f(condition)h (on)g(the)h(instan)m(tiation)e(rule)g(is)h(required)e(for)i (correctness.)41 b(Chec)m(king)27 b(this)f(condition)0 4099 y(requires)j(scanning)g(the)h(ob)5 b(ject)31 b Fx(M)40 b FE(that)31 b(is)e(used)g(to)i(replace)f(the)g(placeholder)f(denoted)h (b)m(y)g(the)g(placeholder)0 4212 y(v)-5 b(ariable)33 b Fx(u)p FE(.)51 b(W)-8 b(e)35 b(w)m(ould)e(v)m(ery)h(m)m(uc)m(h)g(w)m (an)m(t)h(to)g(a)m(v)m(oid)f(this)f(c)m(hec)m(k.)53 b(Recall)33 b(that)i(w)m(e)f(had)g(t)m(w)m(o)h(argumen)m(ts)f(in)0 4324 y(fa)m(v)m(or)i(of)g(the)g(implicit)c(represen)m(tation:)51 b(smaller)33 b(represen)m(tation)j(size)f(and)g(faster)g(c)m(hec)m (king)i(based)e(on)g(the)0 4437 y(fact)30 b(that)f(the)g(reconstructed) h(ob)5 b(jects,)30 b(suc)m(h)e(as)h Fx(M)39 b FE(here,)30 b(do)e(not)i(require)d(c)m(hec)m(king)j(b)s(ecause)f(they)g(are)g(part) 0 4550 y(of)i(the)g(trusted)f(t)m(yp)s(e.)42 b(As)31 b(expressed)f(b)m(y)h(the)g(uni\014cation)e(judgmen)m(t)i(the)g (reconstructed)g(fragmen)m(ts)g(do)g(not)0 4663 y(require)f(c)m(hec)m (king)h(but)g(they)g(require)f(scanning.)41 b(Ho)m(w)m(ev)m(er,)33 b(in)d(man)m(y)h(cases)h(that)g(o)s(ccur)e(in)g(c)m(hec)m(king)i(pro)s (ofs)0 4776 y(of)g(\014rst-order)f(logics)g(the)h(o)s(ccurs)g(c)m(hec)m (k)h(is)e(not)h(necessary)-8 b(.)46 b(W)-8 b(e)33 b(view)f(the)g(remo)m (v)-5 b(al)32 b(of)g(the)g(o)s(ccurs)f(c)m(hec)m(k)j(as)0 4889 y(an)c(optimization)g(and)f(w)m(e)i(discuss)e(it)h(in)f(Section)h (9.3.)1905 5589 y(20)p eop %%Page: 21 23 21 22 bop 0 91 a Fs(6.6)112 b(Wh)m(y)38 b(do)s(es)g(t)m(yp)s(e)f (reconstruction)f(w)m(ork?)0 263 y FE(The)27 b(\014v)m(e)g (reconstruction)g(judgmen)m(ts)g(describ)s(ed)e(in)h(the)h(previous)f (sections)h(can)h(b)s(e)e(used)h(directly)f(as)h(a)h(t)m(yp)s(e)0 376 y(reconstruction)35 b(algorithm.)53 b(The)35 b(pro)s(cess)f(of)h (reconstructing)g(and)f(t)m(yp)s(ec)m(hec)m(king)j(an)d(ob)5 b(ject)36 b Fx(M)45 b FE(pro)s(ceeds)0 489 y(as)31 b(follo)m(ws:)136 676 y FA(\017)46 b FE(If)31 b Fx(M)41 b FE(is)30 b(an)g(abstraction)h (then)g(use)g(the)g(abstraction)g(rule)e(and)h(con)m(tin)m(ue)i(with)d (the)i(reconstruction)g(of)227 789 y(the)g(b)s(o)s(dy)-8 b(.)136 977 y FA(\017)46 b FE(Otherwise,)32 b Fx(M)42 b FE(m)m(ust)32 b(b)s(e)f(a)h(v)-5 b(ariable)31 b(or)h(a)h(constan)m(t) g(applied)d(to)i(zero)h(or)f(more)g(argumen)m(ts.)46 b(Use)33 b(the)227 1090 y(collecting)40 b(judgmen)m(t)g(to)h(scan)f (the)g(argumen)m(ts)h(and)e(replace)i(the)f(implicit)d(ones)j(with)f (placeholder)227 1203 y(v)-5 b(ariables)30 b(and)g(collect)i(the)f (explicit)e(argumen)m(ts)j(in)d(a)j(list)d(of)i(t)m(yp)s(e)h (reconstruction)e(constrain)m(ts.)43 b(Add)227 1316 y(to)31 b(the)e(list)f(of)i(constrain)m(ts)f(the)h(uni\014cation)e(of)h(the)h (required)e(t)m(yp)s(e)h(for)h(the)f(application)f(and)h(the)h(t)m(yp)s (e)227 1429 y(computed)g(based)g(on)h(the)f(t)m(yp)s(e)h(of)f(the)h (application)e(head)h(and)g(argumen)m(ts.)136 1616 y FA(\017)46 b FE(Solv)m(e)38 b(the)f(list)f(of)i(constrain)m(ts)f(in)f (a)i(con)m(v)m(enien)m(t)g(order.)61 b(As)37 b(a)h(result,)g(return)f (an)g(instan)m(tiation)f(for)227 1729 y(some)31 b(placeholder)e(v)-5 b(ariables.)136 1917 y FA(\017)46 b FE(V)-8 b(erify)30 b(that)h(all)e(lo)s(cal)h(placeholders)f(ha)m(v)m(e)j(an)e(instan)m (tiation.)141 2104 y(The)e(ab)s(o)m(v)m(e)h(pro)s(cedure)f(can)g(b)s(e) g(implemen)m(ted)f(directly)f(as)j(describ)s(ed)d(b)m(y)i(the)h (inference)e(rule)g(describing)0 2217 y(the)k(reconstruction)g(judgmen) m(ts.)43 b(If)30 b(all)g(w)m(e)i(are)g(concerned)f(is)f(v)-5 b(alidating)30 b(implicit)e(represen)m(tation)j(of)g(\014rst-)0 2330 y(order)c(pro)s(of)f(w)m(e)i(can)f(further)f(simplify)e(and)i (optimize)h(the)g(algorithm,)g(as)g(sho)m(wn)g(in)f(Section)h(9.3.)40 b(Before)28 b(w)m(e)0 2443 y(discuss)h(these)i(optimization)f(w)m(e)h (pro)m(v)m(e)h(the)f(correctness)g(of)g(the)g(reconstruction)f (algorithm.)41 b(Corollary)30 b(6.1)0 2556 y(relates)23 b(the)f(reconstruction)g(judgmen)m(ts)g(to)i(the)e(implicit)e(t)m (yping)i(judgmen)m(t.)37 b(This)21 b(is)g(a)i(su\016cien)m(t)f (correctness)0 2669 y(criterion)i(for)g(c)m(hec)m(king)i(pro)s(ofs)d(b) s(ecause)i(of)g(Theorem)f(5.1,)k(whic)m(h)23 b(in)h(turn)f(relates)i (the)g(LF)3196 2683 y Fz(i)3249 2669 y FE(t)m(yping)f(judgmen)m(t)0 2782 y(to)31 b(the)g(LF)f(t)m(yping)g(judgmen)m(t)g(sho)m(wn)g(to)h(b)s (e)f(adequate.)0 2994 y FD(Corollary)35 b(6.1)46 b(\(Correctness)64 b(of)f(pro)s(of)h(reconstruction\))57 b Fv(If)e Fx(M)66 b Fv(is)55 b(an)h(LF)3152 3008 y Fz(i)3236 2994 y Fv(obje)-5 b(ct)56 b(such)g(that)0 3107 y FE(PVF\()p Fx(M)10 b FE(\))34 b Fv(and)f FA(\001)26 b(`)634 3062 y Fy(r)699 3107 y Fx(M)35 b FE(:)25 b Fk(pf)g Fj(p)p Fx(P)13 b Fj(q)26 b FA(\))f(\001)33 b Fv(then)g FA(\001)26 b(`)1623 3062 y Fy(i)1688 3107 y Fx(M)35 b FE(:)26 b Fk(pf)e Fj(p)p Fx(P)13 b Fj(q)p Fv(.)141 3320 y FE(Unfortunately)-8 b(,)37 b(the)f(pro)s(of)f(of)g(Corollary)g(6.1)h(is)f(no)m(where)h(as)g (simple)d(as)j(its)f(statemen)m(t)i(and)e(therefore)0 3433 y(w)m(e)f(dev)m(ote)h(the)f(en)m(tire)g(next)g(section)g(to)g(it.) 50 b(Section)34 b(8)g(is)f(necessarily)f(v)m(ery)i(tec)m(hnical)g(but)f (the)h(reader)g(can)0 3546 y(safely)29 b(skip)g(Section)g(8)h(on)g(the) g(\014rst)f(reading)g(and)g(go)i(to)f(Section)g(9.3)h(where)e(sev)m (eral)h(optimizations)f(of)h(t)m(yp)s(e)0 3659 y(reconstruction)g(are)h (discussed.)1905 5589 y(21)p eop %%Page: 22 24 22 23 bop 0 91 a FB(7)135 b(Algorithms)45 b(for)h(Implicit)f(Represen)l (tation)0 294 y FE(Section)33 b(6)h(presen)m(ts)f(a)g(t)m(yp)s(e)h (reconstruction)f(algorithm)f(that)i(is)e(able)h(to)h(t)m(yp)s(ec)m (hec)m(k)h(LF)e(terms)g(con)m(taining)0 407 y(placeholders.)j(It)21 b(is)g(ob)m(vious)f(that)i(not)f(all)f(subterms)g(can)h(b)s(e)g (reconstructed)g(b)m(y)g(our)g(algorithm)f(and)g(therefore)0 520 y(not)38 b(all)e(implicit)f(represen)m(tations)i(of)h(a)g(term)f (can)h(b)s(e)f(t)m(yp)s(ec)m(hec)m(k)m(ed)j(using)c(it.)62 b(In)37 b(this)f(section)i(w)m(e)g(de\014ne)0 633 y(three)e(algorithms) e(that)i(can)g(b)s(e)e(used)h(to)h(eliminate)e(redundan)m(t)g(copies)h (of)h(subterms)e(in)g(suc)m(h)h(a)h(w)m(a)m(y)g(that)0 746 y(the)31 b(resulting)d(implicit)f(represen)m(tation)k(can)g(b)s(e)e (t)m(yp)s(ec)m(hec)m(k)m(ed)k(using)c(our)h(reconstruction)g (algorithm.)141 859 y(In)24 b(order)f(to)i(simplify)c(the)j(discussion) e(of)i(the)h(represen)m(tation)f(algorithms)f(w)m(e)i(\014x)e(the)i (order)e(of)i(constrain)m(t)0 972 y(solving)31 b(suc)m(h)h(that)h(the)f (t)m(yp)s(e)h(uni\014cation)d(is)h(alw)m(a)m(ys)i(p)s(erformed)e (\014rst)h(follo)m(w)m(ed)g(b)m(y)g(the)g(t)m(yping)g(constrain)m(ts)0 1085 y(in)f(the)h(rev)m(ersed)g(order)g(of)g(their)f(collection.)45 b(F)-8 b(ormally)g(,)33 b(w)m(e)f(restrict)g(our)g(atten)m(tion)h(to)f (an)g(implemen)m(tation)0 1198 y(of)d(reconstruction)g(where)f(the)h (constrain)m(t)h(reordering)d(rule)h(is)g(not)h(used.)40 b(This)27 b(order)i(is)f(suited)f(for)i(the)g(v)-5 b(ast)0 1310 y(ma)5 b(jorit)m(y)30 b(of)h(reconstruction)f(tasks.)41 b(W)-8 b(e)32 b(shall)c(discuss)h(the)h(few)h(exceptions)f(at)h(the)g (end)e(of)i(this)e(section.)141 1423 y(W)-8 b(e)42 b(presen)m(t)f(the)f (implicit)e(represen)m(tation)i(algorithms)g(as)h(erasure)f(pro)s (cedures,)i(con)m(v)m(erting)f(the)g(full)0 1536 y(LF)c(represen)m (tations)f(to)h(implicit)c(represen)m(tations.)59 b(The)36 b(simplest)f(erasure)h(algorithms)f(presen)m(ted)i(b)s(elo)m(w)0 1649 y(translate)28 b(easily)f(to)i(represen)m(tation)f(function)e (de\014ned)h(as)h(mappings)e(from)h(pro)s(ofs)g(to)i(LF)3214 1663 y Fz(i)3270 1649 y FE(terms,)f(follo)m(wing)0 1762 y(the)j(mo)s(del)e(of)h(the)h(full)d(LF)i(represen)m(tation)h(function) e(presen)m(ted)h(in)f(Section)h(3.)141 1875 y(W)-8 b(e)30 b(consider)e(three)h(algorithms)f(with)f(v)-5 b(arying)28 b(complexit)m(y)g(and)h(e\013ectiv)m(eness.)41 b(The)28 b(output)h(of)g(eac)m(h)h(of)0 1988 y(these)24 b(algorithms,)g(as)g(w)m (ell)e(as)i(the)g(fully-explicit)c(represen)m(tation,)25 b(are)f(equally)e(w)m(ell)g(suited)h(for)g(t)m(yp)s(ec)m(hec)m(king)0 2101 y(using)35 b(the)i(reconstruction)g(algorithm)e(presen)m(ted)i(in) e(Section)i(6.)60 b(The)36 b(only)g(di\013erence)h(is)e(the)i(size)g (of)g(the)0 2214 y(pro)s(of)31 b(represen)m(tation)i(and)e(the)i (running)c(time)j(of)h(the)f(reconstruction.)46 b(The)32 b(quan)m(titativ)m(e)h(analysis)d(of)j(the)0 2327 y(erasure)d (e\013ectiv)m(eness)i(is)d(presen)m(ted)i(in)e(Section)h(11.)141 2440 y(The)g(\014rst)f(algorithm)g(is)g(completely)h(lo)s(cal)f(in)g (the)h(sense)g(that)h(the)f(erasure)g(of)g(a)h(term)f(do)s(es)f(not)i (dep)s(end)0 2552 y(on)36 b(the)h(con)m(text)h(where)e(the)h(term)g(o)s (ccurs.)58 b(Then)36 b(w)m(e)h(impro)m(v)m(e)f(the)h(represen)m(tation) f(b)m(y)h(recording)e(a)i(one-)0 2665 y(bit)c(information)g(ab)s(out)h (the)h(enclosing)e(con)m(text.)55 b(This)33 b(is)g(equiv)-5 b(alen)m(t)34 b(to)h(ha)m(ving)f(t)m(w)m(o)i(erasure)e(algorithms)0 2778 y(w)m(orking)f(in)f(tandem.)49 b(The)33 b(last)g(algorithm)g(is)f (fully)f(global)i(and)g(it)f(attempts)j(to)f(optimize)e(the)i(size)f (of)h(the)0 2891 y(represen)m(tation)c(b)m(y)h(analyzing)e(the)i(en)m (tire)f(enclosing)g(con)m(text.)141 3004 y(W)-8 b(e)35 b(conclude)e(this)g(section)g(with)g(a)h(brief)e(discussion)f(of)j(the) g(situations)e(where)h(eac)m(h)i(of)f(the)g(presen)m(ted)0 3117 y(algorithms)29 b(has)h(practical)g(v)-5 b(alue)30 b(and)g(when)f(a)i(com)m(bination)f(of)g(them)h(mak)m(es)g(sense.)0 3360 y Fs(7.1)112 b(A)37 b(Lo)s(cal)h(Algorithm)0 3532 y FE(W)-8 b(e)29 b(start)f(with)e(a)i(lo)s(cal)f(erasure)g(algorithm)f (that)j(de\014nes)d(the)i(erasure)f(of)h(an)f(LF)h(term)f(indep)s (enden)m(tly)e(of)j(its)0 3645 y(surrounding)g(con)m(text.)45 b(This)30 b(algorithm)g(can)i(b)s(e)e(view)m(ed)h(as)h(an)f(alternativ) m(e)h(mapping)d(from)i(pro)s(ofs)g(to)h(LF)3872 3659 y Fz(i)0 3758 y FE(terms,)f(to)g(b)s(e)e(used)h(instead)g(of)g(the)h (full)d(represen)m(tation)i(function)f(sho)m(wn)h(in)f(Section)h(3.)141 3921 y(The)21 b(lo)s(cal)g(erasure)h(algorithm)f(is)g(sp)s(eci\014ed)f (as)i(a)g(set)g(of)g(represen)m(tation)g(recip)s(es,)h(one)f(for)f(eac) m(h)i(constan)m(t)g(in)0 4034 y(the)g(signature.)38 b(W)-8 b(e)24 b(write)e Fx(R)q FE(\()p Fx(c)p FE(\))i(to)g(denote)f(the)g (represen)m(tation)g(recip)s(e)g(of)g(the)g(constan)m(t)h Fx(c)p FE(.)39 b(A)23 b(represen)m(tation)0 4146 y(recip)s(e)30 b(is)f(a)i(sequence)g(of)g(represen)m(tation)g(c)m(haracters,)h(eac)m (h)g(corresp)s(onding)d(to)i(an)g(argumen)m(t)g(to)g(whic)m(h)f(the)0 4259 y(constan)m(t)d(is)d(applied.)37 b(The)25 b(length)g(of)g(the)h (represen)m(tation)g(recip)s(e)e(is)g(dictated)i(b)m(y)f(the)h(n)m(um)m (b)s(er)e(of)i(argumen)m(ts)0 4372 y(that)c(the)g(constan)m(t)h(can)e (tak)m(e.)40 b(F)-8 b(or)22 b(the)g(lo)s(cal)f(algorithm)f(w)m(e)i (consider)e(only)h(t)m(w)m(o)i(represen)m(tation)f(c)m(haracters,)j FA(\003)0 4485 y FE(and)c Fx(e)p FE(.)39 b(Eac)m(h)22 b(argumen)m(t)h(that)f(corresp)s(onds)f(to)i(an)e FA(\003)i FE(represen)m(tation)f(c)m(haracter)h(is)f(replaced)f(b)m(y)h(a)g (placeholder)0 4598 y(and)30 b(eac)m(h)h(argumen)m(t)g(that)g(corresp)s (onds)e(to)i(an)f Fx(e)h FE(is)f(replaced)f(with)g(its)h(implicit)e (represen)m(tation.)141 4711 y(F)-8 b(or)49 b(example,)j(the)c (represen)m(tation)g(recip)s(e)f(asso)s(ciated)h(with)f(the)h(constan)m (t)h Fk(and)p 3177 4711 29 4 v 34 w(i)e FE(is)g FA(\003)16 b(\003)g Fx(e)f(e)p FE(,)53 b(writ-)0 4824 y(ten)k Fx(R)q FE(\()p Fk(and)p 438 4824 V 33 w(i)p FE(\))69 b(=)f FA(\003)16 b(\003)f Fx(e)g(e)p FE(.)120 b(This)54 b(means)i(that)h(the)g(implicit) c(represen)m(tation)j(of)h(the)f(full)e(LF)j(term)0 4937 y Fk(and)p 150 4937 V 34 w(i)40 b Fx(M)354 4951 y Ft(1)434 4937 y Fx(M)522 4951 y Ft(2)602 4937 y Fx(M)690 4951 y Ft(3)770 4937 y Fx(M)858 4951 y Ft(4)937 4937 y FE(is)f Fk(and)p 1188 4937 V 34 w(i)h FA(\003)h(\003)g Fx(M)1574 4904 y Fw(0)1564 4961 y Ft(3)1644 4937 y Fx(M)1742 4904 y Fw(0)1732 4961 y Ft(4)1772 4937 y FE(,)h(where)d Fx(M)2209 4904 y Fw(0)2199 4961 y Ft(3)2278 4937 y FE(and)g Fx(M)2562 4904 y Fw(0)2552 4961 y Ft(4)2631 4937 y FE(are)h(the)f(implicit)e (represen)m(tations)0 5050 y(of)31 b Fx(M)192 5064 y Ft(3)261 5050 y FE(and)f Fx(M)526 5064 y Ft(4)596 5050 y FE(resp)s(ectiv)m(ely)-8 b(.)141 5163 y(Before)39 b(w)m(e)g(consider) e(the)h(details)f(of)h(computing)f(represen)m(tation)h(recip)s(es)f(w)m (e)i(sho)m(w)f(the)g(de\014nition)e(of)0 5293 y(the)44 b(lo)s(cal)f(implicit)d(represen)m(tation)k(as)g(a)g(function)e Fx(M)2114 5242 y Fz(i)2081 5293 y FA(!)47 b Fx(M)2317 5260 y Fw(0)2341 5293 y FE(.)80 b(W)-8 b(e)45 b(shall)d(use)h(the)h (auxiliary)d(function)1905 5589 y(22)p eop %%Page: 23 25 23 24 bop 0 105 a Fx(M)166 53 y Fz(i)133 105 y FA(!)34 b Fx(M)356 72 y Fw(0)403 105 y FE(+)24 b Fx(R)36 b FE(to)h(sa)m(y)g (that)f(the)g(implicit)d(represen)m(tation)j(of)g(the)g(application)e Fx(M)46 b FE(is)35 b Fx(M)3261 72 y Fw(0)3321 105 y FE(and)g(the)h (recip)s(e)0 217 y(for)j(the)g(remaining)e(argumen)m(ts)j(of)f Fx(M)49 b FE(is)38 b Fx(R)q FE(.)67 b(W)-8 b(e)40 b(also)f(use)g(the)g (notation)g Fx(e)2810 184 y Fz(n)2897 217 y FE(to)g(denote)h(a)g (fully-explicit)0 330 y(represen)m(tation)30 b(recip)s(e,)g(whic)m(h)f (is)h(used)f(for)h(the)h(applications)d(whose)j(head)f(is)f(a)i(v)-5 b(ariable.)1413 603 y Fx(M)1570 552 y Fz(i)1536 603 y FA(!)25 b Fx(M)1750 570 y Fw(0)p 1226 621 736 4 v 1226 734 a Fx(\025x)10 b FE(:)g Fx(A:M)1627 683 y Fz(i)1593 734 y FA(!)25 b Fx(\025x:M)1937 697 y Fw(0)2102 596 y Fx(M)2259 544 y Fz(i)2225 596 y FA(!)h Fx(M)2440 563 y Fw(0)2483 596 y FE(+)20 b Fx(R)p 2072 621 603 4 v 2192 734 a(M)2349 683 y Fz(i)2316 734 y FA(!)25 b Fx(M)2530 697 y Fw(0)p 253 983 511 4 v 253 1096 a Fx(c)351 1044 y Fz(i)317 1096 y FA(!)g Fx(c)c FE(+)f Fx(R)q FE(\()p Fx(c)p FE(\))p 874 983 446 4 v 111 w Fx(x)985 1044 y Fz(i)952 1096 y FA(!)25 b Fx(x)20 b FE(+)g Fx(e)1273 1058 y Fz(n)1513 941 y Fx(M)1601 955 y Ft(1)1699 889 y Fz(i)1665 941 y FA(!)26 b Fx(M)1880 908 y Fw(0)1870 965 y Ft(1)1929 941 y FE(+)20 b FA(\003)c Fx(R)p 1431 983 802 4 v 1431 1096 a(M)1519 1110 y Ft(1)1584 1096 y Fx(M)1672 1110 y Ft(2)1770 1044 y Fz(i)1737 1096 y FA(!)25 b Fx(M)1951 1058 y Fw(0)1941 1118 y Ft(1)2006 1096 y FA(\003)20 b FE(+)g Fx(R)2373 941 y(M)2461 955 y Ft(1)2560 889 y Fz(i)2526 941 y FA(!)25 b Fx(M)2740 908 y Fw(0)2730 965 y Ft(1)2790 941 y FE(+)20 b Fx(e)15 b(R)213 b(M)3308 955 y Ft(2)3407 889 y Fz(i)3373 941 y FA(!)25 b Fx(M)3587 908 y Fw(0)3577 965 y Ft(2)p 2343 983 1305 4 v 2554 1096 a Fx(M)2642 1110 y Ft(1)2706 1096 y Fx(M)2794 1110 y Ft(2)2893 1044 y Fz(i)2859 1096 y FA(!)g Fx(M)3073 1058 y Fw(0)3063 1118 y Ft(1)3128 1096 y Fx(M)3226 1058 y Fw(0)3216 1118 y Ft(2)3276 1096 y FE(+)20 b Fx(R)141 1244 y FE(Note)38 b(that)e(as)h(part)f(of)g(the)g (lo)s(cal)g(erasure,)h(the)f(t)m(yp)s(e)h(of)f(b)s(ound)e(v)-5 b(ariables)35 b(is)g(remo)m(v)m(ed)i(in)e(addition)f(to)0 1357 y(those)d(terms)f(sp)s(eci\014ed)f(b)m(y)h(the)h(represen)m (tation)f(recip)s(es.)141 1470 y(The)40 b(only)g(missing)f(detail)g(of) i(the)g(lo)s(cal)f(erasure)g(algorithm)g(is)g(the)h(represen)m(tation)f (recip)s(e)g(function.)0 1583 y(Recall)22 b(that)i(during)c(the)j(t)m (yp)s(e)g(reconstruction)f(the)h(constrain)m(t)g(solving)e(judgmen)m(t) i(m)m(ust)f(instan)m(tiate)h(all)f(lo)s(cal)0 1696 y(placeholder)i(v)-5 b(ariables.)38 b(Recall)25 b(also)g(that)h(w)m(e)g(are)g(considering)d (an)i(implemen)m(tation)f(of)i(t)m(yp)s(e)f(reconstruction)0 1809 y(that)45 b(alw)m(a)m(ys)h(solv)m(es)f(\014rst)f(the)h (uni\014cation)e(judgmen)m(t)i(from)f(a)h(constrain)m(t)g(list.)83 b(F)-8 b(or)46 b(the)f(lo)s(cal)f(erasure)0 1922 y(algorithm,)28 b(w)m(e)g(imp)s(ose)f(the)h(simple)e(restriction)h(that)h(all)f(the)h (lo)s(cal)g(placeholder)e(v)-5 b(ariables)27 b(are)h(instan)m(tiated)0 2034 y(while)23 b(solving)h(the)i(uni\014cation)d(constrain)m(t.)39 b(In)24 b(this)h(is)f(true)h(then,)h(whenev)m(er)f(a)h(t)m(yping)e (judgmen)m(t)h(is)f(in)m(v)m(ok)m(ed)0 2147 y(as)29 b(part)g(of)h (constrain)m(t)f(solving,)f(the)h(t)m(yp)s(e)h(do)s(es)e(not)i(con)m (tain)f(placeholder)f(v)-5 b(ariables)28 b(or)h(placeholders.)39 b(This)0 2260 y(in)m(v)-5 b(arian)m(t)26 b(is)g(clearly)g(established)f (initially)e(b)s(ecause)j(the)h(top-lev)m(el)g(t)m(yp)s(e)g(cannot)g (con)m(tain)g(free)g(v)-5 b(ariables)26 b(and)0 2373 y(is)j(preserv)m(ed)h(b)m(y)h(constrain)m(t)f(solving)f(b)s(ecause)i (the)f(uni\014cation)f(is)g(alw)m(a)m(ys)i(p)s(erformed)e(\014rst.)141 2486 y(In)h(order)g(to)h(main)m(tain)e(the)i(ab)s(o)m(v)m(e)h(men)m (tioned)e(restriction)f(w)m(e)i(m)m(ust)f(only)g(in)m(tro)s(duce)f (placeholder)g(v)-5 b(ari-)0 2599 y(ables)41 b(that)h(are)g(going)g(to) g(b)s(e)f(instan)m(tiated)h(while)d(unifying)g(the)j(application)e (result)h(t)m(yp)s(e)g(with)g(another)0 2712 y(t)m(yp)s(e)f(without)f (placeholder)f(v)-5 b(ariables.)68 b(This)38 b(determines)h(whic)m(h)f (argumen)m(ts)i(in)f(an)g(application)f(can)j(b)s(e)0 2825 y(placeholders.)141 2938 y(If)25 b(w)m(e)h(view)e(the)i(constan)m (ts)g(in)e(the)i(signature)e(as)i(represen)m(tations)f(of)g(pro)s(of)g (rules,)g(then)g(the)h(lo)s(cal)e(erasure)0 3051 y(algorithm)39 b(sa)m(ys)h(that)h(in)e(eac)m(h)i(rule)d(w)m(e)j(m)m(ust)f(explicitly)d (sp)s(ecify)i(at)h(least)g(the)h(instan)m(tiations)d(of)i(logical)0 3164 y(v)-5 b(ariables)29 b(that)i(could)e(not)i(b)s(e)f(reco)m(v)m (ered)i(from)e(the)g(conclusion)f(of)i(the)f(rule.)141 3326 y(Before)e(w)m(e)e(giv)m(e)h(a)g(general)f(recip)s(e)g(function)f (w)m(e)i(discuss)d(the)j(cases)g(of)g(sev)m(eral)g(constan)m(ts.)40 b(Consider)25 b(\014rst)0 3439 y(the)31 b(constan)m(t)g Fk(+)f FE(with)f(the)i(follo)m(wing)e(t)m(yp)s(e:)1470 3643 y(+)76 b(:)g Fk(exp)24 b FA(!)h Fk(exp)g FA(!)g Fk(exp)141 3848 y FE(It)34 b(is)f(ob)m(vious)g(that)h(no)g(placeholder) e(v)-5 b(ariable)33 b(can)h(b)s(e)f(instan)m(tiated)g(as)h(part)g(of)g (the)g(uni\014cation)e(of)i(the)0 3961 y(result)27 b(t)m(yp)s(e)h(\()p Fk(exp)p FE(\))g(with)f(another)i(t)m(yp)s(e.)40 b(Therefore,)28 b(no)g(implicit)d(argumen)m(ts)k(are)f(allo)m(w)m(ed)g(for)g(the)h (constan)m(t)0 4073 y Fk(+)p FE(.)49 b(This)32 b(is)g(denoted)h(b)m(y)g (the)h(represen)m(tation)f(recip)s(e)f Fx(R)q FE(\(+\))f(=)e Fx(e)15 b(e)p FE(.)51 b(F)-8 b(ollo)m(wing)32 b(the)i(same)f(line)f(of) i(reasoning)0 4186 y(w)m(e)d(infer)e(that)i(the)f(represen)m(tation)h (of)f(expressions)f(and)h(predicates)g(m)m(ust)g(b)s(e)g (fully-explicit.)141 4299 y(The)g(next)h(constan)m(t)g(w)m(e)g (consider)e(is)h Fk(and)p 1629 4299 29 4 v 33 w(i)g FE(with)f(the)i(t)m (yp)s(e:)818 4504 y Fk(and)p 968 4504 V 34 w(i)75 b FE(:)h(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)p Fx(:)p Fk(pf)25 b Fx(p)g FA(!)g Fk(pf)f Fx(r)k FA(!)d Fk(pf)g FE(\()p Fk(and)g Fx(p)50 b(r)s FE(\))141 4708 y(If)29 b(w)m(e)g(unify)e(the)j(t)m(yp)s(e)f Fk(pf)c FE(\()p Fk(and)f Fx(u)1329 4722 y Fz(p)1420 4708 y Fx(u)1472 4722 y Fz(r)1510 4708 y FE(\))29 b(with)f(another)h(t)m(yp)s(e,)h(and)e (if)g(the)i(uni\014cation)d(succeeds,)j(then)e(w)m(e)0 4821 y(obtain)g(instan)m(tiations)f(for)g Fx(u)1036 4835 y Fz(p)1104 4821 y FE(and)h(for)g Fx(u)1468 4835 y Fz(r)1534 4821 y FE(and)f(for)h(nothing)f(else.)40 b(This)26 b(suggests)j(that)g (the)f(only)g(argumen)m(ts)0 4934 y(of)j Fk(and)p 254 4934 V 33 w(i)f FE(that)h(can)g(b)s(e)e(implicit)f(are)j(the)f(\014rst) g(t)m(w)m(o.)42 b(This)28 b(is)i(denoted)g(b)m(y)h(the)f(recip)s(e)g Fx(R)q FE(\()p Fk(and)p 3329 4934 V 33 w(i)p FE(\))25 b(=)g FA(\003)16 b(\003)g Fx(e)f(e)p FE(.)141 5047 y(Next)31 b(w)m(e)g(consider)e(the)i(case)g(of)g(the)g(constan)m(t)g Fk(and)p 1977 5047 V 34 w(er)f FE(with)f(the)h(t)m(yp)s(e:)948 5251 y Fk(and)p 1098 5251 V 34 w(er)75 b FE(:)h(\005)p Fx(p)10 b FE(:)g Fk(pred)o Fx(:)p FE(\005)p Fx(r)j FE(:)d Fk(pred)o Fx(:)p Fk(pf)25 b FE(\()p Fk(and)g Fx(p)50 b(r)s FE(\))26 b FA(!)f Fk(pf)f Fx(r)1905 5589 y FE(23)p eop %%Page: 24 26 24 25 bop 141 91 a FE(F)-8 b(or)23 b(the)g(same)g(reasons)f(as)h(ab)s (o)m(v)m(e)g(w)m(e)g(see)g(that)g(only)f(the)g(argumen)m(t)h Fx(r)i FE(can)e(b)s(e)e(instan)m(tiated)h(b)m(y)h(solving)e(the)0 204 y(uni\014cation)g(constrain)m(t,)k(hence)e(the)g(represen)m(tation) f(recip)s(e)g Fx(R)q FE(\()p Fk(and)p 2382 204 29 4 v 34 w(er)o FE(\))k(=)f Fx(e)15 b FA(\003)h Fx(e)f(e)p FE(.)39 b(Note)24 b(that)f(ev)m(en)h(when)e(the)0 317 y(argumen)m(t)k Fx(p)f FE(could)f(b)s(e)h(reco)m(v)m(ered)i(b)m(y)e(t)m (yp)s(e)g(inference)g(on)g(the)g(third)f(argumen)m(t,)j(the)e(lo)s(cal) g(erasure)g(algorithm)0 430 y(requires)k(it)i(to)g(b)s(e)f(explicit.)40 b(It)31 b(is)f(in)f(cases)j(lik)m(e)e(this)g(where)g(more)h (sophisticated)f(erasure)g(algorithms,)g(suc)m(h)0 543 y(as)h(the)f(ones)h(sho)m(w)m(ed)f(next,)h(ac)m(hiev)m(e)h(smaller)d (represen)m(tations.)141 656 y(W)-8 b(e)34 b(conclude)e(our)h(examples) f(with)g(a)h(sligh)m(tly)e(tric)m(kier)h(case.)50 b(Consider)31 b(the)i(constan)m(t)h Fk(all)p 3456 656 V 34 w(e)e FE(with)g(the)0 769 y(t)m(yp)s(e:)818 882 y Fk(all)p 968 882 V 34 w(e)75 b FE(:)h(\005)p Fx(p)10 b FE(:)g Fk(exp)25 b FA(!)g Fk(pred)o Fx(:)p FE(\005)p Fx(e)10 b FE(:)g Fk(exp)q Fx(:)p Fk(pf)24 b FE(\()p Fk(all)51 b Fx(p)p FE(\))25 b FA(!)g Fk(pf)g FE(\()p Fx(p)g(e)p FE(\))141 1049 y(In)31 b(this)g(case)i(the)f(t)m(yp) s(e)g Fk(pf)c FE(\()p Fx(u)1204 1063 y Fz(p)1271 1049 y Fx(u)1323 1063 y Fz(e)1360 1049 y FE(\))33 b(do)s(es)e(not)h(unify)e (with)h(an)m(y)h(another)g(t)m(yp)s(e)g(b)s(ecause)g(the)g(placeholder) 0 1161 y(v)-5 b(ariable)36 b Fx(u)400 1175 y Fz(p)477 1161 y FE(is)h(in)f(an)h(application)f(head)h(p)s(osition.)59 b(Therefore)38 b(at)g(least)f(the)h(predicate)f Fx(p)g FE(m)m(ust)g(b)s(e)g(giv)m(en)0 1274 y(explicitly)g(in)g(order)i(to)h (p)s(erform)e(the)h(uni\014cation.)65 b(If)39 b(this)f(is)g(the)h (case,)k(w)m(e)c(consider)f(unifying)e(the)k(t)m(yp)s(e)0 1387 y Fk(pf)32 b FE(\()p Fx(P)45 b(u)318 1401 y Fz(e)355 1387 y FE(\))35 b(for)g(some)f Fx(P)13 b FE(.)54 b(W)-8 b(e)36 b(cannot)f(assume)f(that)h Fx(u)1984 1401 y Fz(e)2056 1387 y FE(is)e(instan)m(tiated)i(b)m(y)f(this)g(uni\014cation)e(b)s (ecause,)k(for)0 1500 y(example,)30 b Fx(u)433 1514 y Fz(e)500 1500 y FE(migh)m(t)g(not)g(o)s(ccur)g(at)g(all)f(in)g(the)h (normal)f(form)g(of)i(\()p Fx(P)38 b(u)2473 1514 y Fz(e)2510 1500 y FE(\).)j(Because)31 b(of)g(this,)e(the)h(expression)f Fx(e)0 1613 y FE(m)m(ust)23 b(also)g(giv)m(en)h(explicitly)-8 b(.)36 b(This)21 b(justi\014es)h(the)i(all-explicit)c(represen)m (tation)k(recip)s(e)e Fx(R)q FE(\()p Fk(all)p 3258 1613 V 34 w(e)o FE(\))k(=)f Fx(e)15 b(e)g(e)p FE(.)40 b(Note)0 1726 y(that)35 b(in)e(a)h(signature)f(represen)m(ting)h(\014rst-order)f (logic)h(there)g(are)h(only)e(few)h(cases)h(where)f(similar)d (situations)0 1839 y(o)s(ccur,)f(namely)g(the)h(constan)m(ts)g(related) f(to)i(univ)m(ersal)c(and)i(existen)m(tial)g(quan)m(ti\014cation.)141 1952 y(W)-8 b(e)31 b(could)d(con)m(tin)m(ue)i(the)f(case)i(analysis)d (for)h(all)f(the)h(constan)m(ts)i(from)e(\006.)40 b(Instead,)30 b(w)m(e)f(prefer)g(to)h(dev)m(elop)0 2065 y(a)h(general)f(algorithm)g (for)g(computing)f(the)i(represen)m(tation)f(recip)s(es.)141 2203 y(As)f(w)m(e)g(ha)m(v)m(e)h(seen)f(in)e(the)i(informal)d (computation)j(of)g(represen)m(tation)g(recip)s(es,)f(it)g(is)g(imp)s (ortan)m(t)g(to)h(kno)m(w)0 2315 y(the)e(set)h(of)f(placeholder)f(v)-5 b(ariables)26 b(that)i(are)f(certainly)f(instan)m(tiated)h(during)e (the)i(uni\014cation)f(of)h(a)g(term.)40 b(F)-8 b(or)0 2428 y(this)29 b(purp)s(ose)g(w)m(e)i(de\014ne)e(a)i(function)e Fv(Inst)40 b FE(that)31 b(computes)f(the)h(set)g(of)f(\\instan)m (tiable")g(v)-5 b(ariables)29 b(of)i(a)f(term.)141 2541 y(The)g(de\014nition)f(of)h Fv(Inst)40 b FE(follo)m(ws)30 b(the)h(structure)f(of)h(the)f(uni\014cation)f(judgmen)m(t)h(and)g(has) h(an)f(atomic)i(and)0 2654 y(a)c(normal)e(v)-5 b(arian)m(t.)40 b(W)-8 b(e)28 b(write)f Fv(Inst)9 b FE(\()p Fx(M)h FE(\))26 b(=)f Fx(S)32 b FE(to)d(mean)e(that)h(the)g(v)-5 b(ariables)26 b(in)g Fx(S)32 b FE(are)c(certainly)e(instan)m(tiated)0 2767 y(b)m(y)38 b(the)h(successful)e(normal)h(uni\014cation)e(of)j Fx(M)48 b FE(with)38 b(an)g(LF)h(term)f(without)g(placeholder)f(v)-5 b(ariables.)63 b(The)0 2880 y(atomic)38 b(v)-5 b(arian)m(t)37 b(of)g(the)h(instan)m(tiation)e(function)g(is)g(written)g Fv(Inst)2382 2894 y Fz(a)2424 2880 y FE(\()p Fx(M)10 b FE(\))37 b(=)g Fx(S)29 b FE(+)c Fx(\014)5 b FE(,)39 b(where)e Fx(\014)42 b FE(is)36 b(an)h(output)0 2993 y(parameter)25 b(sp)s(ecifying)e(whether)h(the)i(head)e(of)h Fx(M)35 b FE(is)24 b(a)h(placeholder)f(v)-5 b(ariable.)38 b(These)24 b(judgmen)m(ts)h(are)g(de\014ned)0 3106 y(b)m(y)30 b(the)h(follo)m(wing)e(rules:)p 236 3408 742 4 v 236 3485 a Fv(Inst)9 b FE(\()p Fx(\025x)h FE(:)g Fx(A:M)g FE(\))27 b(=)e FA(;)p 1088 3408 550 4 v 111 w Fv(Inst)9 b FE(\()p Fx(u)p FE(\))26 b(=)f FA(f)p Fx(u)p FA(g)1778 3367 y Fv(Inst)1941 3381 y Fz(a)1982 3367 y FE(\()p Fx(M)10 b FE(\))26 b(=)f Fx(S)g FE(+)20 b Fx(\014)p 1748 3408 783 4 v 1883 3485 a Fv(Inst)9 b FE(\()p Fx(M)h FE(\))26 b(=)f Fx(S)2718 3367 y Fv(Inst)2880 3381 y Fz(a)2922 3367 y FE(\()p Fx(M)3045 3381 y Ft(1)3085 3367 y FE(\))g(=)g FA(;)c FE(+)f FD(true)p 2642 3408 1023 4 v 2642 3485 a Fv(Inst)2804 3499 y Fz(a)2845 3485 y FE(\()p Fx(M)2968 3499 y Ft(1)3034 3485 y Fx(M)3122 3499 y Ft(2)3161 3485 y FE(\))26 b(=)f FA(;)c FE(+)e FD(true)p 156 3792 795 4 v 156 3868 a Fv(Inst)318 3882 y Fz(a)360 3868 y FE(\()p Fx(u)p FE(\))26 b(=)f FA(;)20 b FE(+)g FD(true)p 1061 3792 793 4 v 111 w Fv(Inst)1223 3882 y Fz(a)1264 3868 y FE(\()p Fx(c)p FE(\))27 b(=)e FA(;)20 b FE(+)g FD(false)1994 3751 y Fv(Inst)2156 3765 y Fz(a)2198 3751 y FE(\()p Fx(M)2321 3765 y Ft(1)2361 3751 y FE(\))26 b(=)f Fx(S)2574 3765 y Ft(1)2633 3751 y FE(+)20 b FD(false)212 b Fv(Inst)9 b FE(\()p Fx(M)3422 3765 y Ft(2)3462 3751 y FE(\))26 b(=)f Fx(S)3675 3765 y Ft(2)p 1964 3792 1781 4 v 2214 3868 a Fv(Inst)2376 3882 y Fz(a)2418 3868 y FE(\()p Fx(M)2541 3882 y Ft(1)2606 3868 y Fx(M)2694 3882 y Ft(2)2734 3868 y FE(\))h(=)f Fx(S)2947 3882 y Ft(1)3006 3868 y FA([)20 b Fx(S)3143 3882 y Ft(2)3202 3868 y FE(+)g FD(false)141 4017 y FE(Note)28 b(in)e(the)h(ab)s(o)m(v)m(e)h(rules)e(that)h(no)g(v) -5 b(ariable)25 b(is)h(instan)m(tiated)h(during)e(the)i(uni\014cation)e (of)i(an)g(abstraction.)0 4130 y(Also,)44 b(if)d(the)g(head)h(of)f(an)h (application)e(is)g(a)i(v)-5 b(ariable)40 b(then)i(the)f(atomic)h (instan)m(tiation)f(function)f(returns)0 4242 y Fx(\014)55 b FE(=)50 b FD(true)45 b FE(and,)k(as)d(in)e(the)i(case)g(of)g Fk(all)p 1579 4242 29 4 v 33 w(e)f FE(discussed)f(ab)s(o)m(v)m(e,)50 b(w)m(e)c(m)m(ust)f(assume)g(that)h(no)g(v)-5 b(ariable)44 b(is)0 4355 y(instan)m(tiated)35 b(as)h(part)g(of)f(the)h (uni\014cation.)55 b(The)35 b(precise)g(relation)g(b)s(et)m(w)m(een)h (the)g(instan)m(tiation)e(judgmen)m(ts)0 4468 y(and)c(the)g (uni\014cation)f(is)g(describ)s(ed)g(b)m(y)h(the)g(follo)m(wing)f (theorem:)0 4656 y FD(Theorem)34 b(7.1)46 b Fv(If)28 b FE(\011)785 4670 y Ft(0)824 4656 y FE(\()p Fx(M)10 b FE(\))26 b FA(\031)1089 4670 y Fz(a)1156 4656 y Fx(N)38 b Fv(and)30 b FE(PVF\(\011)1735 4670 y Ft(0)1775 4656 y FE(\))e Fv(and)i FE(PVF\()p Fx(N)10 b FE(\))29 b Fv(then)g(Inst)2742 4670 y Fz(a)2784 4656 y FE(\()p Fx(M)10 b FE(\))26 b FA(\022)f Fv(Dom)7 b FE(\(\011)3376 4670 y Ft(0)3416 4656 y FE(\))k FA([)g Fv(Dom)d FE(\(\011\))p Fv(.)141 4843 y FE(This)29 b(theorem)h(sa)m(ys)h(that)g(all)e(the)h(v)-5 b(ariables)29 b(in)g Fv(Inst)2019 4857 y Fz(a)2061 4843 y FE(\()p Fx(M)10 b FE(\))31 b(that)f(are)h(not)f(already)g(instan)m (tiated)g(\(b)m(y)h(\011)3826 4857 y Ft(0)3865 4843 y FE(\))0 4956 y(are)f(instan)m(tiated)f(during)f(uni\014cation)f(with)i (a)h(t)m(yp)s(e)f(without)g(placeholder)f(v)-5 b(ariables.)40 b(The)29 b(theorem)h(has)f(an)0 5069 y(easy)i(pro)s(of)f(b)m(y)g (induction)e(on)i(the)h(structure)f(of)g Fx(M)10 b FE(.)141 5182 y(It)23 b(is)f(con)m(v)m(enien)m(t)h(to)h(de\014ne)d(the)i (complemen)m(tary)g(function)e Fv(NonInst)10 b FE(\()p Fx(A)p FE(\))26 b(=)f(FV)r(\()p Fx(A)p FE(\))p FA(n)p Fv(Inst)3304 5196 y Fz(a)3346 5182 y FE(\()p Fx(A)p FE(\),)g(to)e (denote)0 5295 y(the)31 b(set)f(of)h(v)-5 b(ariables)29 b(that)i(are)g(not)f(necessarily)g(instan)m(tiated)g(as)g(part)h(of)f (the)h(uni\014cation)d(of)j Fx(A)p FE(.)1905 5589 y(24)p eop %%Page: 25 27 25 26 bop 141 91 a FE(Next)36 b(w)m(e)f(de\014ne)f(the)g(represen)m (tation)h(recip)s(e)f(function)f(using)g(the)i(help)s(er)e(judgmen)m(t) h Fx(R)3322 105 y Fz(A)3379 91 y FE(\()p Fx(A)p FE(\))f(=)f Fx(r)26 b FE(+)d Fx(S)5 b FE(,)0 204 y(where)32 b Fx(A)h FE(is)f(a)h(t)m(yp)s(e,)g Fx(r)i FE(is)d(partial)f(a)i(represen)m (tation)g(recip)s(e)f(and)g Fx(S)37 b FE(is)32 b(a)h(set)g(of)g (placeholder)e(v)-5 b(ariables)31 b(that)0 317 y(are)f(guaran)m(teed)g (to)h(b)s(e)e(instan)m(tiated)g(while)e(unifying)g(the)j(result)e(part) h(of)h Fx(A)p FE(.)41 b(The)29 b(represen)m(tation)g(recip)s(e)g(of)0 430 y(a)i(constan)m(t)g Fx(c)g FE(is)e(computed)i(based)f(on)g(its)g(t) m(yp)s(e)g(\006\()p Fx(c)p FE(\))h(as)g(follo)m(ws:)1253 622 y Fx(R)q FE(\()p Fx(c)p FE(\))26 b(=)f Fx(r)239 b FE(if)49 b Fx(R)2006 636 y Fz(A)2064 622 y FE(\(\006\()p Fx(c)p FE(\)\))26 b(=)f Fx(r)e FE(+)d Fx(S)141 815 y FE(The)30 b Fx(R)397 829 y Fz(A)484 815 y FE(judgmen)m(t)g(is)g (de\014ned)f(b)m(y)h(the)h(follo)m(wing)e(rules:)621 1065 y Fx(R)690 1079 y Fz(A)747 1065 y FE(\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))26 b(=)f Fx(r)e FE(+)d Fx(S)217 b(u)25 b FA(2)g Fx(S)p 591 1105 1304 4 v 779 1182 a(R)848 1196 y Fz(A)905 1182 y FE(\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))27 b(=)e FA(\003)15 b Fx(r)23 b FE(+)d Fx(S)2036 1065 y(R)2105 1079 y Fz(A)2162 1065 y FE(\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))26 b(=)f Fx(r)e FE(+)d Fx(S)217 b(u)25 b FA(62)g Fx(S)p 2005 1105 V 2196 1182 a(R)2265 1196 y Fz(A)2322 1182 y FE(\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))26 b(=)f Fx(e)15 b(r)23 b FE(+)d Fx(S)1708 1436 y(A)51 b Fv(is)33 b(atomic)p 1531 1455 839 4 v 1531 1531 a Fx(R)1600 1545 y Fz(A)1657 1531 y FE(\()p Fx(A)p FE(\))26 b(=)f FA(\001)20 b FE(+)g Fx(I)7 b(nst)p FE(\()p Fx(A)p FE(\))141 1673 y(The)30 b Fx(R)397 1687 y Fz(A)485 1673 y FE(judgmen)m(t)h(scans)f(the)h(t)m(yp)s(e)g(of)g(a)h(constan)m (t,)g(starting)f(from)f(the)h(result)f(t)m(yp)s(e.)42 b(It)31 b(computes)g(the)0 1786 y(set)23 b(of)h(instan)m(tiable)d(v)-5 b(ariables)22 b(of)h(the)g(result)e(t)m(yp)s(e)j(and)e(then)g(w)m(orks) h(bac)m(kw)m(ard)h(adding)d(to)j(the)f(represen)m(tation)0 1899 y(recip)s(e)29 b(a)i FA(\003)g FE(c)m(haracter)h(if)d(the)i (corresp)s(onding)d(argumen)m(t)j(is)e(instan)m(tiated)h(or)h(an)f Fx(e)h FE(c)m(haracter)h(otherwise.)141 2012 y(This)f(completes)i(the)g (de\014nition)d(of)j(the)f(represen)m(tation)h(recip)s(e)f(function)f (and)h(with)f(it)h(the)h(description)0 2125 y(of)c(the)g(lo)s(cal)f (erasure)h(algorithm.)39 b(W)-8 b(e)30 b(presen)m(t)f(next)g(a)h(more)f (sophisticated)f(erasure)h(algorithm)e(that)j(w)m(orks)0 2238 y(in)f(a)i(similar)d(w)m(a)m(y)-8 b(.)0 2479 y Fs(7.2)112 b(The)38 b(One-bit)f(Global)g(Algorithm)0 2651 y FE(The)k(lo)s(cal)f (erasure)h(algorithm)g(presen)m(ted)g(ab)s(o)m(v)m(e)h(has)f(the)h(adv) -5 b(an)m(tage)43 b(of)f(simplicit)m(y)c(and)j(con)m(text)i(inde-)0 2764 y(p)s(endence.)75 b(Ho)m(w)m(ev)m(er,)47 b(there)42 b(are)g(practical)g(cases)h(when)e(its)g(result)g(is)g(not)h (satisfactory)-8 b(.)77 b(Consider)40 b(the)0 2877 y(fully-explicit)27 b(term)j(represen)m(ting)g(a)h(pro)s(of)e(of)i Fx(P)1734 2891 y Ft(1)1799 2877 y FA(\033)25 b Fx(P)1953 2891 y Ft(2)1993 2877 y FE(:)725 3069 y Fk(impl)p 923 3069 29 4 v 33 w(i)g Fx(P)1081 3083 y Ft(1)1146 3069 y Fx(P)1204 3083 y Ft(2)1269 3069 y FE(\()p Fx(\025x)10 b FE(:)g Fk(pf)26 b Fx(P)1634 3083 y Ft(1)1674 3069 y Fx(:)p Fk(impl)p 1897 3069 V 33 w(e)f Fx(P)2055 3083 y Ft(1)2120 3069 y Fx(P)2178 3083 y Ft(2)2243 3069 y Fx(D)2318 3083 y Ft(1)2383 3069 y Fx(x)p FE(\))h(:)f Fk(pf)g FE(\()p Fk(impl)g Fx(P)2977 3083 y Ft(1)3042 3069 y Fx(P)3100 3083 y Ft(2)3140 3069 y FE(\))0 3262 y(assuming)40 b(that)h Fx(D)688 3276 y Ft(1)771 3262 y FE(:)i Fk(pf)g FE(\()p Fk(impl)f Fx(P)1305 3276 y Ft(1)1388 3262 y Fx(P)1446 3276 y Ft(2)1486 3262 y FE(\))f(for)g(some)g(predicate)g(represen)m(tations)g Fx(P)3054 3276 y Ft(1)3135 3262 y FE(and)g Fx(P)3381 3276 y Ft(2)3420 3262 y FE(.)73 b(The)41 b(lo)s(cal)0 3374 y(represen)m(tation)i(recip)s(e)f(for)h(the)g(t)m(w)m(o)h(pro)s (of)e(constan)m(ts)i(in)m(v)m(olv)m(ed)f(\(de\014ned)f(in)g(Figure)g(8) h(on)g(page)h(9\))g(are)0 3487 y Fx(R)q FE(\()p Fk(impl)p 303 3487 V 33 w(i)p FE(\))26 b(=)f FA(\003)15 b(\003)h Fx(e)30 b FE(and)g Fx(R)q FE(\()p Fk(impl)p 1208 3487 V 34 w(e)o FE(\))c(=)f Fx(e)15 b FA(\003)h Fx(e)f(e)p FE(.)41 b(Therefore)31 b(the)f(lo)s(cal)g(erasure)g(of)g(the)h(ab)s(o)m (v)m(e)h(term)e(is:)936 3680 y Fk(impl)p 1134 3680 V 33 w(i)25 b FA(\003)h(\003)f FE(\()p Fx(\025x:)p Fk(impl)p 1738 3680 V 34 w(e)g Fx(P)1897 3694 y Ft(1)1962 3680 y FA(\003)h Fx(D)2111 3642 y Fw(0)2108 3702 y Ft(1)2173 3680 y Fx(x)p FE(\))f(:)h Fk(pf)f FE(\()p Fk(impl)f Fx(P)2766 3694 y Ft(1)2831 3680 y Fx(P)2889 3694 y Ft(2)2929 3680 y FE(\))0 3872 y(assuming)i(that)i Fx(D)664 3839 y Fw(0)661 3897 y Ft(1)728 3872 y FE(is)e(the)h(lo)s(cal)g(erasure)g(of)g Fx(D)1667 3886 y Ft(1)1707 3872 y FE(.)40 b(W)-8 b(e)28 b(immediately)e(see)h(that)h(the)g(\014rst)e(argumen)m(t)i(to)g Fk(impl)p 3825 3872 V 33 w(e)0 3985 y FE(could)40 b(b)s(e)f (reconstructed)i(from)f(the)h(con)m(text)i(in)c(whic)m(h)g(it)h(app)s (ears,)j(for)d(example)g(from)g(the)h(fact)g(that)h(a)0 4098 y(represen)m(tation)26 b(of)h(its)e(pro)s(of)h(is)f Fx(x)h FE(of)h(t)m(yp)s(e)f Fk(pf)f Fx(P)1690 4112 y Ft(1)1730 4098 y FE(.)39 b(This)24 b(example)i(is)g(v)m(ery)g(simple)e (and)i(the)g(p)s(oten)m(tial)g(sa)m(vings)0 4211 y(are)32 b(small.)45 b(Ho)m(w)m(ev)m(er,)34 b(similar)c(situations)g(o)s(ccur)i (whenev)m(er)g(there)g(are)h(pro)s(of)e(rules)g(for)g(whic)m(h)g(some)i (of)f(the)0 4324 y(logical)23 b(parameters)h(cannot)g(b)s(e)f(reco)m(v) m(ered)i(from)e(the)h(conclusion)e(alone)i(but)f(from)g(the)h (surrounding)c(con)m(text.)0 4437 y(This)25 b(is)h(the)h(case)h(with)e (conjunction)g(and)g(implication)e(elimination)h(rules)g(and)i(man)m(y) g(arithmetic)f(rules)f(suc)m(h)0 4550 y(as)31 b(the)f(transitivit)m(y)f (of)i(equalit)m(y)-8 b(.)141 4663 y(The)25 b(one-bit)g(global)f (erasure)h(algorithm)f(uses)h(only)g(one)g(bit)f(of)i(information)d(ab) s(out)i(the)h(con)m(text)h(or)e(more)0 4775 y(precisely)35 b(ab)s(out)h(the)h(circumstances)f(in)f(whic)m(h)g(the)h(t)m(yp)s(e)h (reconstruction)f(will)d(b)s(e)j(in)m(v)m(ok)m(ed)h(on)f(the)h(term.)0 4888 y(This)i(bit)h(of)h(information)f(sa)m(ys)h(whether,)j(at)d(the)g (time)g(of)g(t)m(yp)s(e)g(reconstruction,)j(the)d(t)m(yp)s(e)g(can)h (con)m(tain)0 5001 y(placeholder)35 b(v)-5 b(ariables)35 b(or)h(not.)59 b(If)36 b(the)g(t)m(yp)s(e)h(cannot)f(con)m(tain)h(v)-5 b(ariables)35 b(w)m(e)i(sa)m(y)g(that)g(the)f(term)g(m)m(ust)h(b)s(e)0 5114 y(represen)m(ted)28 b(for)f(t)m(yp)s(ec)m(hec)m(king.)41 b(Otherwise)26 b(w)m(e)i(sa)m(y)g(that)h(it)e(m)m(ust)g(b)s(e)g (represen)m(ted)h(for)f(t)m(yp)s(e)h(inference,)g(and)0 5227 y(in)f(suc)m(h)h(a)g(w)m(a)m(y)h(that)g(t)m(yp)s(e)f (reconstruction)g(on)g(that)h(term)f(alone)g Fv(must)h FE(succeed)f(in)f(\014nding)f(an)i(instan)m(tiation)0 5340 y(for)i(all)f(placeholder)g(v)-5 b(ariables)29 b(that)i(app)s(ear) f(in)f(the)i(t)m(yp)s(e.)1905 5589 y(25)p eop %%Page: 26 28 26 27 bop 141 91 a FE(W)-8 b(e)31 b(express)e(the)h(one-bit)f(global)g (erasure)h(algorithm)f(in)f(terms)i(of)f(represen)m(tation)h(recip)s (es,)f(in)g(a)h(similar)0 204 y(manner)h(as)g(the)h(lo)s(cal)e (algorithm.)43 b(W)-8 b(e)32 b(replace)g(the)f Fx(e)h FE(represen)m(tation)f(c)m(haracter)i(with)d(t)m(w)m(o)j(separate)f(c)m (har-)0 317 y(acters)h Fx(e)307 331 y Fz(c)374 317 y FE(\(for)g(c)m(hec)m(king\))g(and)f Fx(e)1175 331 y Fz(i)1236 317 y FE(\(for)g(inference\).)46 b(Due)32 b(to)h(the)g(fact)g(that)g (no)m(w)f(the)g(erasure)g(function)f(uses)0 430 y(one-bit)i(of)g (global)f(information)f(\(whether)i(it)g(is)f(c)m(hec)m(king)h(or)g (inference\))g(w)m(e)g(c)m(hange)h(the)g(erasure)e(function)0 576 y(to)k Fx(M)263 514 y Fz(i)287 522 y Fy(p)247 576 y FA(!)d Fx(M)469 543 y Fw(0)528 576 y FE(where)h Fx(p)h FE(can)h(b)s(e)e(either)h Fx(c)g FE(or)g Fx(i)p FE(.)55 b(The)35 b(only)f(erasure)h(rules)f(that)i(are)f(c)m(hanged)h(are)g (those)f(for)0 688 y(constan)m(ts)d(and)d(for)h(explicit)f (application:)259 960 y Fx(M)347 974 y Ft(1)427 898 y Fz(i)451 906 y Fy(p)412 960 y FA(!)c Fx(M)626 927 y Fw(0)616 984 y Ft(1)676 960 y FE(+)19 b Fx(e)808 974 y Fz(c)859 960 y Fx(R)212 b(M)1228 974 y Ft(2)1311 908 y Fz(i)1335 916 y Fy(c)1293 960 y FA(!)26 b Fx(M)1508 927 y Fw(0)1498 984 y Ft(2)p 228 1002 1340 4 v 456 1125 a Fx(M)544 1139 y Ft(1)609 1125 y Fx(M)697 1139 y Ft(2)777 1063 y Fz(i)801 1071 y Fy(p)762 1125 y FA(!)f Fx(M)976 1087 y Fw(0)966 1147 y Ft(1)1031 1125 y Fx(M)1129 1087 y Fw(0)1119 1147 y Ft(2)1179 1125 y FE(+)20 b Fx(R)1709 960 y(M)1797 974 y Ft(1)1877 898 y Fz(i)1901 906 y Fy(p)1861 960 y FA(!)26 b Fx(M)2076 927 y Fw(0)2066 984 y Ft(1)2125 960 y FE(+)20 b Fx(e)2258 974 y Fz(i)2302 960 y Fx(R)213 b(M)2672 974 y Ft(2)2757 906 y Fz(i)2781 916 y Fy(i)2737 960 y FA(!)25 b Fx(M)2951 927 y Fw(0)2941 984 y Ft(2)p 1678 1002 1333 4 v 1903 1125 a Fx(M)1991 1139 y Ft(1)2056 1125 y Fx(M)2144 1139 y Ft(2)2224 1063 y Fz(i)2248 1071 y Fy(p)2209 1125 y FA(!)g Fx(M)2423 1087 y Fw(0)2413 1147 y Ft(1)2478 1125 y Fx(M)2576 1087 y Fw(0)2566 1147 y Ft(2)2626 1125 y FE(+)19 b Fx(R)p 3122 1002 550 4 v 337 w(c)3202 1063 y Fz(i)3226 1071 y Fy(p)3186 1125 y FA(!)25 b Fx(c)c FE(+)f Fx(R)3522 1139 y Fz(p)3562 1125 y FE(\()p Fx(c)p FE(\))141 1314 y(The)32 b(one-bit)h(represen)m(tation)g(recip)s(es)e (no)m(w)i(determine)f(not)h(only)f(whether)g(an)h(argumen)m(t)g(m)m (ust)g(b)s(e)f(im-)0 1427 y(plicit)41 b(or)i(not,)k(but)42 b(also)h(whether)g(the)g(explicit)e(argumen)m(ts)j(m)m(ust)f(b)s(e)f (represen)m(ted)h(for)g(c)m(hec)m(king)h(or)f(for)0 1540 y(inference.)k(A)m(t)34 b(this)d(p)s(oin)m(t)h(w)m(e)h(ha)m(v)m(e)h (reduced)e(the)h(erasure)g(to)g(the)g(static)h(computation)e(of)h(the)g (represen)m(ta-)0 1653 y(tion)28 b(recip)s(es)g Fx(R)554 1667 y Fz(i)611 1653 y FE(and)g Fx(R)855 1667 y Fz(c)919 1653 y FE(for)g(eac)m(h)i(constan)m(t)h(in)c(the)i(signature.)40 b(These)28 b(functions)g(are)h(computed,)g(as)g(in)f(the)0 1766 y(lo)s(cal)34 b(case,)j(using)d(an)g(auxiliary)f(judgmen)m(t)h Fx(R)1677 1722 y Fz(p)1676 1795 y(A)1733 1766 y FE(\()p Fx(A)p FE(\))g(=)e Fx(r)26 b FE(+)d Fx(S)2225 1780 y Fz(i)2276 1766 y FE(+)g Fx(S)2426 1780 y Fz(e)2462 1766 y FE(.)54 b(In)34 b(addition)f(to)j(the)f(set)g(of)g(v)-5 b(ariables)0 1879 y Fx(S)56 1893 y Fz(i)114 1879 y FE(that)30 b(are)g(instan)m(tiated)g(b)m(y)f(constrain)m(t)h(solving,)f(the)h(new) g(judgmen)m(t)f(also)h(con)m(tains)g(a)g(set)g(of)g(placeholder)0 1992 y(v)-5 b(ariables)29 b Fx(S)433 2006 y Fz(e)500 1992 y FE(that)i(m)m(ust)f(b)s(e)g(explicit.)39 b(This)29 b(judgmen)m(t)h(is)f(de\014ned)g(b)m(y)h(the)h(follo)m(wing)e(rules:) 1080 2253 y Fx(A)51 b Fv(is)32 b(atomic)p 622 2271 1401 4 v 622 2348 a Fx(R)692 2310 y Fz(c)691 2370 y(A)748 2348 y FE(\()p Fx(A)p FE(\))26 b(=)f FA(\001)20 b FE(+)g Fv(Inst)9 b FE(\()p Fx(A)p FE(\))21 b(+)f Fv(NonInst)9 b FE(\()p Fx(A)p FE(\))2464 2253 y Fx(A)51 b Fv(is)32 b(atomic)p 2133 2271 1146 4 v 2133 2361 a Fx(R)2203 2323 y Fz(i)2202 2383 y(A)2259 2361 y FE(\()p Fx(A)p FE(\))26 b(=)f FA(\001)c FE(+)f FA(;)g FE(+)g Fv(NonInst)10 b FE(\()p Fx(A)p FE(\))1204 2628 y Fx(R)1274 2583 y Fz(p)1273 2656 y(A)1330 2628 y FE(\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))26 b(=)f Fx(r)e FE(+)d Fx(S)2006 2642 y Fz(i)2054 2628 y FE(+)g Fx(S)2201 2642 y Fz(e)2449 2628 y Fx(u)26 b FA(2)f Fx(S)2669 2642 y Fz(i)p 1173 2674 1554 4 v 1373 2755 a Fx(R)1443 2711 y Fz(p)1442 2784 y(A)1499 2755 y FE(\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))27 b(=)e FA(\003)15 b Fx(r)23 b FE(+)d Fx(S)2295 2769 y Fz(i)2343 2755 y FE(+)g Fx(S)2490 2769 y Fz(e)748 2990 y Fx(R)818 2946 y Fz(p)817 3019 y(A)874 2990 y FE(\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))26 b(=)f Fx(r)e FE(+)d Fx(S)1550 3004 y Fz(i)1598 2990 y FE(+)g Fx(S)1745 3004 y Fz(e)1993 2990 y Fx(u)26 b FA(62)f Fx(S)2213 3004 y Fz(i)2453 2990 y Fv(Inst)9 b FE(\()p Fx(A)p FE(\))26 b FA(\022)f Fx(S)2931 3004 y Fz(i)2979 2990 y FA([)20 b Fx(S)3116 3004 y Fz(e)p 717 3037 2466 4 v 974 3118 a Fx(R)1044 3074 y Fz(p)1043 3147 y(A)1100 3118 y FE(\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))26 b(=)f Fx(e)1666 3132 y Fz(c)1717 3118 y Fx(r)d FE(+)e Fx(S)1927 3132 y Fz(i)1975 3118 y FE(+)g Fx(S)2122 3132 y Fz(e)2179 3118 y FA([)g FE(\()p Fv(NonInst)10 b FE(\()p Fx(A)p FE(\))p FA(n)p Fx(S)2862 3132 y Fz(i)2891 3118 y FE(\))710 3353 y Fx(R)780 3309 y Fz(p)779 3382 y(A)836 3353 y FE(\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))26 b(=)f Fx(r)e FE(+)d Fx(S)1512 3367 y Fz(i)1560 3353 y FE(+)g Fx(S)1707 3367 y Fz(e)1993 3353 y Fx(u)26 b FA(62)f Fx(S)2213 3367 y Fz(i)2491 3353 y Fv(Inst)9 b FE(\()p Fx(A)p FE(\))26 b FA(6\022)f Fx(S)2969 3367 y Fz(i)3017 3353 y FA([)20 b Fx(S)3154 3367 y Fz(e)p 672 3400 2557 4 v 672 3481 a Fx(R)742 3437 y Fz(p)741 3510 y(A)798 3481 y FE(\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))26 b(=)f Fx(e)1364 3495 y Fz(i)1408 3481 y Fx(r)e FE(+)c Fx(S)1618 3495 y Fz(i)1667 3481 y FA([)g FE(\()p Fv(Inst)10 b FE(\()p Fx(A)p FE(\))p FA(n)p Fx(S)2184 3495 y Fz(e)2222 3481 y FE(\))20 b(+)g Fx(S)2424 3495 y Fz(e)2481 3481 y FA([)g FE(\()p Fv(NonInst)10 b FE(\()p Fx(A)p FE(\))p FA(n)p Fx(S)3164 3495 y Fz(i)3193 3481 y FE(\))141 3645 y(The)38 b(de\014nition)d(of)j Fx(R)928 3601 y Fz(p)927 3674 y(A)1022 3645 y FE(deserv)m(es)g(some)h(explanations.)62 b(First,)39 b(recall)e(the)h(assumption)f(that)h(the)g(con-)0 3758 y(strain)m(ts)30 b(are)g(solv)m(ed)g(in)f(the)h(rev)m(erse)h (order)e(of)h(in)m(tro)s(duction,)f(starting)h(with)e(the)j (uni\014cation)d(constrain)m(t.)41 b(In)0 3871 y(the)31 b(case)h(of)g(c)m(hec)m(king,)g(the)f(uni\014cation)e(is)i(with)e(a)j (t)m(yp)s(e)f(without)f(placeholder)g(v)-5 b(ariables.)41 b(The)31 b(result)f(is)g(an)0 3984 y(instan)m(tiation)36 b(for)i(all)e(instan)m(tiable)g(placeholder)g(v)-5 b(ariables)37 b(\(therefore)h Fx(S)2672 3998 y Fz(i)2737 3984 y FE(=)f Fv(Inst)9 b FE(\()p Fx(A)p FE(\)\))39 b(pro)m(vided)d(that)i(all)0 4097 y(non-instan)m(tiable)26 b(v)-5 b(ariables)27 b(\(collected)h(in)e Fx(S)1607 4111 y Fz(e)1644 4097 y FE(\))i(are)g(explicit.)38 b(This)26 b(justi\014es)h(the)h(rule)e(for)i Fx(R)3286 4064 y Fz(c)3285 4123 y(A)3342 4097 y FE(\()p Fx(A)p FE(\))g(when)f Fx(A)h FE(is)0 4209 y(atomic.)41 b(In)27 b(the)h(case)h(of)g(inference)e(the)h(same)h(uni\014cation)d(happ)s (ens)h(but)g(this)g(time)h(with)f(a)h(t)m(yp)s(e)g(that)h(migh)m(t)0 4322 y(con)m(tain)f(placeholder)e(v)-5 b(ariables.)39 b(W)-8 b(e)29 b(ha)m(v)m(e)g(to)f(assume)g(conserv)-5 b(ativ)m(ely)27 b(that)i(no)e(placeholder)g(v)-5 b(ariable)26 b(is)h(in-)0 4435 y(stan)m(tiated)i(to)f(a)h(fully-explicit)24 b(term,)29 b(hence)f Fx(S)1679 4449 y Fz(i)1732 4435 y FE(=)d FA(;)p FE(.)40 b(Ho)m(w)m(ev)m(er,)31 b(w)m(e)d(also)g (require)e(that)j(all)e(non-instan)m(tiable)0 4548 y(v)-5 b(ariables)25 b(are)h(explicit)f(as)h(in)f(the)h(case)h(of)g(c)m(hec)m (king.)40 b(This)24 b(explains)g(the)j(rule)e(for)h Fx(R)2972 4515 y Fz(i)2971 4575 y(A)3028 4548 y FE(\()p Fx(A)p FE(\))h(when)e Fx(A)h FE(is)f(atomic.)0 4661 y(In)32 b(case)i(of)f Fx(R)487 4617 y Fz(p)486 4690 y(A)543 4661 y FE(\(\005)p Fx(x)14 b FE(:)g Fx(A:B)5 b FE(\),)36 b(b)s(ecause)d(of)g (the)g(constrain)m(t)g(solving)f(order)h(w)m(e)g(\014rst)f(deal)h(with) e(the)j(argumen)m(ts)0 4774 y(corresp)s(onding)27 b(to)i Fx(B)5 b FE(.)40 b(If)28 b Fx(u)h FE(is)f(instan)m(tiated)h(after)g (dealing)f(with)f Fx(B)34 b FE(then)28 b(it)g(can)i(b)s(e)e(left)g (implicit,)f(hence)i(the)0 4887 y(rule)k(for)i FA(\003)15 b Fx(r)s FE(.)53 b(Otherwise,)35 b(the)g(argumen)m(t)g(corresp)s (onding)e(to)i Fx(u)g FE(m)m(ust)f(b)s(e)g(left)h(explicit)e(and)h(dep) s(ending)e(on)0 5000 y(whether)g(the)g(v)-5 b(ariables)31 b(of)i Fx(A)f FE(are)h(all)e(instan)m(tiated)h(at)h(this)e(p)s(oin)m(t) h(w)m(e)g(decide)g(whether)g(to)h(use)f(c)m(hec)m(king)h(or)0 5113 y(inference)27 b(on)i(it.)39 b(The)28 b(set)h Fx(S)1010 5127 y Fz(e)1075 5113 y FE(is)e(collecting)h(the)h(set)f(of)h (placeholder)e(v)-5 b(ariables)27 b(that)i(cannot)g(b)s(e)e(instan)m (tiated)0 5226 y(b)s(ecause)38 b(they)h(o)s(ccur)f(in)g(function)f(p)s (osition)f(in)i(some)g(t)m(yp)s(e.)66 b(Note)40 b(that)f(the)f(sets)h Fx(S)3097 5240 y Fz(i)3164 5226 y FE(and)e Fx(S)3404 5240 y Fz(e)3480 5226 y FE(are)h(alw)m(a)m(ys)0 5339 y(disjoin)m(t.)1905 5589 y(26)p eop %%Page: 27 29 27 28 bop 141 91 a FE(A)28 b(case)h(where)e Fx(S)743 105 y Fz(e)807 91 y FE(is)g(non-empt)m(y)h(and)f(is)g(essen)m(tial)g (for)h(the)g(correctness)g(of)g(the)g(erasure)g(algorithm)e(is)h(for)0 204 y Fk(all)p 150 204 29 4 v 34 w(e)j FE(of)g(t)m(yp)s(e:)818 317 y Fk(all)p 968 317 V 34 w(e)75 b FE(:)h(\005)p Fx(p)10 b FE(:)g Fk(exp)25 b FA(!)g Fk(pred)o Fx(:)p FE(\005)p Fx(e)10 b FE(:)g Fk(exp)q Fx(:)p Fk(pf)24 b FE(\()p Fk(all)51 b Fx(p)p FE(\))25 b FA(!)g Fk(pf)g FE(\()p Fx(p)g(e)p FE(\))141 484 y(In)34 b(this)g(case)i Fx(p)c FA(2)h Fv(NonInst)9 b FE(\()p Fk(pf)33 b FE(\()p Fx(p)f(e)p FE(\)\))k(but)e Fx(p)f FA(2)f Fv(Inst)9 b FE(\()p Fk(pf)33 b FE(\()p Fk(all)65 b Fx(p)p FE(\)\).)55 b(If)34 b(w)m(e)h(did)e(not)i(main)m (tain)f(the)h(list)0 597 y Fx(S)56 611 y Fz(e)121 597 y FE(w)m(e)29 b(could)e(ha)m(v)m(e)j(the)e(impression)e(that)j Fx(p)f FE(can)g(b)s(e)g(reconstructed)h(b)m(y)f(t)m(yp)s(e)h(inference) e(on)h(the)h(term)f(of)h(t)m(yp)s(e)0 710 y Fk(pf)f FE(\()p Fk(all)57 b Fx(p)p FE(\))33 b(without)e(noticing)h(that)h(the)g (uni\014cation)d(constrain)m(t)j(w)m(ould)e(ha)m(v)m(e)j(failed)d (earlier)g(b)s(ecause)i(of)g(a)0 823 y(placeholder)c(o)s(ccurring)g(in) g(an)h(application)f(head)h(p)s(osition.)141 985 y(Using)g(the)g (function)f Fx(R)979 941 y Fz(p)978 1014 y(A)1066 985 y FE(w)m(e)h(can)h(de\014ne)f(the)g(represen)m(tation)h(recip)s(es)e (as)i(in)e(the)h(lo)s(cal)g(algorithm:)1119 1190 y Fx(R)1188 1204 y Fz(p)1228 1190 y FE(\()p Fx(c)p FE(\))c(=)f Fx(r)239 b Fv(if)50 b Fx(R)1915 1145 y Fz(p)1914 1218 y(A)1971 1190 y FE(\(\006\()p Fx(c)p FE(\)\))27 b(=)e Fx(r)d FE(+)e Fx(S)2549 1204 y Fz(i)2597 1190 y FE(+)g Fx(S)2744 1204 y Fz(e)141 1394 y FE(In)h(the)g(table)g(b)s(elo)m(w)g(w)m(e)h(sho)m(w)f (examples)g(of)g(represen)m(tation)g(recip)s(es)g(as)g(pro)s(duced)f(b) m(y)h(the)g(lo)s(cal)g(algorithm)0 1507 y(and)38 b(the)g(one-bit)h (represen)m(tation)f(algorithm.)64 b(W)-8 b(e)40 b(notice)f(that)g(in)e (the)h(case)i(of)f Fk(+)p FE(,)h(and)e(similarly)d(for)j(all)0 1620 y(expression)31 b(and)h(predicate)g(constan)m(ts,)j(all)c(argumen) m(ts)i(m)m(ust)g(b)s(e)e(explicit)g(in)g(b)s(oth)h(the)h(lo)s(cal)f (and)g(the)g(one-)0 1733 y(bit)i(represen)m(tation)g(recip)s(es.)53 b(Also,)36 b(in)d(suc)m(h)h(cases,)j(the)e(inference)f(recip)s(e)g(and) g(should)f(nev)m(er)i(b)s(e)f(required)0 1846 y(during)39 b(erasure.)72 b(The)40 b(next)h(four)f(cases)i(sho)m(wn)e(in)g(the)h (table)g(are)g(examples)g(where)f(the)h(one-bit)g(global)0 1958 y(algorithm)29 b(is)h(able)g(to)h(remo)m(v)m(e)h(more)e(argumen)m (ts)h(than)f(the)h(lo)s(cal)e(erasure)h(algorithm.)p 1167 2087 1567 4 v 1165 2200 4 113 v 1208 2166 a Fx(c)p 1521 2200 V 317 w(R)q FE(\()p Fx(c)p FE(\))p 1883 2200 V 183 w Fx(R)1995 2180 y Fz(c)2030 2166 y FE(\()p Fx(c)p FE(\))p 2310 2200 V 215 w Fx(R)2423 2180 y Fz(i)2451 2166 y FE(\()p Fx(c)p FE(\))p 2731 2200 V 1167 2204 1567 4 v 1165 2317 4 113 v 1208 2283 a(+)p 1521 2317 V 285 w Fx(e)15 b(e)p 1883 2317 V 263 w(e)1968 2297 y Fz(c)2018 2283 y Fx(e)2060 2297 y Fz(c)p 2310 2317 V 2354 2283 a Fx(e)2396 2297 y Fz(c)2446 2283 y Fx(e)2488 2297 y Fz(c)p 2731 2317 V 1165 2429 V 1208 2396 a Fk(and)p 1358 2396 29 4 v 34 w(el)p 1521 2429 4 113 v 82 w FA(\003)h Fx(e)f(e)p 1883 2429 V 202 w FA(\003)h(\003)f Fx(e)2089 2410 y Fz(i)p 2310 2429 V 2354 2396 a FA(\003)g(\003)h Fx(e)2517 2410 y Fz(i)p 2731 2429 V 1165 2542 V 1208 2509 a Fk(and)p 1358 2509 29 4 v 34 w(er)p 1521 2542 4 113 v 82 w Fx(e)f FA(\003)i Fx(e)p 1883 2542 V 201 w FA(\003)f(\003)f Fx(e)2089 2523 y Fz(i)p 2310 2542 V 2354 2509 a FA(\003)g(\003)h Fx(e)2517 2523 y Fz(i)p 2731 2542 V 1165 2655 V 1208 2621 a Fk(impl)p 1406 2621 29 4 v 34 w(e)p 1521 2655 4 113 v 82 w Fx(e)f FA(\003)i Fx(e)e(e)p 1883 2655 V 144 w FA(\003)h(\003)f Fx(e)2089 2635 y Fz(c)2139 2621 y Fx(e)2181 2635 y Fz(i)p 2310 2655 V 2354 2621 a FA(\003)g(\003)h Fx(e)2517 2635 y Fz(i)2560 2621 y Fx(e)2602 2635 y Fz(i)p 2731 2655 V 1165 2768 V 1208 2734 a FE(=)25 b Fk(tr)p 1521 2768 V 164 w FA(\003)16 b Fx(e)f FA(\003)h Fx(e)f(e)p 1883 2768 V 84 w FA(\003)h(\003)f(\003)h Fx(e)2150 2748 y Fz(c)2200 2734 y Fx(e)2242 2748 y Fz(i)p 2310 2768 V 2354 2734 a FA(\003)f(\003)h(\003)f Fx(e)2577 2748 y Fz(i)2621 2734 y Fx(e)2663 2748 y Fz(i)p 2731 2768 V 1165 2881 V 1208 2847 a FE(+)p Fk(com)p 1521 2881 V 141 w FA(\003)h(\003)p 1883 2881 V 256 w(\003)g(\003)p 2310 2881 V 322 w Fx(e)2396 2861 y Fz(c)2446 2847 y Fx(e)2488 2861 y Fz(c)p 2731 2881 V 1165 2994 V 1208 2960 a Fk(all)p 1358 2960 29 4 v 34 w(e)p 1521 2994 4 113 v 130 w Fx(e)f(e)g(e)p 1883 2994 V 206 w(e)1968 2974 y Fz(c)2018 2960 y Fx(e)2060 2974 y Fz(c)2110 2960 y Fx(e)2152 2974 y Fz(c)p 2310 2994 V 2354 2960 a Fx(e)2396 2974 y Fz(c)2446 2960 y Fx(e)2488 2974 y Fz(c)2538 2960 y Fx(e)2580 2974 y Fz(c)p 2731 2994 V 1167 2997 1567 4 v 6 3206 a FE(T)-8 b(able)30 b(2:)41 b(Examples)29 b(of)i(represen)m(tation)f(recip)s(es)g(computed) g(b)m(y)g(the)h(lo)s(cal)e(and)h(one-bit)g(global)g(algorithms.)141 3418 y(In)j(order)g(to)h(analyze)f(the)h(relation)e(b)s(et)m(w)m(een)i (the)g(lo)s(cal)e(and)h(the)h(one-bit)f(recip)s(es)f(w)m(e)i(remark)f (that)h(the)0 3531 y(lo)s(cal)43 b(represen)m(tation)g(function)f(is)h (a)h(sp)s(ecial)e(case)i(of)g(the)g(one-bit)f(represen)m(tation)g (recip)s(es.)79 b(The)43 b(main)0 3644 y(di\013erence)34 b(is)g(that)h(the)g(set)h Fx(S)1072 3658 y Fz(e)1143 3644 y FE(in)e(the)h(lo)s(cal)f(recip)s(e)g(function)f(is)h(alw)m(a)m (ys)h(the)g(negation)g(of)g(the)g(set)h Fx(S)3661 3658 y Fz(i)3723 3644 y FE(with)0 3757 y(resp)s(ect)26 b(to)h(the)f(univ)m (erse)f(of)h(v)-5 b(ariables.)38 b(This)24 b(only)h(needs)g(to)i(b)s(e) e(enforced)h(in)f(the)h(rule)f(for)h Fx(R)3287 3724 y Fz(c)3286 3784 y(A)3368 3757 y FE(in)f(the)h(one-bit)0 3870 y(function)j(in)g(order)h(to)h(reco)m(v)m(er)h(the)f(lo)s(cal)e (recip)s(e)h(function.)141 3983 y(With)d(the)g(ab)s(o)m(v)m(e)h(remark) f(w)m(e)h(see)f(that)h(the)g(size)e(of)i(set)f Fx(S)2173 3997 y Fz(i)2228 3983 y FE(in)f(the)h(lo)s(cal)g(recip)s(e)f(function)g (nev)m(er)h(increases)0 4096 y(b)s(ey)m(ond)22 b(the)g(initial)e(size)i (established)f(for)h(the)h(result)e(t)m(yp)s(e.)38 b(And)22 b(as)g(the)h(size)f(of)h Fx(S)2855 4110 y Fz(i)2905 4096 y FE(determines)e(the)i(maxim)m(um)0 4209 y(n)m(um)m(b)s(er)f(of)i (implicit)c(argumen)m(ts)k(w)m(e)g(conclude)f(that)h(the)g(lo)s(cal)f (erasure)g(algorithm)g(will)e(alw)m(a)m(ys)j(remo)m(v)m(e)h(few)m(er)0 4322 y(argumen)m(ts)38 b(that)g(the)g(one-bit)f(global)g(algorithm)g (for)g(ev)m(ery)h(particular)e(application.)61 b(This)36 b(conclusion)g(is)0 4434 y(supp)s(orted)29 b(b)m(y)h(the)g(examples)g (sho)m(wn)g(in)f(T)-8 b(able)30 b(2.)141 4547 y(F)-8 b(urthermore)31 b(w)m(e)h(notice)g(in)d(T)-8 b(able)31 b(2)h(that)g Fx(R)1774 4561 y Fz(c)1809 4547 y FE(\()p Fx(c)p FE(\))g(has)f(more)g(implicit)d(argumen)m(ts)k(than)f Fx(R)3401 4561 y Fz(i)3429 4547 y FE(\()p Fx(c)p FE(\))h(and)f(also)0 4660 y(more)j Fx(e)273 4674 y Fz(i)335 4660 y FE(c)m(haracters)i (corresp)s(onding)c(to)i(the)g(explicit)f(argumen)m(ts.)51 b(This)32 b(can)j(b)s(e)e(explained)f(informally)f(b)m(y)0 4773 y(remem)m(b)s(ering)h(that)h(there)g(are)h(additional)d(constrain) m(ts)i(when)f(represen)m(ting)g(a)i(term)f(for)f(inference)h(instead)0 4886 y(of)39 b(just)g(c)m(hec)m(king.)67 b(In)38 b(the)i(case)g(of)f (the)g(represen)m(tation)g(for)g(inference,)i(the)e(term)g(m)m(ust)g (con)m(tain)g(enough)0 4999 y(subterms)31 b(to)i(allo)m(w)f(the)h (reconstruction)f(of)h(its)f(t)m(yp)s(e,)h(while)e(in)g(the)h(case)i (of)f(c)m(hec)m(king)g(more)f(subterms)g(can)0 5112 y(b)s(e)e(omitted)g (and)g(later)g(reconstructed)h(from)f(the)g(fully-explicit)d(t)m(yp)s (e.)141 5225 y(W)-8 b(e)25 b(can)g(c)m(haracterize)h(the)e(one-bit)g (global)f(erasure)h(algorithm)f(as)h(eliminating)e(some)i(explicit)f (argumen)m(ts)0 5338 y(remaining)d(after)i(the)g(lo)s(cal)g(erasure)f (and)g(redistributing)e(the)j(information)e(required)g(for)h(their)g (reconstruction)1905 5589 y(27)p eop %%Page: 28 30 28 29 bop 0 91 a FE(to)26 b(the)f(subterms)e(corresp)s(onding)g(to)j (sibling)c(argumen)m(ts,)k(b)m(y)f(marking)f(them)h(for)g(inference.)38 b(The)24 b(additional)0 204 y(information)30 b(required)f(for)i (inference)g(is)f(more)i(apparen)m(t)f(at)h(the)g(lea)m(v)m(es)g(of)g (the)f(pro)s(of)g(tree.)44 b(Here)32 b(there)g(are)0 317 y(no)45 b(siblings)d(to)k(o\017oad)f(to)h(information)d(and)i (hence)g(the)g(inference)f(erasure)h(is)f(not)i(able)e(to)i(erase)g(an) m(y)0 430 y(subterms)25 b(while)f(the)j(c)m(hec)m(king)f(erasure)g(can) h(remo)m(v)m(e)h(all)d(of)h(them.)39 b(This)25 b(is)g(illustrated)f(b)m (y)i(the)g(case)h(of)g Fk(+com)p FE(.)0 543 y(Ev)m(en)43 b(though)f(the)g(cost)i(in)d(the)i(one-bit)f(represen)m(tation)g(is)g (pushed)e(to)m(w)m(ards)k(the)e(lea)m(v)m(es,)47 b(the)c(resulting)0 656 y(represen)m(tation)38 b(is)e(in)g(general)i(smaller)e(than)h(the)h (lo)s(cal)f(represen)m(tation)g(b)s(ecause)h(part)f(of)h(the)g(size)f (of)h(the)0 769 y(erased)32 b(argumen)m(t)f(is)g(reconstructed)h(from)f (the)g(structure)g(of)h(the)f(pro)s(of)g(of)h(sibling)c(argumen)m(ts,)k (and)f(only)g(a)0 882 y(small)e(part)h(from)g(explicit)f(argumen)m(ts)h (at)h(the)g(lea)m(v)m(es.)0 1125 y Fs(7.3)112 b(The)38 b(Global)f(Algorithm)0 1297 y FE(The)h(lo)s(cal)g(erasure)g(algorithm)g (is)f(able)h(to)i(reco)m(v)m(er)g(some)f(argumen)m(ts)g(of)f(the)h (represen)m(tation)g(of)f(a)h(pro)s(of-)0 1410 y(rule)g(instance)h (from)g(the)g(conclusion)f(of)h(the)g(pro)s(of)g(rule.)69 b(Then)39 b(in)g(the)h(one-bit)g(algorithm)f(w)m(e)i(increase)0 1523 y(the)f(reconstruction)g(p)s(o)m(w)m(er)g(b)m(y)h(reco)m(v)m (ering)g(additional)d(argumen)m(ts)i(from)g(the)h(structure)e(of)i (some)f(of)h(the)0 1635 y(h)m(yp)s(otheses)e(of)h(the)f(pro)s(of-rule.) 67 b(In)38 b(this)h(section)g(w)m(e)h(presen)m(t)g(an)f(ev)m(en)h(b)s (etter)g(algorithm)e(that)i(reco)m(v)m(ers)0 1748 y(additional)22 b(argumen)m(ts)i(b)m(y)g(examining)f(the)h(en)m(tire)g(con)m(text)h(in) e(whic)m(h)g(a)h(pro)s(of-rule)e(is)h(used.)38 b(Also,)25 b(the)g(global)0 1861 y(erasure)k(algorithm)f(attempts)j(to)f(o)m(v)m (ercome)h(another)f(limitation)d(of)i(the)h(previous)e(algorithms,)g (namely)h(the)0 1974 y(loss)f(of)h(information)e(due)h(to)i(the)f (static)g(conserv)-5 b(ativ)m(e)30 b(appro)m(ximation)e(of)h (non-instan)m(tiable)e(v)-5 b(ariables.)38 b(The)0 2087 y(global)25 b(algorithm)g(considers)f(eac)m(h)j(constan)m(t)g(with)d (its)h(actual)h(parameters)g(and)f(can)h(therefore)h(minimize)c(the)0 2200 y(set)31 b(of)f(non-instan)m(tiable)f(v)-5 b(ariables.)141 2313 y(The)31 b(basic)f(idea)g(of)i(the)f(global)f(algorithm)g(is)g(to) h(start)h(b)m(y)f(assuming)e(that)j(all)e(argumen)m(ts)h(of)g(the)g (repre-)0 2426 y(sen)m(tation)d(of)g(a)g(pro)s(of-rule)d(instance)j (are)g(implicit)c(and)j(then)g(sim)m(ulate)g(t)m(yp)s(e)h (reconstruction.)39 b(Whenev)m(er)28 b(an)0 2539 y(argumen)m(t)33 b(cannot)g(b)s(e)e(reconstructed)i(it)f(is)f(made)i(explicit)d(and)i (its)g(implicit)d(represen)m(tation)j(is)g(made)g(part)0 2652 y(of)f(the)f(\014nal)f(represen)m(tation.)141 2765 y(Because)j(the)e(global)g(erasure)f(algorithm)h(w)m(orks)g(b)m(y)g (sim)m(ulating)e(t)m(yp)s(e)i(reconstruction,)h(it)e(has)h(the)h(same)0 2877 y(o)m(v)m(erall)21 b(structure.)37 b(Unfortunately)21 b(there)g(are)g(enough)g(minor)f(v)-5 b(ariations)20 b(to)h(require)f(a)i(new)e(implemen)m(tation.)0 2990 y(This)29 b(mak)m(e)i(the)g(global)e(erasure)h(algorithm)g(exp)s(ensiv) m(e)f(to)i(implemen)m(t.)141 3103 y(The)41 b(\014rst)f(c)m(hange)i(w)m (e)f(ha)m(v)m(e)i(to)e(mak)m(e)h(is)e(to)i(the)f(uni\014cation)e (judgmen)m(ts)i(to)g(consider)f(the)h(case)h(of)g(a)0 3216 y(placeholder)31 b(v)-5 b(ariable)30 b(that)j(is)e(the)h(head)f (of)h(an)g(application.)44 b(In)31 b(this)g(case)i(the)f(placeholder)e (v)-5 b(ariable)31 b(m)m(ust)0 3329 y(b)s(e)f(instan)m(tiated)h(with)f (the)h(term)g(from)g(the)g(full)e(represen)m(tation)i(that)h(it)f (replaces.)42 b(F)-8 b(or)32 b(this)e(to)i(b)s(e)e(p)s(ossible)0 3442 y(the)25 b(uni\014cation)f(judgmen)m(t)h(m)m(ust)g(tak)m(e)i(a)f (parameter)f(\011)1978 3456 y Ft(0)2043 3442 y FE(con)m(taining)f(the)i (instan)m(tiations)e(for)h(all)f(placeholder)0 3555 y(v)-5 b(ariables)31 b(that)i(w)m(ould)f(pro)s(duce)f(the)i(original)e (fully-explicit)e(term.)47 b(Also)32 b(the)h(uni\014cation)e(m)m(ust)h (return,)g(in)0 3668 y(addition)25 b(to)i(the)g(usual)e(substitution,)h (another)h(substitution,)e(called)h(the)h(explicit)e(substitution,)g (con)m(taining)0 3781 y(instan)m(tiations)30 b(for)i(the)g(non-instan)m (tiable)d(v)-5 b(ariables.)43 b(W)-8 b(e)33 b(use)f(the)f(follo)m(wing) f(notation)i(to)h(denote)f(the)f(new)0 3894 y(v)-5 b(arian)m(t)38 b(of)g(uni\014cation)e(\011)955 3908 y Ft(0)1033 3894 y FA(`)h Fx(A)h FA(\031)1303 3908 y Fz(a)1383 3894 y Fx(B)k FA(\))c FE(\011)25 b(+)g(\011)1886 3908 y Fz(e)1923 3894 y FE(.)64 b(Similarly)34 b(w)m(e)k(add)g(a)g(new)g(substitution)d (argumen)m(t)0 4007 y(and)41 b(an)g(additional)e(substitution)g(result) i(to)h(the)f(main)f(t)m(yping)h(judgmen)m(t.)74 b(The)40 b(resulting)g(judgmen)m(t)h(is)0 4120 y(written)28 b(\000)18 b(+)f(\011)551 4134 y Ft(0)616 4120 y FA(`)25 b Fx(M)35 b FE(:)25 b Fx(A)h FA(\))f FE(\011)17 b(+)h(\011)1328 4134 y Fz(e)1365 4120 y FE(.)40 b(T)-8 b(o)29 b(this)g(w)m(e)g(add)g (one)g(additional)e(result)h Fx(M)2990 4087 y Fw(0)3014 4120 y FE(,)h(the)h(resulting)d(implicit)0 4232 y(represen)m(tation)c (of)g Fx(M)10 b FE(,)24 b(and)f(w)m(e)g(write)f(the)h(resulting)e (judgmen)m(t)h(in)g(functional)f(st)m(yle)i Fv(GEr)-5 b(ase)8 b FE(\(\000)p Fx(;)15 b FE(\011)3487 4246 y Ft(0)3527 4232 y Fx(;)g(M)5 b(;)15 b(A)p FE(\))26 b(=)0 4345 y(\(\011)p Fx(;)15 b FE(\011)217 4359 y Fz(e)254 4345 y Fx(;)g(M)392 4312 y Fw(0)416 4345 y FE(\).)79 b(The)42 b(global)g(erasure)h (algorithm)f(is)g(giv)m(en)h(informally)d(in)i(Figure)h(15)g(and)g(a)g (step-b)m(y-step)0 4458 y(explanation)26 b(is)g(made)h(b)s(elo)m(w.)39 b(A)27 b(formal)g(description)e(of)i(the)g(algorithm)f(w)m(ould)g (follo)m(w)h(the)g(structure)f(of)i(the)0 4571 y(t)m(yp)s(e)j (reconstruction)f(judgmen)m(ts.)141 4684 y(In)e(the)g(case)h(of)g(an)f (abstraction)g(the)h(erasure)f(is)f(done)h(recursiv)m(ely)f(on)h(the)h (b)s(o)s(dy)d(of)j(the)f(abstraction)h(and)0 4797 y(the)i(t)m(yp)s(e)f (of)h(the)f(b)s(ound)f(v)-5 b(ariable)29 b(is)g(omitted)h(from)g(the)h (resulting)d(represen)m(tation.)141 4910 y(In)35 b(the)i(case)g(of)f(a) h(constan)m(t)g(application)d(there)j(is)e(an)h(opp)s(ortunit)m(y)e(to) j(lea)m(v)m(e)h(some)e(of)g(the)h(argumen)m(ts)0 5023 y(implicit.)64 b(W)-8 b(e)40 b(start)g(in)e(step)h(2\(a\))i(b)m(y)e(in) m(tro)s(ducing)d(a)k(placeholder)e(v)-5 b(ariable)38 b(for)h(eac)m(h)h(argumen)m(t,)i(trying)0 5136 y(therefore)33 b(to)h(maximize)e(the)h(n)m(um)m(b)s(er)e(of)i(implicit)d(terms.)48 b(In)32 b(step)g(2\(b\))i(w)m(e)f(record)g(the)g(original)e(v)-5 b(alues)32 b(of)0 5249 y(the)f(newly)e(in)m(tro)s(duced)f(placeholder)i (v)-5 b(ariables)29 b(in)g(the)h(substitution)e(\011)2568 5263 y Ft(0)2607 5249 y FE(.)1905 5589 y(28)p eop %%Page: 29 31 29 30 bop 0 68 a Fv(GEr)-5 b(ase)8 b FE(\(\000)p Fx(;)15 b FE(\011)501 82 y Ft(0)541 68 y Fx(;)g(M)5 b(;)15 b(A)p FE(\))26 b(=)107 256 y Fv(1.)46 b(If)33 b Fx(M)j FE(=)26 b Fx(\025x)11 b FE(:)g Fx(A)764 270 y Ft(1)803 256 y Fx(:M)916 270 y Ft(1)989 256 y Fv(and)34 b Fx(A)26 b FE(=)f(\005)p Fx(x)11 b FE(:)g Fx(A)1591 270 y Ft(1)1631 256 y Fx(:A)1724 270 y Ft(2)1796 256 y Fv(with)34 b(GEr)-5 b(ase)8 b FE(\(\000)p Fx(;)15 b(x)26 b FE(:)h Fx(A)2622 270 y Ft(1)2661 256 y Fx(;)15 b FE(\011)2772 270 y Ft(0)2812 256 y Fx(;)g(M)2940 270 y Ft(1)2980 256 y Fx(;)g(A)3088 270 y Ft(2)3128 256 y FE(\))26 b(=)g(\()p FA(\001)p Fx(;)15 b FE(\011)3457 270 y Fz(e)3494 256 y Fx(;)g(M)3632 223 y Fw(0)3622 280 y Ft(1)3662 256 y FE(\))33 b Fv(then)227 369 y(the)g(r)-5 b(esult)34 b(is)e FE(\()p FA(\001)p Fx(;)15 b FE(\011)894 383 y Fz(e)932 369 y Fx(;)g(\025x:M)1200 336 y Fw(0)1190 393 y Ft(1)1230 369 y FE(\))107 556 y Fv(2.)46 b(If)33 b Fx(M)i FE(=)25 b Fx(c)h(M)695 570 y Ft(1)749 556 y Fx(:)15 b(:)g(:)i(M)959 570 y Fz(n)1038 556 y Fv(and)34 b FE(\006\()p Fx(c)p FE(\))26 b(=)f(\005)p Fx(x)1632 570 y Ft(1)1681 556 y FE(:)10 b Fx(A)1784 570 y Ft(1)1824 556 y Fx(:)15 b(:)g(:)g(:)i FE(\005)p Fx(x)2106 570 y Fz(n)2163 556 y FE(:)10 b Fx(A)2266 570 y Fz(n)2314 556 y Fx(:A)2407 570 y Fz(n)p Ft(+1)2577 556 y Fv(then)261 744 y(\(a\))46 b(L)-5 b(et)33 b FE(\001)25 b(=)g Fx(u)833 758 y Ft(1)898 744 y FE(:)g Fx(A)1016 758 y Ft(1)1056 744 y Fx(;)15 b(u)1148 758 y Ft(2)1213 744 y FE(:)26 b([)p Fx(u)1341 758 y Ft(1)1380 744 y Fx(=x)1477 758 y Ft(1)1517 744 y FE(])p Fx(A)1610 758 y Ft(2)1650 744 y Fx(;)15 b(:)g(:)g(:)i(;)e(u)1904 758 y Fz(n)1976 744 y FE(:)26 b([)p Fx(u)2104 758 y Fz(n)p Fw(\000)p Ft(1)2241 744 y Fx(=x)2338 758 y Fz(n)p Fw(\000)p Ft(1)2476 744 y FE(])15 b Fx(:)g(:)g(:)h FE([)p Fx(u)2714 758 y Ft(1)2754 744 y Fx(=x)2851 758 y Ft(1)2891 744 y FE(])p Fx(A)2984 758 y Fz(n)3031 744 y Fv(,)33 b(and)266 890 y(\(b\))45 b(L)-5 b(et)33 b FE(\011)655 904 y Ft(0)720 890 y FE(=)25 b(\011)887 904 y Ft(0)926 890 y Fx(;)15 b(u)1018 904 y Ft(1)1083 890 y FA( )25 b Fx(M)1287 904 y Ft(1)1327 890 y Fx(;)15 b(:)g(:)g(:)h(;)f(u)1580 904 y Fz(n)1653 890 y FA( )25 b Fx(M)1857 904 y Fz(n)1904 890 y Fv(,)33 b(and)266 1036 y(\(c\))45 b(L)-5 b(et)33 b FE(\011)655 1050 y Ft(0)720 1036 y FA(`)24 b Fx(A)i FA(\031)965 1050 y Fz(a)1031 1036 y FE([)p Fx(u)1108 1050 y Fz(n)1156 1036 y Fx(=x)1253 1050 y Fz(n)1300 1036 y FE(])15 b Fx(:)g(:)g(:)i FE([)p Fx(u)1539 1050 y Ft(1)1578 1036 y Fx(=x)1675 1050 y Ft(1)1715 1036 y FE(])p Fx(A)1808 1050 y Fz(n)p Ft(+1)1971 1036 y FA(\))25 b FE(\011)20 b(+)g(\011)2340 1050 y Fz(e)107 1224 y Fv(3.)46 b(L)-5 b(et)33 b FE(\001)25 b(=)g(\011)20 b FA(\016)h FE(\011)809 1238 y Fz(e)845 1224 y FE(\(\001\))107 1411 y Fv(4.)46 b(If)33 b FE(\001)25 b(=)g FA(\001)p Fv(,)32 b(then)h(r)-5 b(eturn)34 b(with)f FE(\(\011)1387 1334 y Ff(\014)1387 1389 y(\014)1418 1430 y Fe(Dom)6 b Ft(\(\000\))1700 1411 y Fx(;)15 b FE(\011)1811 1425 y Fz(e)1848 1334 y Ff(\014)1848 1389 y(\014)1878 1430 y Fe(Dom)6 b Ft(\(\000\))2161 1411 y Fx(;)15 b(c)26 b(M)2364 1378 y Fw(0)2354 1436 y Ft(1)2408 1411 y Fx(:)15 b(:)g(:)h(M)2627 1378 y Fw(0)2617 1434 y Fz(n)2665 1411 y FE(\))33 b Fv(wher)-5 b(e)1345 1682 y Fx(M)1443 1644 y Fw(0)1433 1704 y Fz(i)1492 1682 y FE(=)1588 1554 y Ff(\032)1697 1625 y FE(\011)1768 1639 y Fz(e)1805 1625 y FE(\()p Fx(u)1892 1639 y Fz(i)1921 1625 y FE(\))83 b Fv(if)70 b Fx(u)2217 1639 y Fz(i)2270 1625 y FA(2)25 b Fv(Dom)7 b FE(\(\011)2658 1639 y Fz(e)2695 1625 y FE(\))1697 1738 y FA(\003)297 b Fv(otherwise)107 1979 y(5.)80 b(\(a\))46 b(L)-5 b(et)33 b FE(\001)25 b(=)g(\001)857 1946 y Fw(0)880 1979 y Fx(;)15 b(u)972 1994 y Fz(k)1041 1979 y FE(:)25 b Fx(A)1159 1946 y Fw(0)1159 2007 y Fz(k)1202 1979 y Fv(,)32 b(and)266 2125 y(\(b\))45 b(L)-5 b(et)33 b(GEr)-5 b(ase)8 b FE(\(\(\000)p Fx(;)15 b FE(\001)1125 2092 y Fw(0)1149 2125 y FE(\))p Fx(;)g FE(\011)1295 2139 y Ft(0)1335 2125 y Fx(;)g FE(\011)1446 2139 y Ft(0)1486 2125 y FE(\()p Fx(u)1573 2140 y Fz(k)1616 2125 y FE(\))p Fx(;)g(A)1759 2092 y Fw(0)1759 2153 y Fz(k)1802 2125 y FE(\))26 b(=)f(\(\011)2065 2092 y Fw(0)2088 2125 y Fx(;)15 b FE(\011)2199 2092 y Fw(0)2199 2147 y Fz(e)2236 2125 y Fx(;)g(M)2374 2092 y Fw(0)2364 2153 y Fz(k)2407 2125 y FE(\))p Fv(,)33 b(and)266 2271 y(\(c\))45 b(L)-5 b(et)33 b FE(\011)655 2285 y Fz(e)717 2271 y FE(=)25 b([)p Fx(u)890 2286 y Fz(k)958 2271 y FA( )g Fx(M)1172 2238 y Fw(0)1162 2299 y Fz(k)1205 2271 y FE(])c FA(\016)f FE(\011)1387 2238 y Fw(0)1387 2294 y Fz(e)1444 2271 y FA(\016)h FE(\011)1581 2285 y Fz(e)1617 2271 y Fv(,)33 b(and)261 2417 y(\(d\))46 b(L)-5 b(et)33 b FE(\011)25 b(=)g(\011)847 2384 y Fw(0)890 2417 y FA(\016)c FE(\011)p Fv(,)32 b(and)266 2563 y(\(e\))45 b(L)-5 b(et)33 b FE(\001)25 b(=)g(\001)857 2530 y Fw(0)880 2563 y Fv(,)33 b(and)270 2709 y(\(f)9 b(\))46 b(Go)34 b(to)f(step)g(3)596 2980 y FE(Figure)d(15:)41 b(The)30 b(informal)e(description)h(of)h(the)h (global)f(erasure)g(algorithm.)141 3255 y(The)j(purp)s(ose)e(of)j(the)f (remaining)f(steps)h(is)f(to)i(build)c(the)k(substitution)d(\011)2783 3269 y Fz(e)2853 3255 y FE(giving)h(an)h(instan)m(tiation)f(for)0 3368 y(those)e(argumen)m(ts)g(that)g(cannot)g(p)s(ossibly)d(b)s(e)i (implicit.)38 b(Recall)29 b(that)h(constrain)m(t)g(solving)e(is)h(done) g(in)f(rev)m(erse)0 3481 y(order,)j(starting)f(with)g(the)h (uni\014cation)e(constrain)m(t.)42 b(W)-8 b(e)32 b(start)f(therefore)h (with)d(the)i(uni\014cation)e(and)h(in)g(step)0 3594 y(2\(c\))42 b(w)m(e)g(compute)f(b)s(oth)f(the)i(set)f(of)g(v)-5 b(ariables)40 b(that)i(m)m(ust)e(b)s(e)h(explicit)e(in)h(order)g(for)h (the)g(uni\014cation)e(to)0 3707 y(succeed)31 b(\(\011)435 3721 y Fz(e)472 3707 y FE(\))f(and)g(the)h(set)g(of)f(v)-5 b(ariables)29 b(successfully)g(instan)m(tiated)h(b)m(y)g(the)g (uni\014cation.)141 3820 y(Then)37 b(in)f(step)h(3)h(w)m(e)g(remo)m(v)m (e)h(these)f(v)-5 b(ariables)36 b(from)h(\001.)62 b(If)37 b(no)g(v)-5 b(ariables)36 b(remain,)i(then)g(w)m(e)g(conclude)0 3933 y(that)e(all)e(placeholder)g(v)-5 b(ariables)34 b(in)m(tro)s(duced)g(in)g(step)h(2\(a\))i(can)e(b)s(e)g(either)g(reco)m (v)m(ered)i(or)e(m)m(ust)g(b)s(e)g(explicit)0 4046 y(in)c(order)h(for)g (the)g(constrain)m(t)h(list)e(to)i(b)s(e)e(solv)-5 b(able.)46 b(W)-8 b(e)34 b(return)d(with)g(an)h(implicit)d(represen)m(tation)k(of) f Fx(M)3763 4013 y Fw(0)3819 4046 y FE(as)0 4158 y(dictated)f(b)m(y)f (\011)551 4172 y Fz(e)587 4158 y FE(.)141 4271 y(If)23 b(there)h(are)g(placeholder)e(v)-5 b(ariables)23 b(left)g(in)f(\001)i (then)f(at)h(least)g(the)g(last)g(one)f(m)m(ust)h(b)s(e)f(explicit.)37 b(If)23 b(this)f(w)m(ere)0 4384 y(not)31 b(the)f(case)i(w)m(e)e(w)m (ould)f(ha)m(v)m(e)j(no)e(p)s(ossibilit)m(y)d(of)k(reco)m(v)m(ering)g (it)f(b)m(y)g(solving)f(the)h(remaining)f(constrain)m(ts.)41 b(In)0 4497 y(order)26 b(to)h(compute)f(its)g(implicit)d(represen)m (tation)j(w)m(e)h(recursiv)m(ely)d(in)m(v)m(ok)m(e)k(the)e(global)f (erasure)h(on)g(the)h(original)0 4610 y(v)-5 b(alue)28 b(of)g(the)g(placeholder)f(v)-5 b(ariable)27 b(\011)1376 4624 y Ft(0)1415 4610 y FE(\()p Fx(u)1502 4625 y Fz(k)1545 4610 y FE(\).)41 b(The)27 b(resulting)g(implicit)e(represen)m(tation)j (is)f(added)h(to)h(\011)3661 4624 y Fz(e)3725 4610 y FE(suc)m(h)0 4723 y(that)h(it)f(can)h(b)s(e)f(inserted)f(in)h(the)g (\014nal)g(result)f(in)g(step)i(4.)41 b(Ho)m(w)m(ev)m(er,)32 b(during)27 b(the)j(computation)f(of)h(the)g(global)0 4836 y(erasure)g(of)f(\011)487 4850 y Ft(0)527 4836 y FE(\()p Fx(u)614 4851 y Fz(k)657 4836 y FE(\))h(w)m(e)g(migh)m(t)f(ha)m (v)m(e)i(instan)m(tiated)f(further)e(v)-5 b(ariables)28 b(\(\011)2613 4803 y Fw(0)2637 4836 y FE(\))i(and)f(found)f(v)-5 b(ariables)29 b(that)h(m)m(ust)0 4949 y(b)s(e)f(explicit)f(\(\011)549 4916 y Fw(0)549 4971 y Fz(e)585 4949 y FE(\).)41 b(These)29 b(v)-5 b(ariables)28 b(are)i(remo)m(v)m(ed)h(from)e(\001)g(in)f(step)h (3)h(and)f(w)m(e)h(cycle)g(un)m(til)d(all)i(the)g(v)-5 b(ariables)0 5062 y(in)29 b(\001)h(are)h(dealt)f(with.)141 5224 y(The)43 b(global)g(erasure)g(algorithm)f(ac)m(hiev)m(es)j(an)e (optimal)g(represen)m(tation)g(giv)m(en)h(a)g(sp)s(eci\014c)e (constrain)m(t)0 5337 y(solving)28 b(order.)40 b(This)28 b(is)h(the)h(case)h(b)s(ecause,)f(b)m(y)g(design,)f(it)g(starts)h(with) f(all)g(argumen)m(ts)h(implicit)c(and)k(it)f(only)1905 5589 y(29)p eop %%Page: 30 32 30 31 bop 0 91 a FE(rev)m(erts)31 b(an)f(argumen)m(t)h(to)g(explicit)e (status)i(when)e(the)i(reconstruction)e(w)m(ould)h(not)g(w)m(ork)h (otherwise.)0 335 y Fs(7.4)112 b(Discussion)0 506 y FE(In)25 b(all)g(three)h(erasure)f(algorithms)g(w)m(e)h(ha)m(v)m(e)h(assumed)e (a)h(sp)s(eci\014c)f(order)g(of)h(constrain)m(t)g(solving.)38 b(In)25 b(our)g(exp)s(er-)0 619 y(imen)m(ts)33 b(this)f(\014xed)g (order)h(p)s(erformed)f(surprisingly)c(w)m(ell.)49 b(Ho)m(w)m(ev)m(er,) 36 b(in)c(selected)h(cases)h(the)g(represen)m(tation)0 732 y(can)c(b)s(e)f(made)h(ev)m(en)h(smaller)d(if)h(a)h(di\013eren)m(t) f(order)h(is)f(adopted.)40 b(The)30 b(largest)g(b)s(ene\014t)f(can)h(b) s(e)f(ac)m(hiev)m(ed)i(if)d(w)m(e)0 845 y(allo)m(w)i(a)h(di\013eren)m (t)e(reconstruction)h(order)g(for)g(eac)m(h)i(application)d(instance.) 141 958 y(W)-8 b(e)44 b(ha)m(v)m(e)g(not)e(tried)g(this)g(approac)m(h)g (but)g(instead)g(w)m(e)h(ha)m(v)m(e)h(selected)f(a)g(few)f(constan)m (ts)i(for)e(whic)m(h)g(a)0 1071 y(non-default)29 b(order)g(has)h(the)g (p)s(oten)m(tial)f(of)h(decreasing)g(the)g(size)f(of)h(the)g(represen)m (tation.)41 b(An)29 b(example)h(is)f(the)0 1184 y(constan)m(t)g Fk(all)p 514 1184 29 4 v 33 w(e)e FE(where)g(it)g(is)f(b)s(etter)i(to)g (t)m(yp)s(ec)m(hec)m(k)h(the)e(constrain)m(t)h(corresp)s(onding)d(to)j Fk(pf)d FE(\()p Fk(all)g Fx(p)p FE(\),)j(with)e(the)0 1297 y(hop)s(e)31 b(of)g(reco)m(v)m(ering)i Fx(p)p FE(,)e(b)s(efore)g (solving)g(the)g(uni\014cation)f(constrain)m(t)h(on)h Fk(pf)26 b FE(\()p Fx(p)h(e)p FE(\),)33 b(whic)m(h)d(in)m(v)-5 b(ariably)29 b(fails)h(if)0 1410 y Fx(p)h FE(is)f(not)i(instan)m (tiated.)43 b(This)29 b(approac)m(h)j(pro)s(duced)d(suc)m(h)i(minor)f (impro)m(v)m(emen)m(ts)h(that)h(w)m(e)g(did)e(not)h(consider)0 1523 y(it)f(further.)141 1685 y(Despite)44 b(its)f(limited)f(kno)m (wledge)h(of)h(the)g(con)m(text,)49 b(the)44 b(lo)s(cal)f(erasure)h (algorithm)f(pro)s(duces)f(implicit)0 1798 y(terms)33 b(that)g(are)g(close)g(to)h(optimal)d(for)i(most)g(logic)g(pro)s(of)f (rules)f(and)h(it)g(migh)m(t)h(b)s(e)f(a)h(go)s(o)s(d)g(practical)f(c)m (hoice)0 1911 y(in)27 b(situations)h(where)g(absolute)g(optimalit)m(y)g (is)g(not)g(required.)39 b(In)28 b(situations)f(where)h(the)h(size)f (of)h(the)g(pro)s(of)f(or)0 2024 y(the)j(its)e(v)-5 b(alidation)29 b(time)h(is)g(crucial)f(w)m(e)i(can)f(use)g(one)h(of)f(the)h(global)f (algorithms.)141 2137 y(As)23 b(w)m(e)g(men)m(tioned)f(b)s(efore,)h (the)g(global)f(erasure)g(algorithm)g(is)f(optimal)h(for)g(a)h(giv)m (en)f(reconstruction)g(order.)0 2250 y(Ho)m(w)m(ev)m(er)37 b(it)d(requires)f(as)i(one)g(of)g(its)f(inputs)f(the)i(whole)e(LF)i (term,)h(whic)m(h)e(migh)m(t)g(b)s(e)g(v)m(ery)h(large.)54 b(Another)0 2363 y(disadv)-5 b(an)m(tage)33 b(surfaces)g(in)e(the)i (cases)h(where)e(the)h(pro)s(of)f(is)g(build)e(gradually)h(from)h (small)g(pieces)g(at)i(a)f(time,)0 2476 y(as)f(is)f(the)h(case)h(in)d (a)i(theorem)h(pro)m(v)m(er)f(that)g(outputs)g(a)g(pro)s(of)f(represen) m(tation.)45 b(These)31 b(small)g(pieces)g(cannot)0 2589 y(b)s(e)f(optimized)f(un)m(til)g(the)h(whole)g(pro)s(of)f(is)h (constructed.)141 2701 y(W)-8 b(e)41 b(sho)m(w)f(in)f(Section)h(11)h (that)g(w)m(e)f(din)f(not)h(noticed)g(ma)5 b(jor)40 b(impro)m(v)m(emen) m(ts)h(in)d(the)j(size)f(of)g(the)g(rep-)0 2814 y(resen)m(tation)c(pro) s(duced)f(b)m(y)h(the)g(global)f(algorithm)g(when)g(compared)h(to)g (the)g(one-bit)g(algorithm.)56 b(This,)36 b(in)0 2927 y(conjunction)f(with)f(the)h(disadv)-5 b(an)m(tages)36 b(of)g(the)g(global)e(erasure)i(algorithm,)g(mak)m(es)g(us)f(conclude)g (that)h(it)f(is)0 3040 y(not)26 b(w)m(orth)g(using,)f(or)h(in)f(other)h (w)m(ords)f(that)i(the)f(simpler)d(one-bit)j(algorithm)e(ac)m(hiev)m (es)j(near)f(optimal)f(results.)141 3153 y(W)-8 b(e)46 b(b)s(eliev)m(e)f(that)g(the)g(practical)g(w)m(a)m(y)h(to)g(build)c (implicit)g(represen)m(tations)j(of)g(pro)s(ofs)f(is)g(to)i(use)f(the)0 3266 y(lo)s(cal)33 b(algorithm)f(for)h(main)m(taining)f(small)g(in)m (termediary)g(fragmen)m(ts)h(of)h(pro)s(ofs.)49 b(When)33 b(the)h(whole)e(pro)s(of)h(is)0 3379 y(assem)m(bled)e(w)m(e)h(can)g (apply)e(the)i(one-bit)f(global)g(erasure)g(algorithm)g(to)h(it.)44 b(The)31 b(result)f(will)f(b)s(e)i(the)h(same)g(as)0 3492 y(if)j(w)m(e)h(started)g(from)f(the)h(fully-explicit)c(represen)m (tation)k(but)f(without)f(the)i(exp)s(ense)f(of)h(building)c(the)k (large)0 3605 y(in)m(termediary)25 b(pro)s(of)i(ob)5 b(ject.)40 b(Another)27 b(b)s(ene\014t)f(is)g(that)i(the)f(o)m(v)m (erall)g(running)d(time)j(is)f(usually)e(smaller)i(when)0 3718 y(running)k(the)k(erasure)f(algorithms)f(in)g(sequence)h(b)s (ecause)h(the)f(more)g(primitiv)m(e)e(the)j(algorithm)e(the)h(smaller)0 3831 y(the)e(cost)g(of)f(erasing)g(one)h(subterm.)141 3993 y(The)40 b(correctness)h(criterion)e(for)h(an)g(erasure)f (algorithm)h(is)f(that)i(the)f(t)m(yp)s(e)g(reconstruction)g(algorithm) 0 4106 y(succeeds)25 b(on)g(the)h(resulting)d(represen)m(tation.)39 b(W)-8 b(e)26 b(did)e(not)h(state)i(formal)d(correctness)i(results)e (for)h(the)g(erasure)0 4219 y(algorithm)36 b(presen)m(ted)g(in)f(this)h (section)g(for)h(t)m(w)m(o)h(main)d(reasons.)59 b(One)37 b(is)e(that)i(w)m(e)g(motiv)-5 b(ated)37 b(eac)m(h)h(design)0 4332 y(c)m(hoice)46 b(in)e(the)h(erasure)g(algorithms)f(with)g(resp)s (ect)i(to)f(the)h(t)m(yp)s(e)f(reconstruction)g(algorithm.)84 b(Also,)49 b(for)0 4445 y(practical)33 b(reasons,)h(the)g(correctness)g (of)f(the)h(erasure)f(algorithm)f(is)g(not)i(crucial.)48 b(Its)33 b(result)f(can)i(alw)m(a)m(ys)g(b)s(e)0 4558 y(v)-5 b(alidated)29 b(b)m(y)i(running)c(the)k(t)m(yp)s(e)f (reconstruction)g(algorithm.)1905 5589 y(30)p eop %%Page: 31 33 31 32 bop 0 91 a FB(8)135 b(The)44 b(Correctness)i(Pro)t(of)f(of)g(T)l (yp)t(e)g(Reconstruction)0 294 y FE(In)c(this)h(section)g(w)m(e)g(pro)m (v)m(e)h(that)g(the)g(reconstruction)e(algorithm)h(presen)m(ted)g(in)f (the)h(previous)f(section)h(is)0 407 y(adequate)25 b(for)f(c)m(hec)m (king)i(the)e(v)-5 b(alidit)m(y)23 b(of)h(pro)s(ofs.)38 b(One)24 b(of)g(the)h(adv)-5 b(an)m(tages)26 b(of)f(dev)m(eloping)e (the)i(pro)s(of)e(c)m(hec)m(king)0 520 y(algorithm)32 b(as)h(a)g(v)-5 b(ariation)32 b(on)h(LF)f(t)m(yp)s(ec)m(hec)m(king)i (is)e(that)h(w)m(e)g(ha)m(v)m(e)h(a)g(w)m(ell-understo)s(o)s(d)c (formal)i(framew)m(ork)0 633 y(that)f(can)g(b)s(e)e(used)h(for)g(the)h (succinct)f(expression)f(of)h(the)h(correctness)g(criteria)f(and)f (also)i(for)f(pro)m(ving)f(them.)141 746 y(W)-8 b(e)32 b(w)m(an)m(t)g(to)f(stress)g(that)g(the)g(pro)s(of)f(of)h(correctness)g (is)f(not)h(just)f(an)g(exercise)h(in)f(t)m(yp)s(e-theoretic)i(pro)s (ofs.)0 859 y(Besides)40 b(the)h(ob)m(vious)f(purp)s(ose)f(of)i (ensuring)d(the)j(correctness)g(of)g(the)g(t)m(yp)s(e)g(reconstruction) f(algorithm|)0 972 y(whic)m(h)26 b(is)g(not)i(ob)m(vious)e(b)m(y)i (insp)s(ection)d(only|the)h(correctness)i(pro)s(of)f(also)g (constitutes)h(a)f(thorough)g(analysis)0 1085 y(of)k(the)f(strengths)g (limitations)e(of)j(our)f(algorithm.)141 1198 y(The)23 b(algorithm)g(that)h(w)m(e)g(presen)m(ted)g(in)e(the)i(previous)e (section)i(is)f(limited)e(b)m(y)j(the)f(side-conditions)f(presen)m(t)0 1310 y(in)29 b(some)i(of)g(the)g(rules,)f(most)h(notably)f(the)h (collection)f(of)h(explicit)e(parameters,)i(the)g(t)m(yping)f(of)h (abstractions)0 1423 y(and)26 b(the)g(instan)m(tiation)g(rule.)38 b(The)26 b(correctness)h(pro)s(of)f(can)g(serv)m(e)i(as)e(a)h (reference)g(do)s(cumen)m(ting)e(the)i(need)f(for)0 1536 y(ev)m(ery)f(suc)m(h)f(side-condition.)37 b(In)24 b(man)m(y)g (practical)g(cases)i(the)e(reconstruction)g(is)g(used)g(in)f (circumstances)h(when)0 1649 y(some)38 b(of)g(the)g(side-conditions)e (do)i(not)g(need)g(to)g(b)s(e)g(enforced.)63 b(These)38 b(circumstances)f(can)h(b)s(e)g(disco)m(v)m(ered)0 1762 y(only)29 b(after)i(a)g(deep)f(understanding)e(of)j(the)f(purp)s(ose)f (of)h(the)h(side)e(conditions)g(in)g(the)i(correctness)g(pro)s(of.)141 1875 y(In)f(Section)g(10)h(w)m(e)g(sho)m(w)g(ho)m(w)f(w)m(e)h(can)g (signi\014can)m(tly)d(impro)m(v)m(e)j(the)f(p)s(erformance)g(of)h(the)f (reconstruction)0 1988 y(algorithm)h(b)m(y)i(remo)m(ving)f(some)h(of)f (the)h(side)e(conditions)g(in)g(the)i(sp)s(ecial)e(case)i(when)f(w)m(e) g(are)h(c)m(hec)m(king)g(\014rst-)0 2101 y(order)d(logic)g(pro)s(ofs.) 141 2214 y(The)25 b(rest)h(of)g(this)f(section)h(is)f(v)m(ery)h(tec)m (hnical)g(and)f(can)h(b)s(e)g(skipp)s(ed)d(on)j(\014rst)f(reading.)38 b(The)26 b(only)e(reference)0 2327 y(bac)m(k)43 b(to)h(the)e(material)g (in)g(the)g(rest)h(of)g(the)g(section)f(is)g(to)h(justify)e(some)i(of)g (the)g(optimizations)e(that)i(w)m(e)0 2440 y(implemen)m(ted)29 b(for)h(the)h(reconstruction.)0 2683 y Fs(8.1)112 b(Notation)36 b(and)j(Con)m(v)m(en)m(tions)0 2855 y FE(W)-8 b(e)33 b(write)f(\011\(\000\))g(to)h(denote)g(the)g(result)e(of)i(applying)d (the)i(substitution)e(\011)i(to)h(a)g(t)m(yp)s(e)f(en)m(vironmen)m(t)g (\000.)46 b(The)0 2968 y(resulting)28 b(t)m(yp)s(e)j(en)m(vironmen)m(t) f(is)f(de\014ned)h(on)g Fv(Dom)7 b FE(\(\011\(\000\)\))26 b(=)f Fv(Dom)8 b FE(\(\000\))p FA(n)p Fv(Dom)g FE(\(\011\))31 b(as)g(follo)m(ws:)872 3172 y(\011\(\000\)\()p Fx(x)p FE(\))26 b(=)f(\011\(\000\()p Fx(x)p FE(\)\))473 b FA(8)p Fx(x)25 b FA(2)g Fv(Dom)7 b FE(\(\000\))p FA(n)p Fv(Dom)i FE(\(\011\))141 3376 y(Note)39 b(that)g(the)f(t)m(yp)s(e)g (declarations)g(for)g(the)g(placeholder)e(v)-5 b(ariables)37 b(de\014ned)g(b)m(y)h(the)g(substitution)e(are)0 3489 y(remo)m(v)m(ed)31 b(from)f(the)h(resulting)d(t)m(yp)s(e)j(en)m (vironmen)m(t.)141 3652 y(W)-8 b(e)26 b(write)e(\000)h FA(`)g FE(\011)g(to)g(denote)h(that)f(the)g(substitution)e(\011)h(is)g (w)m(ell-t)m(yp)s(ed)g(according)h(to)g(a)g(t)m(yp)s(e)g(en)m(vironmen) m(t)0 3765 y(\000,)30 b(using)f(the)i(LF)623 3779 y Fz(i)681 3765 y FE(t)m(yping)f(rules.)40 b(As)30 b(a)h(general)f(note,)h(our)f (reference)h(t)m(yping)f(system)g(is)g(LF)3304 3779 y Fz(i)3332 3765 y FE(.)41 b(F)-8 b(ormally)g(,)514 3990 y(\000)25 b FA(`)g FE(\011)50 b(i\013)g FA(8)p Fx(u)25 b FA(2)g Fv(Dom)7 b FE(\(\011\))51 b(then)g Fx(u)25 b FA(2)g Fv(Dom)7 b FE(\(\000\))51 b(and)f(\011\(\000\))26 b FA(`)2731 3941 y Fy(i)2795 3990 y FE(\011\()p Fx(u)p FE(\))g(:)g(\011\(\000\()p Fx(u)p FE(\)\))141 4207 y(In)43 b(order)f(to)i(simplify)c(the)k(presen)m(tation)f(of)g(the)h (correctness)g(pro)s(ofs)e(in)g(this)g(section)i(w)m(e)f(mak)m(e)i(the) 0 4320 y(con)m(v)m(en)m(tion)e(that)g Fv(al)5 b(l)44 b(the)f(typ)-5 b(es)45 b(involve)-5 b(d)44 b(ar)-5 b(e)44 b(plac)-5 b(eholder-fr)g(e)g(e)p FE(.)79 b(This)40 b(applies)g(to)j(t)m (yp)s(es)f(giv)m(en)g(as)g(part)0 4433 y(of)36 b(the)f(theorem)h(h)m (yp)s(othesis)f(or)g(t)m(yp)s(es)h(men)m(tioned)f(in)f(the)i (conclusion)e(of)i(help)s(er)d(lemmas)i(and)g(theorems.)0 4546 y(Whenev)m(er)29 b(new)f(t)m(yp)s(es)h(are)g(created)g(w)m(e)g (shall)e(c)m(hec)m(k)j(this)e(prop)s(ert)m(y)g(but)g(w)m(e)h(do)f(not)h (express)f(it)g(explicitly)e(in)0 4659 y(the)31 b(statemen)m(ts)i(of)e (the)g(theorems.)43 b(Because)32 b(of)f(this)f(con)m(v)m(en)m(tion)i(w) m(e)f(can)h(use)e(freely)h(the)g(LF)3370 4673 y Fz(i)3429 4659 y FE(t)m(yping)f(rules)0 4772 y(without)f(c)m(hec)m(king)j(that)f (the)f(PF)h(side-conditions)d(hold.)141 4884 y(In)37 b(order)h(to)g(k)m(eep)h(the)f(presen)m(tation)f(fo)s(cused)h(w)m(e)g (ha)m(v)m(e)h(segregated)g(a)g(n)m(um)m(b)s(er)d(of)i(help)s(er)e (lemmas)h(in)0 4997 y(Section)30 b(8.7)i(at)f(the)f(end)g(of)h(this)e (section.)1905 5589 y(31)p eop %%Page: 32 34 32 33 bop 0 91 a Fs(8.2)112 b(Correctness)38 b(of)f(the)h(T)m(yp)s(e)f (Reconstruction)f(Judgmen)m(t)0 263 y FE(The)41 b(t)m(yp)s(e)g (reconstruction)f(algorithm)g(is)g(expressed)h(as)g(\014v)m(e)h(m)m (utually)d(recursiv)m(e)i(judgmen)m(ts.)72 b(Not)42 b(sur-)0 376 y(prisingly)27 b(the)j(correctness)h(pro)s(of)f(of)g(the)h (reconstruction)e(algorithm)h(consists)f(of)i(\014v)m(e)f(m)m(utually)f (dep)s(enden)m(t)0 489 y(correctness)35 b(pro)s(ofs)e(for)h(the)g (constituen)m(t)h(judgmen)m(ts.)51 b(These)34 b(pro)s(ofs)f(are)h(b)m (y)g(induction)e(on)i(the)g(structure)0 602 y(of)28 b(the)f (reconstruction)g(judgmen)m(ts.)40 b(Occasionally)-8 b(,)27 b(a)h(pro)s(of)f(in)m(v)m(ok)m(es)h(the)g(theorem)g(for)f(a)h (related)f(judgmen)m(t,)0 715 y(in)35 b(the)i(same)g(w)m(a)m(y)g(as)g (the)g(corresp)s(onding)d(judgmen)m(t)j(in)m(v)m(ok)m(es)g(a)g(related) f(judgmen)m(t.)59 b(F)-8 b(or)37 b(the)g(\014v)m(e)g(pro)s(ofs)0 827 y(at)e(hand)e(the)i(c)m(hain)f(of)g(theorem)h(in)m(v)m(o)s(cations) f(is)f(circular)g(but)h(the)g(deriv)-5 b(ations)33 b(in)m(v)m(olv)m(ed) h(are)h(structurally)0 940 y(smaller,)29 b(therefore)i(the)g(induction) d(is)h(w)m(ell-founded.)141 1053 y(W)-8 b(e)39 b(start)e(with)f(the)i (correctness)g(theorem)f(ab)s(out)g(the)h(main)e(reconstruction)h (judgmen)m(t.)61 b(W)-8 b(e)38 b(cannot)0 1166 y(pro)m(v)m(e)f(the)e (Corollary)g(6.1)i(directly)-8 b(.)56 b(Instead)35 b(w)m(e)h(ha)m(v)m (e)h(to)g(strengthen)e(the)h(statemen)m(t)i(of)e(the)g(theorem)g(so)0 1279 y(that)31 b(the)g(induction)d(go)s(es)j(through.)41 b(In)30 b(particular)f(w)m(e)i(ha)m(v)m(e)g(to)h(allo)m(w)e(for)g (arbitrary)f(t)m(yping)h(en)m(vironmen)m(ts)0 1392 y(and)k(t)m(yp)s (es.)54 b(Note)36 b(that)g(there)f(migh)m(t)f(b)s(e)g(placeholder)g(v) -5 b(ariables)33 b(in)h(\000)g(and)g Fx(A)h FE(but)f(no)h (placeholders.)52 b(The)0 1505 y(correctness)31 b(theorem)g(is)e (stated)j(formally)c(b)s(ello)m(w:)0 1710 y FD(Theorem)34 b(8.1)46 b(\(Correctness)30 b(of)h(the)e(T)m(yp)s(e)i(Reconstruction\)) f Fv(If)e FE(\000)h Fv(and)h Fx(A)f Fv(ar)-5 b(e)30 b(a)f(typ)-5 b(e)30 b(envir)-5 b(onment)0 1822 y(and)36 b(a)g(typ)-5 b(e)36 b(r)-5 b(esp)g(e)g(ctively)37 b(such)f(that)h FE(PF\(\000\))f Fv(and)g FE(PF\()p Fx(A)p FE(\))g Fv(and)h FE(\000)30 b FA(`)2372 1777 y Fy(i)2442 1822 y Fx(A)g FE(:)h Fk(Type)j Fv(and)i Fx(M)46 b Fv(is)35 b(a)h(term)g(such)g(that)0 1935 y FE(PVF\()p Fx(M)10 b FE(\))34 b Fv(and)f(if)g FE(\000)25 b FA(`)754 1890 y Fy(r)818 1935 y Fx(M)36 b FE(:)25 b Fx(A)h FA(\))f FE(\011)32 b Fv(then)136 2116 y FA(\017)46 b FE(\000)25 b FA(`)g FE(\011)p Fv(,)32 b(and)136 2301 y FA(\017)46 b FE(PF\(\011\))p Fv(,)33 b(and)136 2486 y FA(\017)46 b FE(\011\(\000\))26 b FA(`)467 2441 y Fy(i)532 2486 y Fx(M)35 b FE(:)25 b(\011\()p Fx(A)p FE(\))p Fv(.)141 2691 y FE(F)-8 b(rom)29 b(the)f(Theorem)f(8.1)i(w)m(e) g(can)f(immediately)e(pro)m(v)m(e)j(the)f(Corollary)e(6.1)j(for)f(the)g (empt)m(y)g(t)m(yp)s(e)h(en)m(viron-)0 2804 y(men)m(t)24 b(and)e(the)i(empt)m(y)g(substitution,)e(if)h(w)m(e)g(note)h(that)g(PF) q(\()p Fk(pf)h Fj(p)p Fx(P)13 b Fj(q)p FE(\))24 b(b)m(y)f(the)h (de\014nition)d(of)i(the)h(represen)m(tation)0 2917 y(function.)0 3030 y Fv(Pr)-5 b(o)g(of:)44 b FE(\(of)32 b(Theorem)f(8.1\))i(The)d (pro)s(of)h(is)f(b)m(y)i(induction)d(on)i(the)h(structure)e(of)i(the)g (deriv)-5 b(ation)30 b FA(D)f FE(::)f(\000)e FA(`)3683 2985 y Fy(r)3750 3030 y Fx(M)37 b FE(:)0 3142 y Fx(A)25 b FA(\))h FE(\011.)40 b(There)30 b(are)h(t)m(w)m(o)g(cases,)h(dep)s (ending)c(on)i(the)h(last)f(rule)f(used)g(in)g FA(D)s FE(.)0 3255 y FD(Case:)40 b FE(If)30 b Fx(M)40 b FE(is)30 b(an)g(abstraction:)1360 3615 y FA(D)e FE(=)1992 3409 y FA(D)2062 3423 y Ft(1)1640 3553 y FE(\000)p Fx(;)15 b(x)26 b FE(:)f Fx(A)h FA(`)1975 3508 y Fy(r)2039 3553 y Fx(M)36 b FE(:)25 b Fx(B)30 b FA(\))25 b(\001)p 1564 3594 967 4 v 1564 3673 a FE(\000)g FA(`)1662 3623 y Fy(r)1727 3673 y Fx(\025x:M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)31 b FA(\))25 b(\001)0 3855 y FE(It)35 b(is)g(ob)m(vious)f(that) i(the)g(empt)m(y)f(substitution)e(is)i(w)m(ell-t)m(yp)s(ed)f(and)g (placeholder-free.)55 b(Because)37 b(PF\(\000\))f(and)0 3968 y(PF\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))30 b(it)e(follo)m(ws)g(that)i(w)m(e)f(can)g(apply)f(the)g(induction)f(h)m (yp)s(othesis)g(on)i FA(D)2879 3982 y Ft(1)2947 3968 y FE(and)f(infer)g(that)h(\000)p Fx(;)15 b(x)26 b FE(:)f Fx(A)g FA(`)3860 3923 y Fy(i)0 4081 y Fx(M)35 b FE(:)26 b Fx(B)5 b FE(.)40 b(Therefore)30 b(w)m(e)h(can)g(also)f(infer)f(that)i (\000)25 b FA(`)1713 4036 y Fy(i)1778 4081 y Fx(\025x:M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(,)31 b(whic)m(h)e(is)g(the)i(desired)e(conclusion.)0 4194 y FD(Case:)40 b FE(If)30 b Fx(M)40 b FE(is)30 b(not)g(an)h (abstraction:)326 4554 y FA(D)d FE(=)928 4348 y FA(D)998 4362 y Ft(1)560 4492 y FE(\000)d FA(`)658 4447 y Fy(r)723 4492 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)25 b Fx(B)5 b FE(\))2014 4348 y FA(D)2084 4362 y Ft(2)1617 4492 y FE(\000)p Fx(;)15 b FE(\001)26 b FA(`)1832 4447 y Fy(r)1896 4492 y Fx(C)q(;)15 b(A)27 b FA(\031)2168 4506 y Fz(a)2234 4492 y Fx(B)j FA(\))25 b FE(\011)212 b Fv(Dom)7 b FE(\(\001\))26 b FA(\022)f Fv(Dom)8 b FE(\(\011\))p 530 4533 3035 4 v 1738 4612 a(\000)25 b FA(`)1836 4562 y Fy(r)1901 4612 y Fx(M)36 b FE(:)25 b Fx(A)h FA(\))f FE(\011)0 4789 y(W)-8 b(e)32 b(follo)m(w)d(the)i(sequence)g(of)f (deduction)f(steps)i(sho)m(wn)e(b)s(elo)m(w:)111 4970 y(1.)46 b(\000)25 b FA(`)325 4925 y Fy(i)390 4970 y Fx(A)h FE(:)f Fk(Type)k FE(\(h)m(yp)s(othesis\),)111 5155 y(2.)46 b(PF\(\000\))31 b(and)f(PF\()p Fx(A)p FE(\))h(and)f(PVF)q(\()p Fx(M)10 b FE(\))31 b(\(h)m(yp)s(othesis\),)111 5340 y(3.)46 b(Using)30 b(Theorem)g(8.4)h(on)g FA(D)1210 5354 y Ft(2)1280 5340 y FE(w)m(e)f(infer)f(that)1905 5589 y(32)p eop %%Page: 33 35 33 34 bop 111 91 a FE(4.)46 b(F)-8 b(or)31 b(all)f Fx(N)35 b FE(:)25 b Fx(A)743 58 y Fw(0)797 91 y FE(from)30 b Fx(C)37 b FE(there)30 b(exist)h(\011)1633 105 y Ft(1)1702 91 y FE(and)f(\011)1950 105 y Ft(2)2019 91 y FE(suc)m(h)g(that)h(\011) 2492 105 y Ft(1)2531 91 y FE(\(\000)p Fx(;)15 b FE(\001\))26 b FA(`)2816 46 y Fy(i)2881 91 y FE(\011)2952 105 y Ft(1)2991 91 y FE(\()p Fx(N)10 b FE(\))26 b(:)g(\011)3292 105 y Ft(1)3331 91 y FE(\()p Fx(A)3434 58 y Fw(0)3458 91 y FE(\))f FA(\))g FE(\011)3705 105 y Ft(2)111 279 y FE(5.)46 b(With)30 b(2,)h(4)g(w)m(e)g(apply)e(Theorem)h(8.5)h(on)g FA(D)1750 293 y Ft(1)1819 279 y FE(\(with)f(\001)2138 246 y Fw(0)2186 279 y FE(=)25 b FA(;)p FE(\))31 b(and)f(infer)f(that) 111 467 y(6.)46 b(\000)p Fx(;)15 b FE(\001)26 b FA(`)442 422 y Fy(i)506 467 y Fx(B)k FE(:)c Fk(Type)n FE(,)31 b(and)111 654 y(7.)46 b(PF\(\001\),)32 b(and)111 842 y(8.)46 b(PF\()p Fx(B)5 b FE(\),)31 b(and)111 1029 y(9.)46 b(F)-8 b(or)31 b(all)f Fx(N)35 b FE(:)25 b Fx(A)743 996 y Fw(0)797 1029 y FE(in)k Fx(C)37 b FE(w)m(e)31 b(ha)m(v)m(e)g(PF)q(\() p Fx(A)1573 996 y Fw(0)1596 1029 y FE(\))g(and)f(PVF\()p Fx(N)10 b FE(\))31 b(and)f(\000)p Fx(;)15 b FE(\001)25 b FA(`)2603 984 y Fy(i)2668 1029 y Fx(A)2736 996 y Fw(0)2785 1029 y FE(:)g Fk(Type)66 1217 y FE(10.)46 b(F)-8 b(rom)31 b(1)g(w)m(e)g(infer)e(that)i(\000)p Fx(;)15 b FE(\001)25 b FA(`)1297 1172 y Fy(i)1362 1217 y Fx(A)g FE(:)h Fk(Type)n FE(.)66 1405 y(11.)46 b(With)30 b(2,)h(6,)g(7,)g(8,)g(9)g(and)f(10)h(w) m(e)g(apply)e(Theorem)h(8.6)h(on)g FA(D)2351 1419 y Ft(2)2420 1405 y FE(and)f(infer)f(that)66 1592 y(12.)46 b(\000)p Fx(;)15 b FE(\001)26 b FA(`)e FE(\011,)31 b(and)66 1780 y(13.)46 b(\011\()p Fx(A)p FE(\))26 b FA(\021)533 1794 y Fy(\014)600 1780 y FE(\011\()p Fx(B)5 b FE(\),)30 b(and)66 1968 y(14.)46 b(PF\(\011\),)31 b(and)66 2155 y(15.)46 b(F)-8 b(or)34 b(all)e Fx(N)39 b FE(:)30 b Fx(A)757 2122 y Fw(0)813 2155 y FE(in)i Fx(C)39 b FE(w)m(e)34 b(ha)m(v)m(e)g (\011\(\000)p Fx(;)15 b FE(\001\))30 b FA(`)1735 2110 y Fy(i)1804 2155 y Fx(N)40 b FE(:)29 b(\011\()p Fx(A)2145 2122 y Fw(0)2169 2155 y FE(\).)49 b(Also)32 b(using)g(Lemma)h(8.20)h (with)e Fv(Dom)7 b FE(\(\001\))30 b FA(\022)227 2268 y Fv(Dom)8 b FE(\(\011\))30 b(w)m(e)h(infer)e(that)i(\011\(\000\))26 b FA(`)1376 2223 y Fy(i)1440 2268 y Fx(N)36 b FE(:)25 b(\011\()p Fx(A)1773 2235 y Fw(0)1797 2268 y FE(\).)66 2456 y(16.)46 b(With)30 b(9,)h(12,)h(14,)f(15)g(w)m(e)g(apply)e (Theorem)h(8.7)i(and)d(infer)g(that)66 2643 y(17.)46 b(\011\(\000\))26 b FA(`)467 2598 y Fy(i)532 2643 y Fx(M)35 b FE(:)25 b(\011\()p Fx(B)5 b FE(\))66 2831 y(18.)46 b(Because)31 b(all)c(placeholder)h(v)-5 b(ariables)27 b(from)i(\001)f(are)i(new,)f(they)g(cannot)g(o)s(ccur)g(in)e(\000)i(or) g(in)f Fx(B)5 b FE(.)39 b(Therefore)227 2944 y(\011\()p Fv(Dom)8 b FE(\(\000\)\))29 b(=)g(\011)892 2867 y Ff(\014)892 2921 y(\014)922 2962 y Fe(Dom)6 b Ft(\(\000\))1204 2944 y FE(\(\000\))33 b(and)f(\011\()p Fx(B)5 b FE(\))28 b(=)h(\011)1957 2867 y Ff(\014)1957 2921 y(\014)1987 2962 y Fe(Dom)6 b Ft(\(\000\))2269 2944 y FE(\()p Fx(B)f FE(\).)47 b(Therefore)32 b(w)m(e)h(get)h(one)e(of)h(the)f(desired)227 3057 y(conclusions.)66 3245 y(19.)46 b(With)38 b(12)g(and)f(using)g(Lemma)h(8.20)h(w)m(e)f (pro)m(v)m(e)h(that)f(\000)g FA(`)f FE(\011)2416 3167 y Ff(\014)2416 3222 y(\014)2446 3263 y Fe(Dom)6 b Ft(\(\000\))2713 3245 y FE(.)63 b(Also)37 b(from)h(14)g(w)m(e)h(can)f(easily)227 3357 y(pro)m(v)m(e)31 b(that)g(PF)q(\(\011)897 3280 y Ff(\014)897 3335 y(\014)927 3376 y Fe(Dom)6 b Ft(\(\000\))1194 3357 y FE(\).)3596 3545 y Fd(2)0 3788 y Fs(8.3)112 b(Correctness)38 b(of)f(Uni\014cation)0 3960 y FE(The)i(most)h(imp)s(ortan)m(t)e (judgmen)m(ts)h(for)g(the)h(t)m(yp)s(e)f(reconstruction)g(algorithm)g (presen)m(ted)g(in)f(the)h(previous)0 4073 y(section)f(are)g(the)f (uni\014cation)f(judgmen)m(ts.)62 b(Their)36 b(prop)s(erties)g(are)i (crucial)e(for)h(the)h(correctness)g(of)g(the)g(re-)0 4186 y(construction)32 b(and)f(their)g(implemen)m(tation)g(determine)g (the)h(p)s(erformance)f(of)h(the)h(reconstruction.)45 b(The)31 b(k)m(ey)0 4299 y(prop)s(ert)m(y)h(of)h(the)h(uni\014cation)d (judgmen)m(ts)h(is)g(that)i(the)f(resulting)e(substitution)g(preserv)m (es)h(the)i(t)m(yp)s(es)f(of)g(the)0 4412 y(placeholder)f(v)-5 b(ariables,)33 b(and)f(as)i(a)f(consequence)h(the)g(algorithm)e(do)s (es)h(not)g(need)g(to)h(t)m(yp)s(ec)m(hec)m(k)h(the)e(substi-)0 4525 y(tution.)141 4687 y(The)c(prop)s(erties)f(of)i(in)m(terest)g(of)f (the)h(uni\014cation)e(judgmen)m(ts)h(are)h(expressed)f(in)f(Theorem)h (8.2.)42 b(The)29 b(\014rst)0 4800 y(t)m(w)m(o)35 b(parts)e(of)g(the)h (theorem)g(deal)f(with)f(atomic)i(uni\014cation)d(of)j(t)m(yp)s(es)f (and)g(ob)5 b(jects)34 b(resp)s(ectiv)m(ely)-8 b(.)49 b(The)33 b(last)0 4913 y(part)d(deals)g(with)f(normal)g(uni\014cation)g (of)h(ob)5 b(jects.)0 5126 y FD(Theorem)34 b(8.2)46 b(\(Correctness)31 b(of)f(Uni\014cation\))g Fv(A)n(l)5 b(l)28 b(the)i(typ)-5 b(es)30 b(mentione)-5 b(d)31 b(in)e(the)g(statement)i(b)-5 b(elow)30 b(ar)-5 b(e)0 5239 y(assume)g(d)34 b(to)f(b)-5 b(e)33 b(plac)-5 b(eholder-fr)g(e)g(e.)1905 5589 y FE(33)p eop %%Page: 34 36 34 35 bop 61 91 a Fv(\(a\))46 b(If)33 b Fx(A)391 105 y Ft(1)456 91 y FA(\031)527 105 y Fz(a)593 91 y Fx(A)661 105 y Ft(2)726 91 y FA(\))25 b FE(\011)32 b Fv(such)h(that)h FE(\000)25 b FA(`)1436 46 y Fy(i)1501 91 y Fx(A)1569 105 y Ft(1)1634 91 y FE(:)g Fx(K)1761 105 y Ft(1)1834 91 y Fv(and)33 b FE(\000)25 b FA(`)2108 46 y Fy(i)2173 91 y Fx(A)2241 105 y Ft(2)2306 91 y FE(:)g Fx(K)2433 105 y Ft(2)2505 91 y Fv(then)336 279 y FA(\017)46 b FE(\000)25 b FA(`)g FE(\011)p Fv(,)32 b(and)336 425 y FA(\017)46 b FE(PF\(\011\))p Fv(,)33 b(and)336 571 y FA(\017)46 b FE(\011\()p Fx(A)601 585 y Ft(1)641 571 y FE(\))26 b FA(\021)773 585 y Fy(\014)839 571 y FE(\011\()p Fx(A)1013 585 y Ft(2)1053 571 y FE(\))p Fv(,)32 b(and)336 717 y FA(\017)46 b FE(\011\()p Fx(K)610 731 y Ft(1)650 717 y FE(\))26 b FA(\021)782 731 y Fy(\014)848 717 y FE(\011\()p Fx(K)1031 731 y Ft(2)1071 717 y FE(\))66 905 y Fv(\(b\))45 b(If)33 b Fx(M)411 919 y Ft(1)476 905 y FA(\031)547 919 y Fz(a)613 905 y Fx(M)701 919 y Ft(2)766 905 y FA(\))25 b FE(\011)32 b Fv(and)i FE(PF\()p Fx(M)1406 919 y Ft(1)1446 905 y FE(\))f Fv(and)h FE(PF\()p Fx(M)1935 919 y Ft(2)1975 905 y FE(\))f Fv(such)g(that)g FE(\000)25 b FA(`)2533 860 y Fy(i)2598 905 y Fx(M)2686 919 y Ft(1)2751 905 y FE(:)h Fx(A)2870 919 y Ft(1)2942 905 y Fv(and)33 b FE(\000)25 b FA(`)3216 860 y Fy(i)3281 905 y Fx(M)3369 919 y Ft(2)3434 905 y FE(:)h Fx(A)3553 919 y Ft(2)3625 905 y Fv(then)336 1093 y FA(\017)46 b FE(\000)25 b FA(`)g FE(\011)p Fv(,)32 b(and)336 1239 y FA(\017)46 b FE(PF\(\011\))p Fv(,)33 b(and)336 1385 y FA(\017)46 b FE(\011\()p Fx(M)621 1399 y Ft(1)661 1385 y FE(\))26 b FA(\021)793 1399 y Fy(\014)859 1385 y FE(\011\()p Fx(M)1053 1399 y Ft(2)1093 1385 y FE(\))p Fv(,)32 b(and)336 1531 y FA(\017)46 b FE(\011\()p Fx(A)601 1545 y Ft(1)641 1531 y FE(\))26 b FA(\021)773 1545 y Fy(\014)839 1531 y FE(\011\()p Fx(A)1013 1545 y Ft(2)1053 1531 y FE(\))66 1719 y Fv(\(c\))45 b(If)33 b Fx(M)411 1733 y Ft(1)476 1719 y FA(\031)25 b Fx(M)660 1733 y Ft(2)724 1719 y FA(\))h FE(\011)32 b Fv(and)h FE(PF)q(\()p Fx(M)1365 1733 y Ft(1)1405 1719 y FE(\))f Fv(and)i FE(PF\()p Fx(M)1893 1733 y Ft(2)1933 1719 y FE(\))f Fv(such)g(that)h FE(\000)25 b FA(`)2492 1674 y Fy(i)2557 1719 y Fx(M)2645 1733 y Ft(1)2710 1719 y FE(:)g Fx(A)33 b Fv(and)g FE(\000)25 b FA(`)3135 1674 y Fy(i)3200 1719 y Fx(M)3288 1733 y Ft(2)3353 1719 y FE(:)h Fx(A)32 b Fv(then)336 1906 y FA(\017)46 b FE(\000)25 b FA(`)g FE(\011)p Fv(,)32 b(and)336 2052 y FA(\017)46 b FE(PF\(\011\))p Fv(,)33 b(and)336 2198 y FA(\017)46 b FE(\011\()p Fx(M)621 2212 y Ft(1)661 2198 y FE(\))26 b FA(\021)793 2212 y Fy(\014)859 2198 y FE(\011\()p Fx(M)1053 2212 y Ft(2)1093 2198 y FE(\))141 2411 y(The)33 b(complicated)g (statemen)m(t)i(ab)s(o)m(v)m(e)f(is)e(required)f(in)h(order)h(to)h(pro) m(v)m(e)g(the)f(theorem)h(b)m(y)f(induction.)46 b(All)0 2524 y(the)31 b(actual)h(uses)e(of)i(the)f(Theorem)g(8.2)h(are)g(in)e (the)h(form)g(of)g(a)g(m)m(uc)m(h)g(simpler)e(corollary)i(sho)m(wn)f(b) s(elo)m(w.)42 b(The)0 2637 y(corollary)30 b(follo)m(ws)f(immediately)g (from)h(the)g(case)i(\(a\))f(of)g(Theorem)f(8.2)h(b)m(y)g(taking)f Fx(K)3021 2651 y Ft(1)3086 2637 y FE(=)25 b Fx(K)3259 2651 y Ft(2)3324 2637 y FE(=)g Fk(Type)o FE(.)0 2849 y FD(Corollary)35 b(8.3)46 b Fv(If)33 b Fx(A)808 2863 y Ft(1)872 2849 y FA(\031)943 2863 y Fz(a)1010 2849 y Fx(A)1078 2863 y Ft(2)1143 2849 y FA(\))25 b FE(\011)32 b Fv(such)h(that)h FE(\000)25 b FA(`)1853 2804 y Fy(i)1918 2849 y Fx(A)1986 2863 y Ft(1)2051 2849 y FE(:)g Fk(Type)32 b Fv(and)h FE(\000)25 b FA(`)2599 2804 y Fy(i)2664 2849 y Fx(A)2732 2863 y Ft(2)2797 2849 y FE(:)g Fk(Type)32 b Fv(then)107 3037 y(1.)46 b FE(\000)25 b FA(`)g FE(\011)p Fv(,)32 b(and)107 3225 y(2.)46 b FE(PF\(\011\))p Fv(,)33 b(and)107 3412 y(3.)46 b FE(\011\()p Fx(A)401 3426 y Ft(1)441 3412 y FE(\))26 b FA(\021)573 3426 y Fy(\014)639 3412 y FE(\011\()p Fx(A)813 3426 y Ft(2)853 3412 y FE(\))p Fv(.)0 3625 y(Pr)-5 b(o)g(of:)45 b FE(\(of)33 b(Theorem)f(8.2\))i(The)d (pro)s(of)h(is)f(b)m(y)h(induction)e(on)i(the)g(structure)g(of)g(the)h (uni\014cation)d(deriv)-5 b(ations.)0 3738 y(W)d(e)36 b(only)d(sho)m(w)i(here)f(the)h(cases)g(for)g(the)f(uni\014cation)f(of) i(ob)5 b(jects)35 b(\(cases)h(b)e(and)f(c\).)54 b(The)34 b(pro)s(of)g(for)g(atomic)0 3851 y(uni\014cation)28 b(of)j(t)m(yp)s(es) f(follo)m(ws)g(the)g(same)h(patterns.)0 3963 y FD(Case:)1639 4076 y FA(D)d FE(=)p 1843 4056 409 4 v 1843 4108 a Fx(c)d FA(\031)1978 4122 y Fz(a)2045 4108 y Fx(c)h FA(\))f(\001)0 4243 y FE(The)d(empt)m(y)g(substitution)e(is)h(w)m(ell-t)m(yp)s(ed)g (in)f(an)m(y)j(en)m(vironmen)m(t)e(and)h(is)f(also)h(placeholder-free.) 37 b(By)22 b(h)m(yp)s(othesis)0 4356 y(w)m(e)32 b(kno)m(w)g(that)h (\000)27 b FA(`)673 4311 y Fy(i)740 4356 y Fx(c)h FE(:)g Fx(A)928 4370 y Ft(1)1000 4356 y FE(and)j(\000)c FA(`)1278 4311 y Fy(i)1346 4356 y Fx(c)h FE(:)f Fx(A)1533 4370 y Ft(2)1573 4356 y FE(.)45 b(F)-8 b(rom)32 b(Lemma)g(8.14)i(w)m(e)e (conclude)f(that)i Fx(A)3180 4370 y Ft(1)3247 4356 y FA(\021)3318 4370 y Fy(\014)3387 4356 y Fx(A)3455 4370 y Ft(2)3494 4356 y FE(.)45 b(The)32 b(rest)0 4469 y(of)f(the)f (conclusion)f(follo)m(ws)g(immediately)-8 b(.)0 4582 y FD(Case:)1626 4695 y FA(D)28 b FE(=)p 1830 4674 434 4 v 1830 4726 a Fx(x)d FA(\031)1978 4740 y Fz(a)2045 4726 y Fx(x)g FA(\))g(\001)0 4862 y FE(Again,)i(the)f(t)m(yping)g (condition)e(on)i(the)g(resulting)e(substitution)g(is)h(v)-5 b(acuously)25 b(true.)40 b(By)26 b(h)m(yp)s(othesis)e(w)m(e)j(kno)m(w)0 4975 y(that)34 b(\000)d FA(`)304 4930 y Fy(i)375 4975 y Fx(x)f FE(:)i Fx(A)582 4989 y Ft(1)655 4975 y FE(and)h(\000)e FA(`)939 4930 y Fy(i)1009 4975 y Fx(x)g FE(:)g Fx(A)1216 4989 y Ft(2)1256 4975 y FE(.)51 b(F)-8 b(rom)34 b(Lemma)g(8.14)h(w)m(e) g(infer)d(that)i Fx(A)2716 4989 y Ft(1)2787 4975 y FA(\021)2858 4989 y Fy(\014)2930 4975 y Fx(A)2998 4989 y Ft(2)3037 4975 y FE(,)h(whic)m(h)e(concludes)g(the)0 5088 y(pro)s(of)d(of)g(this) f(case.)1905 5589 y(34)p eop %%Page: 35 37 35 36 bop 0 91 a FD(Case:)1391 368 y FA(D)28 b FE(=)1992 162 y FA(D)2062 176 y Ft(1)1638 306 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)37 b FA(\031)2056 320 y Fz(a)2122 306 y Fx(M)2220 273 y Fw(0)2269 306 y FA(\))25 b FE(\011)p 1595 347 904 4 v 1595 429 a(\()p Fx(\025x:M)10 b FE(\))26 b Fx(N)36 b FA(\031)2099 443 y Fz(a)2165 429 y Fx(M)2263 392 y Fw(0)2312 429 y FA(\))25 b FE(\011)0 578 y(F)-8 b(or)45 b(the)f(purp)s(ose)e(of)i(the)h(correctness)f(pro)s(of)g(w)m(e)g(only)f (consider)g(the)h Fx(\014)5 b FE(-reduction)44 b(case)h(with)e(only)g (one)0 691 y(argumen)m(t)31 b(\()p Fx(n)25 b FE(=)g(1\).)41 b(The)30 b(general)h(case)g(is)f(pro)m(v)m(ed)g(in)f(a)i(similar)d(w)m (a)m(y)-8 b(.)0 803 y(By)38 b(h)m(yp)s(othesis)f(w)m(e)i(ha)m(v)m(e)g (that)g(\000)f FA(`)1281 758 y Fy(i)1359 803 y FE(\()p Fx(\025x:M)10 b FE(\))39 b Fx(N)48 b FE(:)38 b Fx(A)1948 817 y Ft(1)1988 803 y FE(.)64 b(F)-8 b(rom)39 b(Lemma)f(8.14)i(w)m(e)e (infer)f(that)h(\000)g FA(`)3530 758 y Fy(i)3608 803 y Fx(\025x:M)49 b FE(:)0 916 y(\005)p Fx(x)22 b FE(:)g Fx(A:B)43 b FE(and)37 b(\000)g FA(`)688 871 y Fy(i)764 916 y Fx(N)47 b FE(:)38 b Fx(A)f FE(and)g([)p Fx(N)r(=x)p FE(])p Fx(B)43 b FA(\021)1641 930 y Fy(\014)1720 916 y Fx(A)1788 930 y Ft(1)1827 916 y FE(.)62 b(Because)39 b(PF\(\()p Fx(\025x:M)10 b FE(\))39 b Fx(N)10 b FE(\))38 b(w)m(e)g(infer)e(that)i(PF\()p Fx(\025x:M)10 b FE(\))0 1029 y(and)30 b(PF\()p Fx(N)10 b FE(\).)42 b(Therefore)30 b(PF\([)p Fx(N)r(=x)p FE(])p Fx(M)10 b FE(\).)43 b(No)m(w)31 b(w)m(e)g(can)g(use)f(the)g(Lemma)h(8.15)h(to)f(infer)e(that)i(\000)25 b FA(`)3463 984 y Fy(i)3528 1029 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)37 b FE(:)0 1142 y([)p Fx(N)r(=x)p FE(])p Fx(B)i FE(and)32 b(therefore)i(\000)29 b FA(`)996 1097 y Fy(i)1066 1142 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)41 b FE(:)30 b Fx(A)1540 1156 y Ft(1)1580 1142 y FE(.)49 b(No)m(w)33 b(w)m(e)h(apply)e(the)h(induction)e(h)m(yp)s(othesis)g(on)i FA(D)3468 1156 y Ft(1)3541 1142 y FE(and)f(infer)0 1255 y(that)f(\000)25 b FA(`)g FE(\011)30 b(and)g(\011\()p Fx(A)812 1269 y Ft(1)851 1255 y FE(\))c FA(\021)983 1269 y Fy(\014)1049 1255 y FE(\011\()p Fx(A)1223 1269 y Ft(2)1263 1255 y FE(\))31 b(and)e(that)i(PF)q(\(\011\).)0 1368 y(W)-8 b(e)36 b(also)f(conclude)f(from)g(the)h(induction)d(h)m(yp)s (othesis)h(that)j(\011\([)p Fx(N)r(=x)p FE(])p Fx(M)10 b FE(\))34 b FA(\021)2734 1382 y Fy(\014)2808 1368 y FE(\011\()p Fx(M)3012 1335 y Fw(0)3035 1368 y FE(\).)54 b(But)35 b(\011\([)p Fx(N)r(=x)p FE(])p Fx(M)10 b FE(\))34 b(=)0 1481 y([\011\()p Fx(N)10 b FE(\))p Fx(=x)p FE(]\011\()p Fx(M)g FE(\))27 b FA(\021)708 1495 y Fy(\014)774 1481 y FE(\011\(\()p Fx(\025x:M)10 b FE(\))p Fx(N)g FE(\),)32 b(whic)m(h)e(completes)g(the)h(pro)s(of)e(of)i(this)e(case.)0 1594 y FD(Case:)995 1870 y FA(D)f FE(=)1472 1664 y FA(D)1542 1678 y Ft(1)1229 1808 y Fx(M)36 b FA(\031)1424 1822 y Fz(a)1490 1808 y Fx(M)1588 1775 y Fw(0)1637 1808 y FA(\))25 b FE(\011)2395 1664 y FA(D)2465 1678 y Ft(2)2036 1808 y FE(\011\()p Fx(N)10 b FE(\))26 b FA(\031)e FE(\011\()p Fx(N)2570 1775 y Fw(0)2594 1808 y FE(\))h FA(\))h FE(\011)2842 1775 y Fw(0)p 1199 1849 1696 4 v 1540 1932 a Fx(M)35 b(N)g FA(\031)1842 1946 y Fz(a)1909 1932 y Fx(M)2007 1894 y Fw(0)2056 1932 y Fx(N)2139 1894 y Fw(0)2187 1932 y FA(\))25 b FE(\011)2374 1894 y Fw(0)2418 1932 y FA(\016)20 b FE(\011)0 2071 y(W)-8 b(e)32 b(follo)m(w)d(a)i(sequence)g(of)f (deductions:)111 2259 y(1.)46 b(F)-8 b(rom)31 b(\000)25 b FA(`)564 2214 y Fy(i)629 2259 y Fx(M)35 b(N)h FE(:)25 b Fx(A)979 2273 y Ft(1)1049 2259 y FE(\(h)m(yp)s(othesis\))30 b(and)f(Lemma)i(8.14)h(w)m(e)f(get)111 2446 y(2.)46 b(\000)25 b FA(`)325 2401 y Fy(i)390 2446 y Fx(M)36 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(,)31 b(and)111 2634 y(3.)46 b(\000)25 b FA(`)325 2589 y Fy(i)390 2634 y Fx(N)35 b FE(:)26 b Fx(A)p FE(,)31 b(and)111 2822 y(4.)46 b([)p Fx(N)r(=x)p FE(])p Fx(B)31 b FA(\021)620 2836 y Fy(\014)687 2822 y Fx(A)755 2836 y Ft(1)794 2822 y FE(.)111 3009 y(5.)46 b(F)-8 b(rom)31 b(\000)25 b FA(`)564 2964 y Fy(i)629 3009 y Fx(M)727 2976 y Fw(0)776 3009 y Fx(N)859 2976 y Fw(0)907 3009 y FE(:)h Fx(A)1026 3023 y Ft(2)1096 3009 y FE(\(h)m(yp)s(othesis\))j(and)h(Lemma)h(8.14)g(w)m(e)g(get)111 3197 y(6.)46 b(\000)25 b FA(`)325 3152 y Fy(i)390 3197 y Fx(M)488 3164 y Fw(0)537 3197 y FE(:)g(\005)p Fx(x)10 b FE(:)g Fx(A)820 3164 y Fw(0)844 3197 y Fx(:B)943 3164 y Fw(0)966 3197 y FE(,)31 b(and)111 3384 y(7.)46 b(\000)25 b FA(`)325 3339 y Fy(i)390 3384 y Fx(N)473 3351 y Fw(0)522 3384 y FE(:)g Fx(A)640 3351 y Fw(0)664 3384 y FE(,)30 b(and)111 3572 y(8.)46 b([)p Fx(N)335 3539 y Fw(0)359 3572 y Fx(=x)p FE(])p Fx(B)555 3539 y Fw(0)603 3572 y FA(\021)674 3586 y Fy(\014)741 3572 y Fx(A)809 3586 y Ft(2)849 3572 y FE(.)111 3760 y(9.)g(Using)30 b(2)h(and)e(6)i(w)m(e)g (apply)e(the)i(induction)d(h)m(yp)s(othesis)h(on)h FA(D)2400 3774 y Ft(1)2439 3760 y FE(.)41 b(W)-8 b(e)32 b(conclude:)66 3947 y(10.)46 b(\000)25 b FA(`)g FE(\011,)30 b(and)66 4135 y(11.)46 b(PF\(\011\),)31 b(and)66 4323 y(12.)46 b(\011\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))26 b FA(\021)797 4337 y Fy(\014)864 4323 y FE(\011\(\005)p Fx(x)10 b FE(:)g Fx(A)1203 4290 y Fw(0)1227 4323 y Fx(:B)1326 4290 y Fw(0)1349 4323 y FE(\),)31 b(and)66 4510 y(13.)46 b(\011\()p Fx(M)10 b FE(\))26 b FA(\021)563 4524 y Fy(\014)629 4510 y FE(\011\()p Fx(M)833 4477 y Fw(0)857 4510 y FE(\).)66 4698 y(14.)46 b(With)30 b(3,)h(10)g(and)f(11)h(w)m(e)g(use)f(Corollary) f(8.17)j(and)e(deduce)g(that)h(\011\(\000\))25 b FA(`)2783 4653 y Fy(i)2848 4698 y FE(\011\()p Fx(N)10 b FE(\))26 b(:)f(\011\()p Fx(A)p FE(\).)66 4885 y(15.)46 b(With)33 b(7,)h(10)g(and)e(11)i(w)m(e)g(use)e(Corollary)g(8.17)i(and)f(deduce)g (that)g(\011\(\000\))d FA(`)2820 4840 y Fy(i)2889 4885 y FE(\011\()p Fx(N)3078 4852 y Fw(0)3101 4885 y FE(\))g(:)g(\011\()p Fx(A)3395 4852 y Fw(0)3419 4885 y FE(\),)k(and)e(using)227 4998 y(12)f(w)m(e)g(also)g(deduce)f(that)h(\011\(\000\))25 b FA(`)1404 4953 y Fy(i)1469 4998 y FE(\011\()p Fx(N)1658 4965 y Fw(0)1681 4998 y FE(\))h(:)f(\011\()p Fx(A)p FE(\).)66 5186 y(16.)46 b(F)-8 b(rom)30 b(11)g(w)m(e)g(infer)e(that)h(PF)q (\(\011\()p Fx(N)10 b FE(\)\))30 b(and)f(PF\(\011\()p Fx(N)2089 5153 y Fw(0)2113 5186 y FE(\)\).)41 b(This)27 b(together)k(with)d(14)i(and)e(15)j(let)e(us)f(apply)227 5299 y(the)j(induction)d(h)m(yp)s(othesis)h(on)h FA(D)1432 5313 y Ft(2)1472 5299 y FE(.)40 b(W)-8 b(e)32 b(deduce)e(that:)1905 5589 y(35)p eop %%Page: 36 38 36 37 bop 66 91 a FE(17.)46 b(\011\(\000\))26 b FA(`)f FE(\011)603 58 y Fw(0)626 91 y FE(,)30 b(and)66 279 y(18.)46 b(PF\(\011)454 246 y Fw(0)478 279 y FE(\),)31 b(and)66 467 y(19.)46 b(\011)298 434 y Fw(0)321 467 y FE(\(\011\()p Fx(N)10 b FE(\)\))27 b FA(\021)713 481 y Fy(\014)779 467 y FE(\011)850 434 y Fw(0)873 467 y FE(\(\011\()p Fx(N)1097 434 y Fw(0)1121 467 y FE(\)\).)66 654 y(20.)46 b(F)-8 b(rom)32 b(10,)h(11,)g(17)f(and)e(18)j(with)d(Lemma)h(8.19)i(w)m (e)f(get)g(the)g(\014rst)f(part)g(of)g(the)h(conclusion:)41 b(\000)27 b FA(`)f FE(\011)3719 621 y Fw(0)3763 654 y FA(\016)21 b FE(\011)227 767 y(and)30 b(PF\(\011)631 734 y Fw(0)675 767 y FA(\016)20 b FE(\011\).)66 955 y(21.)46 b(F)-8 b(rom)29 b(13)f(and)f(using)g(Lemma)h(8.21)h(w)m(e)f(deduce)g (that)g(\011)2200 922 y Fw(0)2238 955 y FA(\016)15 b FE(\011\()p Fx(M)10 b FE(\))26 b FA(\021)2634 969 y Fy(\014)2701 955 y FE(\011)2772 922 y Fw(0)2810 955 y FA(\016)15 b FE(\011\()p Fx(M)3074 922 y Fw(0)3098 955 y FE(\).)40 b(This)26 b(and)h(19)h(allo)m(w)227 1068 y(us)i(to)h(pro)m(v)m(e)g (more)g(of)f(the)h(conclusion:)39 b(\011)1734 1035 y Fw(0)1777 1068 y FA(\016)21 b FE(\011\()p Fx(M)35 b(N)10 b FE(\))26 b FA(\021)2287 1082 y Fy(\014)2353 1068 y FE(\011)2424 1035 y Fw(0)2468 1068 y FA(\016)20 b FE(\011\()p Fx(M)2737 1035 y Fw(0)2786 1068 y Fx(N)2869 1035 y Fw(0)2892 1068 y FE(\).)66 1255 y(22.)46 b(F)-8 b(rom)23 b(4)g(and)f(using)f (Lemma)i(8.21)h(w)m(e)f(deduce)f(that)h(\011)2107 1222 y Fw(0)2135 1255 y FA(\016)5 b FE(\011\()p Fx(A)2359 1269 y Ft(1)2398 1255 y FE(\))26 b FA(\021)2530 1269 y Fy(\014)2596 1255 y FE([\011)2692 1222 y Fw(0)2720 1255 y FA(\016)5 b FE(\011\()p Fx(N)10 b FE(\))p Fx(=x)p FE(]\011)3187 1222 y Fw(0)3216 1255 y FA(\016)5 b FE(\011\()p Fx(B)g FE(\).)38 b(Similarly)227 1368 y(from)d(8)h(w)m(e)f(get)i(that)e (\011)1095 1335 y Fw(0)1142 1368 y FA(\016)24 b FE(\011\()p Fx(A)1385 1382 y Ft(2)1424 1368 y FE(\))34 b FA(\021)1564 1382 y Fy(\014)1639 1368 y FE([\011)1735 1335 y Fw(0)1781 1368 y FA(\016)24 b FE(\011\()p Fx(N)2039 1335 y Fw(0)2062 1368 y FE(\))p Fx(=x)p FE(]\011)2290 1335 y Fw(0)2338 1368 y FA(\016)g FE(\011\()p Fx(B)2587 1335 y Fw(0)2610 1368 y FE(\).)55 b(No)m(w)36 b(w)m(e)g(can)f(use)g(Lemma)g(8.22)227 1481 y(with)29 b(12)j(and)d(19)j(to)f(get)g(the)g(last)f(part)g(of)h (the)f(conclusion:)40 b(\011)2449 1448 y Fw(0)2492 1481 y FA(\016)20 b FE(\011\()p Fx(A)2731 1495 y Ft(1)2771 1481 y FE(\))26 b FA(\021)2903 1495 y Fy(\014)2969 1481 y FE(\011)3040 1448 y Fw(0)3083 1481 y FA(\016)21 b FE(\011\()p Fx(A)3323 1495 y Ft(2)3363 1481 y FE(\).)0 1669 y(This)29 b(concludes)h(all)f(the)i(cases)h(regarding)e(the)h(atomic)g (uni\014cation.)40 b(The)30 b(rest)h(of)g(the)g(cases)g(are)g(for)g (normal)0 1782 y(uni\014cation.)39 b(The)30 b(only)f(in)m(teresting)h (cases)h(here)f(are)h(the)g(abstraction)f(and)g(instan)m(tiation)f (cases.)0 1895 y FD(Case:)1459 2148 y FA(D)f FE(=)1992 1965 y FA(D)2062 1979 y Ft(1)1793 2109 y Fx(M)36 b FA(\031)25 b Fx(M)2111 2076 y Fw(0)2159 2109 y FA(\))g(\001)p 1663 2127 768 4 v 1663 2210 a Fx(\025x:M)36 b FA(\031)25 b Fx(\025x:M)2241 2172 y Fw(0)2289 2210 y FA(\))h(\001)0 2350 y FE(The)32 b(empt)m(y)h(substitution)e(is)h(w)m(ell-t)m(yp)s(ed)f (and)i(also)f(placeholder-free.)47 b(By)33 b(h)m(yp)s(othesis)f(\000)d FA(`)3272 2305 y Fy(i)3341 2350 y Fx(\025x:M)39 b FE(:)30 b Fx(A)j FE(and)0 2463 y(\000)38 b FA(`)111 2418 y Fy(i)189 2463 y Fx(\025x:M)417 2430 y Fw(0)480 2463 y FE(:)g Fx(A)p FE(.)65 b(F)-8 b(rom)39 b(Lemma)f(8.14)i(w)m(e)f(ha)m(v)m(e)g(that)g Fx(A)g FE(=)f(\005)p Fx(x)24 b FE(:)f Fx(A)2520 2477 y Ft(1)2560 2463 y Fx(:A)2653 2477 y Ft(2)2731 2463 y FE(and)38 b(\000)p Fx(;)15 b(x)38 b FE(:)h Fx(A)3235 2477 y Ft(1)3313 2463 y FA(`)3329 2418 y Fy(i)3407 2463 y Fx(M)49 b FE(:)39 b Fx(A)3676 2477 y Ft(2)3754 2463 y FE(and)0 2576 y(also)34 b(\000)p Fx(;)15 b(x)32 b FE(:)g Fx(A)492 2590 y Ft(1)563 2576 y FA(`)579 2531 y Fy(i)650 2576 y Fx(M)748 2543 y Fw(0)803 2576 y FE(:)g Fx(A)928 2590 y Ft(2)968 2576 y FE(.)52 b(No)m(w)35 b(w)m(e)g(can)f(use)g(the)h (induction)c(h)m(yp)s(othesis)i(on)h FA(D)2945 2590 y Ft(1)3019 2576 y FE(and)g(infer)e(the)j(required)0 2689 y(conclusion:)k Fx(M)d FA(\021)670 2703 y Fy(\014)736 2689 y Fx(M)834 2656 y Fw(0)857 2689 y FE(.)0 2802 y FD(Case:)1491 3016 y FA(D)28 b FE(=)1817 2954 y Fx(u)d FA(62)g FE(FV)q(\()p Fx(M)10 b FE(\))p 1695 2995 705 4 v 1695 3065 a Fx(u)25 b FA(\031)g Fx(M)35 b FA(\))26 b Fx(u)f FA( )g Fx(M)0 3205 y FE(Let)40 b(\011)f(=)h Fx(u)g FA( )f Fx(M)10 b FE(.)67 b(By)40 b(h)m(yp)s(othesis)d(w)m(e)j (ha)m(v)m(e)g(that)g(\000)g FA(`)2093 3161 y Fy(i)2172 3205 y Fx(u)g FE(:)g Fx(A)f FE(and)g(\000)g FA(`)2734 3161 y Fy(i)2814 3205 y Fx(M)50 b FE(:)40 b Fx(A)f FE(and)g(PF\()p Fx(M)10 b FE(\).)67 b(F)-8 b(rom)0 3318 y(Corollary)31 b(8.18)j(w)m(e)f(deduce)f(that)h(\000)c FA(`)f FE(\011.)47 b(Because)34 b(PF\()p Fx(M)10 b FE(\))33 b(w)m(e)g(can)g(also)f(infer)f (that)j(PF\(\011\).)47 b(The)32 b(rest)h(of)0 3431 y(the)e(conclusion)d (is)i(trivial:)39 b(\011\()p Fx(u)p FE(\))25 b FA(\021)1283 3445 y Fy(\014)1350 3431 y FE(\011\()p Fx(M)10 b FE(\))31 b(b)s(ecause)f(\011\()p Fx(M)10 b FE(\))26 b(=)f Fx(M)10 b FE(.)3596 3544 y Fd(2)0 3788 y Fs(8.4)112 b(Correctness)38 b(of)f(Constrain)m(t)g(Collection)d(and)39 b(Constrain)m(t)d(Solving)0 3959 y FE(Due)28 b(to)g(the)f(presence)h(of)f(dep)s(enden)m(t)g(t)m(yp) s(es)g(there)h(is)e(a)i(v)m(ery)g(close)f(relationship)e(b)s(et)m(w)m (een)j(constrain)m(t)g(collec-)0 4072 y(tion)33 b(and)g(constrain)m(t)h (solving.)50 b(This)32 b(is)g(mainly)g(b)s(ecause)i(the)g(prop)s (erties)e(for)h(constrain)m(t)h(solving)f(are)h(only)0 4185 y(de\014ned)e(if)g(the)h(t)m(yp)s(e)h(in)m(v)m(olv)m(ed)f(is)f(w)m (ell-t)m(yp)s(ed)g(of)h(kind)f Fk(Type)p FE(.)48 b(Ho)m(w)m(ev)m(er,)36 b(due)d(to)g(the)h(dep)s(endency)e(of)h(t)m(yp)s(es)0 4298 y(on)d(terms)h(the)f(latter)h(prop)s(ert)m(y)f(of)g(t)m(yp)s(es)g (ma)m(y)h(dep)s(end)e(on)h(some)h(of)g(the)f(other)h(t)m(yping)f (constrain)m(ts.)141 4411 y(Things)37 b(are)h(complicated)g(b)s(ecause) h(of)f(the)h(reconstruction)f(whose)g(results,)h(and)f(therefore)h(the) f(exact)0 4524 y(shap)s(e)43 b(of)h(future)f(t)m(yping)g(constrain)m (ts,)48 b(dep)s(ends)42 b(on)h(the)h(particular)e(order)i(c)m(hosen)g (for)g(solving.)79 b(If)44 b(the)0 4637 y(constrain)m(ts)e(w)m(ere)h (solv)m(ed)f(in)f(order)h(then)g(b)m(y)h(the)f(time)g(a)h(constrain)m (t)g(is)e(ab)s(out)h(to)h(b)s(e)f(solv)m(ed)g(w)m(e)h(could)0 4750 y(pro)m(v)m(e)37 b(that)g(the)g(t)m(yp)s(e)f(in)m(v)m(olv)m(ed)g (is)g(w)m(ell-formed)f(of)i(kind)d Fk(Type)o FE(.)59 b(W)-8 b(e)38 b(cannot)f(assume)f(in-order)f(solving)g(of)0 4863 y(constrain)m(ts)f(b)s(ecause)g(m)m(uc)m(h)g(of)g(the)h(p)s(o)m(w) m(er)f(of)g(the)g(reconstruction)g(originates)f(in)g(the)h(abilit)m(y)f (to)h(solv)m(e)h(the)0 4975 y(constrain)m(ts)30 b(out-of-order.)141 5088 y(This)42 b(complicates)h(the)h(correctness)g(pro)s(of)f(substan)m (tially)-8 b(.)78 b(W)-8 b(e)44 b(structure)f(the)h(pro)s(of)e(as)i(a)g (c)m(hain)f(of)0 5201 y(dep)s(enden)m(t)37 b(theorems,)j(t)m(w)m(o)g (for)e(eac)m(h)h(of)f(the)g(constrain)m(t)g(collection)g(and)f (constrain)m(t)h(solving)f(judgmen)m(ts.)0 5314 y(Note)32 b(ho)m(w)e(the)h(conclusion)e(of)h(one)h(theorem)g(establishes)e(the)h (assumptions)f(of)h(the)h(next)f(one.)1905 5589 y(36)p eop %%Page: 37 39 37 38 bop 141 91 a FE(W)-8 b(e)38 b(start)f(with)f(a)h(theorem)g(ab)s (out)g(the)g(goal)g(solving)e(judgmen)m(t,)k(sa)m(ying)d(that)i(during) c(constrain)m(t)j(list)0 204 y(solving)29 b(eac)m(h)j(t)m(yping)e (constrain)m(t)h(is)e(ev)m(en)m(tually)i(solv)m(ed.)41 b(Ho)m(w)m(ev)m(er,)33 b(dep)s(ending)28 b(on)i(the)h(particular)e (order)h(of)0 317 y(solving)f(some)i(placeholder)e(v)-5 b(ariables)29 b(ma)m(y)i(b)s(e)f(already)g(instan)m(tiated,)g(hence)g (the)h(\011)3041 331 y Ft(1)3080 317 y FE(.)0 507 y FD(Theorem)j(8.4)46 b Fv(If)e FE(\000)i FA(`)849 462 y Fy(r)935 507 y Fx(C)53 b FA(\))46 b FE(\011)e Fv(then)h(for)f(e)-5 b(ach)45 b Fx(N)57 b FE(:)46 b Fx(A)2160 474 y Fw(0)2228 507 y Fv(fr)-5 b(om)45 b Fx(C)51 b Fv(ther)-5 b(e)45 b(exist)g FE(\011)3103 521 y Ft(1)3186 507 y Fv(and)g FE(\011)3445 521 y Ft(2)3528 507 y Fv(such)g(that)0 620 y FE(\011)71 634 y Ft(1)110 620 y FE(\(\000\))26 b FA(`)279 575 y Fy(r)344 620 y FE(\011)415 634 y Ft(1)454 620 y FE(\()p Fx(N)10 b FE(\))26 b(:)f(\011)754 634 y Ft(1)793 620 y FE(\()p Fx(A)896 587 y Fw(0)920 620 y FE(\))h FA(\))f FE(\011)1168 634 y Ft(2)1207 620 y Fv(.)0 810 y(Pr)-5 b(o)g(of:)37 b FE(\(of)22 b(Theorem)e(8.4\))j(The)d(pro)s(of)g(is)h(b)m (y)f(induction)f(on)i(the)g(structure)g(of)g(the)g(deriv)-5 b(ation)20 b FA(D)28 b FE(::)d(\000)g FA(`)3526 765 y Fy(r)3591 810 y Fx(C)32 b FA(\))25 b FE(\011.)0 922 y(The)35 b(conclusion)e(is)h(v)-5 b(acuously)35 b(true)f(if)g Fx(C)42 b FE(is)34 b(empt)m(y)-8 b(.)55 b(Also,)37 b(if)d(the)h(last)g (rule)f(in)f FA(D)38 b FE(is)c(the)h(reordering)f(rule,)0 1035 y(the)d(induction)d(h)m(yp)s(othesis)h(pro)m(v)m(es)i(the)g (conclusion)e(directly)-8 b(.)40 b(The)30 b(other)g(t)m(w)m(o)i(case)g (are)e(similar)e(so)j(w)m(e)g(only)0 1148 y(sho)m(w)f(here)g(the)h (case)g(when)f(the)g(last)h(rule)e(in)g FA(D)k FE(is)c(solving)g(a)i(t) m(yping)f(constrain)m(t.)0 1261 y FD(Case:)1022 1538 y FA(D)e FE(=)1510 1332 y FA(D)1580 1346 y Ft(1)1256 1476 y FE(\000)d FA(`)1354 1431 y Fy(r)1419 1476 y Fx(M)35 b FE(:)26 b Fx(A)f FA(\))g FE(\011)2407 1332 y FA(D)2477 1346 y Ft(2)2085 1476 y FE(\011\(\000\))h FA(`)2325 1431 y Fy(r)2390 1476 y FE(\011\()p Fx(C)7 b FE(\))25 b FA(\))g FE(\011)2815 1443 y Fw(0)p 1226 1517 1643 4 v 1595 1599 a FE(\000)g FA(`)1693 1550 y Fy(r)1758 1599 y Fx(C)q(;)15 b(M)36 b FE(:)26 b Fx(A)f FA(\))g FE(\011)2319 1562 y Fw(0)2362 1599 y FA(\016)c FE(\011)0 1743 y(W)-8 b(e)45 b(sho)m(w)f(the)h(conclusion)e(separately)h(for)g Fx(M)58 b FE(:)49 b Fx(A)44 b FE(and)g(then)g(for)g(all)f(the)h(other)h Fx(N)58 b FE(:)48 b Fx(A)3364 1710 y Fw(0)3432 1743 y FE(from)c Fx(C)7 b FE(.)81 b(If)0 1856 y Fx(M)55 b FE(:)46 b Fx(A)d FE(is)e(the)i(considered)e(constrain)m(t)i(in)e Fx(C)q(;)15 b(M)56 b FE(:)46 b Fx(A)c FE(then)g(the)h(conclusion)e (follo)m(ws)g(immediately)g(with)0 1968 y(\011)71 1982 y Ft(1)147 1968 y FE(=)36 b FA(\001)h FE(and)g(\011)571 1982 y Ft(2)646 1968 y FE(=)g(\011.)60 b(Otherwise)36 b(let)h Fx(N)47 b FE(:)36 b Fx(A)1734 1935 y Fw(0)1795 1968 y FE(b)s(e)g(a)i(t)m(yping)f(constrain)m(t)g(in)f Fx(C)7 b FE(.)60 b(Then)36 b(\011\()p Fx(N)10 b FE(\))37 b(:)g(\011\()p Fx(A)3743 1935 y Fw(0)3766 1968 y FE(\))h(is)0 2081 y(a)h(constrain)m(t)f(in)f(\011\()p Fx(C)7 b FE(\).)65 b(By)39 b(induction)d(h)m(yp)s(othesis)h(on)h FA(D)2159 2095 y Ft(2)2237 2081 y FE(w)m(e)h(get)h(that)f(there)f(exists)g(\011) 3314 2048 y Fw(0)3314 2106 y Ft(1)3392 2081 y FE(and)g(\011)3648 2048 y Fw(0)3648 2106 y Ft(2)3725 2081 y FE(suc)m(h)0 2194 y(that)k(\011)279 2161 y Fw(0)279 2219 y Ft(1)318 2194 y FE(\(\011\(\000\)\))j FA(`)647 2149 y Fy(r)731 2194 y FE(\011)802 2161 y Fw(0)802 2219 y Ft(1)841 2194 y FE(\(\011\()p Fx(N)10 b FE(\)\))45 b(:)g(\011)1321 2161 y Fw(0)1321 2219 y Ft(1)1360 2194 y FE(\(\011\()p Fx(A)1569 2161 y Fw(0)1593 2194 y FE(\)\))f FA(\))g FE(\011)1913 2161 y Fw(0)1913 2219 y Ft(2)1952 2194 y FE(.)75 b(This)40 b(pro)m(v)m(es)i(our)f(conclusion)g(with)f(the)i(required)0 2307 y(substitutions)28 b(\011)613 2321 y Ft(1)677 2307 y FE(=)d(\011)844 2274 y Fw(0)844 2332 y Ft(1)904 2307 y FA(\016)20 b FE(\011)30 b(and)g(\011)1318 2321 y Ft(2)1382 2307 y FE(=)25 b(\011)1549 2274 y Fw(0)1549 2332 y Ft(2)1589 2307 y FE(.)3596 2420 y Fd(2)141 2533 y FE(W)-8 b(e)31 b(con)m(tin)m(ue)e(no)m(w)h(with)e(a)h(theorem)h(ab)s(out)f(the)h (constrain)m(t)f(collection)g(judgmen)m(t.)40 b(Using)29 b(the)h(result)e(of)0 2646 y(the)f(previous)e(theorem)j(w)m(e)f(sho)m (w)g(that)g(all)f(the)h(t)m(yp)s(es)g(in)e(the)i(resulting)e(constrain) m(t)i(list)f(are)h(w)m(ell-formed)f(and)0 2759 y(of)31 b(kind)d Fk(Type)o FE(.)0 2949 y FD(Theorem)34 b(8.5)46 b Fv(If)36 b FE(\000)c FA(`)827 2904 y Fy(r)899 2949 y Fx(M)42 b FA(\))32 b FE(\(\001)g(;)g Fx(C)39 b FE(;)32 b Fx(B)5 b FE(\))37 b Fv(with)g FE(PF\(\000\))g Fv(and)g FE(PVF)q(\()p Fx(M)10 b FE(\))37 b Fv(and)g(for)g(al)5 b(l)37 b Fx(N)42 b FE(:)32 b Fx(A)3423 2916 y Fw(0)3483 2949 y Fv(in)k Fx(C)43 b Fv(ther)-5 b(e)0 3061 y(exist)33 b FE(\011)283 3075 y Ft(1)322 3061 y Fv(,)f FE(\011)453 3075 y Ft(2)525 3061 y Fv(and)i FE(\001)778 3028 y Fw(0)833 3061 y Fv(such)f(that)h FE(\011)1297 3075 y Ft(1)1336 3061 y FE(\(\000)p Fx(;)15 b FE(\001)p Fx(;)g FE(\001)1660 3028 y Fw(0)1684 3061 y FE(\))25 b FA(`)1760 3016 y Fy(r)1825 3061 y FE(\011)1896 3075 y Ft(1)1935 3061 y FE(\()p Fx(N)10 b FE(\))26 b(:)g(\011)2236 3075 y Ft(1)2275 3061 y FE(\()p Fx(A)2378 3028 y Fw(0)2402 3061 y FE(\))f FA(\))g FE(\011)2649 3075 y Ft(2)2721 3061 y Fv(then)136 3230 y FA(\017)46 b FE(\000)p Fx(;)15 b FE(\001)26 b FA(`)442 3185 y Fy(i)506 3230 y Fx(B)k FE(:)c Fk(Type)n Fv(,)33 b(and)136 3410 y FA(\017)46 b FE(PF\(\001\))p Fv(,)33 b(and)136 3590 y FA(\017)46 b FE(PF\()p Fx(B)5 b FE(\))p Fv(,)33 b(and)136 3770 y FA(\017)46 b Fv(F)-7 b(or)34 b(al)5 b(l)33 b Fx(N)i FE(:)26 b Fx(A)754 3737 y Fw(0)810 3770 y Fv(in)32 b Fx(C)39 b Fv(we)33 b(have)330 3950 y FD({)45 b FE(PF\()p Fx(A)651 3917 y Fw(0)675 3950 y FE(\))p Fv(,)33 b(and)330 4089 y FD({)45 b FE(PVF)q(\()p Fx(N)10 b FE(\))p Fv(,)33 b(and)330 4227 y FD({)45 b FE(\000)p Fx(;)15 b FE(\001)26 b FA(`)642 4182 y Fy(i)706 4227 y Fx(A)774 4194 y Fw(0)823 4227 y FE(:)g Fk(Type)n Fv(.)0 4417 y(Pr)-5 b(o)g(of:)41 b FE(\(of)30 b(Theorem)f(8.5\))i(The)d(pro)s(of)h(is)f(b)m(y)h (induction)e(on)i(the)h(structure)f(of)g(the)h(deriv)-5 b(ation)27 b FA(D)h FE(:)e(\000)f FA(`)3621 4372 y Fy(r)3686 4417 y Fx(M)35 b FA(\))0 4530 y FE(\(\001)28 b(;)g Fx(C)34 b FE(;)29 b Fx(B)5 b FE(\).)45 b(There)31 b(are)i(4)f(cases)h(dep)s (ending)c(on)j(the)g(last)g(rule)f(used)g(in)f FA(D)s FE(.)45 b(The)32 b(cases)h(for)e(constan)m(ts)j(and)0 4643 y(v)-5 b(ariables)36 b(follo)m(w)g(immediately)f(as)i(the)h(\001)e (and)h(the)g(list)f(of)h(constrain)m(ts)g(are)g(empt)m(y)h(and)e(b)s (ecause)h(PF\(\000\).)0 4756 y(The)30 b(only)f(in)m(teresting)h(cases)h (are)g(those)g(that)g(deal)f(with)f(application.)0 4869 y FD(Case:)435 5145 y FA(D)f FE(=)1260 4939 y FA(D)1330 4953 y Ft(1)763 5083 y FE(\000)d FA(`)861 5038 y Fy(r)926 5083 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))p 639 5124 1353 4 v 639 5203 a(\000)25 b FA(`)737 5154 y Fy(r)802 5203 y Fx(M)35 b FA(\003)26 b(\))f FE(\(\001)p Fx(;)15 b(u)26 b FE(:)f Fx(A)h FE(;)f Fx(C)32 b FE(;)26 b([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))2238 5145 y Fx(u)30 b FE(is)f(a)i(new)f(placeholder)f(v)-5 b(ariable)0 5340 y(W)d(e)32 b(can)e(immediately)f(apply)g(the)h(induction)f(h)m(yp)s (othesis)f(on)j FA(D)2296 5354 y Ft(1)2366 5340 y FE(and)e(obtain)h (that)1905 5589 y(37)p eop %%Page: 38 40 38 39 bop 111 91 a FE(1.)46 b(\000)p Fx(;)15 b FE(\001)26 b FA(`)442 46 y Fy(i)506 91 y FE(\005)p Fx(x)10 b FE(:)g Fx(A:B)31 b FE(:)26 b Fk(Type)o FE(,)k(and)111 278 y(2.)46 b(PF\(\001\),)32 b(and)111 465 y(3.)46 b(PF\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\),)32 b(and)111 652 y(4.)46 b(F)-8 b(or)31 b(all)f Fx(N)35 b FE(:)25 b Fx(A)743 619 y Fw(0)797 652 y FE(in)k Fx(C)37 b FE(w)m(e)31 b(ha)m(v)m(e)g(\000)p Fx(;)15 b FE(\001)26 b FA(`)1563 607 y Fy(i)1627 652 y Fx(A)1695 619 y Fw(0)1744 652 y FE(:)g Fk(Type)o FE(,)k(and)g(PF\()p Fx(A)p FE(\))h(and)f(PVF\()p Fx(N)10 b FE(\).)111 839 y(5.)46 b(Because)39 b Fx(u)e FE(is)f(new)h(w)m(e)h(can)f(transform)g (4)h(in)e(\000)p Fx(;)15 b FE(\001)p Fx(;)g(u)37 b FE(:)g Fx(A)g FA(`)2383 794 y Fy(i)2459 839 y Fx(A)2527 806 y Fw(0)2587 839 y FE(:)g Fk(Type)o FE(,)i(whic)m(h)d(pro)m(v)m(es)i (part)f(of)h(the)227 952 y(conclusion.)111 1139 y(6.)46 b(Similarly)-8 b(,)34 b(from)i(1)g(w)m(e)g(deduce)f(that)i(\000)p Fx(;)15 b FE(\001)p Fx(;)g(u)34 b FE(:)h Fx(A)f FA(`)2067 1094 y Fy(i)2141 1139 y FE([)p Fx(u=x)p FE(])p Fx(B)39 b FE(:)c Fk(Type)o FE(,)i(whic)m(h)e(is)f(another)i(part)g(of)g(the)227 1252 y(conclusion.)111 1439 y(7.)46 b(F)-8 b(rom)31 b(2)g(and)f(3)g(w)m (e)h(can)g(sho)m(w)f(that)h(PF\(\001)p Fx(;)15 b(u)26 b FE(:)g Fx(A)p FE(\))111 1626 y(8.)46 b(F)-8 b(rom)31 b(3)g(w)m(e)g(sho)m(w)f(that)h(PF\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\),)32 b(whic)m(h)d(concludes)h(the)g(pro)s(of)g(of)g(this) g(case.)0 1812 y FD(Case:)0 2178 y FA(D)e FE(=)732 1972 y FA(D)802 1986 y Ft(1)234 2116 y FE(\000)d FA(`)332 2071 y Fy(r)397 2116 y Fx(M)35 b FA(\))26 b FE(\(\001)f(;)g Fx(C)32 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fx(x)25 b FA(2)g FE(FV)r(\()p Fx(B)5 b FE(\))25 b FA(\033)g FE(\(PF)q(\()p Fx(N)10 b FE(\))25 b Fv(and)36 b FE(PVF\()p Fx(A)p FE(\))27 b Fv(and)35 b FE(PVF)q(\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\)\))p 204 2157 3687 4 v 1327 2236 a(\000)25 b FA(`)1425 2187 y Fy(r)1490 2236 y Fx(M)36 b(N)f FA(\))25 b FE(\(\001)g(;)h Fx(C)q(;)15 b(N)36 b FE(:)25 b Fx(A)h FE(;)f([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))0 2420 y(W)-8 b(e)32 b(can)e(immediately)f(apply) g(the)h(induction)f(h)m(yp)s(othesis)f(on)j FA(D)2296 2434 y Ft(1)2366 2420 y FE(and)e(infer)g(that:)111 2606 y(1.)46 b(\000)p Fx(;)15 b FE(\001)26 b FA(`)442 2561 y Fy(i)506 2606 y FE(\005)p Fx(x)10 b FE(:)g Fx(A:B)31 b FE(:)26 b Fk(Type)o FE(,)k(and)111 2793 y(2.)46 b(PF\(\001\))31 b(\(part)g(of)f(the)h(conclusion\),)e(and)111 2980 y(3.)46 b(PF\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\),)32 b(and)111 3167 y(4.)46 b(F)-8 b(or)45 b(all)f Fx(N)628 3134 y Fw(0)699 3167 y FE(:)49 b Fx(A)841 3134 y Fw(0)909 3167 y FE(in)43 b Fx(C)50 b FE(w)m(e)45 b(ha)m(v)m(e)h(\000)p Fx(;)15 b FE(\001)48 b FA(`)1753 3122 y Fy(i)1841 3167 y Fx(A)1909 3134 y Fw(0)1981 3167 y FE(:)h Fk(Type)43 b FE(and)h(PF\()p Fx(A)2705 3134 y Fw(0)2729 3167 y FE(\))g(and)g(PVF)q(\()p Fx(N)3307 3134 y Fw(0)3330 3167 y FE(\))h(\(part)f(of)h(the)227 3280 y(conclusion\).)111 3467 y(5.)h(F)-8 b(rom)27 b(3)g(w)m(e)g(can)g (deduce)f(that)h(PF)q(\([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))28 b(\(part)e(of)h(the)g(conclusion\).)38 b(Note)28 b(that)f(w)m(e)g(ha)m(v)m(e)h(used)e(the)227 3579 y(fact)32 b(that)f(if)e Fx(x)c FA(2)g FE(FV)r(\()p Fx(B)5 b FE(\))30 b(then)g(PF)q(\()p Fx(N)10 b FE(\).)111 3766 y(6.)46 b(The)39 b(only)f(part)g(of)h(the)g(conclusion)f(that)h(remains)f(to)h (b)s(e)f(pro)m(v)m(ed)i(is)d(that)j(\000)p Fx(;)15 b FE(\001)39 b FA(`)3204 3721 y Fy(i)3283 3766 y FE([)p Fx(N)r(=x)p FE(])p Fx(B)45 b FE(:)40 b Fk(Type)o FE(.)227 3879 y(If)j Fx(x)k FA(62)f FE(FV)r(\()p Fx(B)5 b FE(\))43 b(then)g(this)f(follo)m(ws)g(immediately)g(from)h(1.)79 b(Otherwise)42 b(is)g(su\016ces)h(to)h(pro)m(v)m(e)g(that)227 3992 y(\000)25 b FA(`)325 3947 y Fy(i)390 3992 y Fx(N)35 b FE(:)26 b Fx(A)p FE(.)111 4179 y(7.)46 b(By)40 b(h)m(yp)s(othesis)e (w)m(e)i(ha)m(v)m(e)h(that)f(there)f(exist)h(\011)1941 4193 y Ft(1)1980 4179 y FE(,)i(\011)2118 4193 y Ft(2)2196 4179 y FE(and)d(\001)2458 4146 y Fw(0)2521 4179 y FE(suc)m(h)g(that)h (\011)3012 4193 y Ft(1)3051 4179 y FE(\(\000)p Fx(;)15 b FE(\001)p Fx(;)g FE(\001)3375 4146 y Fw(0)3399 4179 y FE(\))41 b FA(`)3491 4134 y Fy(r)3571 4179 y FE(\011)3642 4193 y Ft(1)3681 4179 y FE(\()p Fx(N)10 b FE(\))41 b(:)227 4292 y(\011)298 4306 y Ft(1)337 4292 y FE(\()p Fx(A)p FE(\))27 b FA(\))e FE(\011)689 4306 y Ft(2)728 4292 y FE(.)111 4479 y(8.)46 b(But)31 b(PVF\()p Fx(A)p FE(\))g(therefore)g(w)m (e)g(get)h(\011)1505 4493 y Ft(1)1544 4479 y FE(\()p Fx(A)p FE(\))26 b(=)f Fx(A)p FE(.)111 4666 y(9.)46 b(Because)32 b(PVF\()p Fx(M)k(N)10 b FE(\))31 b(\(h)m(yp)s(othesis\))e(w)m(e)i(kno)m (w)g(that)g(PVF\()p Fx(N)10 b FE(\).)66 4853 y(10.)46 b(F)-8 b(rom)31 b(9)g(w)m(e)g(conclude)e(that)i(\011)1317 4867 y Ft(1)1357 4853 y FE(\()p Fx(N)10 b FE(\))26 b(=)e Fx(N)10 b FE(.)66 5040 y(11.)46 b(With)30 b(8)h(and)f(10)h(w)m(e)g (transform)e(7)i(to)g(\011)1645 5054 y Ft(1)1684 5040 y FE(\(\000)p Fx(;)15 b FE(\001)p Fx(;)g FE(\001)2008 5007 y Fw(0)2032 5040 y FE(\))26 b FA(`)2109 4995 y Fy(r)2174 5040 y Fx(N)35 b FE(:)25 b Fx(A)h FA(\))f FE(\011)2613 5054 y Ft(2)66 5227 y FE(12.)46 b(But)41 b(b)s(ecause)g(PVF\()p Fx(N)10 b FE(\))41 b(then)g(none)f(of)h(the)g(placeholder)e(v)-5 b(ariables)40 b(from)g(\001)g(and)g(\001)3356 5194 y Fw(0)3420 5227 y FE(o)s(ccur)g(in)g Fx(N)10 b FE(.)227 5340 y(Therefore)30 b(w)m(e)h(can)g(transform)f(11)h(to)g(\011)1661 5354 y Ft(1)1700 5340 y FE(\(\000\))26 b FA(`)1869 5295 y Fy(r)1934 5340 y Fx(N)35 b FE(:)25 b Fx(A)h FA(\))f FE(\011)2373 5354 y Ft(2)2412 5340 y FE(.)1905 5589 y(38)p eop %%Page: 39 41 39 40 bop 66 91 a FE(13.)46 b(W)-8 b(e)32 b(kno)m(w)e(that)h(PVF)q (\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\))32 b(therefore)e(w)m(e)h(can)g (transform)f(12)h(to)g(\000)25 b FA(`)2949 46 y Fy(r)3014 91 y Fx(N)35 b FE(:)25 b Fx(A)h FA(\))f FE(\011)3453 105 y Ft(2)3492 91 y FE(.)66 279 y(14.)46 b(With)37 b(3)h(w)m(e)g (apply)e(Theorem)h(8.8)h(on)g(13)g(and)f(deduce)g(that)h(\000)e FA(`)2563 234 y Fy(i)2640 279 y Fx(N)47 b FE(:)37 b Fx(A)p FE(.)62 b(As)37 b(motiv)-5 b(ated)38 b(at)g(6)g(this)227 392 y(concludes)30 b(the)g(pro)s(of)g(of)h(this)e(case.)3596 579 y Fd(2)141 692 y FE(W)-8 b(e)32 b(con)m(tin)m(ue)e(with)f(a)i (theorem)f(that)h(sho)m(wn)f(that)h(the)f(constrain)m(t)h(solving)e (judgmen)m(t,)h(when)f(presen)m(ted)0 805 y(with)f(constrain)m(ts)i (whose)g(t)m(yp)s(es)f(are)i(w)m(ell-formed,)d(pro)s(duces)h(a)h(w)m (ell-t)m(yp)s(ed)f(substitution)e(that)k(satis\014es)e(the)0 918 y(constrain)m(ts.)0 1131 y FD(Theorem)34 b(8.6)46 b Fv(If)32 b FE(\000)26 b FA(`)817 1086 y Fy(r)881 1131 y Fx(C)32 b FA(\))25 b FE(\011)32 b Fv(with)136 1318 y FA(\017)46 b FE(PF\(\000\))p Fv(,)33 b(and)136 1506 y FA(\017)46 b Fv(F)-7 b(or)34 b Fx(A)25 b FA(\031)561 1520 y Fz(a)628 1506 y Fx(B)37 b Fv(in)c Fx(C)39 b Fv(we)32 b(have)h FE(PF)q(\()p Fx(A)p FE(\))p Fv(,)g FE(PF\()p Fx(B)5 b FE(\))33 b Fv(and)g FE(\000)25 b FA(`)2186 1461 y Fy(i)2251 1506 y Fx(A)h FE(:)f Fk(Type)32 b Fv(and)h FE(\000)25 b FA(`)2893 1461 y Fy(i)2958 1506 y Fx(B)30 b FE(:)25 b Fk(Type)o Fv(,)33 b(and)136 1694 y FA(\017)46 b Fv(F)-7 b(or)34 b(al)5 b(l)33 b Fx(N)i FE(:)26 b Fx(A)754 1661 y Fw(0)810 1694 y Fv(in)32 b Fx(C)39 b Fv(we)33 b(have)g FE(PVF)q(\()p Fx(N)10 b FE(\))33 b Fv(and)g FE(PF\()p Fx(A)2145 1661 y Fw(0)2169 1694 y FE(\))g Fv(and)h FE(\000)25 b FA(`)2512 1649 y Fy(i)2577 1694 y Fx(A)2645 1661 y Fw(0)2693 1694 y FE(:)h Fk(Type)o Fv(,)32 b(and)0 1881 y(then)h(the)g(fol)5 b(lowing)34 b(ar)-5 b(e)33 b(true:)136 2069 y FA(\017)46 b FE(\000)25 b FA(`)g FE(\011)p Fv(,)32 b(and)136 2257 y FA(\017)46 b FE(PF\(\011\))p Fv(,)33 b(and)136 2444 y FA(\017)46 b Fv(F)-7 b(or)34 b Fx(A)25 b FA(\031)561 2458 y Fz(a)628 2444 y Fx(B)37 b Fv(in)c Fx(C)39 b Fv(we)32 b(have)h FE(\011\()p Fx(A)p FE(\))26 b FA(\021)1599 2458 y Fy(\014)1666 2444 y FE(\011\()p Fx(B)5 b FE(\))p Fv(,)32 b(and)136 2632 y FA(\017)46 b Fv(F)-7 b(or)34 b(al)5 b(l)33 b Fx(N)i FE(:)26 b Fx(A)754 2599 y Fw(0)810 2632 y Fv(in)32 b Fx(C)39 b Fv(we)33 b(have)g FE(\011\(\000\))26 b FA(`)1609 2587 y Fy(i)1673 2632 y Fx(N)36 b FE(:)25 b(\011\()p Fx(A)2006 2599 y Fw(0)2030 2632 y FE(\))0 2844 y Fv(Pr)-5 b(o)g(of:)63 b FE(\(of)42 b(Theorem)e(8.6\))j(The)d(pro)s(of)h(is)f(b)m(y)g (induction)f(on)i(the)g(structure)g(of)g(the)g(deriv)-5 b(ation)40 b FA(D)45 b FE(:)f(\000)e FA(`)3860 2799 y Fy(r)0 2957 y Fx(C)q(;)15 b(A)26 b FA(\031)271 2971 y Fz(a)338 2957 y Fx(B)k FA(\))25 b FE(\011.)0 3070 y(The)j(case)i(when)e (the)h(last)g(rule)e(in)h FA(D)j FE(is)d(the)h(reordering)e(rule)h(p)s (oses)g(no)h(problems.)38 b(Similarly)25 b(the)k(case)h(of)f(an)0 3183 y(empt)m(y)j(constrain)m(t)g(list)e(is)h(trivial.)43 b(W)-8 b(e)32 b(sho)m(w)g(next)g(the)g(case)g(when)f(the)h(last)f(rule) g(in)f FA(D)k FE(is)d(solving)f(a)i(t)m(yping)0 3296 y(constrain)m(t.)0 3409 y FD(Case:)1022 3685 y FA(D)c FE(=)1510 3479 y FA(D)1580 3493 y Ft(1)1256 3624 y FE(\000)d FA(`)1354 3579 y Fy(r)1419 3624 y Fx(M)35 b FE(:)26 b Fx(A)f FA(\))g FE(\011)2407 3479 y FA(D)2477 3493 y Ft(2)2085 3624 y FE(\011\(\000\))h FA(`)2325 3579 y Fy(r)2390 3624 y FE(\011\()p Fx(C)7 b FE(\))25 b FA(\))g FE(\011)2815 3591 y Fw(0)p 1226 3664 1643 4 v 1595 3747 a FE(\000)g FA(`)1693 3698 y Fy(r)1758 3747 y Fx(C)q(;)15 b(M)36 b FE(:)26 b Fx(A)f FA(\))g FE(\011)2319 3710 y Fw(0)2362 3747 y FA(\016)c FE(\011)0 3910 y(Because)31 b(PF\(\000\),)f(PF\()p Fx(A)p FE(\))g(and)f(PVF\()p Fx(M)10 b FE(\))31 b(and)d(\000)d FA(`)1776 3865 y Fy(i)1841 3910 y Fx(A)h FE(:)f Fk(Type)j FE(w)m(e)i(can)f(apply)f(Theorem)h(8.1)i(on)e FA(D)3476 3924 y Ft(1)3545 3910 y FE(and)f(infer)0 4022 y(that)j(\000)25 b FA(`)g FE(\011,)30 b(PF\(\011\))h(and)f(\011\(\000\))25 b FA(`)1195 3978 y Fy(i)1260 4022 y Fx(M)35 b FE(:)26 b(\011\()p Fx(A)p FE(\).)0 4135 y(Because)44 b(the)f(substitution)d (\011)i(is)g(without)f(placeholders)g(and)h(is)g(w)m(ell-t)m(yp)s(ed,)j (the)d(constrain)m(t)h(list)e(\011\()p Fx(C)7 b FE(\))0 4248 y(satis\014es)37 b(all)f(the)h(conditions)f(for)h(applying)e(the)i (induction)e(h)m(yp)s(othesis)h(on)h FA(D)2836 4262 y Ft(2)2912 4248 y FE(with)f(resp)s(ect)h(to)h(the)g(t)m(yp)s(e)0 4361 y(en)m(vironmen)m(t)31 b(\011\(\000\).)46 b(W)-8 b(e)32 b(deduce)g(from)f(the)h(induction)e(h)m(yp)s(othesis)g(that)i (\011\(\000\))c FA(`)f FE(\011)3062 4328 y Fw(0)3117 4361 y FE(and)k(PF)q(\(\011)3523 4328 y Fw(0)3546 4361 y FE(\))h(and)f(for)0 4474 y(all)d Fx(N)36 b FE(:)25 b Fx(A)352 4441 y Fw(0)405 4474 y FE(in)j Fx(C)36 b FE(that)31 b(\011)879 4441 y Fw(0)920 4474 y FA(\016)19 b FE(\011\(\000\))26 b FA(`)1224 4429 y Fy(i)1288 4474 y Fx(N)36 b FE(:)25 b(\011)1518 4441 y Fw(0)1560 4474 y FA(\016)19 b FE(\011.)40 b(No)m(w)30 b(w)m(e)g(only)f(need)g(to)h(use)g(Lemma)f(8.19)j(to)e (conclude)f(the)0 4587 y(pro)s(of)h(of)g(this)f(case.)0 4700 y(The)24 b(case)i(when)d(a)j(uni\014cation)c(constrain)m(t)j(is)f (solv)m(ed)g(is)g(v)m(ery)h(similar)d(with)h(the)i(di\013erence)f(that) h(Theorem)g(8.2)0 4813 y(is)k(in)m(v)m(ok)m(ed)i(to)g(sho)m(w)g(that)g (the)f(uni\014cation)f(returns)g(a)i(w)m(ell-t)m(yp)s(ed)e (substitution.)3596 4926 y Fd(2)141 5039 y FE(The)i(last)h(theorem)g (in)e(the)i(correctness)h(pro)s(of)e(of)h(the)g(reconstruction)f (algorithm)g(sho)m(ws)g(wh)m(y)g(the)h(exis-)0 5152 y(tence)f(of)g(a)f (w)m(ell-t)m(yp)s(ed)g(substitution)d(de\014ned)i(on)i(all)e(lo)s (cally)f(in)m(tro)s(duced)h(placeholder)g(v)-5 b(ariables)29 b(is)g(enough)0 5265 y(to)i(guaran)m(tee)h(the)f(w)m(ell-t)m(yp)s (edness)e(of)h(the)h(original)d(term.)1905 5589 y(39)p eop %%Page: 40 42 40 41 bop 0 91 a FD(Theorem)34 b(8.7)46 b Fv(If)32 b FE(\000)26 b FA(`)817 46 y Fy(r)881 91 y Fx(M)36 b FA(\))25 b FE(\(\001)g(;)h Fx(C)31 b FE(;)26 b Fx(B)5 b FE(\))32 b Fv(and)136 279 y FA(\017)46 b FE(\000)p Fx(;)15 b FE(\001)26 b FA(`)e FE(\011)p Fv(,)32 b(and)136 467 y FA(\017)46 b FE(PF\(\011\))p Fv(,)33 b(and)136 654 y FA(\017)46 b Fv(Dom)8 b FE(\(\001\))25 b FA(\022)g Fv(Dom)8 b FE(\(\011\))p Fv(,)33 b(and)136 842 y FA(\017)46 b Fv(F)-7 b(or)34 b(al)5 b(l)33 b Fx(N)i FE(:)26 b Fx(A)754 809 y Fw(0)810 842 y Fv(in)32 b Fx(C)39 b Fv(we)33 b(have)g FE(PVF)q(\()p Fx(N)10 b FE(\))33 b Fv(and)g FE(\011\(\000\))26 b FA(`)2161 797 y Fy(i)2226 842 y Fx(N)35 b FE(:)25 b(\011\()p Fx(A)2558 809 y Fw(0)2582 842 y FE(\))141 1029 y Fv(then)33 b FE(\011\(\000\))26 b FA(`)583 984 y Fy(i)648 1029 y Fx(M)35 b FE(:)25 b(\011\()p Fx(B)5 b FE(\))p Fv(.)0 1242 y(Pr)-5 b(o)g(of:)40 b FE(\(of)28 b(Theorem)g(8.7\))h(The)e(pro)s(of)f(is)h(b)m(y)g(induction)f(on)h(the) h(structure)f(of)g(the)h(deriv)-5 b(ation)26 b FA(D)i FE(::)e(\000)f FA(`)3621 1197 y Fy(r)3686 1242 y Fx(M)35 b FA(\))0 1355 y FE(\(\001)g(;)g Fx(C)41 b FE(;)35 b Fx(B)5 b FE(\).)58 b(The)35 b(cases)i(of)g(a)f(constan)m(t)h(or)f(a)h (v)-5 b(ariable)35 b(follo)m(w)g(immediately)f(from)i(the)g(h)m(yp)s (othesis.)57 b(W)-8 b(e)0 1468 y(consider)29 b(next)i(the)f(cases)i(of) e(application)f(to)i(explicit)e(terms)h(and)g(to)h(placeholders)e (next.)0 1581 y FD(Case:)0 1948 y FA(D)f FE(=)732 1742 y FA(D)802 1756 y Ft(1)234 1887 y FE(\000)d FA(`)332 1842 y Fy(r)397 1887 y Fx(M)35 b FA(\))26 b FE(\(\001)f(;)g Fx(C)32 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fx(x)25 b FA(2)g FE(FV)r(\()p Fx(B)5 b FE(\))25 b FA(\033)g FE(\(PF)q(\()p Fx(N)10 b FE(\))25 b Fv(and)36 b FE(PVF\()p Fx(A)p FE(\))27 b Fv(and)35 b FE(PVF)q(\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\)\))p 204 1928 3687 4 v 1327 2007 a(\000)25 b FA(`)1425 1957 y Fy(r)1490 2007 y Fx(M)36 b(N)f FA(\))25 b FE(\(\001)g(;)h Fx(C)q(;)15 b(N)36 b FE(:)25 b Fx(A)h FE(;)f([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))0 2207 y(W)-8 b(e)25 b(can)f(immediately)e(apply) g(the)i(induction)e(h)m(yp)s(othesis)g(on)h FA(D)2242 2221 y Ft(1)2306 2207 y FE(and)g(w)m(e)h(conclude)f(that)h (\011\(\000\))i FA(`)3400 2162 y Fy(i)3465 2207 y Fx(M)35 b FE(:)25 b(\011\(\005)p Fx(x)10 b FE(:)0 2320 y Fx(A:B)5 b FE(\).)58 b(F)-8 b(rom)36 b(the)g(h)m(yp)s(othesis)e(w)m(e)j(ha)m(v)m (e)g(that)f(PVF)q(\()p Fx(N)10 b FE(\))36 b(and)g(\011\(\000\))e FA(`)2511 2275 y Fy(i)2585 2320 y Fx(N)45 b FE(:)34 b(\011\()p Fx(A)p FE(\).)58 b(F)-8 b(rom)37 b(the)f(application)0 2433 y(rule)29 b(in)g(LF)404 2447 y Fz(i)432 2433 y FE(,)i(and)e(b)s (ecause)i(PVF\()p Fx(N)10 b FE(\))31 b(w)m(e)f(deduce)g(that)h (\011\(\000\))26 b FA(`)2247 2388 y Fy(i)2311 2433 y Fx(M)36 b(N)f FE(:)26 b(\011\([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\).)41 b(Note)32 b(that)f(the)f(newly)0 2545 y(in)m(tro)s(duced)f(t)m(yp)s(e)h([)p Fx(N)r(=x)p FE(])p Fx(B)36 b FE(is)30 b(without)f(placeholders)g(b)s(ecause)i(if)e Fx(x)h FE(o)s(ccurs)g(in)f Fx(B)35 b FE(then)30 b(PF\()p Fx(N)10 b FE(\).)0 2658 y FD(Case:)435 2935 y FA(D)28 b FE(=)1260 2729 y FA(D)1330 2743 y Ft(1)763 2873 y FE(\000)d FA(`)861 2828 y Fy(r)926 2873 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))p 639 2914 1353 4 v 639 2993 a(\000)25 b FA(`)737 2943 y Fy(r)802 2993 y Fx(M)35 b FA(\003)26 b(\))f FE(\(\001)p Fx(;)15 b(u)26 b FE(:)f Fx(A)h FE(;)f Fx(C)32 b FE(;)26 b([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))2238 2935 y Fx(u)30 b FE(is)f(a)i(new)f(placeholder)f(v) -5 b(ariable)0 3148 y(Let)31 b(\011)234 3115 y Fw(0)282 3148 y FE(=)25 b(\011)p FA(j)474 3162 y Ft(\000)p Fz(;)p Ft(\001)611 3148 y FE(.)40 b(W)-8 b(e)32 b(follo)m(w)d(a)i(sequence)g (of)g(deductions)e(as)h(follo)m(ws:)111 3335 y(1.)46 b(F)-8 b(rom)31 b(\000)p Fx(;)15 b FE(\001)p Fx(;)g(u)26 b FE(:)f Fx(A)h FA(`)f FE(\011)30 b(\(h)m(yp)s(othesis\))f(and)h Fv(Dom)7 b FE(\(\001)p Fx(;)15 b(u)26 b FE(:)g Fx(A)p FE(\))g FA(\022)f Fv(Dom)7 b FE(\(\011\))31 b(\(h)m(yp)s(othesis\))e(w) m(e)i(deduce:)111 3523 y(2.)46 b(\011\(\000)p Fx(;)15 b FE(\001)p Fx(;)g(u)26 b FE(:)g Fx(A)p FE(\))f FA(`)819 3478 y Fy(i)884 3523 y FE(\011\()p Fx(u)p FE(\))h(:)f(\011\()p Fx(A)p FE(\),)31 b(and)111 3711 y(3.)46 b Fv(Dom)8 b FE(\(\001\))25 b FA(\022)g Fv(Dom)8 b FE(\(\011)994 3678 y Fw(0)1017 3711 y FE(\).)111 3898 y(4.)46 b(Because)32 b Fv(Dom)7 b FE(\(\001)p Fx(;)15 b(u)26 b FE(:)g Fx(A)p FE(\))g FA(\022)e Fv(Dom)8 b FE(\(\011\))31 b(w)m(e)f(ha)m(v)m(e)i (that)f(\011\(\000)p Fx(;)15 b FE(\001)p Fx(;)g(u)26 b FE(:)f Fx(A)p FE(\))h(=)f(\011\(\000\).)111 4086 y(5.)46 b(F)-8 b(rom)31 b(2)g(and)f(4)g(w)m(e)h(infer)e(that)i(\011\(\000\))26 b FA(`)1575 4041 y Fy(i)1639 4086 y FE(\011\()p Fx(u)p FE(\))g(:)g(\011\()p Fx(A)p FE(\).)111 4274 y(6.)46 b(F)-8 b(rom)32 b(Lemma)f(8.20)i(and)e(1)g(w)m(e)h(ha)m(v)m(e)g(that)g(\000)p Fx(;)15 b FE(\001)27 b FA(`)f FE(\011)2135 4241 y Fw(0)2158 4274 y FE(.)43 b(Also)31 b(b)s(ecause)g Fx(u)g FE(is)f(new)h(it)g (cannot)h(app)s(ear)e(in)227 4386 y Fx(C)43 b FE(or)35 b(in)g(\000.)57 b(Therefore)35 b(w)m(e)i(can)f(deduce)f(that)i(for)f (all)e Fx(N)45 b FE(:)34 b Fx(A)2463 4353 y Fw(0)2523 4386 y FE(in)g Fx(C)42 b FE(w)m(e)37 b(ha)m(v)m(e)g(\011)3167 4353 y Fw(0)3190 4386 y FE(\(\000\))e FA(`)3368 4341 y Fy(i)3442 4386 y Fx(N)44 b FE(:)35 b(\011)3690 4353 y Fw(0)3713 4386 y FE(\()p Fx(A)3816 4353 y Fw(0)3839 4386 y FE(\).)227 4499 y(Th)m(us)30 b(w)m(e)g(can)h(apply)e(the)i (induction)d(h)m(yp)s(othesis)h(on)h FA(D)2213 4513 y Ft(1)2283 4499 y FE(and)g(conclude)f(that)111 4687 y(7.)46 b(\011)298 4654 y Fw(0)321 4687 y FE(\(\000\))26 b FA(`)490 4642 y Fy(i)555 4687 y Fx(M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g(\011)965 4654 y Fw(0)988 4687 y FE(\()p Fx(A)p FE(\))p Fx(:)p FE(\011)1222 4654 y Fw(0)1246 4687 y FE(\()p Fx(B)5 b FE(\).)111 4875 y(8.)46 b(Again,)28 b(b)s(ecause)f Fx(u)g FE(is)f(new)h(it)g(cannot)g(app)s(ear)g(in)f(\000,)i Fx(M)10 b FE(,)28 b Fx(A)f FE(or)g Fx(B)5 b FE(.)39 b(Therefore,)28 b(from)e(7)i(w)m(e)g(deduce)e(that)227 4988 y(\011\(\000\))g FA(`)467 4943 y Fy(i)532 4988 y Fx(M)35 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g(\011\()p Fx(A)p FE(\))p Fx(:)p FE(\011\()p Fx(B)5 b FE(\).)111 5175 y(9.)46 b(Recall)25 b(that)h(w)m(e)f(assume)g (that)h(all)e(t)m(yp)s(es)h(in)m(v)m(olv)m(ed)f(are)i(without)e (placeholders.)37 b(Th)m(us,)26 b(PF\(\011)3531 5142 y Fw(0)3554 5175 y FE(\()p Fx(A)p FE(\)\))h(and)227 5288 y(therefore)k(PF\(\011\()p Fx(A)p FE(\)\).)1905 5589 y(40)p eop %%Page: 41 43 41 42 bop 66 91 a FE(10.)46 b(No)m(w)29 b(w)m(e)g(can)f(use)g(the)h (implicit)c(application)h(rule)h(of)i(LF)2234 105 y Fz(i)2290 91 y FE(with)e(5,)i(8)g(and)f(9)g(and)g(with)f(the)h(placeholder)227 204 y(replacemen)m(t)j(b)s(eing)e(\011\()p Fx(u)p FE(\).)41 b(The)30 b(resulting)f(t)m(yp)s(e)h(is)f([\011\()p Fx(u)p FE(\))p Fx(=x)p FE(]\011\()p Fx(B)5 b FE(\))27 b(=)e(\011\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\).)66 390 y(11.)46 b(This)23 b(case)j(is)e(not)h(complete)g(un)m(til)f(w)m(e)h(v)m(erify)f(that)i (the)f(newly)e(in)m(tro)s(duced)g(t)m(yp)s(e)i(\011\([)p Fx(u=x)p FE(])p Fx(B)5 b FE(\))26 b(is)e(without)227 503 y(placeholders.)40 b(This)28 b(follo)m(ws)i(immediately)e(from)i (the)h(PF\(\011\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\)\))32 b(and)e(PF\(\011\).)0 686 y(Note)i(that)g(this)d(is)h(the)h(place)g (where)f(w)m(e)i(require)d(the)i(prop)s(ert)m(y)g(that)g(\011)f(b)s(e)h (w)m(ell-t)m(yp)s(ed)f(and)g(de\014ned)f(for)i(all)0 799 y(v)-5 b(ariables)29 b(in)g(\001.)3596 912 y Fd(2)141 1025 y FE(This)35 b(concludes)g(the)i(sk)m(eleton)g(of)f(the)h (correctness)g(pro)s(of)f(for)g(the)g(reconstruction)g(algorithm.)58 b(In)36 b(the)0 1138 y(rest)h(of)h(this)e(section)h(w)m(e)h(ha)m(v)m(e) g(the)f(pro)s(ofs)g(of)g(the)g(help)s(er)f(lemmas)g(used)g(in)g(the)i (correctness)g(pro)s(ofs.)60 b(W)-8 b(e)0 1250 y(start)34 b(\014rst)f(with)f(a)i(family)e(of)i(theorems)g(mirroring)d(the)i (correctness)i(pro)s(of)d(but)h(in)f(the)i(sp)s(ecial)e(case)j(when)0 1363 y(the)c(terms)f(in)m(v)m(olv)m(ed)g(are)h(fully-reconstructed.)0 1606 y Fs(8.5)112 b(Correctness)38 b(in)e(the)i(F)-9 b(ully-Explicit)33 b(Case)0 1778 y FE(As)j(part)f(of)h(the)g (correctness)h(of)f(the)g(reconstruction)f(algorithm)g(w)m(e)h(mak)m(e) h(use)e(of)h(the)g(correctness)h(of)f(the)0 1890 y(algorithm)h(in)f (the)i(case)g(when)f(b)s(oth)g(the)g(LF)h(term)g(and)f(t)m(yp)s(e)g(in) m(v)m(olv)m(ed)h(do)f(not)h(con)m(tain)g(placeholders)e(or)0 2003 y(placeholder)31 b(v)-5 b(ariables.)44 b(The)31 b(correctness)i(pro)s(of)e(in)g(the)h(fully-explicit)c(form)k(follo)m (ws)f(the)h(same)h(pattern)f(as)0 2116 y(the)f(pro)s(of)f(in)f(the)i (general)g(case,)h(with)e(some)h(simpli\014cations.)38 b(W)-8 b(e)32 b(do)f(not)g(sho)m(w)g(here)f(a)i(complete)f(pro)s(of)f (of)0 2229 y(this)f(case.)42 b(W)-8 b(e)32 b(just)d(state)j(the)f (lemmas)e(in)m(v)m(olv)m(ed.)0 2436 y FD(Theorem)34 b(8.8)46 b Fv(If)55 b FE(\000)66 b FA(`)880 2391 y Fy(r)986 2436 y Fx(M)77 b FE(:)67 b Fx(A)f FA(\))h FE(\011)55 b Fv(and)h FE(PF\(\000\))p Fv(,)62 b FE(PF\()p Fx(M)10 b FE(\))p Fv(,)61 b FE(PF)q(\()p Fx(A)p FE(\))p Fv(,)g FE(PVF)q(\()p Fx(M)10 b FE(\))p Fv(,)61 b FE(PVF)q(\()p Fx(A)p FE(\))56 b Fv(and)0 2549 y FE(PVF\(\000\(FV)s(\()p Fx(M)10 b FE(\)\)\))34 b Fv(then)f FE(\011)25 b(=)g FA(\001)33 b Fv(and)g FE(\000)25 b FA(`)1444 2504 y Fy(i)1509 2549 y Fx(M)35 b FE(:)26 b Fx(A)p Fv(.)0 2756 y(Pr)-5 b(o)g(of:)59 b FE(The)39 b(pro)s(of)f(of)h(this)f(theorem)h(is)f(done)h(similarly)d(to)k(that)f (of)g(Theorem)g(8.1)h(b)m(y)f(induction)e(on)i(the)0 2869 y(deriv)-5 b(ation)32 b FA(D)g FE(:)e(\000)g FA(`)690 2824 y Fy(r)759 2869 y Fx(M)40 b FE(:)30 b Fx(A)g FA(\))g FE(\011.)48 b(The)33 b(abstraction)g(case)h(is)e(simple.)47 b(F)-8 b(or)34 b(the)f(application)e(case)k(w)m(e)e(need)0 2982 y(a)i(series)g(of)g(auxiliary)e(lemmas)h(ab)s(out)h(the)g (constrain)m(t)g(collection)g(and)f(solving)g(judgmen)m(ts)h(in)e(the)j (case)g(of)0 3095 y(fully-explicit)27 b(terms)j(and)g(t)m(yp)s(es.)41 b(These)30 b(lemmas)g(are)g(stated)i(without)d(pro)s(of)h(b)s(elo)m(w.) 3596 3208 y Fd(2)0 3415 y FD(Lemma)j(8.9)46 b Fv(If)32 b FE(\000)25 b FA(`)743 3370 y Fy(r)808 3415 y Fx(M)35 b FA(\))26 b FE(\(\001)f(;)g Fx(C)32 b FE(;)26 b Fx(B)5 b FE(\))32 b Fv(and)i FE(PF\(\000\))p Fv(,)f FE(PF\()p Fx(M)10 b FE(\))p Fv(,)33 b FE(PVF)q(\()p Fx(M)10 b FE(\))33 b Fv(and)h FE(PVF\(\000\(FV)r(\()p Fx(M)10 b FE(\)\)\))34 b Fv(then)136 3598 y FA(\017)46 b FE(\001)25 b(=)g FA(\001)p Fv(,)33 b(and)136 3784 y FA(\017)46 b FE(PF\()p Fx(B)5 b FE(\))33 b Fv(and)h FE(PVF\()p Fx(B)5 b FE(\))p Fv(,)33 b(and)136 3969 y FA(\017)46 b Fv(F)-7 b(or)68 b(al)5 b(l)67 b Fx(N)98 b FE(:)87 b Fx(A)946 3936 y Fw(0)1036 3969 y Fv(in)67 b Fx(C)73 b Fv(we)67 b(have)g(that)i FE(PF\()p Fx(N)10 b FE(\))p Fv(,)76 b FE(PVF\()p Fx(N)10 b FE(\))p Fv(,)76 b FE(PF\()p Fx(A)3001 3936 y Fw(0)3025 3969 y FE(\))67 b Fv(and)h FE(PVF\()p Fx(A)3630 3936 y Fw(0)3654 3969 y FE(\))f Fv(and)227 4082 y FE(PVF)q(\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\))p Fv(.)141 4289 y FE(The)29 b(in)m(tuition)e(b)s (ehind)f(Lemma)j(8.9)h(is)f(that)g(b)s(ecause)g Fx(M)40 b FE(do)s(es)28 b(not)i(ha)m(v)m(e)g(placeholders,)e(no)h(placeholder)0 4402 y(v)-5 b(ariables)34 b(are)h(in)m(tro)s(duced,)g(hence)g(\001)e(=) f FA(\001)p FE(.)55 b(Also)35 b(the)g(terms)g(in)f Fx(C)41 b FE(are)35 b(subterms)f(of)h Fx(M)45 b FE(and)35 b(therefore)g(do)0 4515 y(not)26 b(con)m(tain)h(placeholders)d(or)j(placeholder)d(v)-5 b(ariables)25 b(and)h(also)g(all)f(their)g(free)h(v)-5 b(ariables)25 b(ha)m(v)m(e)i(t)m(yp)s(es)f(that)h(do)0 4628 y(not)32 b(con)m(tain)f(placeholder)f(v)-5 b(ariables.)42 b(The)31 b(t)m(yp)s(es)g(in)f Fx(C)38 b FE(and)30 b Fx(B)36 b FE(are)c(constructed)f(from)g(fully-explicit)d(t)m(yp)s(es)0 4741 y(\(b)s(ecause)j(PF\(\000\))g(and)f(PVF\(\000\(FV)r(\()p Fx(M)10 b FE(\)\)\)\))32 b(with)d(subterms)h(of)g Fx(M)10 b FE(,)31 b(hence)f(the)h(condition)e(on)h(t)m(yp)s(es.)0 4948 y FD(Lemma)j(8.10)46 b Fv(If)32 b Fx(A)26 b FA(\031)862 4962 y Fz(a)928 4948 y Fx(B)k FA(\))25 b FE(\011)33 b Fv(and)g FE(PVF)q(\()p Fx(A)p FE(\))g Fv(and)h FE(PVF\()p Fx(B)5 b FE(\))33 b Fv(then)136 5131 y FA(\017)46 b FE(\011)25 b(=)g FA(\001)p Fv(,)33 b(and)136 5317 y FA(\017)46 b Fx(A)26 b FA(\021)392 5331 y Fy(\014)458 5317 y Fx(B)1905 5589 y FE(41)p eop %%Page: 42 44 42 43 bop 141 91 a FE(The)38 b(lemma)g(ab)s(o)m(v)m(e)h(is)e(pro)m(v)m (ed)i(b)m(y)f(induction)e(on)i(the)h(structure)e(of)i(the)f (uni\014cation)e(judgmen)m(t.)64 b(The)0 204 y(in)m(tuition)30 b(b)s(ehind)f(it)i(is)g(that)h(if)f(the)h(terms)f(to)i(b)s(e)e (uni\014ed)f(do)h(not)h(con)m(tain)g(placeholder)f(v)-5 b(ariables)30 b(then)i(the)0 317 y(resulting)c(substitution)h(m)m(ust)h (b)s(e)g(empt)m(y)-8 b(.)41 b(In)30 b(this)f(case)i(the)g(t)m(w)m(o)h (terms)e(are)h Fx(\014)5 b FE(-equiv)-5 b(alen)m(t.)0 525 y FD(Lemma)33 b(8.11)46 b Fv(If)36 b FE(\000)31 b FA(`)805 480 y Fy(r)877 525 y Fx(C)q(;)15 b(A)32 b FA(\031)1154 539 y Fz(a)1227 525 y Fx(B)37 b FA(\))31 b FE(\011)36 b Fv(and)h FE(PF\(\000\))p Fv(,)h FE(PF\()p Fx(A)p FE(\))p Fv(,)g FE(PVF\()p Fx(A)p FE(\))p Fv(,)g FE(PF\()p Fx(B)5 b FE(\))p Fv(,)37 b FE(PVF\()p Fx(B)5 b FE(\))37 b Fv(and)g(for)f(al)5 b(l)0 638 y Fx(N)35 b FE(:)26 b Fx(A)227 605 y Fw(0)283 638 y Fv(in)32 b Fx(C)39 b Fv(we)33 b(have)g FE(PF\()p Fx(N)10 b FE(\))p Fv(,)33 b FE(PVF)q(\()p Fx(N)10 b FE(\))p Fv(,)33 b FE(PF\()p Fx(A)1805 605 y Fw(0)1829 638 y FE(\))p Fv(,)g FE(PVF\()p Fx(A)2217 605 y Fw(0)2241 638 y FE(\))g Fv(and)g FE(PVF)q(\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\))34 b Fv(then)136 822 y FA(\017)46 b FE(\011)25 b(=)g FA(\001)p Fv(,)33 b(and)136 1008 y FA(\017)46 b Fx(A)26 b FA(\021)392 1022 y Fy(\014)458 1008 y Fx(B)5 b Fv(,)32 b(and)136 1194 y FA(\017)46 b FE(\000)25 b FA(`)325 1149 y Fy(i)390 1194 y Fx(N)35 b FE(:)26 b Fx(A)617 1161 y Fw(0)673 1194 y Fv(for)33 b(al)5 b(l)33 b Fx(N)i FE(:)26 b Fx(A)1175 1161 y Fw(0)1231 1194 y Fv(in)32 b Fx(C)141 1401 y FE(The)24 b(pro)s(of)g(of)h(Lemma)g(8.11)h(is)e(b)m(y)h(induction)d(on)j(the)g (structure)f(of)h(the)g(deriv)-5 b(ation)23 b(\000)i FA(`)3186 1356 y Fy(r)3251 1401 y Fx(C)q(;)15 b(A)27 b FA(\031)3523 1415 y Fz(a)3589 1401 y Fx(B)j FA(\))25 b FE(\011.)0 1514 y(When)e(a)g(uni\014cation)e(is)h(solv)m(ed)g(w)m(e)i (use)e(Lemma)h(8.10)i(to)e(conclude)g(that)g(the)g(resulting)e (substitution)g(is)h(empt)m(y)0 1627 y(and)j(that)h(the)f(uni\014ed)e (t)m(yp)s(es)j(are)g Fx(\014)5 b FE(-equiv)-5 b(alen)m(t.)39 b(When)25 b(a)h(t)m(yping)e(constrain)m(t)i(is)e(solv)m(ed)i(then)f (the)g(h)m(yp)s(othesis)0 1740 y(pro)m(vides)e(all)f(the)i(conditions)e (necessary)i(to)h(apply)d(Theorem)h(8.8)i(and)e(conclude)g(again)h (that)g(the)g(substitution)0 1853 y(is)29 b(empt)m(y)i(and)f(that)h (the)f(t)m(yping)g(constrain)m(ts)h(are)f(satis\014ed.)0 2061 y FD(Lemma)j(8.12)46 b Fv(If)36 b FE(\000)30 b FA(`)804 2016 y Fy(r)875 2061 y Fx(M)41 b FA(\))31 b FE(\()p FA(\001)h FE(;)f Fx(C)37 b FE(;)32 b Fx(B)5 b FE(\))35 b Fv(and)i Fx(A)31 b FA(\021)1927 2075 y Fy(\014)1999 2061 y Fx(B)40 b Fv(with)d FE(PF\()p Fx(A)p FE(\))g Fv(and)g(for)f(al)5 b(l)36 b Fx(N)41 b FE(:)31 b Fx(A)3304 2028 y Fw(0)3364 2061 y Fv(in)k Fx(C)43 b Fv(we)35 b(have)0 2174 y FE(\000)25 b FA(`)98 2129 y Fy(i)163 2174 y Fx(N)35 b FE(:)26 b Fx(A)390 2141 y Fw(0)446 2174 y Fv(and)33 b FE(PF\()p Fx(A)846 2141 y Fw(0)870 2174 y FE(\))g Fv(then)g FE(\000)25 b FA(`)1238 2129 y Fy(i)1303 2174 y Fx(M)35 b FE(:)26 b Fx(A)p Fv(.)141 2382 y FE(W)-8 b(e)28 b(pro)m(v)m(e)f(Lemma)g(8.12)h (b)m(y)f(induction)d(on)i(the)h(structure)f(of)h(the)g(collection)f (deriv)-5 b(ation.)38 b(Again)26 b(w)m(e)h(can-)0 2495 y(not)j(ha)m(v)m(e)h(placeholders)d(and)h(b)s(ecause)h(the)g(t)m(yping) f(constrain)m(ts)h(from)f Fx(C)36 b FE(are)31 b(satis\014ed)d(w)m(e)j (can)f(immediately)0 2607 y(pro)m(v)m(e)h(the)g(conclusion)e(using)g (the)h(t)m(yping)g(rules)f(of)h(LF)1956 2621 y Fz(i)1985 2607 y FE(.)0 2850 y Fs(8.6)112 b(Soundness)40 b(of)d(LF)1064 2865 y Fz(i)1131 2850 y Fs(t)m(yping)0 3022 y FE(W)-8 b(e)41 b(ha)m(v)m(e)g(pro)m(v)m(ed)f(the)g(correctness)g(of)g(the)g (reconstruction)f(algorithm)g(with)f(resp)s(ect)i(to)h(the)e(LF)3579 3036 y Fz(i)3647 3022 y FE(t)m(yping)0 3135 y(system.)55 b(In)34 b(order)g(to)i(complete)f(the)h(pro)s(of)e(of)h(adequacy)h(of)f (the)g(reconstruction)f(algorithm)g(for)h(c)m(hec)m(king)0 3248 y(pro)s(ofs)30 b(w)m(e)i(still)d(ha)m(v)m(e)k(to)f(pro)m(v)m(e)g (Theorem)f(5.1,)i(that)f(is)e(the)h(soundness)f(of)h(LF)2808 3262 y Fz(i)2868 3248 y FE(t)m(yping)g(with)f(resp)s(ect)h(to)h(LF)0 3361 y(t)m(yping.)40 b(W)-8 b(e)32 b(do)e(this)f(in)g(the)i(rest)f(of)h (this)e(section.)41 b(F)-8 b(or)31 b(clarit)m(y)f(w)m(e)h(restate)h (the)e(theorem)h(here.)0 3568 y FD(Theorem)j(8.13)46 b(Soundness)d(of)e(LF)1444 3582 y Fz(i)1513 3568 y FD(t)m(yping)d Fv(If)f FE(\000)e FA(`)2049 3523 y Fy(i)2123 3568 y Fx(M)44 b FE(:)35 b Fx(A)j Fv(and)g FE(PF)q(\(\000\))p Fv(,)h FE(PF\()p Fx(A)p FE(\))p Fv(,)h(then)e(ther)-5 b(e)39 b(exists)0 3681 y Fx(M)98 3648 y Fw(0)154 3681 y Fv(such)33 b(that)h Fx(M)h FA(\045)25 b Fx(M)884 3648 y Fw(0)940 3681 y Fv(and)34 b FE(\000)25 b FA(`)1208 3636 y Fy(L)-11 b(F)1315 3681 y Fx(M)1413 3648 y Fw(0)1461 3681 y FE(:)26 b Fx(A)p Fv(.)0 3889 y(Pr)-5 b(o)g(of:)46 b FE(The)33 b(pro)s(of)f(is)f(b)m(y)i(induction)d(on)j(the)g(structure)f(of)h(the)g (deriv)-5 b(ation)31 b FA(D)h FE(:)d(\000)g FA(`)2974 3844 y Fy(i)3042 3889 y Fx(M)40 b FE(:)29 b Fx(A)p FE(.)48 b(The)32 b(case)i(of)f(a)0 4002 y(constan)m(t)j(or)f(a)h(v)-5 b(ariable)34 b(is)g(trivial.)53 b(In)34 b(the)h(case)i(of)e(the)g Fx(\014)5 b FE(-equiv)-5 b(alence)35 b(rule)f(w)m(e)h(use)g(the)h(rule) d(h)m(yp)s(othesis)0 4115 y(PF\()p Fx(A)p FE(\))e(to)h(apply)d(the)h (induction)e(h)m(yp)s(othesis)h(and)h(then)g(w)m(e)h(use)f(the)g(LF)h Fx(\014)5 b FE(-equiv)-5 b(alence)30 b(rule.)0 4228 y(In)j(the)i(case)g (of)f(an)g(abstraction)h(again)f(w)m(e)g(use)g(the)h(theorem)f(h)m(yp)s (othesis)67 b Fx(P)13 b(F)g FE(\(\005)p Fx(x)k FE(:)g Fx(A:B)5 b FE(\))34 b(to)h(ensure)e(that)0 4341 y(w)m(e)28 b(can)g(apply)e(the)h(induction)f(h)m(yp)s(othesis.)38 b(The)27 b(remaining)e(cases)k(deal)e(with)f(the)i(application)d(to)k (a)e(term)h(or)0 4454 y(a)j(placeholder.)0 4567 y FD(Case:)941 4781 y FA(D)d FE(=)1175 4719 y(\000)d FA(`)1273 4674 y Fy(i)1338 4719 y Fx(M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)218 b FE(\000)25 b FA(`)2155 4674 y Fy(i)2220 4719 y Fx(N)35 b FE(:)25 b Fx(A)213 b FE(PF\()p Fx(A)p FE(\))p 1145 4760 1805 4 v 1695 4850 a(\000)25 b FA(`)1793 4801 y Fy(i)1858 4850 y Fx(M)35 b FA(\003)26 b FE(:)f([)p Fx(N)r(=x)p FE(])p Fx(B)0 5001 y FE(Because)38 b(of)f(the)g(rule)f(h)m (yp)s(othesis)f(PF\()p Fx(A)p FE(\))j(w)m(e)f(can)h(apply)d(the)i (induction)e(h)m(yp)s(othesis)g(on)i FA(D)3368 5015 y Ft(2)3444 5001 y FE(and)f(deduce)0 5114 y(that)31 b(there)g(exists)f Fx(N)764 5081 y Fw(0)817 5114 y FE(suc)m(h)g(that)h Fx(N)k FA(\045)25 b Fx(N)1526 5081 y Fw(0)1580 5114 y FE(and)30 b(\000)25 b FA(`)1848 5069 y Fy(L)-11 b(F)1955 5114 y Fx(N)2038 5081 y Fw(0)2086 5114 y FE(:)26 b Fx(A)p FE(.)0 5227 y(F)-8 b(rom)30 b(the)f(theorem)g(h)m(yp)s(othesis)f(w)m(e)i(ha)m (v)m(e)g(that)g(PF\([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\).)42 b(F)-8 b(rom)29 b(here)g(w)m(e)h(infer)e(that)h(PF\()p Fx(B)5 b FE(\))30 b(and)e(then)0 5340 y(that)j(PF\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\).)42 b(This)29 b(justi\014es)g (applying)f(the)i(induction)e(h)m(yp)s(othesis)h(to)i FA(D)2887 5354 y Ft(1)2957 5340 y FE(and)f(inferring)e(that)j(there) 1905 5589 y(42)p eop %%Page: 43 45 43 44 bop 0 91 a FE(exists)31 b Fx(M)350 58 y Fw(0)404 91 y FE(suc)m(h)g(that)h Fx(M)k FA(\045)26 b Fx(M)1147 58 y Fw(0)1202 91 y FE(and)k(\000)d FA(`)1472 46 y Fy(L)-11 b(F)1580 91 y Fx(M)1678 58 y Fw(0)1728 91 y FE(:)26 b(\005)p Fx(x)11 b FE(:)g Fx(A:B)5 b FE(.)44 b(No)m(w)32 b(using)d(the)j(LF)f (application)e(rule)h(w)m(e)h(infer)0 204 y(that)i(\000)c FA(`)294 159 y Fy(L)-11 b(F)404 204 y Fx(M)502 171 y Fw(0)554 204 y Fx(N)637 171 y Fw(0)689 204 y FE(:)29 b([)p Fx(N)851 171 y Fw(0)874 204 y Fx(=x)p FE(])p Fx(B)5 b FE(.)48 b(It)32 b(is)g(eviden)m(t)g(that)h Fx(M)39 b FA(\003)29 b(\045)f Fx(M)2274 171 y Fw(0)2327 204 y Fx(N)2410 171 y Fw(0)2433 204 y FE(.)47 b(What)33 b(remains)e(to)i(b)s (e)f(pro)m(v)m(ed)h(is)e(that)0 317 y([)p Fx(N)108 284 y Fw(0)131 317 y Fx(=x)p FE(])p Fx(B)g FA(\021)424 331 y Fy(\014)490 317 y FE([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(.)41 b(This)25 b(is)h(that)h(case)i(if)c Fx(x)h FA(62)f FE(FV)q(\()p Fx(B)5 b FE(\).)40 b(Otherwise,)27 b(w)m(e)g(kno)m(w)g(from)g(the)g(h)m(yp)s(othesis)e(that)0 430 y(PF\([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))32 b(whic)m(h)d (implies)f(that)j(PF\()p Fx(N)10 b FE(\))31 b(and)f(then)g(that)h Fx(N)k FE(=)25 b Fx(N)2458 397 y Fw(0)2481 430 y FE(.)0 589 y(The)32 b(case)i(when)d(the)i(last)g(rule)e(in)g FA(D)k FE(is)d(an)h(application)e(to)i(a)g(term)g(is)e(v)m(ery)i (similar)d(to)k(the)e(case)i(presen)m(ted)0 702 y(ab)s(o)m(v)m(e.)3596 815 y Fd(2)0 1057 y Fs(8.7)112 b(Auxiliary)36 b(Lemmas)0 1228 y FE(The)26 b(follo)m(wing)g(lemmas)g(are)h(results)f(that)h(w)m (ere)h(used)e(in)f(the)i(correctness)h(pro)s(of)e(of)h(the)g(t)m(yp)s (e)g(reconstruction)0 1341 y(algorithm.)39 b(Most)28 b(of)g(them)f(are)h(trivial)d(to)k(pro)m(v)m(e)f(and)f(therefore)h(w)m (e)f(omit)h(their)e(pro)s(of.)39 b(Recall)27 b(also)g(that)h(w)m(e)0 1454 y(made)h(the)g(con)m(v)m(en)m(tion)g(that)h(all)d(the)i(t)m(yp)s (es)g(in)m(v)m(olv)m(ed)f(in)g(the)g(statemen)m(ts)j(of)e(the)f (theorems)h(and)f(lemmas)h(are)0 1567 y(placeholder-free.)141 1680 y(The)h(\014rst)g(lemma)g(establishes)f(some)h(canonical)g(forms)g (of)h(t)m(yp)s(es)f(in)f(LF)2703 1694 y Fz(i)2762 1680 y FE(judgmen)m(ts.)0 1858 y FD(Lemma)k(8.14)46 b Fv(If)32 b FE(\000)26 b FA(`)796 1813 y Fy(i)860 1858 y Fx(M)36 b FE(:)25 b Fx(A)33 b Fv(then)g(the)g(fol)5 b(lowing)34 b(ar)-5 b(e)33 b(true:)136 2037 y FA(\017)46 b Fv(If)33 b Fx(M)i FE(=)25 b Fx(x)33 b Fv(then)g FE(\000\()p Fx(x)p FE(\))25 b FA(\021)1104 2051 y Fy(\014)1171 2037 y Fx(A)136 2221 y FA(\017)46 b Fv(If)33 b Fx(M)i FE(=)25 b Fx(c)33 b Fv(then)g FE(\006\()p Fx(c)p FE(\))26 b FA(\021)1088 2235 y Fy(\014)1154 2221 y Fx(A)136 2405 y FA(\017)46 b Fv(If)33 b Fx(M)i FE(=)25 b Fx(M)630 2419 y Ft(1)695 2405 y Fx(M)783 2419 y Ft(2)855 2405 y Fv(then)33 b FE(\000)25 b FA(`)1155 2360 y Fy(i)1220 2405 y Fx(M)1308 2419 y Ft(1)1373 2405 y FE(:)g(\005)p Fx(x)10 b FE(:)g Fx(A)1656 2419 y Ft(1)1697 2405 y Fx(:A)1790 2419 y Ft(2)1862 2405 y Fv(and)34 b FE(\000)25 b FA(`)2137 2360 y Fy(i)2202 2405 y Fx(M)2290 2419 y Ft(2)2354 2405 y FE(:)h Fx(A)2473 2419 y Ft(1)2545 2405 y Fv(and)34 b FE([)p Fx(M)2835 2419 y Ft(2)2874 2405 y Fx(=x)p FE(])p Fx(A)3064 2419 y Ft(2)3130 2405 y FA(\021)3201 2419 y Fy(\014)3267 2405 y Fx(A)136 2589 y FA(\017)46 b Fv(If)33 b Fx(M)i FE(=)25 b Fx(\025x:N)43 b Fv(then)33 b Fx(A)25 b FE(=)g(\005)p Fx(x)10 b FE(:)g Fx(A)1412 2603 y Ft(1)1452 2589 y Fx(:A)1545 2603 y Ft(2)1618 2589 y Fv(and)33 b FE(\000)p Fx(;)15 b(x)26 b FE(:)f Fx(A)2087 2603 y Ft(1)2152 2589 y FA(`)2168 2544 y Fy(i)2233 2589 y Fx(M)35 b FE(:)26 b Fx(A)2475 2603 y Ft(2)2515 2589 y Fv(.)141 2767 y FE(Next)j(w)m(e)f(ha)m(v)m(e)h (a)f(lemma)f(sa)m(ying)h(that)g Fx(\014)5 b FE(-reduction)28 b(\\preserv)m(es")g(the)g(t)m(yp)s(e)g(of)g(the)g(expression.)39 b(Because)0 2880 y(of)31 b(the)f(dep)s(enden)m(t)f(t)m(yp)s(es)i(the)f (resulting)f(t)m(yp)s(e)i(is)e(actually)h(obtained)g(b)m(y)g (substitution)e(itself.)0 3059 y FD(Lemma)33 b(8.15)46 b Fv(If)32 b FE(\000)26 b FA(`)796 3014 y Fy(i)860 3059 y Fx(\025x:M)36 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)39 b Fv(and)33 b FE(\000)25 b FA(`)1804 3014 y Fy(i)1869 3059 y Fx(N)35 b FE(:)26 b Fx(A)32 b Fv(with)i FE(PF\()p Fx(N)10 b FE(\))33 b Fv(then)g FE(\000)25 b FA(`)2933 3014 y Fy(i)2998 3059 y FE([)p Fx(N)r(=x)p FE(])p Fx(M)37 b FE(:)25 b([)p Fx(N)r(=x)p FE(])p Fx(B)5 b Fv(.)141 3237 y FE(W)-8 b(e)33 b(con)m(tin)m(ue)f(with)f(a)h(crucial)f(lemma)h (used)f(throughout)g(the)h(pro)s(of)g(of)g(correctness.)46 b(This)30 b(lemma)h(sa)m(ys)0 3350 y(that)40 b(if)e(a)h(substitution)e (is)h(w)m(ell-t)m(yp)s(ed)h(on)g(certain)g(placeholder)f(v)-5 b(ariables)37 b(then)i(it)g(preserv)m(es)g(the)g(t)m(yping)0 3463 y(relation.)0 3642 y FD(Lemma)33 b(8.16)46 b Fv(L)-5 b(et)28 b Fx(D)g FE(=)d Fv(Dom)7 b FE(\(\011\))i FA(\\)g FE(FV)r(\()p Fx(M)h FE(\))28 b Fv(if)f FE(PF\()p Fx(M)10 b FE(\))28 b Fv(and)h(Dom)7 b FE(\(\011\))28 b Fv(otherwise.)41 b(If)28 b FE(PF\(\011\))g Fv(and)g FE(\011\(\000\))d FA(`)3860 3597 y Fy(i)0 3754 y FE(\011\()p Fx(u)p FE(\))h(:)f (\011\(\000\()p Fx(u)p FE(\)\))34 b Fv(for)f(al)5 b(l)33 b Fx(u)25 b FA(2)g Fx(D)35 b Fv(and)f(if)e FE(\000)25 b FA(`)1534 3709 y Fy(i)1599 3754 y Fx(M)36 b FE(:)25 b Fx(A)33 b Fv(then)g FE(\011\(\000\))25 b FA(`)2315 3709 y Fy(i)2380 3754 y FE(\011\()p Fx(M)10 b FE(\))26 b(:)f(\011\()p Fx(A)p FE(\))p Fv(.)0 3933 y(Pr)-5 b(o)g(of:)39 b FE(\(of)25 b(Lemma)g(8.16\))i(The)d(pro)s(of)g(is)g(b)m(y)h (induction)e(on)h(the)h(structure)g(of)g(the)g(deriv)-5 b(ation)23 b FA(D)28 b FE(::)e(\000)f FA(`)3568 3888 y Fy(i)3633 3933 y Fx(M)35 b FE(:)26 b Fx(A)p FE(.)0 4046 y(The)k(case)h(of)g(a)g(constan)m(t)g(is)f(trivial)e(b)s(ecause)i (the)h(constan)m(t)h(and)d(its)h(t)m(yp)s(e)h(do)f(not)h(c)m(hange)g(b) m(y)f(substitution.)0 4159 y(More)h(in)m(teresting)f(cases)h(are)g (when)e Fx(M)40 b FE(is)30 b(a)h(v)-5 b(ariable)29 b(or)h(a)h (placeholder)e(v)-5 b(ariable.)39 b(In)30 b(the)g(case)i(of)e(a)h (normal)0 4272 y(v)-5 b(ariable,)36 b(or)f(a)h(placeholder)e(v)-5 b(ariable)35 b(outside)g Fv(Dom)7 b FE(\(\011\),)37 b(the)f(conclusion) e(follo)m(ws)h(immediately)f(from)h(the)0 4385 y(de\014nition)30 b(of)j(\011\(\000\).)47 b(In)32 b(the)h(case)g(of)g(a)g(placeholder)e (v)-5 b(ariable)31 b(that)i(is)f(in)f Fv(Dom)7 b FE(\(\011\))33 b(the)g(conclusion)e(follo)m(ws)0 4498 y(from)f(the)g(h)m(yp)s(othesis) f(b)s(ecause)i(that)g(v)-5 b(ariable)29 b(is)g(also)i(in)e(FV)r(\()p Fx(M)10 b FE(\))31 b(and)e(therefore)i(in)e Fx(D)s FE(.)0 4610 y(W)-8 b(e)32 b(consider)d(the)h(other)h(cases)g(b)s(elo)m(w:)0 4723 y FD(Case:)1116 5000 y FA(D)d FE(=)1498 4794 y FA(D)1568 4808 y Ft(1)1350 4938 y FE(\000)d FA(`)1448 4893 y Fy(i)1513 4938 y Fx(M)35 b FE(:)26 b Fx(A)212 b(A)26 b FA(\021)2132 4952 y Fy(\014)2198 4938 y Fx(B)217 b FE(PF\()p Fx(A)p FE(\))p 1320 4979 1455 4 v 1842 5070 a(\000)25 b FA(`)1940 5020 y Fy(i)2005 5070 y Fx(M)35 b FE(:)26 b Fx(B)0 5227 y FE(In)37 b(this)g(case)i(w)m(e)f(can)g(apply)e(the)i(induction)e(h)m (yp)s(othesis)g(on)i FA(D)2313 5241 y Ft(1)2390 5227 y FE(and)f(infer)g(that)h(\011\(\000\))g FA(`)3248 5182 y Fy(i)3325 5227 y FE(\011\()p Fx(M)10 b FE(\))38 b(:)g(\011\()p Fx(A)p FE(\).)0 5340 y(Note)28 b(that)e(w)m(e)h(ha)m(v)m(e)h(used)d (the)i(h)m(yp)s(othesis)d(PF)q(\()p Fx(A)p FE(\))j(to)g(ensure)e(that)i (our)f(implicit)d(con)m(v)m(en)m(tion)28 b(ab)s(out)e(t)m(yp)s(es)g(is) 1905 5589 y(43)p eop %%Page: 44 46 44 45 bop 0 91 a FE(preserv)m(ed.)39 b(By)27 b(Lemma)g(8.21)h(w)m(e)g (get)f(that)h(\011\()p Fx(A)p FE(\))e FA(\021)1865 105 y Fy(\014)1931 91 y FE(\011\()p Fx(B)5 b FE(\).)39 b(Because)29 b(PF\(\011\))e(and)f(PF\()p Fx(A)p FE(\))i(w)m(e)f(deduce)f(that)0 204 y(PF\(\011\()p Fx(A)p FE(\)\).)51 b(W)-8 b(e)34 b(can)f(therefore)h (use)f(the)g(LF)1624 218 y Fz(i)1686 204 y FE(rule)f(for)h(b)s (eta-equiv)-5 b(alence)33 b(and)f(infer)g(that)i(\011\(\000\))c FA(`)3536 159 y Fy(i)3605 204 y FE(\011\()p Fx(M)10 b FE(\))31 b(:)0 317 y(\011\()p Fx(B)5 b FE(\).)0 430 y FD(Case:)1443 644 y FA(D)28 b FE(=)1724 583 y(\000)p Fx(;)15 b(x)25 b FE(:)h Fx(A)f FA(`)2058 538 y Fy(i)2123 583 y Fx(M)35 b FE(:)26 b Fx(B)p 1647 623 800 4 v 1647 714 a FE(\000)f FA(`)1745 664 y Fy(i)1810 714 y Fx(\025x:M)36 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)0 854 y FE(The)32 b(set)i(of)e(placeholder)g(v)-5 b(ariables)31 b Fx(D)36 b FE(is)31 b(the)i(same)g(for)g Fx(\025x:M)43 b FE(and)32 b Fx(M)10 b FE(.)48 b(W)-8 b(e)34 b(kno)m(w)f(that)g(for)f(all)g Fx(u)d FA(2)g Fx(D)35 b FE(w)m(e)0 967 y(ha)m(v)m(e)h(\011\(\000\))e FA(`)462 922 y Fy(i)534 967 y FE(\011\()p Fx(u)p FE(\))g(:)f (\011\(\000\()p Fx(u)p FE(\)\).)56 b(Because)36 b Fx(x)f FE(cannot)h(o)s(ccur)f(in)f(\011)g(w)m(e)i(deduce)f(that)g(\011\(\000)p Fx(;)15 b(x)34 b FE(:)f Fx(A)p FE(\))h FA(`)3576 922 y Fy(i)3648 967 y FE(\011\()p Fx(u)p FE(\))g(:)0 1080 y(\011\(\(\000)p Fx(;)15 b(x)26 b FE(:)f Fx(A)p FE(\)\()p Fx(u)p FE(\)\))31 b(for)f(all)e Fx(u)d FA(2)g Fx(D)s FE(.)40 b(W)-8 b(e)31 b(can)f(therefore)g(apply)e(the)h(induction)f(h)m (yp)s(othesis)g(and)g(conclude)h(that)0 1193 y(\011\(\000)p Fx(;)15 b(x)37 b FE(:)g Fx(A)p FE(\))g FA(`)510 1148 y Fy(i)586 1193 y FE(\011\()p Fx(M)10 b FE(\))38 b(:)e(\011\()p Fx(B)5 b FE(\).)62 b(F)-8 b(rom)37 b(here)g(w)m(e)h(can)g(use)f(the)g (abstraction)g(rule)f(of)i(LF)3215 1207 y Fz(i)3280 1193 y FE(and)f(deduce)g(the)0 1306 y(desired)29 b(conclusion)g (\011\(\000\))c FA(`)988 1261 y Fy(i)1053 1306 y FE(\011\()p Fx(\025x:M)10 b FE(\))26 b(:)g(\011\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\).)0 1419 y FD(Case:)941 1695 y FA(D)28 b FE(=)1455 1489 y FA(D)1525 1503 y Ft(1)1175 1634 y FE(\000)d FA(`)1273 1589 y Fy(i)1338 1634 y Fx(M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)2197 1489 y FA(D)2267 1503 y Ft(2)2057 1634 y FE(\000)25 b FA(`)2155 1589 y Fy(i)2220 1634 y Fx(N)35 b FE(:)25 b Fx(A)213 b FE(PF\()p Fx(A)p FE(\))p 1145 1674 1805 4 v 1676 1765 a(\000)25 b FA(`)1774 1715 y Fy(i)1839 1765 y Fx(M)35 b(N)g FE(:)26 b([)p Fx(N)r(=x)p FE(])p Fx(B)0 1911 y FE(W)-8 b(e)28 b(kno)m(w)e(that)h(PF\()p Fx(M)36 b(N)10 b FE(\))26 b(i\013)g(PF\()p Fx(M)10 b FE(\))27 b(and)f(PF\()p Fx(N)10 b FE(\).)40 b(This)25 b(and)h(the)g(fact)i(that)f(the)f(free)h (v)-5 b(ariables)25 b(of)h Fx(M)37 b FE(and)0 2024 y Fx(N)i FE(are)30 b(among)g(those)g(of)g Fx(M)36 b(N)j FE(allo)m(w)29 b(us)g(to)h(use)f(the)h(induction)d(h)m(yp)s(othesis)h (b)s(oth)h(on)h FA(D)3163 2038 y Ft(1)3232 2024 y FE(and)f FA(D)3478 2038 y Ft(2)3517 2024 y FE(.)41 b(Because)0 2137 y(PF\()p Fx(A)p FE(\))24 b(and)e(PF\(\011\))h(w)m(e)g(ha)m(v)m(e)h (that)g(PF\(\011\()p Fx(A)p FE(\))g(whic)m(h)d(can)i(b)s(e)f(used)g (together)i(with)e(the)h(induction)d(h)m(yp)s(otheses)0 2250 y(to)29 b(infer)e(the)i(desired)e(conclusion)f(\011\(\000\))g FA(`)1456 2205 y Fy(i)1521 2250 y FE(\011\()p Fx(M)35 b(N)10 b FE(\))26 b(:)f(\011\([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\).)41 b(Note)30 b(that)f(b)m(y)f(our)g(implicit)e(con)m(v) m(en)m(tion)0 2362 y(on)k(t)m(yp)s(es)h(w)m(e)g(ha)m(v)m(e)g(that)g (PF\([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))32 b(whic)m(h)d(implies)f (that)j(PF\()p Fx(B)5 b FE(\))31 b(and)e(also)i(that)g(PF\(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\).)0 2475 y FD(Case:)941 2752 y FA(D)28 b FE(=)1455 2546 y FA(D)1525 2560 y Ft(1)1175 2690 y FE(\000)d FA(`)1273 2645 y Fy(i)1338 2690 y Fx(M)35 b FE(:)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)2197 2546 y FA(D)2267 2560 y Ft(2)2057 2690 y FE(\000)25 b FA(`)2155 2645 y Fy(i)2220 2690 y Fx(N)35 b FE(:)25 b Fx(A)213 b FE(PF\()p Fx(A)p FE(\))p 1145 2731 V 1695 2821 a(\000)25 b FA(`)1793 2772 y Fy(i)1858 2821 y Fx(M)35 b FA(\003)26 b FE(:)f([)p Fx(N)r(=x)p FE(])p Fx(B)0 2967 y FE(Note)g(that)f(in)f (this)f(case)j(w)m(e)f(do)g(not)g(ha)m(v)m(e)g(PF)q(\()p Fx(M)35 b FA(\003)p FE(\))25 b(and)e(therefore)h(w)m(e)g(m)m(ust)g(ha)m (v)m(e)h(\000)g FA(`)g FE(\011.)38 b(W)-8 b(e)25 b(can)e(therefore)0 3080 y(apply)g(the)i(induction)d(h)m(yp)s(othesis)h(for)h(the)h(deriv) -5 b(ation)23 b FA(D)2010 3094 y Ft(1)2074 3080 y FE(and)h(infer)f (that)i(\011\(\000\))g FA(`)2879 3035 y Fy(i)2944 3080 y FE(\011\()p Fx(M)10 b FE(\))26 b(:)f(\005)p Fx(x)10 b FE(:)g(\011\()p Fx(A)p FE(\))p Fx(:)p FE(\011\()p Fx(B)5 b FE(\).)0 3193 y(F)-8 b(rom)31 b(the)g(induction)d(h)m(yp)s(othesis)i (on)g FA(D)1445 3207 y Ft(2)1516 3193 y FE(w)m(e)h(infer)e(that)i (\011\(\000\))26 b FA(`)2297 3148 y Fy(i)2362 3193 y FE(\011\()p Fx(N)10 b FE(\))27 b(:)f(\011\()p Fx(A)p FE(\).)42 b(F)-8 b(rom)31 b(here)g(w)m(e)g(follo)m(w)f(the)0 3306 y(same)h(steps)f(as)h(in)e(the)h(previous)f(case.)42 b(Note)32 b(that)f(\011\()p Fx(M)k FA(\003)p FE(\))26 b(=)f(\011\()p Fx(M)10 b FE(\))26 b FA(\003)p FE(.)3596 3419 y Fd(2)141 3532 y FE(The)g(Lemma)g(8.16)i(is)d(not)h(actually)g (used)f(in)g(that)i(form.)39 b(All)25 b(its)g(uses)h(are)g(in)f(the)i (form)e(of)i(t)m(w)m(o)g(corollaries)0 3645 y(stated)k(b)s(elo)m(w.)0 3843 y FD(Corollary)k(8.17)46 b Fv(If)33 b FE(\000)25 b FA(`)890 3798 y Fy(i)955 3843 y Fx(M)35 b FE(:)26 b Fx(A)32 b Fv(and)i FE(\000)25 b FA(`)g FE(\011)32 b Fv(with)h FE(PF)q(\(\011\))g Fv(then)g FE(\011\(\000\))25 b FA(`)2606 3798 y Fy(i)2671 3843 y FE(\011\()p Fx(M)10 b FE(\))26 b(:)f(\011\()p Fx(A)p FE(\))p Fv(.)0 4041 y(Pr)-5 b(o)g(of:)62 b FE(\(of)42 b(Corollary)d(8.17\))k(The)d(corollary)g(follo)m(ws)g (immediately)f(from)h(Lemma)h(8.16)h(if)e(w)m(e)h(note)g(that)0 4154 y Fx(D)28 b FA(\022)d Fv(Dom)7 b FE(\(\011\))31 b(and)f(that)h(\000)25 b FA(`)g FE(\011)30 b(implies)d(that)k(for)f (all)g Fx(u)25 b FA(2)g Fv(Dom)7 b FE(\(\011\))31 b(w)m(e)g(ha)m(v)m(e) g(\011\(\000\))26 b FA(`)3090 4109 y Fy(i)3155 4154 y FE(\011\()p Fx(u)p FE(\))f(:)h(\011\(\000\()p Fx(u)p FE(\)\).)3596 4267 y Fd(2)0 4465 y FD(Corollary)35 b(8.18)46 b Fv(If)33 b FE(\000)25 b FA(`)890 4420 y Fy(i)955 4465 y Fx(u)g FE(:)h Fx(A)32 b Fv(and)i FE(\000)25 b FA(`)1458 4420 y Fy(i)1523 4465 y Fx(M)35 b FE(:)26 b Fx(A)32 b Fv(with)i FE(PF\()p Fx(M)10 b FE(\))33 b Fv(and)h Fx(u)25 b FA(62)g FE(FV)r(\()p Fx(M)10 b FE(\))33 b Fv(then)g FE(\000)25 b FA(`)3287 4420 y Fy(i)3352 4465 y Fx(u)g FA( )h Fx(M)10 b Fv(.)0 4663 y(Pr)-5 b(o)g(of:)62 b FE(\(of)41 b(Corollary)e(8.18\))j(Let)f(\011)h(=)g Fx(u)g FA( )g Fx(M)10 b FE(.)71 b(Because)42 b(PF\()p Fx(M)10 b FE(\))41 b(w)m(e)g(can)g(apply)e(Lemma)h(8.16)i(with)0 4775 y Fx(D)31 b FE(=)c Fv(Dom)7 b FE(\(\011\))22 b FA(\\)f FE(FV)r(\()p Fx(M)10 b FE(\))28 b(=)g FA(;)k FE(and)f(w)m(e)i(infer)d (that)i(\011\(\000\))c FA(`)2111 4730 y Fy(i)2179 4775 y FE(\011\()p Fx(M)10 b FE(\))28 b(:)g(\011\()p Fx(A)p FE(\).)46 b(But)32 b(b)s(ecause)g Fx(u)c FA(62)f FE(FV)r(\()p Fx(M)10 b FE(\))32 b(w)m(e)0 4888 y(ha)m(v)m(e)g(that)f(\011\()p Fx(M)10 b FE(\))25 b(=)g Fx(M)36 b FE(=)25 b(\011\()p Fx(u)p FE(\).)41 b(Therefore)30 b(\000)25 b FA(`)g FE(\011.)3596 5001 y Fd(2)141 5114 y FE(W)-8 b(e)40 b(con)m(tin)m(ue)e(with)f(t)m(w)m (o)j(lemmas)e(dealing)f(with)g(t)m(yping)h(substitution.)62 b(The)38 b(\014rst)f(is)h(concerned)g(with)0 5227 y(the)i(w)m(ell-t)m (yp)s(edness)f(of)h(a)h(comp)s(osition)d(of)i(t)m(w)m(o)i (substitutions.)67 b(The)40 b(second)g(one)g(deals)g(with)e(restricted) 0 5340 y(substitutions.)1905 5589 y(44)p eop %%Page: 45 47 45 46 bop 0 91 a FD(Lemma)33 b(8.19)46 b Fv(If)32 b FE(\000)26 b FA(`)e FE(\011)33 b Fv(and)g FE(\011\(\000\))26 b FA(`)e FE(\011)1515 58 y Fw(0)1571 91 y Fv(with)33 b FE(PF)q(\(\011\))g Fv(and)g FE(PF\(\011)2467 58 y Fw(0)2491 91 y FE(\))g Fv(then)g FE(\000)25 b FA(`)g FE(\011)2995 58 y Fw(0)3038 91 y FA(\016)20 b FE(\011)33 b Fv(and)g FE(PF\(\011)3610 58 y Fw(0)3654 91 y FA(\016)21 b FE(\011\))p Fv(.)0 304 y(Pr)-5 b(o)g(of:)56 b FE(It)38 b(is)e(ob)m(vious)h(that)h(PF\(\011) 1265 271 y Fw(0)1313 304 y FA(\016)26 b FE(\011\).)62 b(T)-8 b(o)38 b(pro)m(v)m(e)g(that)g(\000)f FA(`)f FE(\011)2431 271 y Fw(0)2479 304 y FA(\016)26 b FE(\011)37 b(consider)f(a)i (placeholder)e(v)-5 b(ariable)0 417 y Fx(u)30 b FA(2)g Fv(Dom)7 b FE(\(\011)475 384 y Fw(0)521 417 y FA(\016)22 b FE(\011\).)50 b(Then)32 b(either)h Fx(u)d FA(2)g Fv(Dom)7 b FE(\(\011\),)35 b(in)d(whic)m(h)g(case)i(\011\()p Fx(Gamma)p FE(\))c FA(`)2922 372 y Fy(i)2991 417 y FE(\011\()p Fx(u)p FE(\))h(:)f(\011\(\000\()p Fx(u)p FE(\)\))k(and)f(b)m(y)0 530 y(Lemma)j(8.16)h(w)m(e)f(get)h(the)e(desired)f(conclusion,)i(or)g Fx(u)d FA(2)h Fv(Dom)7 b FE(\(\011)2369 497 y Fw(0)2393 530 y FE(\))p FA(n)p Fv(Dom)h FE(\(\011\),)37 b(in)e(whic)m(h)f(case)j (\011)3519 497 y Fw(0)3542 530 y FE(\(\011\(\000\)\))d FA(`)3860 485 y Fy(i)0 643 y FE(\011)71 610 y Fw(0)94 643 y FE(\()p Fx(u)p FE(\))26 b(:)g(\011)364 610 y Fw(0)387 643 y FE(\(\011\(\000\()p Fx(u)p FE(\)\)\).)3596 756 y Fd(2)0 968 y FD(Lemma)33 b(8.20)46 b Fv(If)41 b FE(\000)p Fx(;)15 b FE(\001)39 b FA(`)h FE(\011)g Fv(and)i(Dom)7 b FE(\(\001\))40 b FA(\022)g Fv(Dom)7 b FE(\(\011\))41 b Fv(then)g FE(\011\(\000)p Fx(;)15 b FE(\001\))41 b(=)e(\011\(\000\))h (=)g(\011)3276 891 y Ff(\014)3276 945 y(\014)3306 987 y Fe(Dom)6 b Ft(\(\000\))3588 968 y FE(\(\000\))41 b Fv(and)0 1081 y FE(\000)25 b FA(`)g FE(\011)234 1004 y Ff(\014)234 1058 y(\014)264 1099 y Fe(Dom)6 b Ft(\(\000\))531 1081 y Fv(.)0 1293 y(Pr)-5 b(o)g(of:)42 b FE(It)30 b(is)g(easy)h(to)g (pro)m(v)m(e)g(that)h(\011\(\000)p Fx(;)15 b FE(\001\))25 b(=)g(\011\(\000\))31 b(using)e(the)i(de\014nition)d(of)i(substitution) e(applied)h(to)i(t)m(yp)s(e)0 1406 y(en)m(vironmen)m(ts.)39 b(Also)28 b(it)g(m)m(ust)g(b)s(e)f(the)h(case)h(that)g(\000)f(do)s(es)f (not)h(con)m(tain)h(an)m(y)f(placeholder)f(v)-5 b(ariable)27 b(con)m(tained)0 1519 y(in)i(\001,)h(th)m(us)g(w)m(e)h(get)h (\011\(\000\))25 b(=)g(\011)1113 1442 y Ff(\014)1113 1497 y(\014)1143 1538 y Fe(Dom)6 b Ft(\(\000\))1425 1519 y FE(\(\000\).)0 1632 y(F)-8 b(or)35 b(the)g(second)f(part,)h(let)g Fx(u)c FA(2)h Fv(Dom)7 b FE(\(\011\))24 b FA(\\)e Fv(Dom)7 b FE(\(\000\).)53 b(W)-8 b(e)36 b(ha)m(v)m(e)f(that)g(\011\(\000\))d FA(`)2830 1587 y Fy(i)2902 1632 y FE(\011\()p Fx(u)p FE(\))g(:)g(\011\(\000\()p Fx(u)p FE(\)\).)54 b(Because)0 1745 y(nothing)29 b(in)g(\001)h(can)h(o)s(ccur)f(in)f(\000)i(w)m(e)f (conclude)g(that)h(\000)25 b FA(`)g FE(\011)2089 1668 y Ff(\014)2089 1722 y(\014)2119 1764 y Fe(Dom)6 b Ft(\(\000\))2386 1745 y FE(.)3596 1858 y Fd(2)141 1971 y FE(The)35 b(last)h(lemmas)f (required)f(are)j(concerned)f(with)e Fx(\014)5 b FE(-equiv)-5 b(alence.)57 b(Their)34 b(pro)s(of)h(is)g(trivial)f(so)i(w)m(e)h(just)0 2084 y(state)32 b(them)e(here.)0 2296 y FD(Lemma)j(8.21)46 b Fv(If)32 b Fx(M)k FA(\021)892 2310 y Fy(\014)958 2296 y Fx(N)43 b Fv(then)33 b FE(\011\()p Fx(M)10 b FE(\))26 b FA(\021)1612 2310 y Fy(\014)1678 2296 y FE(\011\()p Fx(N)10 b FE(\))p Fv(.)0 2509 y FD(Lemma)33 b(8.22)46 b Fv(If)32 b Fx(M)k FA(\021)892 2523 y Fy(\014)958 2509 y Fx(N)43 b Fv(and)33 b Fx(M)1348 2476 y Fw(0)1397 2509 y FA(\021)1468 2523 y Fy(\014)1534 2509 y Fx(N)1617 2476 y Fw(0)1673 2509 y Fv(then)g FE([)p Fx(M)5 b(=x)p FE(])p Fx(M)2213 2476 y Fw(0)2263 2509 y FA(\021)2334 2523 y Fy(\014)2400 2509 y FE([)p Fx(N)r(=x)p FE(])p Fx(N)2705 2476 y Fw(0)2730 2509 y Fv(.)1905 5589 y FE(45)p eop %%Page: 46 48 46 47 bop 0 91 a FB(9)135 b(An)44 b(Optimized)h(V)-11 b(ersion)45 b(of)g(T)l(yp)t(e)g(Reconstruction)0 294 y FE(In)29 b(this)g(section)i(w)m(e)f(examine)g(sev)m(eral)h (optimizations)d(to)j(the)g(reconstruction)e(algorithm)h(presen)m(ted)g (in)e(Sec-)0 407 y(tion)e(6.)40 b(W)-8 b(e)29 b(c)m(hose)f(to)f(presen) m(t)g(these)h(optimizations)e(separately)h(from)f(the)i(main)d (algorithm)h(to)i(simplify)c(the)0 520 y(presen)m(tation)33 b(of)g(the)h(algorithm)e(and)g(its)h(correctness)h(pro)s(of,)f(and)g (also)g(b)s(ecause)g(the)g(b)s(eha)m(vior)f(and)h(p)s(o)m(w)m(er)0 633 y(of)39 b(the)f(reconstruction)g(is)f(not)i(in\015uenced)d(b)m(y)j (these)f(optimizations.)64 b(Their)37 b(only)g(purp)s(ose)g(is)g(to)i (la)m(y)g(the)0 746 y(grounds)29 b(for)h(an)h(e\016cien)m(t)f(implemen) m(tation)f(of)i(the)g(algorithm,)e(whic)m(h)g(will)f(b)s(e)i(discussed) e(in)h(Section)h(10.)141 859 y(Because)f(the)f(optimizations)e(presen)m (ted)i(in)e(this)g(section)i(w)m(ere)g(not)g(pro)m(v)m(ed)g(correct)g (as)g(part)g(of)f(the)h(main)0 972 y(correctness)i(theorem)h(w)m(e)f (ha)m(v)m(e)h(the)f(obligation)e(of)i(pro)m(ving)f(their)g(correctness) h(here.)40 b(Ho)m(w)m(ev)m(er,)33 b(in)28 b(order)h(to)0 1085 y(simplify)e(the)k(presen)m(tation)f(w)m(e)h(are)g(only)e(sho)m (wing)h(informal)e(correctness)j(argumen)m(ts.)141 1198 y(W)-8 b(e)28 b(consider)e(t)m(w)m(o)i(classes)f(of)g(optimizations.)38 b(The)26 b(\014rst)g(class)h(consists)f(of)h(signature-indep)s(enden)m (t)d(opti-)0 1310 y(mizations)d(whose)h(fo)s(cus)f(is)g(to)i(optimize)e (the)h(c)m(hec)m(king)h(of)f(the)g(side)e(conditions)h(presen)m(t)h(in) e(the)i(reconstruction)0 1423 y(algorithm.)38 b(Examples)23 b(of)i(signature-indep)s(enden)m(t)d(optimizations)i(are)h(the)g(o)s (ccurs)f(c)m(hec)m(k)i(optimization)e(and)0 1536 y(an)31 b(optimization)g(of)g(the)h(complicated)f(side)f(condition)h(from)f (the)i(collection)f(rule)f(for)i(explicit)d(parameters.)0 1649 y(W)-8 b(e)30 b(sho)m(w)e(in)f(Figure)h(16)i(on)e(page)i(51)f(a)g (v)-5 b(arian)m(t)28 b(of)h(the)g(reconstruction)f(algorithm)f(that)j (incorp)s(orates)d(these)0 1762 y(optimizations.)141 1875 y(The)i(second)g(class)f(of)i(optimizations)d(are)j(dep)s(enden)m (t)e(on)h(the)g(particular)e(signature)h(that)i(is)e(at)i(the)f(base)0 1988 y(of)k(reconstruction.)47 b(The)32 b(reason)h(w)m(e)g(are)g(in)m (terested)g(in)e(suc)m(h)i(optimizations)e(is)h(that)h(in)f(all)f(of)i (our)f(curren)m(t)0 2101 y(exp)s(erimen)m(ts)24 b(w)m(e)i(are)g(in)m (terested)g(in)e(using)g(the)i(reconstruction)f(as)g(the)h(basis)e(for) i(v)-5 b(alidating)24 b(\014rst-order)g(logic)0 2214 y(pro)s(ofs.)37 b(In)22 b(suc)m(h)g(conditions)f(w)m(e)i(can)g (eliminate)e(some)i(of)g(the)g(side-condition)d(c)m(hec)m(ks)k(without) e(compromising)0 2327 y(the)31 b(correctness)g(of)f(the)h (reconstruction.)0 2570 y Fs(9.1)112 b(Optimizing)35 b(the)i(Occurs)g(Chec)m(k)0 2742 y FE(One)45 b(of)h(the)f(most)h(imp)s (ortan)m(t)f(features)g(of)h(our)f(reconstruction)g(algorithm)f(is)h (that)h(the)g(reconstructed)0 2855 y(subterms)33 b(do)i(not)g(ha)m(v)m (e)g(to)h(b)s(e)e(t)m(yp)s(ec)m(hec)m(k)m(ed)i(b)s(ecause,)g(b)m(y)f (design,)g(the)f(algorithm)g(ensures)g(that)h(they)g(are)0 2968 y(w)m(ell-t)m(yp)s(ed.)40 b(This)28 b(sa)m(v)m(es)k(a)f(lot)f(of)h (time)f(when)f(v)-5 b(alidating)29 b(pro)s(ofs.)141 3080 y(If)43 b(w)m(e)g(examine)g(the)g(unoptimized)e(algorithm)h(w)m(e)i (notice)f(that)h(the)f(basic)g(reconstruction)f(step)h(is)g(a)0 3193 y(placeholder-v)-5 b(ariable)37 b(instan)m(tiation)i(in)f(the)i (uni\014cation)d(judgmen)m(t.)68 b(Whenev)m(er)40 b(a)g(new)f(instan)m (tiation)g(is)0 3306 y(made,)33 b(the)g(algorithm)e(scans)i(the)g (reconstructed)f(term)h(to)g(p)s(erform)e(the)i(o)s(ccurs)f(c)m(hec)m (k.)48 b(This)31 b(op)s(eration)h(is)0 3419 y(less)25 b(exp)s(ensiv)m(e)g(than)h(complete)g(t)m(yp)s(ec)m(hec)m(king)h(but)e (still)f(detracts)j(from)f(the)g(p)s(erformance)f(adv)-5 b(an)m(tage)28 b(of)e(the)0 3532 y(reconstruction)k(v)m(ersus)g(the)h (v)-5 b(alidation)28 b(of)j(fully-explicit)c(terms.)141 3645 y(W)-8 b(e)38 b(ha)m(v)m(e)g(disco)m(v)m(ered)g(that)f(in)f(most)h (of)g(our)g(exp)s(erimen)m(ts)f(the)h(o)s(ccurs)g(c)m(hec)m(k)h(is)e (not)h(necessary)-8 b(.)62 b(This)0 3758 y(section)42 b(presen)m(ts)f(the)h(results)e(of)h(our)g(e\013orts)h(to)h(isolate)e (as)h(precisely)e(as)h(p)s(ossible)e(the)j(cases)g(when)f(the)0 3871 y(absence)k(of)g(the)g(o)s(ccurs)f(c)m(hec)m(k)i(could)e(lead)g (to)i(inconsistencies.)81 b(The)45 b(optimization)e(presen)m(ted)i(in)e (this)0 3984 y(section)34 b(reco)m(v)m(ered)h(ab)s(out)e(90\045)h(of)g (the)g(cost)g(of)g(o)s(ccurs)f(c)m(hec)m(k)j(in)c(our)h(exp)s(erimen)m (ts)f(with)h(pro)s(of)g(v)-5 b(alidation)0 4097 y(for)30 b(\014rst-order)g(logic.)141 4210 y(The)35 b(basic)f(idea)h(b)s(ehind)d (the)j(o)s(ccurs-c)m(hec)m(k)i(optimization)d(is)g(that)h(most)h (placeholder)d(v)-5 b(ariables)34 b(o)s(ccur)0 4322 y(at)j(most)g(once) f(and)g(in)f(at)i(most)g(one)f(of)h(the)f(terms)g(in)m(v)m(olv)m(ed)g (in)f(a)i(uni\014cation)d(op)s(eration.)58 b(When)36 b(suc)m(h)g(a)0 4435 y(v)-5 b(ariable)25 b(is)h(instan)m(tiated)g(the)h (o)s(ccurs)f(c)m(hec)m(k)j(is)c(ob)m(viously)h(not)g(necessary)-8 b(.)41 b(The)26 b(rest)h(of)f(the)h(section)g(presen)m(ts)0 4548 y(ho)m(w)g(w)m(e)h(iden)m(tify)e(the)i(placeholder)e(v)-5 b(ariables)26 b(that)i(ha)m(v)m(e)g(this)f(linearit)m(y)f(attribute)h (and)f(ho)m(w)i(w)m(e)g(ensure)e(that)0 4661 y(the)31 b(attribute)f(is)f(preserv)m(ed)h(as)h(the)f(uni\014cation)f(go)s(es)i (along.)141 4824 y(W)-8 b(e)34 b(attac)m(h)g(a)f(linearit)m(y)e (attribute)h(to)h(eac)m(h)h(placeholder)d(v)-5 b(ariable)31 b(to)i(iden)m(tify)e(those)i(placeholder)e(v)-5 b(ari-)0 4937 y(ables)29 b(that)i(o)s(ccur)f(at)g(most)g(once)h(and)e(in)g(at)i (most)f(one)g(of)g(the)g(uni\014ed)e(terms.)40 b(W)-8 b(e)31 b(write)e Fx(u)3274 4904 y Fz(l)3330 4937 y FE(to)i(denote)f (that)0 5050 y(the)g(placeholder)f(v)-5 b(ariable)29 b Fx(u)h FE(is)g(linear)e(and)i(w)m(e)g(write)g Fx(u)1998 5017 y Fz(n)2075 5050 y FE(to)h(denote)g(that)f Fx(u)g FE(is)g(non-linear.)39 b(W)-8 b(e)31 b(reserv)m(e)g(the)0 5163 y(notation)38 b Fx(u)h FE(for)f(situations)e(where)i(the)h (linearit)m(y)d(attribute)i(of)g Fx(u)h FE(is)e(not)h(relev)-5 b(an)m(t.)65 b(The)37 b(purp)s(ose)g(of)h(this)0 5276 y(lab)s(elling)24 b(is)j(to)h(b)s(e)f(able)f(to)j(isolate)e(the)h (instan)m(tiation)e(op)s(erations)h(that)h(do)f(not)h(require)e(an)h(o) s(ccurs)g(c)m(hec)m(k)i(b)m(y)1905 5589 y(46)p eop %%Page: 47 49 47 48 bop 0 91 a FE(means)30 b(of)h(a)g(new)e(instan)m(tiation)h(rule:) p 1572 183 757 4 v 1572 275 a Fx(u)1624 238 y Fz(l)1675 275 y FA(\031)25 b Fx(M)35 b FA(\))26 b Fx(u)2063 238 y Fz(l)2114 275 y FA( )f Fx(M)141 401 y FE(The)31 b(\014rst)f(task)i (is)e(to)i(lab)s(el)d(the)j(placeholder)e(v)-5 b(ariables)29 b(as)j(they)f(are)h(in)m(tro)s(duced)d(in)h(the)h(collection)g(rule)0 514 y(for)f(implicit)d(application.)39 b(In)30 b(order)g(to)h (determine)e(the)i(lab)s(elling)c(w)m(e)j(de\014ne)g(the)g(judgmen)m(t) g Fv(line)-5 b(ar)11 b FE(\()p Fx(x;)k FE(\005)p Fx(x)3824 528 y Ft(1)3875 514 y FE(:)0 627 y Fx(A)68 641 y Ft(1)108 627 y Fx(:)g(:)g(:)g(:)h FE(\005)p Fx(x)389 641 y Fz(n)452 627 y FE(:)g Fx(A)561 641 y Fz(n)608 627 y Fx(:A)701 641 y Fz(n)p Ft(+1)839 627 y FE(\))34 b(to)g(denote)g(that)h(the)f(v)-5 b(ariable)32 b Fx(x)i FE(o)s(ccurs)f(at)i(most)f(once)g(in)f(an)m(y)h Fx(A)3297 641 y Fz(i)3359 627 y FE(comp)s(onen)m(t)g(of)0 739 y(the)29 b(t)m(yp)s(e.)41 b(This)27 b(notion)i(is)f(formalized)g(b) s(elo)m(w)h(using)e(the)j(notation)f Fx(x)d FA(2)2564 753 y Fw(\024)p Ft(1)2683 739 y FE(FV)r(\()p Fx(A)p FE(\))k(to)g (denote)f(that)h Fx(x)f FE(has)g(at)0 852 y(most)i(one)f(free)h(o)s (ccurrence)f(in)f Fx(A)p FE(.)998 1096 y Fv(line)-5 b(ar)11 b FE(\()p Fx(x;)k(B)5 b FE(\))213 b Fx(x)25 b FA(2)1819 1110 y Fw(\024)p Ft(1)1938 1096 y FE(FV)r(\()p Fx(A)p FE(\))p 968 1139 1269 4 v 1239 1216 a Fv(line)-5 b(ar)11 b FE(\()p Fx(x;)k FE(\005)p Fx(y)e FE(:)d Fx(A:B)5 b FE(\))2377 1096 y Fx(x)25 b FA(2)2515 1110 y Fw(\024)p Ft(1)2634 1096 y FE(FV)r(\()p Fx(A)p FE(\))p 2347 1139 586 4 v 2407 1216 a Fv(line)-5 b(ar)11 b FE(\()p Fx(x;)k(A)p FE(\))141 1401 y(The)30 b(v)-5 b(ariable)30 b(lab)s(elling)e(is)i(done) g(using)g(an)g(additional)f(mo)s(di\014ed)g(v)m(ersion)h(of)h(the)g (collection)g(rule)e(whic)m(h)0 1514 y(lab)s(els)g(linear)f (placeholder)h(v)-5 b(ariables:)1056 1775 y(\000)26 b FA(`)1155 1731 y Fy(r)1219 1775 y Fx(M)36 b FA(\))25 b FE(\(\001)g(;)h Fx(C)31 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fv(line)-5 b(ar)11 b FE(\()p Fx(x;)k(B)5 b FE(\))p 1026 1816 1848 4 v 1248 1908 a(\000)25 b FA(`)1346 1859 y Fy(r)1411 1908 y Fx(M)35 b FA(\003)26 b(\))f FE(\(\001)p Fx(;)15 b(u)1924 1871 y Fz(l)1976 1908 y FE(:)25 b Fx(A)h FE(;)f Fx(C)32 b FE(;)25 b([)p Fx(u)2394 1871 y Fz(l)2421 1908 y Fx(=x)p FE(])p Fx(B)5 b FE(\))141 2094 y(In)29 b(most)g(cases)i(the)e(linearit) m(y)f(c)m(hec)m(k)j(has)e(a)g(small)f(run-time)g(cost.)41 b(This)28 b(is)g(b)s(ecause)h(whenev)m(er)h(the)f(head)0 2207 y(of)h Fx(M)41 b FE(is)29 b(a)i(constan)m(t)g(the)g(linearit)m(y)e (predicate)h(can)g(b)s(e)g(computed)g(statically)g(and)g(cac)m(hed)h (in)e(the)h(signature.)0 2320 y(F)-8 b(or)31 b(example)f(if)g(the)g (head)g(of)h Fx(M)40 b FE(is)30 b(the)g(constan)m(t)i Fk(and)p 1973 2320 29 4 v 33 w(i)56 b FE(of)30 b(t)m(yp)s(e)727 2524 y(\005)p Fx(x)847 2538 y Ft(1)896 2524 y FE(:)10 b Fk(pred)25 b Fx(::)p FE(\005)p Fx(x)1318 2538 y Ft(2)1368 2524 y FE(:)10 b Fk(pred)25 b Fx(::)p FE(\005)p Fx(x)1790 2538 y Ft(3)1840 2524 y FE(:)10 b Fk(pf)25 b Fx(x)2048 2538 y Ft(1)2087 2524 y Fx(::)p FE(\005)p Fx(x)2257 2538 y Ft(4)2307 2524 y FE(:)10 b Fk(pf)25 b Fx(x)2515 2538 y Ft(2)2555 2524 y Fx(::)p Fk(pf)g FE(\()p Fk(and)g Fx(x)2982 2538 y Ft(1)3047 2524 y Fx(x)3099 2538 y Ft(2)3138 2524 y FE(\))0 2728 y(the)30 b(all)e(the)i(v)-5 b(ariables)28 b(in)m(tro)s(duced)g(in)g(the)i(collection)f(for)h Fx(M)39 b FE(are)30 b(linear.)39 b(Ho)m(w)m(ev)m(er,)32 b(if)c(the)i(head)f(is) g Fk(eq)p 3674 2728 V 34 w(id)g FE(of)0 2841 y(t)m(yp)s(e)1490 2954 y(\005)p Fx(x)1610 2968 y Ft(1)1660 2954 y FE(:)10 b Fk(exp)25 b Fx(::)p Fk(pf)g FE(\(=)g Fx(x)2218 2968 y Ft(1)2283 2954 y Fx(x)2335 2968 y Ft(1)2374 2954 y FE(\))0 3121 y(the)31 b(v)-5 b(ariable)31 b Fx(x)552 3135 y Ft(1)622 3121 y FE(is)f(not)i(linear)e(b)s(ecause)h(it)g(o)s (ccurs)g(t)m(wice)g(in)f(the)i(same)f(atomic)h(comp)s(onen)m(t)g(of)f (the)h(t)m(yp)s(e.)43 b(If)0 3234 y(the)35 b(head)g(of)g Fx(M)45 b FE(is)35 b(a)g(v)-5 b(ariable)34 b(w)m(e)h(can)h(simply)c (use)j(the)g(usual)f(non-linear)f(collection)i(rule)f(and)g(a)m(v)m (oid)i(the)0 3347 y(c)m(hec)m(k.)42 b(Note)30 b(that)g(w)m(e)g(do)f (not)g(jeopardize)g(the)g(correctness)h(of)f(the)h(algorithm)e(b)m(y)h (ha)m(ving)g(to)s(o)h(few)e(linearit)m(y)0 3459 y(lab)s(els.)141 3572 y(W)-8 b(e)30 b(can)e(state)i(the)f(linearit)m(y)e(prop)s(ert)m(y) h(in)f(terms)h(of)h(the)f(logic)g(inference)g(rules)f(that)i(the)g (constan)m(ts)g(in)e(\006)0 3685 y(represen)m(t.)40 b(A)28 b(logic)g(v)-5 b(ariable)26 b(is)h(linear)f(in)h(an)h(inference)f(rule) f(if)h(it)g(app)s(ears)g(at)i(most)f(once)h(in)d(the)i(conclusion)0 3798 y(and)i(at)h(most)g(once)g(in)e(eac)m(h)i(of)g(the)f(h)m(yp)s (otheses)h(of)f(the)h(inference)e(rule.)141 3961 y(Just)f(iden)m (tifying)d(the)j(linear)f(placeholder)g(v)-5 b(ariables)26 b(is)h(not)i(su\016cien)m(t.)39 b(In)27 b(order)h(to)h(motiv)-5 b(ate)28 b(the)h(other)0 4074 y(c)m(hanges)34 b(to)g(the)f (reconstruction)g(rules)f(w)m(e)i(\014rst)e(state)j(our)d(goals)i(in)e (the)h(form)g(of)g(a)h(list)e(of)h(in)m(v)-5 b(arian)m(ts)32 b(that)0 4187 y(w)m(e)39 b(w)m(an)m(t)f(to)h(preserv)m(e)g(throughout)e (reconstruction.)64 b(These)37 b(in)m(v)-5 b(arian)m(ts)38 b(also)g(serv)m(e)g(as)h(the)f(basis)f(for)h(the)0 4300 y(informal)24 b(correctness)k(argumen)m(ts,)f(and)f(can)h(b)s(e)f(view) m(ed)g(as)h(informal)d(statemen)m(ts)k(of)f(a)g(series)f(of)g (correctness)0 4413 y(theorems.)141 4525 y FD(In)m(v)-6 b(arian)m(ts:)107 4713 y Fv(1.)46 b(In)28 b(al)5 b(l)29 b(judgments)f(we)h(never)e(have)i(simultane)-5 b(ous)30 b(o)-5 b(c)g(curr)g(enc)g(es)29 b(of)f(b)-5 b(oth)30 b(the)e(line)-5 b(ar)29 b(and)g(the)g(non-line)-5 b(ar)227 4826 y(versions)30 b(of)f(a)g(plac)-5 b(eholder)31 b(variable.)42 b(That)29 b(is,)h(the)f(line)-5 b(arity)30 b(pr)-5 b(op)g(erty)31 b(is)e(attache)-5 b(d)31 b(to)e(a)g(variable)h(and)227 4939 y(not)k(to)f(its)g(o)-5 b(c)g(curr)g(enc)g(es.)107 5127 y(2.)46 b(Whenever)29 b(a)h(uni\014c)-5 b(ation)30 b(judgment)f(is)g(invoke)-5 b(d)30 b(al)5 b(l)29 b(line)-5 b(ar)30 b(variables)g(o)-5 b(c)g(cur)30 b(at)g(most)g(onc)-5 b(e)29 b(in)g(at)h(most)227 5239 y(one)j(of)g(the)g(terms)g(to)h(b)-5 b(e)32 b(uni\014e)-5 b(d.)1905 5589 y FE(47)p eop %%Page: 48 50 48 49 bop 107 91 a Fv(3.)46 b(A)n(l)5 b(l)27 b(substitutions)i(have)g (the)f(pr)-5 b(op)g(erty)31 b(that)e(non-line)-5 b(ar)29 b(variables)g(ar)-5 b(e)29 b(instantiate)-5 b(d)30 b(to)e(terms)h(c)-5 b(ontain-)227 204 y(ing)33 b(only)g(non-line)-5 b(ar)34 b(variables.)141 392 y FE(It)27 b(is)f(clear)h(that)g(if)f(the)g(ab)s (o)m(v)m(e)i(in)m(v)-5 b(arian)m(ts)26 b(hold)g(then)g(it)g(is)g(safe)h (to)h(omit)e(the)h(o)s(ccurs)f(c)m(hec)m(k)j(when)c(a)j(linear)0 505 y(v)-5 b(ariable)36 b(is)h(uni\014ed.)59 b(Next)39 b(w)m(e)e(sho)m(w)h(the)f(mo)s(di\014cations)f(that)i(are)g(required)e (in)g(order)h(to)h(preserv)m(e)f(these)0 618 y(in)m(v)-5 b(arian)m(ts.)141 780 y(Substitutions)35 b(are)i(pro)s(duced)f(b)m(y)h (the)h(instan)m(tiation)e(rule)g(and)h(are)g(then)g(transformed)g (using)f(comp)s(o-)0 893 y(sition)c(and)h(restriction.)50 b(It)34 b(is)e(easy)j(to)f(see)g(that)h(substitution)c(comp)s(osition)h (and)h(restriction)g(preserv)m(e)h(the)0 1006 y(substitution)c(in)m(v) -5 b(arian)m(t.)47 b(The)32 b(only)f(remaining)g(fact)j(to)f(c)m(hec)m (k)h(ab)s(out)e(substitutions)e(is)i(that)h(the)g(in)m(v)-5 b(arian)m(t)0 1119 y(holds)26 b(on)h(a)h(newly)e(pro)s(duced)g(instan)m (tiations.)39 b(Substitutions)24 b(in)m(tro)s(duced)i(b)m(y)h(the)h (linear)e(instan)m(tiation)g(rule)0 1232 y(are)41 b(not)f(a)h(problem.) 69 b(Ho)m(w)m(ev)m(er,)45 b(in)39 b(order)h(to)h(establish)e(the)i(in)m (v)-5 b(arian)m(t)39 b(in)g(the)i(case)g(of)g(a)f(non-linear)f(in-)0 1345 y(stan)m(tiation)31 b(w)m(e)h(m)m(ust)e(c)m(hange)i(the)f(instan)m (tiation)f(rule)g(to)i(instan)m(tiate)f(non-linear)e(v)-5 b(ariables)29 b(only)h(to)i(terms)0 1458 y(con)m(taining)e(non-linear)e (v)-5 b(ariables.)141 1571 y(F)d(or)38 b(this)e(purp)s(ose)f(w)m(e)i (de\014ne)g(the)g(op)s(eration)f Fv(Nonline)-5 b(ar)11 b FE(\()p Fx(M)f FE(\))37 b FA(\))f FE(\011)h(to)h(pro)s(duce)d(a)j (substitution)c(con-)0 1684 y(taining)26 b(only)h(mappings)f(of)h(the)h (form)f Fx(u)1427 1651 y Fz(l)1478 1684 y FA( )e Fx(u)1646 1651 y Fz(n)1721 1684 y FE(for)i(all)f(linear)g(v)-5 b(ariables)26 b Fx(u)2656 1651 y Fz(l)2710 1684 y FE(o)s(ccurring)g(in) g Fx(M)10 b FE(.)40 b(The)27 b(mo)s(di\014ed)0 1797 y(v)m(ersion)j(of)g (the)h(non-linear)d(instan)m(tiation)i(rule)f(is:)1087 2040 y Fx(u)c FA(62)g FE(FV)r(\()p Fx(M)10 b FE(\))213 b Fv(Nonline)-5 b(ar)11 b FE(\()p Fx(M)f FE(\))26 b FA(\))f FE(\011)p 1057 2081 1514 4 v 1311 2158 a Fx(u)1363 2120 y Fz(n)1435 2158 y FA(\031)g Fx(M)35 b FA(\))26 b FE(\011)19 b FA(\016)i FE([)p Fx(u)2004 2120 y Fz(n)2077 2158 y FA( )k Fx(M)10 b FE(])2580 2102 y Fk(u)p 2634 2102 29 4 v 34 w(inst)141 2343 y FE(Similarly)31 b(w)m(e)k(need)f(to)i(mo)s (dify)d(the)h Fx(\014)5 b FE(-reduction)34 b(uni\014cation)f(rule)g(to) j(prev)m(en)m(t)f(linear)e(v)-5 b(ariables)33 b(to)j(b)s(e)0 2456 y(duplicated)28 b(b)m(y)j Fx(\014)5 b FE(-reduction.)806 2718 y Fv(Nonline)-5 b(ar)11 b FE(\()p Fx(N)f FE(\))26 b FA(\))f FE(\011)212 b([\011\()p Fx(N)10 b FE(\))p Fx(=x)p FE(])p Fx(M)37 b FA(\031)2350 2732 y Fz(a)2416 2718 y Fx(M)2514 2685 y Fw(0)2563 2718 y FA(\))25 b FE(\011)2750 2685 y Fw(0)p 776 2758 2028 4 v 1248 2841 a FE(\()p Fx(\025x:M)10 b FE(\))26 b Fx(N)35 b FA(\031)1751 2855 y Fz(a)1818 2841 y Fx(M)1916 2804 y Fw(0)1965 2841 y FA(\))25 b FE(\011)2152 2804 y Fw(0)2195 2841 y FA(\016)c FE(\011)2813 2779 y Fk(au)p 2915 2779 29 4 v 34 w(beta)141 3027 y FE(Note)34 b(that)f(whenev)m(er)f(w)m(e)h(c)m(hange)h(the)f(linearit)m(y)e (attribute)h(of)h(a)f(v)-5 b(ariable,)33 b(the)f(fact)i(is)d(recorded)i (in)e(the)0 3140 y(substitution)40 b(pro)s(duced)h(b)m(y)h(the)g Fv(Nonline)-5 b(ar)54 b FE(function)41 b(so)h(that)h(w)m(e)g(can)f(do)g (the)h(c)m(hange)g(globally)-8 b(.)76 b(This)0 3252 y(ensures)29 b(that)i(the)g(linearit)m(y)e(attribute)h(is)f(global.)141 3415 y(The)22 b(most)h(imp)s(ortan)m(t)f(in)m(v)-5 b(arian)m(t)22 b(from)g(the)h(list)f(ab)s(o)m(v)m(e)i(is)d(the)i(one)g(ab)s(out)g (uni\014cation.)36 b(W)-8 b(e)24 b(can)f(sho)m(w)f(that)0 3528 y(this)35 b(in)m(v)-5 b(arian)m(t)36 b(is)f(preserv)m(ed)h (throughout)g(uni\014cation.)56 b(The)36 b(only)f(di\016cult)f(case)k (here)e(is)f(the)i(application)0 3641 y(case.)42 b(W)-8 b(e)31 b(can)f(pro)m(v)m(e)h(the)f(in)m(v)-5 b(arian)m(t)29 b(preserv)-5 b(ation)29 b(in)g(this)g(case)i(if)e(w)m(e)h(observ)m(e)h (the)f(follo)m(wing)e(prop)s(erties)h(of)0 3754 y(substitutions)f(pro)s (duced)h(b)m(y)h(uni\014cation:)136 3942 y FA(\017)46 b FE(If)30 b Fx(M)36 b FA(\031)24 b Fx(N)36 b FA(\))25 b FE(\011)30 b(then)g(\011)g(can)h(con)m(tain)f(only)g(v)-5 b(ariables)29 b(that)i(o)s(ccur)f(in)f Fx(M)40 b FE(or)31 b Fx(N)10 b FE(.)136 4129 y FA(\017)46 b FE(If)29 b Fx(M)36 b FA(\031)25 b Fx(N)35 b FA(\))25 b FE(\011)k(then)h(an)m(y)g(linear)e (v)-5 b(ariable)28 b(app)s(ears)h(at)i(most)f(once)g(in)f(at)h(most)g (one)g(of)g(the)g(instan)m(ti-)227 4242 y(ations)g(from)g(\011.)141 4430 y(The)40 b(most)h(di\016cult)d(prop)s(ert)m(y)i(to)h(sho)m(w)g(is) e(that)i(when)f(uni\014cation)f(is)g(in)m(v)m(ok)m(ed)i(from)f(the)h (constrain)m(t)0 4543 y(solving)d(judgmen)m(t)i(the)f(uni\014cation)f (in)m(v)-5 b(arian)m(t)39 b(holds.)67 b(In)38 b(order)i(to)g(do)f(this) g(w)m(e)h(m)m(ust)f(observ)m(e)i(that)f(the)0 4656 y(follo)m(wing)29 b(in)m(v)-5 b(arian)m(ts)29 b(hold:)141 4768 y FD(In)m(v)-6 b(arian)m(ts:)107 4956 y Fv(4.)46 b(If)33 b Fx(M)i FA(\031)25 b Fx(N)35 b FA(\))25 b FE(\011)33 b Fv(and)g Fx(u)1098 4923 y Fz(l)1150 4956 y FA(2)24 b Fv(Dom)8 b FE(\(\011\))20 b FA(\\)g FE(FV)r(\()p Fx(M)10 b FE(\))33 b Fv(and)h Fx(v)2228 4923 y Fz(l)2279 4956 y FA(2)25 b FE(FV)r(\(\011\()p Fx(u)2687 4923 y Fz(l)2714 4956 y FE(\)\))33 b Fv(then)g Fx(v)3066 4923 y Fz(l)3118 4956 y FA(2)24 b FE(FV)r(\()p Fx(N)10 b FE(\))p Fv(.)107 5144 y(5.)46 b(No)27 b(plac)-5 b(eholder)30 b(variable)e(that)g(app)-5 b(e)g(ars)30 b(in)c FE(\000\()p Fx(x)p FE(\))i Fv(for)f(some)h Fx(x)p Fv(,)g(is)f(instantiate)-5 b(d)29 b(until)e Fx(x)e FE(:)h Fx(A)h Fv(is)f(r)-5 b(etr)g(acte)g(d)227 5257 y(fr)g(om)34 b FE(\000)p Fv(.)1905 5589 y FE(48)p eop %%Page: 49 51 49 50 bop 107 91 a Fv(6.)46 b(Whenever)33 b FE(\000)25 b FA(`)752 46 y Fy(r)817 91 y Fx(M)35 b FE(:)26 b Fx(A)g FA(\))f FE(\011)32 b Fv(is)h(invoke)-5 b(d,)33 b(al)5 b(l)33 b(line)-5 b(ar)34 b(variables)g(o)-5 b(c)g(cur)33 b(at)g(most)h(onc)-5 b(e)33 b(in)g Fx(A)p Fv(.)42 b(A)n(lso,)33 b(the)227 204 y(r)-5 b(esulting)34 b(substitution)f(do)-5 b(es)33 b(not)h(c)-5 b(ontain)34 b(instantiations)h FE(\011\()p Fx(u)p FE(\))e Fv(that)g(c)-5 b(ontain)34 b(line)-5 b(ar)34 b(variables.)141 392 y FE(The)28 b(\014rst)g(in)m(v)-5 b(arian)m(t)27 b(ab)s(o)m(v)m(e)j(is)e(sho)m(wn)f(b)m(y)i(induction)d (on)i(the)h(uni\014cation)d(judgmen)m(t)i(using)f(the)i(fact)g(that)0 505 y(linear)j(v)-5 b(ariables)33 b(app)s(ear)g(at)i(most)f(once)h(in)d (at)j(most)f(one)g(side)f(of)h(the)g(uni\014cation.)49 b(The)34 b(second)g(in)m(v)-5 b(arian)m(t)0 618 y(is)36 b(motiv)-5 b(ated)38 b(b)m(y)g(the)f(fact)h(that)g(only)f(the)h(empt)m (y)f(substitution)e(can)j(b)s(e)f(the)g(result)g(of)g(t)m(yp)s(e-c)m (hec)m(king)i(an)0 731 y(abstraction.)141 844 y(In)26 b(order)h(to)h(sho)m(w)f(the)g(last)g(in)m(v)-5 b(arian)m(t)26 b(w)m(e)i(note)g(that)f(t)m(yp)s(e-c)m(hec)m(king)i(judgmen)m(ts)d(are) i(only)e(in)m(v)m(ok)m(ed)h(from)0 956 y(the)36 b(constrain)m(t)f (solving)f(judgmen)m(t,)j(whic)m(h)d(in)g(turn)g(is)h(in)m(v)m(ok)m(ed) h(after)g(a)f(constrain)m(t)h(list)e Fx(C)42 b FE(w)m(as)36 b(pro)s(duced)0 1069 y(b)m(y)c(the)f(judgmen)m(t)h(\000)27 b FA(`)791 1024 y Fy(r)858 1069 y Fx(M)38 b FA(\))27 b FE(\(\001)g(;)h Fx(C)34 b FE(;)28 b Fx(B)5 b FE(\).)44 b(If)31 b Fx(N)1798 1036 y Fw(0)1849 1069 y FE(:)d Fx(A)1970 1036 y Fw(0)2025 1069 y FE(is)i(a)i(comp)s(onen)m(t)g(of)g(a)g (constrain)m(t)g(list)e Fx(C)38 b FE(w)m(e)33 b(notice)0 1182 y(that)28 b Fx(A)262 1149 y Fw(0)314 1182 y FE(has)f(the)h (linearit)m(y)e(attribute)i(and)f(furthermore)g(it)g(only)g(con)m (tains)h(linear)e(v)-5 b(ariables)27 b(from)g(the)h(newly)0 1295 y(in)m(tro)s(duced)35 b(set)j(\001.)711 1262 y Ft(1)810 1295 y FE(Also,)g(if)e Fx(A)g FA(\031)1313 1309 y Fz(a)1390 1295 y Fx(B)41 b FE(is)36 b(a)h(uni\014cation)e(constrain)m(t)i(in)f Fx(C)43 b FE(w)m(e)37 b(notice)g(that)g(the)g(linearit)m(y)0 1408 y(in)m(v)-5 b(arian)m(t)34 b(is)g(established)f(initially)e(and)j (furthermore)g(the)g(linear)g(v)-5 b(ariables)33 b(in)g Fx(A)i FE(are)g(not)g(in)f(\001,)h(while)e(all)0 1521 y(the)e(linear)d(v)-5 b(ariables)29 b(in)g Fx(B)35 b FE(are)c(in)e(\001.)141 1634 y(The)c(last)f(pro)s(of)h(obligation)e(is) h(to)i(sho)m(w)f(that)h(while)d(doing)h(constrain)m(t)h(solving)e (follo)m(w)m(ed)i(b)m(y)g(the)g(transfor-)0 1747 y(mation)h(of)g(the)g (remaining)e(list)h(with)f(the)j(in)m(termediate)e(substitution,)g(the) h(linearit)m(y)f(in)m(v)-5 b(arian)m(t)25 b(is)g(preserv)m(ed.)0 1860 y(This)g(can)i(b)s(e)f(done)h(separately)g(for)g(the)g(cases)h (when)e(the)h(\014rst)f(goal)h(solv)m(ed)g(is)f(a)h(uni\014cation)e (goal)i(or)g(a)g(t)m(yping)0 1973 y(goal.)41 b(F)-8 b(or)31 b(this)f(purp)s(ose)e(w)m(e)j(use)f(the)h(substitution)d(in)m(v)-5 b(arian)m(ts)29 b(men)m(tioned)h(ab)s(o)m(v)m(e.)141 2135 y(As)35 b(sho)m(wn)f(in)f(Section)h(11,)j(this)c(o)s(ccurs-c)m (hec)m(k)k(optimization)c(is)h(v)m(ery)h(e\013ectiv)m(e)h(when)d(c)m (hec)m(king)j(pro)s(ofs)0 2248 y(in)29 b(\014rst-order)g(logics.)41 b(This)28 b(is)i(b)s(ecause)g(all)f(the)i(applications)d(ha)m(v)m(e)k (a)e(constan)m(t)i(head)e(and)g(w)m(e)g(do)h(not)f(lo)s(ose)0 2361 y(an)m(ything)35 b(b)m(y)h(not)g(optimizing)e(the)i(case)g(of)g(v) -5 b(ariable)35 b(heads.)56 b(Another)36 b(and)f(a)h(more)g(imp)s (ortan)m(t)f(reason)h(is)0 2474 y(that)28 b(the)g(v)-5 b(ast)29 b(ma)5 b(jorit)m(y)27 b(of)h(inference)f(rule)g(in)f(a)i(t)m (ypical)g(logic)f(are)h(completely)g(linear.)38 b(F)-8 b(or)29 b(example)e(all)g(the)0 2587 y(inference)35 b(rule)g(of)h (\014rst-order)f(predicate)g(logic)h(are)g(linear.)56 b(In)35 b(our)g(exp)s(erimen)m(ts)g(w)m(e)h(only)f(use)h(non-linear)0 2700 y(rules)e(that)h(deal)g(with)f(arithmetic)g(and)h(ev)m(en)h(in)e (that)h(case)i(only)d(a)h(part)g(of)h(the)f(v)-5 b(ariables)34 b(are)i(non-linear.)0 2813 y(W)-8 b(e)30 b(ha)m(v)m(e)g(measured)e (reductions)g(of)g(up)g(to)i(90\045)f(in)e(the)i(cost)h(of)f(the)g(\\o) s(ccurs")g(c)m(hec)m(k)i(when)c(c)m(hec)m(king)j(pro)s(ofs)0 2926 y(of)e(\014rst-order)g(logic.)40 b(This)26 b(translated)i(to)h (reductions)e(of)i(up)e(to)i(60\045)g(in)e(the)i(total)g(cost)g(of)g (pro)s(of)e(v)-5 b(alidation.)0 3039 y(These)35 b(n)m(um)m(b)s(ers)e(w) m(ere)j(measured)e(for)h(an)g(implemen)m(tation)f(that)h(con)m(tains)h (other)f(optimizations,)g(some)h(of)0 3152 y(whic)m(h)29 b(mak)m(e)i(the)g(cost)g(of)g(computing)e(the)i Fv(Nonline)-5 b(ar)41 b FE(function)30 b(negligible.)0 3395 y Fs(9.2)112 b(Optimizing)35 b(the)i(Side)g(Conditions)0 3567 y FE(The)25 b(largest)i(opp)s(ortunit)m(y)d(for)h(optimization)g(in)g(the)h (reconstruction)f(algorithm)g(is)g(giv)m(en)h(b)m(y)g(the)g(side)f (condi-)0 3679 y(tions.)38 b(In)22 b(the)i(previous)e(section)h(w)m(e)h (presen)m(ted)f(suc)m(h)g(an)g(optimization)f(for)h(the)h(o)s(ccurs-c)m (hec)m(k)h(side)d(condition.)0 3792 y(Another)29 b(side)f(condition)f (that)j(can)f(b)s(e)g(optimized)f(is)g(the)h(one)g(in)f(the)h (collection)g(rule)e(for)i(application)e(to)j(an)0 3905 y(explicit)f(term.)141 4018 y(This)g(side)g(condition)g(in)m(v)m(olv)m (es)h(four)g(c)m(hec)m(ks)i(in)d(the)i(w)m(orst)f(case:)795 4222 y Fx(x)c FA(2)f FE(FV)q(\()p Fx(B)5 b FE(\))26 b FA(\033)f FE(\(PF\()p Fx(N)10 b FE(\))26 b Fv(and)36 b FE(PVF\()p Fx(A)p FE(\))26 b Fv(and)36 b FE(PVF)q(\(\000\(FV)r(\()p Fx(N)10 b FE(\)\)\)\))141 4427 y(W)-8 b(e)39 b(note)f(\014rst)f(that)h (the)f(c)m(hec)m(k)i Fx(x)e FA(2)g FE(FV)r(\()p Fx(B)5 b FE(\))37 b(can)h(b)s(e)f(precomputed)f(in)h(the)g(cases)h(when)f(the) h(head)f(of)0 4540 y Fx(M)45 b FE(is)34 b(a)i(constan)m(t)g(in)e(a)i (similar)c(w)m(a)m(y)k(as)f(w)m(e)h(precomputed)f(the)g(linearit)m(y)e (predicate)i(for)g(the)h(o)s(ccurs)e(c)m(hec)m(k)0 4653 y(optimization.)141 4790 y(W)-8 b(e)38 b(fo)s(cus)e(on)h(the)f(c)m(hec) m(ks)i(on)f Fx(N)46 b FE(and)37 b(w)m(e)g(ignore)f(here)g(the)h(c)m (hec)m(k)h(PVF)q(\()p Fx(A)p FE(\).)60 b(The)36 b(basic)g(idea)g(here)h (is)0 4903 y(that)31 b Fx(N)41 b FE(is)29 b(collected)i(in)e(the)i(t)m (yping)f(constrain)m(t)h(list)e(and)h(is)g(ev)m(en)m(tually)g(t)m(yp)s (e-c)m(hec)m(k)m(ed.)44 b(Therefore,)31 b(instead)0 5016 y(of)d(c)m(hec)m(king)g(the)g(conditions)e(on)h Fx(N)37 b FE(eagerly)28 b(at)h(the)e(time)h(of)f(collection,)h(w)m(e)g(just)f (mark)g(that)h(they)g(should)e(b)s(e)p 0 5095 1560 4 v 104 5149 a Fc(1)138 5181 y FC(Except)g(p)r(erhaps)h(some)f(linear)h (v)l(ariable)g(o)r(ccurring)h(in)e(some)h(\000\()p Fb(x)p FC(\).)36 b(But)26 b(w)n(e)h(argued)g(b)r(efore)g(that)g(these)f(are)h (nev)n(er)f(instan-)0 5272 y(tiated)g(while)g(solving)h(the)e(curren)n (t)g(constrain)n(t)h(list,)h(and)e(therefore)i(w)n(e)f(can)g(ignore)g (them)f(here.)1905 5589 y FE(49)p eop %%Page: 50 52 50 51 bop 0 91 a FE(c)m(hec)m(k)m(ed)30 b(at)e(the)g(time)f Fx(N)38 b FE(is)26 b(c)m(hec)m(k)m(ed.)42 b(As)28 b(sho)m(wn)f(in)f (Section)h(11,)i(this)e(is)g(an)g(e\013ectiv)m(e)i(optimization)e(b)s (ecause)0 204 y(dela)m(ying)j(the)g(c)m(hec)m(ks)i(has)e(the)h(p)s (oten)m(tial)e(of)i(collapsing)e(m)m(ultiple)f(c)m(hec)m(ks)k(in)m(to)e (a)h(single)e(one.)141 317 y(Whenev)m(er)45 b Fx(N)55 b FE(is)43 b(added)h(to)i(the)e(t)m(yping)g(constrain)m(t)h(list)e(w)m (e)i(set)g(a)g(\015ag)g(marking)f(that)h(when)e Fx(N)55 b FE(is)0 430 y(t)m(yp)s(ec)m(hec)m(k)m(ed)40 b(w)m(e)f(should)d(also)h (v)m(erify)h(that)g(it)g(do)s(es)f(not)i(con)m(tain)f(placeholders)e (and)i(all)f(v)-5 b(ariables)36 b(free)i(in)0 543 y(it)33 b(ha)m(v)m(e)h(t)m(yp)s(es)f(that)h(do)f(not)h(con)m(tain)f (placeholder)f(v)-5 b(ariables.)48 b(W)-8 b(e)34 b(call)f(this)f (\015ag)i Fx(p)e FE(and)h(w)m(e)h(write)e(the)h(new)0 656 y(reconstruction)g(judgmen)m(t)f(as)h(\000)d FA(`)1223 611 y Fy(r)1216 671 y(p)1292 656 y Fx(M)39 b FE(:)30 b Fx(A)g FA(\))f FE(\011.)48 b(The)33 b(\015ag)g Fx(p)g FE(can)g(ha)m(v)m(e)h(either)e(the)i(v)-5 b(alue)32 b Fk(full)p FE(,)h(meaning)0 769 y(that)d(the)g(term)g Fx(M)40 b FE(cannot)30 b(con)m(tain)g(placeholders,)f(or)h Fk(implicit)d FE(otherwise.)40 b(The)29 b(initial)e(v)-5 b(alue)30 b(of)g(the)g(\015ag)0 882 y(is)f Fk(implicit)p FE(.)141 995 y(With)g(this)g(extra)h(\015ag)g(w)m(e)g(can)g(dela)m(y)f (the)h(side-condition)d(c)m(hec)m(k)32 b(from)d(the)g(collection)h (rule)e(to)i(when)f(the)0 1108 y(explicit)e(argumen)m(t)i(is)e(t)m(yp)s (ec)m(hec)m(k)m(ed.)43 b(The)28 b(new)g(reconstruction)g(judgmen)m(ts,) h(implemen)m(ting)d(this)h(optimiza-)0 1220 y(tion)j(and)g(also)g(the)h (o)s(ccurs-c)m(hec)m(k)h(optimization)d(are)i(sho)m(wn)e(in)g(Figure)h (16.)0 1464 y Fs(9.3)112 b(Optimizations)35 b(Sp)s(eci\014c)i(to)g (First-Order)g(Logics)0 1635 y FE(The)32 b(optimization)f(presen)m(ted) i(in)e(Section)h(9.2)i(optimized)d(the)i(c)m(hec)m(king)g(of)g(a)g (complicated)f(side)f(condition)0 1748 y(from)e(the)h(constrain)m(t)g (collecting)f(rule.)39 b(As)30 b(a)g(result)e(of)i(this)f (optimization,)g(the)h(side)e(condition)g(w)m(as)i(split)e(in)0 1861 y(sev)m(eral)c(parts.)38 b(Among)24 b(these)g(the)f(most)h(exp)s (ensiv)m(e)f(are)h(the)g(side)e(conditions)g(from)h(the)h(rules)e Fk(cc)p 3430 1861 29 4 v 34 w(x)h FE(\(c)m(hec)m(king)0 1974 y(that)j(the)f(t)m(yp)s(e)g(of)g(a)g(v)-5 b(ariable)24 b(do)s(es)h(not)g(con)m(tain)g(placeholder)f(v)-5 b(ariables\))24 b(and)g Fk(cc)p 2872 1974 V 34 w(dep)g FE(\(c)m(hec)m(king)i(that)f(a)h (t)m(yp)s(e)0 2087 y(do)s(es)k(not)h(con)m(tain)f(placeholder)f(v)-5 b(ariables\).)141 2200 y(In)33 b(certain)g(situations)e(these)j (residual)d(c)m(hec)m(ks)k(can)e(b)s(e)f(omitted)i(altogether.)50 b(This)31 b(section)i(sho)m(ws)g(that)0 2313 y(this)c(is)h(the)g(case)i (if)d(w)m(e)i(restrict)f(our)g(atten)m(tion)h(to)g(c)m(hec)m(king)h (pro)s(ofs)d(of)i(\014rst-order)e(logic)h(predicates.)141 2476 y(F)-8 b(or)30 b(the)g(purp)s(ose)e(of)h(this)g(section)g(w)m(e)h (restrict)f(our)g(atten)m(tion)i(to)f(reconstruction)f(in)f(the)i(case) g(when)f(the)0 2589 y(signature)34 b(\006)h(is)f(the)h(represen)m (tation)g(of)g(a)g(\014rst-order)f(logic,)i(using)d(as)i(an)g(example)g (the)g(represen)m(tation)g(of)0 2701 y(the)c(logic)f FA(L)g FE(in)m(tro)s(duced)e(in)i(Section)g(2.)141 2814 y(By)d(insp)s(ection)e(of)i(the)g(signature)f(\006)g(w)m(e)i(realize)e (that)i(the)f(only)f(dep)s(enden)m(t)f(t)m(yp)s(e)i(family)f(is)f Fk(pf)50 b FE(:)26 b Fk(pred)e FA(!)0 2927 y Fk(Type)o FE(.)42 b(Also)30 b(b)m(y)g(insp)s(ecting)f(the)i(predicate)g (constructors)g(w)m(e)g(notice)g(that)g(only)f(ob)5 b(jects)31 b(of)g(t)m(yp)s(e)g Fk(exp)p FE(,)f Fk(pred)0 3040 y FE(and)j Fk(exp)c FA(!)i Fk(pred)h FE(can)i(o)s(ccur)f(in)f (normal-form)h(predicates.)49 b(F)-8 b(rom)34 b(this)f(w)m(e)h (conclude)e(that)j(the)e(only)g(t)m(yp)s(e)0 3153 y(dep)s(endency)c(in) g(\006)h(is)f(on)i(ob)5 b(jects)31 b(of)f(t)m(yp)s(e)h Fk(pred)p FE(,)e Fk(exp)h FE(and)g Fk(exp)24 b FA(!)h Fk(pred)o FE(.)141 3266 y(Therefore,)j(in)e(the)i Fk(cc)p 935 3266 V 34 w(dep)e FE(rule)g(b)s(ecause)h(w)m(e)h(ha)m(v)m(e)h Fx(x)c FA(2)g FE(FV)r(\()p Fx(B)5 b FE(\))27 b(it)g(m)m(ust)g(b)s(e)g (that)h Fx(A)g FE(is)e(one)i(of)f(the)h(ab)s(o)m(v)m(e)0 3379 y(men)m(tioned)d(t)m(yp)s(es,)i(none)e(of)h(whic)m(h)e(can)i(con)m (tain)g(placeholder)e(v)-5 b(ariables.)37 b(Therefore)26 b(w)m(e)g(can)f(omit)h(the)f(c)m(hec)m(k)0 3492 y(PVF\()p Fx(A)p FE(\).)141 3605 y(Similarly)20 b(w)m(e)k(infer)e(that)i(an)m(y)g (ob)5 b(ject)25 b Fx(N)33 b FE(of)24 b(t)m(yp)s(e)g Fk(exp)p FE(,)g Fk(pred)e FE(or)i Fk(exp)g FA(!)h Fk(pred)e FE(can)h(only)e(con) m(tain)i(v)-5 b(ariables)0 3718 y(of)32 b(t)m(yp)s(e)g Fk(exp)p FE(.)44 b(W)-8 b(e)34 b(deduce)d(therefore)h(that)h(the)f (condition)e Fx(p)e FE(=)f Fk(full)g FA(\033)h FE(PVF\(\000\()p Fx(x)p FE(\)\))33 b(is)e(alw)m(a)m(ys)h(satis\014ed)f(in)0 3831 y(the)g(rule)e Fk(cc)p 441 3831 V 33 w(x)h FE(and)g(can)h(b)s(e)f (omitted.)141 3943 y(The)23 b(reasoning)f(b)s(ehind)e(these)k (optimizations)e(dep)s(ends)f(only)h(on)h(the)g(syn)m(tactic)h (structure)f(of)g(expressions)0 4056 y(and)32 b(predicates)g(and)g(on)g (the)h(fact)g(that)g(the)g(only)e(dep)s(enden)m(t)g(t)m(yp)s(e)i(is)e (that)i(of)g(pro)s(ofs.)46 b(It)33 b(is)e(reasonable)h(to)0 4169 y(exp)s(ect)45 b(that)g(these)g(prop)s(erties)e(hold)g(for)h(a)h (v)m(ery)g(large)g(class)f(of)g(\014rst-order)g(logics,)k(and)c (therefore)h(the)0 4282 y(optimizations)38 b(presen)m(ted)h(here)g(are) g(not)g(sp)s(eci\014c)f(to)i FA(L)e FE(but)g(can)i(b)s(e)e(applied)f (to)j(man)m(y)f(other)g(\014rst-order)0 4395 y(logics.)1905 5589 y(50)p eop %%Page: 51 53 51 52 bop 0 97 a Fv(Main)32 b(R)-5 b(e)g(c)g(onstruction)36 b(:)1407 249 y FE(\000)p Fx(;)15 b(x)25 b FE(:)h Fx(A)f FA(`)1741 204 y Fy(r)1734 265 y(p)1806 249 y Fx(M)35 b FE(:)26 b Fx(B)k FA(\))25 b(\001)p 1330 292 967 4 v 1330 371 a FE(\000)g FA(`)1428 322 y Fy(r)1421 387 y(p)1493 371 y Fx(\025x:M)36 b FE(:)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)31 b FA(\))25 b(\001)2307 313 y Fk(tp)p 2409 313 29 4 v 33 w(lam)43 603 y FE(\000)g FA(`)141 558 y Fy(r)134 619 y(p)206 603 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)25 b Fx(B)5 b FE(\))212 b(\000)p Fx(;)15 b FE(\001)26 b FA(`)1315 558 y Fy(r)1380 603 y Fx(C)q(;)15 b(A)26 b FA(\031)1651 617 y Fz(a)1717 603 y Fx(B)k FA(\))25 b FE(\011)212 b Fv(Dom)8 b FE(\(\001\))25 b FA(\022)g Fv(Dom)8 b FE(\(\011\))p 13 646 3035 4 v 1073 732 a(\000)25 b FA(`)1171 682 y Fy(r)1164 747 y(p)1236 732 y Fx(M)35 b FE(:)26 b Fx(A)f FA(\))g FE(\011)1690 654 y Ff(\014)1690 709 y(\014)1720 750 y Fe(Dom)6 b Ft(\(\000\))3057 667 y Fk(tp)p 3159 667 29 4 v 34 w(app)3425 619 y Fx(M)39 b FE(is)27 b(not)i(an)3425 732 y(abstraction)0 892 y Fv(Constr)-5 b(aint)35 b(Col)5 b(le)-5 b(ction:)p 786 1133 793 4 v 786 1212 a FE(\000)25 b FA(`)884 1162 y Fy(r)877 1227 y(p)949 1212 y Fx(c)g FA(\))h FE(\()p FA(\001)f FE(;)h FA(\001)f FE(;)h(\006\()p Fx(c)p FE(\)\))1588 1154 y Fk(cc)p 1690 1154 29 4 v 34 w(c)1988 1092 y Fx(p)f FE(=)g Fk(full)f FA(\033)h FE(PVF\(\000\()p Fx(x)p FE(\)\))p 1957 1133 980 4 v 2043 1212 a(\000)g FA(`)2141 1162 y Fy(r)2134 1227 y(p)2206 1212 y Fx(x)g FA(\))g FE(\()p FA(\001)h FE(;)f FA(\001)h FE(;)f(\000\()p Fx(x)p FE(\)\))2946 1154 y Fk(cc)p 3048 1154 29 4 v 34 w(x)1024 1437 y FE(\000)g FA(`)1122 1392 y Fy(r)1115 1452 y(p)1187 1437 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fx(p)25 b FA(6)p FE(=)g Fk(full)p 994 1480 1735 4 v 1138 1559 a FE(\000)g FA(`)1236 1509 y Fy(r)1229 1574 y(p)1301 1559 y Fx(M)35 b FA(\003)26 b(\))f FE(\(\001)p Fx(;)15 b(u)1814 1521 y Fz(n)1887 1559 y FE(:)25 b Fx(A)h FE(;)f Fx(C)32 b FE(;)26 b([)p Fx(u)2306 1521 y Fz(n)2353 1559 y Fx(=x)p FE(])p Fx(B)5 b FE(\))2739 1501 y Fk(cc)p 2841 1501 29 4 v 33 w(p)611 1790 y FE(\000)25 b FA(`)709 1746 y Fy(r)702 1806 y(p)774 1790 y Fx(M)35 b FA(\))26 b FE(\(\001)f(;)g Fx(C)32 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fv(line)-5 b(ar)11 b FE(\()p Fx(x;)k(B)5 b FE(\))212 b Fx(p)25 b FA(6)p FE(=)g Fk(full)p 581 1834 2418 4 v 1087 1926 a FE(\000)g FA(`)1185 1876 y Fy(r)1178 1941 y(p)1250 1926 y Fx(M)36 b FA(\003)25 b(\))h FE(\(\001)p Fx(;)15 b(u)1764 1888 y Fz(l)1815 1926 y FE(:)26 b Fx(A)f FE(;)h Fx(C)32 b FE(;)25 b([)p Fx(u)2234 1888 y Fz(l)2260 1926 y Fx(=x)p FE(])p Fx(B)5 b FE(\))3008 1854 y Fk(cc)p 3110 1854 29 4 v 34 w(linp)667 2157 y FE(\000)25 b FA(`)765 2112 y Fy(r)758 2173 y(p)830 2157 y Fx(M)35 b FA(\))25 b FE(\(\001)h(;)f Fx(C)32 b FE(;)25 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))214 b Fx(x)25 b FA(2)g FE(FV)q(\()p Fx(B)5 b FE(\))213 b(PVF\()p Fx(A)p FE(\))p 637 2200 2354 4 v 1021 2279 a(\000)25 b FA(`)1119 2230 y Fy(r)1112 2295 y(p)1184 2279 y Fx(M)36 b(N)f FA(\))25 b FE(\(\001)g(;)h Fx(C)q(;)15 b(N)36 b FE(:)1959 2293 y Fa(full)2130 2279 y Fx(A)25 b FE(;)h([)p Fx(N)r(=x)p FE(])p Fx(B)5 b FE(\))3000 2221 y Fk(cc)p 3102 2221 29 4 v 34 w(dep)889 2511 y FE(\000)26 b FA(`)988 2466 y Fy(r)981 2526 y(p)1052 2511 y Fx(M)36 b FA(\))25 b FE(\(\001)g(;)h Fx(C)31 b FE(;)26 b(\005)p Fx(x)10 b FE(:)g Fx(A:B)5 b FE(\))213 b Fx(x)25 b FA(62)g FE(FV)r(\()p Fx(B)5 b FE(\))p 859 2554 1814 4 v 1138 2633 a(\000)25 b FA(`)1236 2584 y Fy(r)1229 2649 y(p)1301 2633 y Fx(M)35 b(N)g FA(\))26 b FE(\(\001)f(;)g Fx(C)q(;)15 b(N)37 b FE(:)2076 2647 y Fz(p)2141 2633 y Fx(A)25 b FE(;)h Fx(B)5 b FE(\))2682 2575 y Fk(cc)p 2784 2575 29 4 v 34 w(indep)0 2785 y Fv(Constr)-5 b(aint)35 b(Solving:)p 1032 2996 355 4 v 1032 3075 a FE(\000)25 b FA(`)1130 3025 y Fy(r)1195 3075 y FA(\001)g(\))g(\001)1396 3017 y Fk(cs)p 1498 3017 29 4 v 34 w(0)1796 2955 y FE(\000)g FA(`)1894 2910 y Fy(r)1959 2955 y Fx(C)2024 2969 y Ft(1)2063 2955 y Fx(;)15 b(C)2168 2969 y Ft(2)2208 2955 y Fx(;)g(C)2313 2969 y Ft(3)2378 2955 y FA(\))25 b FE(\011)p 1766 2996 830 4 v 1796 3075 a(\000)g FA(`)1894 3025 y Fy(r)1959 3075 y Fx(C)2024 3089 y Ft(2)2063 3075 y Fx(;)15 b(C)2168 3089 y Ft(1)2208 3075 y Fx(;)g(C)2313 3089 y Ft(3)2378 3075 y FA(\))25 b FE(\011)2605 3017 y Fk(cs)p 2707 3017 29 4 v 34 w(ord)60 3304 y FE(\000)g FA(`)158 3259 y Fy(r)151 3319 y(p)223 3304 y Fx(M)35 b FE(:)25 b Fx(A)h FA(\))f FE(\011)212 b(\011\(\000\))25 b FA(`)1128 3259 y Fy(r)1193 3304 y FE(\011\()p Fx(C)7 b FE(\))25 b FA(\))g FE(\011)1618 3271 y Fw(0)p 29 3347 1643 4 v 379 3430 a FE(\000)g FA(`)477 3380 y Fy(r)542 3430 y Fx(C)q(;)15 b(M)36 b FE(:)797 3444 y Fz(p)862 3430 y Fx(A)26 b FA(\))f FE(\011)1143 3392 y Fw(0)1186 3430 y FA(\016)c FE(\011)1682 3368 y Fk(cs)p 1784 3368 29 4 v 34 w(tp)2038 3306 y Fx(A)26 b FA(\031)2203 3320 y Fz(a)2269 3306 y Fx(B)k FA(\))25 b FE(\011)212 b(\011\(\000\))25 b FA(`)3006 3261 y Fy(r)3071 3306 y FE(\011\()p Fx(C)7 b FE(\))25 b FA(\))h FE(\011)3497 3273 y Fw(0)p 2008 3347 1542 4 v 2296 3430 a FE(\000)f FA(`)2394 3380 y Fy(r)2459 3430 y Fx(C)q(;)15 b(A)26 b FA(\031)2730 3444 y Fz(a)2796 3430 y Fx(B)k FA(\))25 b FE(\011)3082 3392 y Fw(0)3126 3430 y FA(\016)20 b FE(\011)3560 3368 y Fk(cs)p 3662 3368 29 4 v 34 w(unif)0 3582 y Fv(A)n(tomic)32 b(Uni\014c)-5 b(ation:)p 256 3840 409 4 v 256 3892 a Fx(c)26 b FA(\031)392 3906 y Fz(a)459 3892 y Fx(c)f FA(\))g(\001)675 3861 y Fk(au)p 777 3861 29 4 v 33 w(c)p 953 3840 434 4 v 953 3892 a Fx(x)g FA(\031)1101 3906 y Fz(a)1168 3892 y Fx(x)g FA(\))g(\001)1396 3861 y Fk(au)p 1498 3861 29 4 v 34 w(x)1705 3799 y Fx(M)35 b FA(\031)1899 3813 y Fz(a)1966 3799 y Fx(M)2064 3766 y Fw(0)2113 3799 y FA(\))25 b FE(\011)212 b(\011\()p Fx(N)10 b FE(\))25 b FA(\031)g FE(\011\()p Fx(N)3046 3766 y Fw(0)3070 3799 y FE(\))g FA(\))g FE(\011)3317 3766 y Fw(0)p 1675 3840 1696 4 v 2016 3923 a Fx(M)35 b(N)g FA(\031)2318 3937 y Fz(a)2385 3923 y Fx(M)2483 3885 y Fw(0)2531 3923 y Fx(N)2614 3885 y Fw(0)2663 3923 y FA(\))25 b FE(\011)2850 3885 y Fw(0)2893 3923 y FA(\016)c FE(\011)3381 3861 y Fk(au)p 3483 3861 29 4 v 33 w(app)0 4055 y Fv(Normal)34 b(Uni\014c)-5 b(ation)1066 4286 y Fx(M)36 b FA(\031)25 b Fx(M)1384 4253 y Fw(0)1432 4286 y FA(\))h(\001)p 936 4304 768 4 v 936 4387 a Fx(\025x:M)36 b FA(\031)25 b Fx(\025x:M)1514 4349 y Fw(0)1563 4387 y FA(\))g(\001)1714 4325 y Fk(u)p 1768 4325 29 4 v 34 w(lam)2161 4272 y Fx(M)36 b FA(\031)2356 4286 y Fz(a)2422 4272 y Fx(M)2520 4239 y Fw(0)2569 4272 y FA(\))25 b FE(\011)p 2131 4304 656 4 v 2182 4387 a Fx(M)36 b FA(\031)25 b Fx(M)2500 4349 y Fw(0)2548 4387 y FA(\))g FE(\011)2796 4325 y Fk(u)p 2850 4325 29 4 v 34 w(at)433 4587 y Fv(Nonline)-5 b(ar)11 b FE(\()p Fx(N)940 4601 y Fz(i)968 4587 y FE(\))26 b FA(\))f FE(\011)1216 4601 y Fz(i)1456 4587 y FE([\011)1552 4601 y Fz(n)1599 4587 y FE(\()p Fx(N)1707 4601 y Fz(n)1754 4587 y FE(\))p Fx(=x)1886 4601 y Fz(n)1934 4587 y FE(])15 b Fx(:)g(:)g(:)i FE([\011)2192 4601 y Ft(1)2231 4587 y FE(\()p Fx(N)2339 4601 y Ft(1)2379 4587 y FE(\))p Fx(=x)2511 4601 y Ft(1)2551 4587 y FE(])p Fx(M)36 b FA(\031)2771 4601 y Fz(a)2837 4587 y Fx(M)2935 4554 y Fw(0)2984 4587 y FA(\))25 b FE(\011)3171 4554 y Fw(0)p 402 4627 2823 4 v 735 4710 a FE(\()p Fx(\025x)875 4724 y Ft(1)915 4710 y Fx(:)15 b(:)g(:)g(:)h(\025x)1181 4724 y Fz(n)1228 4710 y Fx(:M)10 b FE(\))26 b Fx(N)1485 4724 y Ft(1)1540 4710 y Fx(:)15 b(:)g(:)h(N)1734 4724 y Fz(n)1806 4710 y FA(\031)1877 4724 y Fz(a)1944 4710 y Fx(M)2042 4673 y Fw(0)2091 4710 y FA(\))25 b FE(\011)2278 4673 y Fw(0)2321 4710 y FA(\016)c FE(\011)2458 4724 y Fz(n)2524 4710 y FA(\016)g Fx(:)15 b(:)g(:)21 b FA(\016)g FE(\011)2853 4724 y Ft(1)3235 4648 y Fk(u)p 3289 4648 29 4 v 34 w(beta)p 417 4980 757 4 v 417 5072 a Fx(u)469 5035 y Fz(l)521 5072 y FA(\031)k Fx(M)35 b FA(\))25 b Fx(u)908 5035 y Fz(l)959 5072 y FA( )h Fx(M)1184 5001 y Fk(u)p 1238 5001 29 4 v 34 w(linst)1726 4939 y Fx(u)g FA(62)f FE(FV)q(\()p Fx(M)10 b FE(\))213 b Fv(Nonline)-5 b(ar)11 b FE(\()p Fx(M)f FE(\))27 b FA(\))e FE(\011)p 1696 4980 1514 4 v 1950 5057 a Fx(u)2002 5019 y Fz(n)2074 5057 y FA(\031)g Fx(M)36 b FA(\))25 b FE(\011)20 b FA(\016)h FE([)p Fx(u)2644 5019 y Fz(n)2716 5057 y FA( )k Fx(M)10 b FE(])3220 5001 y Fk(u)p 3274 5001 29 4 v 34 w(inst)800 5288 y FE(Figure)29 b(16:)42 b(The)30 b(optimized)f(t)m(yp)s(e)i(reconstruction)f(algorithm.)1905 5589 y(51)p eop %%Page: 52 54 52 53 bop 0 91 a FB(10)135 b(The)44 b(Implemen)l(tation)k(of)d(T)l(yp)t (e)f(Reconstruction)0 294 y FE(In)29 b(this)g(section)g(w)m(e)i(presen) m(t)e(the)h(main)f(implemen)m(tation)f(tec)m(hniques)i(that)g(w)m(e)g (curren)m(tly)f(use)g(in)g(the)h(imple-)0 407 y(men)m(tation)36 b(of)g(the)h(t)m(yp)s(e)f(reconstruction)f(sho)m(wn)g(in)g(Figure)g(16) i(on)f(the)g(previous)f(page.)58 b(W)-8 b(e)37 b(touc)m(h)f(issues)0 520 y(ranging)41 b(from)g(e\016cien)m(t)h(implemen)m(tation)e(of)i Fx(\025)g FE(calculi)e(to)i(memory)g(managemen)m(t)h(and)e(a)h(p)s (ortable)f(and)0 633 y(compact)28 b(binary)d(represen)m(tation.)40 b(F)-8 b(or)27 b(eac)m(h)h(implemen)m(tation)e(c)m(hoice)i(w)m(e)f (describ)s(e)e(ho)m(w)i(it)f(a\013ects)j(the)e(t)m(yp)s(e)0 746 y(reconstruction)j(algorithm.)141 859 y(With)24 b(the)h(implemen)m (tation)e(tec)m(hniques)i(describ)s(ed)d(here)j(w)m(e)g(w)m(ere)g(able) f(to)i(obtain)e(e\016cien)m(t)h(pro)s(of)f(c)m(hec)m(k-)0 972 y(ing)31 b(and)f(main)m(tain)h(the)g(size)h(of)f(the)h(pro)s(of)f (represen)m(tation)g(at)h(reasonable)f(lev)m(els,)h(as)g(sho)m(wn)e(in) h(Section)g(11.)0 1085 y(Ho)m(w)m(ev)m(er,)46 b(our)41 b(e\013orts)h(in)e(this)g(area)i(w)m(ere)g(limited)d(and)i(w)m(e)g (therefore)h(b)s(eliev)m(e)f(that)g(more)h(can)f(b)s(e)g(done)0 1198 y(to)m(w)m(ards)31 b(smaller)e(represen)m(tations)h(and)g(faster)h (pro)s(of)e(v)-5 b(alidation.)0 1441 y Fs(10.1)112 b(De)38 b(Bruijn)e(Notation)h(and)h(Explicit)c(Substitutions)0 1613 y FE(In)51 b(the)g(abstract)h(presen)m(tation)g(of)f(the)h(t)m(yp) s(e)g(reconstruction)f(algorithm)f(w)m(e)i(assumed)e(certain)i(meta-)0 1726 y(prop)s(erties)38 b(of)h(v)-5 b(ariables)38 b(and)g (substitutions)f(suc)m(h)i(as)g(term)h(iden)m(tit)m(y)e(mo)s(dulo)g (renaming)g(of)h(b)s(ound)e(v)-5 b(ari-)0 1838 y(ables)33 b(and)g(capture-a)m(v)m(oiding)h(substitutions.)48 b(A)33 b(concrete)i(implemen)m(tation)d(m)m(ust)i(deal)f(with)f(these)i (issues)0 1951 y(explicitly)-8 b(.)38 b(The)29 b(essence)h(of)g(our)f (implemen)m(tation)e(c)m(hoices)j(is)f(b)s(est)g(mo)s(deled)f (abstractly)h(b)m(y)g(a)h(normal-form)0 2064 y(v)-5 b(arian)m(t)39 b(of)h(the)f Fx(\025\033)k FE(calculus)37 b(with)h(explicit)g (substitutions)f(and)h(De)i(Bruijn)e(indices)f(as)j(presen)m(ted)f(in)f ([1].)0 2177 y(Ho)m(w)m(ev)m(er,)i(the)d(presence)g(of)g(t)m(yp)s(e)f (reconstruction)h(mak)m(es)g(our)f(implemen)m(tation)f(more)i(complex)f (than)h(the)0 2290 y(one)31 b(suggested)g(b)m(y)f([1)q(].)141 2453 y(F)-8 b(or)43 b(the)g(implemen)m(tation)e(of)h(b)s(ound)f(v)-5 b(ariables)41 b(w)m(e)h(use)g(De)i(Bruijn[2)n(])f(indices.)75 b(In)41 b(suc)m(h)h(an)h(imple-)0 2566 y(men)m(tation)34 b(eac)m(h)h(b)s(ound)d(v)-5 b(ariable)33 b(is)g(represen)m(ted)h(as)g (a)g(p)s(ositiv)m(e)f(in)m(teger.)51 b(In)33 b(this)g(represen)m (tation)h(the)g(De)0 2679 y(Bruijn)k(index)h Fx(n)h FE(denotes)h(the)f (v)-5 b(ariable)39 b(b)s(ound)f(b)m(y)i(the)h Fx(n)2148 2646 y Fz(th)2258 2679 y FE(enclosing)e Fx(\025)p FE(-abstraction.)71 b(Also,)43 b(in)c(suc)m(h)h(a)0 2792 y(represen)m(tation)30 b(there)h(are)g(v)-5 b(ariable)29 b(names)h(and)f(the)i(abstractions)f (are)h(denoted)f(simply)e(b)m(y)i(the)h(sym)m(b)s(ol)e Fx(\025)p FE(.)141 2904 y(The)e(De)h(Bruijn)d(notation)i(captures)g (the)h(essence)g(of)f(a)g(term)h(without)e(regard)h(to)h(irrelev)-5 b(an)m(t)26 b(details)g(suc)m(h)0 3017 y(as)j(b)s(ound)f(v)-5 b(ariable)28 b(names.)40 b(Th)m(us)28 b Fx(\013)p FE(-equiv)-5 b(alence)30 b(is)e(obtained)g(directly)g(b)m(y)i(represen)m(tation.)40 b(F)-8 b(or)30 b(example,)0 3130 y(b)s(oth)g Fx(\025x:\025y)s(::xy)j FE(and)d Fx(\025y)s(:\025x:y)s(x)h FE(ha)m(v)m(e)g(the)g(same)g(De)g (Bruijn)d(represen)m(tation,)j(namely)e Fx(\025\025)p FD(21)p FE(.)141 3243 y(Although)j(the)i(De)g(Bruijn)d(notation)i(is)f (not)i(easily)e(readable)g(it)h(leads)g(to)g(simple)e(implemen)m (tations.)48 b(A)0 3356 y(more)38 b(serious)f(disadv)-5 b(an)m(tage)38 b(of)g(the)g(De)h(Bruijn)d(notation)i(is)f(that)h (implemen)m(ting)e(substitution)g(b)s(ecomes)0 3469 y(more)j(complex.) 65 b(F)-8 b(or)39 b(example)f(in)g(order)g(to)h(p)s(erform)e(the)i (substitution)d([)p Fx(M)5 b(=x)p FE(])p Fx(N)50 b FE(it)38 b(is)f(not)i(su\016cien)m(t)f(to)0 3582 y(substitute)27 b Fx(M)37 b FE(for)28 b Fx(x)f FE(in)g Fx(N)10 b FE(.)39 b(Consider)26 b(the)i(situation)f(where)g(there)h(are)g(o)s(ccurrences) f(of)h Fx(x)g FE(in)e(an)i(abstraction)0 3695 y(con)m(tained)h(in)e Fx(N)10 b FE(.)40 b(The)29 b(correct)h(pro)s(cedure)d(in)h(this)f(case) j(is)e(to)h(increase)g(b)m(y)g(one)g(all)e(De)j(Bruijn)d(indices)f (from)0 3808 y Fx(M)10 b FE(.)41 b(Similar)27 b(di\016culties)h(o)s (ccur)i(with)f Fx(\014)5 b FE(-reduction.)141 3970 y(Another)34 b(problem)f(that)i(w)m(e)f(m)m(ust)g(face)h(when)f(implemen)m(ting)e (the)i(t)m(yp)s(e)g(reconstruction)g(is)f(the)i(imple-)0 4083 y(men)m(tation)24 b(of)f(substitution.)36 b(W)-8 b(e)25 b(men)m(tioned)e(b)s(efore)g(the)g(complications)f(due)h(the)h (in)m(teraction)f(b)s(et)m(w)m(een)h(sub-)0 4196 y(stitution)30 b(and)g(b)s(ound)f(v)-5 b(ariables.)42 b(In)30 b(addition,)g(the)h (direct)g(implemen)m(tation)f(of)h(the)g(substitution)e([)p Fx(M)5 b(=x)p FE(])p Fx(N)0 4309 y FE(is)36 b(exp)s(ensiv)m(e)g(b)s (ecause)h(it)g(in)m(v)m(olv)m(es)f(cop)m(ying)h(the)g(term)g Fx(M)47 b FE(for)37 b(eac)m(h)h(o)s(ccurrence)f(of)g Fx(x)g FE(in)f Fx(N)47 b FE(and)36 b(in)g(most)0 4422 y(cases)31 b(most)g(of)f(the)g(term)h Fx(N)40 b FE(m)m(ust)30 b(b)s(e)f(copied)h(also.)41 b(This)28 b(causes)j(a)f(size)g(explosion)f (and)h(excessiv)m(e)h(memory)0 4535 y(usage)g(unless)e(sophisticated)g (structure-sharing)g(mec)m(hanisms)h(are)g(used)g([20)q(].)141 4648 y(W)-8 b(e)38 b(c)m(hose)g(to)f(p)s(erform)f(substitution)e(in)h (a)j(lazy)e(fashion,)i(p)s(ostp)s(oning)c(a)j(substitution)e(un)m(til)g (w)m(e)i(come)0 4761 y(across)24 b(a)f(substituted)e(v)-5 b(ariable.)37 b(A)m(t)24 b(that)g(p)s(oin)m(t,)g(w)m(e)f(lo)s(okup)f (the)h(substitution)e(and)h(w)m(e)h(con)m(tin)m(ue)h(our)e(curren)m(t)0 4874 y(op)s(eration)29 b(on)g(the)h(b)s(o)s(dy)e(of)i(the)g (substitution.)38 b(Suc)m(h)29 b(an)g(implemen)m(tation)f(is)h(mo)s (deled)f(v)m(ery)i(closely)f(b)m(y)h(the)0 4987 y Fx(\025\033)k FE(calculus)28 b(of)j(explicit)e(substitutions)f([1].)141 5100 y(Our)j(v)-5 b(arian)m(t)32 b(of)g(the)g Fx(\025\033)j FE(calculus)c(is)f(sligh)m(tly)h(more)h(complicated)f(than)h(that)h (presen)m(ted)f(in)e([1)q(])i(b)s(ecause)0 5212 y(w)m(e)38 b(w)m(an)m(t)g(it)f(to)h(mo)s(del)e(closely)h(our)g(implemen)m(tation)f (of)i(uni\014cation.)60 b(On)36 b(the)i(other)f(hand,)i(during)c(t)m (yp)s(e)1905 5589 y(52)p eop %%Page: 53 55 53 54 bop 0 91 a FE(reconstruction)32 b(all)e(the)i(terms)g(are)h (preserv)m(ed)e(in)g(normal)g(form)g(and)g(therefore)i(our)e(v)-5 b(arian)m(t)32 b(uses)g(only)f(one)0 204 y(substitution)d(op)s(erator.) 141 317 y(W)-8 b(e)33 b(presen)m(t)f(next)f(the)h(syn)m(tax)g(of)g(the) g Fx(\025\033)j FE(calculus)30 b(and)h(pro)s(ceed)g(then)g(to)i(sho)m (w)e(ho)m(w)h(it)f(is)g(used)f(in)h(the)0 430 y(implemen)m(tation)25 b(of)i(the)g(t)m(yp)s(e)f(reconstruction)g(algorithm.)39 b(See)27 b([1])g(for)f(formal)g(results)f(ab)s(out)i(the)f(adequacy)0 543 y(of)31 b(the)f(calculus)f(for)h(implemen)m(ting)e(dep)s(enden)m (t-t)m(yp)s(ed)i Fx(\025)g FE(calculus.)141 656 y(A)m(t)d(the)f(lev)m (el)g(of)g(syn)m(tax)h(w)m(e)g(replace)f(v)-5 b(ariables)24 b(with)h(De)i(Bruijn)d(indices,)h(w)m(e)i(c)m(hange)g(the)f(formal)g (of)g(term)0 769 y(and)32 b(t)m(yp)s(e)g(abstraction)h(accordingly)e (and)h(w)m(e)h(also)f(in)m(tro)s(duce)f(a)i(distinguished)28 b(term)33 b(constan)m(t)g FA(\003)p FE(.)47 b(Explicit)0 882 y(substitutions)36 b(are)i(a)h(sequence)g(of)f Fv(lo)-5 b(c)g(ations)41 b FE(whose)d(v)-5 b(alues)37 b(are)i(giv)m(en)f(b)m(y)g (a)h Fv(state)p FE(.)65 b(As)38 b(the)h(terminology)0 995 y(suggests,)29 b(this)d(indirection)f(is)i(exp)s(osed)g(b)s(ecause) g(w)m(e)h(desire)f(to)h(mo)s(del)e(the)i(side-e\013ects)g(of)g (uni\014cation.)38 b(This)0 1108 y(is)c(the)h(main)f(complication)g (added)h(to)g(the)h(traditional)d Fx(\025\033)38 b FE(calculus.)53 b(The)35 b(syn)m(tax)g(is)g(summarized)e(in)h(the)0 1220 y(table)c(b)s(elo)m(w:)817 1421 y Fv(T)-7 b(erms)350 b Fx(M)93 b FE(::=)84 b FD(n)75 b FA(j)h Fx(c)g FA(j)g(\003)h(j)f Fx(M)2563 1435 y Ft(1)2628 1421 y Fx(M)2716 1435 y Ft(2)2831 1421 y FA(j)g Fx(\025M)817 1534 y Fv(T)-7 b(yp)i(es)377 b Fx(A)113 b FE(::=)84 b Fx(a)75 b FA(j)h Fx(A)26 b(M)86 b FA(j)76 b FE(\005)p Fx(A:B)817 1646 y Fv(L)-5 b(o)g(c)g(ations)231 b Fx(l)817 1759 y Fv(Substitutions)91 b Fx(s)138 b FE(::=)84 b FA(\001)76 b(j)g Fx(l)22 b FA(\001)e Fx(s)817 1872 y Fv(State)400 b FE(\012)115 b(::=)84 b FA(\001)76 b(j)g FE(\012)p Fx(;)15 b(l)27 b FA( )e Fx(M)10 b FA(f)p Fx(s)p FA(g)141 2032 y FE(In)39 b(preparation)g(for)g(the)h(discussion)d(of)j (ho)m(w)g(the)g(t)m(yp)s(e)g(reconstruction)f(rules)f(are)i (in\015uenced)e(b)m(y)i(the)0 2144 y(explicit)c(substitutions)f(w)m(e)j (\014nd)e(it)h(useful)f(to)i(giv)m(e)g(a)g(few)f(concrete)i(implemen)m (tation)d(details.)61 b(Note)39 b(that)0 2257 y(substitutions)32 b(as)i(de\014ned)f(b)m(y)h(the)g(syn)m(tax)g(ab)s(o)m(v)m(e)i(are)e (just)f(lists.)51 b(In)33 b(fact)i(they)f(are)g(implemen)m(ted)f(as)h (lists.)0 2370 y(Lo)s(cations)24 b(are)h(just)f(names)g(\(implemen)m (ted)g(as)g(p)s(oin)m(ters\))g(for)g(the)h Fv(c)-5 b(ar)25 b FE(\014elds)e(of)h(lists.)38 b(The)23 b(substitution)g(state)0 2483 y(is)35 b(implemen)m(ted)f(b)m(y)h(the)h(computer)g(memory)f(b)m (y)h(storing)f(the)g(corresp)s(onding)f(v)-5 b(alues)35 b(in)f(the)i(appropriate)0 2596 y Fv(c)-5 b(ar)31 b FE(cells.)141 2709 y(F)-8 b(or)35 b(example,)f(the)g(transition)e(from)h (substitution)e Fx(s)j FE(in)e(state)j(\012)e(to)i(substitution)c Fx(l)24 b FA(\001)f Fx(s)33 b FE(in)f(state)j(\012)p Fx(;)15 b(l)33 b FA( )0 2822 y Fx(M)10 b FA(f)p Fx(s)186 2789 y Fw(0)209 2822 y FA(g)30 b FE(is)e(implemen)m(ted)g(b)m(y)h (consing)g(a)g(new)g(list)f(cell)h(to)g(the)h(list)e Fx(s)h FE(and)f(storing)h(in)f(the)h Fv(c)-5 b(ar)30 b FE(\014eld)e(the)i(v)-5 b(alues)0 2935 y Fx(M)37 b FE(and)27 b Fx(s)342 2902 y Fw(0)365 2935 y FE(.)40 b(W)-8 b(e)28 b(note)g(here)f(that)h(eac)m(h)h(list)d(cell)g(is)h(in)f(fact)i (3)g(memory)f(w)m(ords.)39 b(Keep)27 b(in)f(mind)g(also)h(that)h(there) 0 3048 y(is)g(a)i(signi\014can)m(t)f(amoun)m(t)g(of)h(sharing)e(among)i (the)f(lists)f(and)h(that)h(c)m(hanging)f(the)h(con)m(ten)m(ts)h(of)e (a)h(substitution)0 3161 y(lo)s(cation)g(do)s(es)g(a\013ect)i(man)m(y)e (terms.)141 3274 y(W)-8 b(e)26 b(do)f(not)f(sho)m(w)h(here)g(the)f (complete)i(description)c(of)j(the)g(reconstruction)f(algorithm)g(in)f (the)i(presence)g(of)0 3387 y(explicit)k(substitutions.)40 b(Instead)31 b(w)m(e)g(giv)m(e)g(some)h(general)e(rules)g(that)h(go)m (v)m(ern)h(the)g(manipulation)c(of)j(explicit)0 3499 y(substitutions)d(and)i(w)m(e)h(exemplify)d(them)i(b)m(y)h(sho)m(wing)e (the)i(new)f(v)m(ersion)f(of)i(uni\014cation.)141 3662 y(As)23 b(a)h(general)f(rule,)h(in)e(the)h(new)g(v)m(ersion)g(of)g(the) h(algorithm)e(all)g(t)m(yp)s(es)i(and)e(terms)i(o)s(ccurring)d(in)h (judgmen)m(ts)0 3775 y(are)30 b(accompanied)g(b)m(y)g(a)g(substitution) e(ob)5 b(ject)31 b(that)f(records)g(all)f(dela)m(y)m(ed)h (substitutions)d(for)j(that)h(particular)0 3888 y(term)25 b(or)g(t)m(yp)s(e.)40 b(W)-8 b(e)26 b(write)e Fx(M)10 b FA(f)p Fx(s)p FA(g)26 b FE(to)g(denote)g(that)g(the)f(substitution)e Fx(s)i FE(corresp)s(onds)f(to)i(the)f(term)g Fx(M)10 b FE(.)39 b(During)0 4001 y(t)m(yp)s(e)32 b(reconstruction)e(the)i (pair)e(of)i(a)f(term)h(and)f(substitution)e(is)h(alw)m(a)m(ys)i (closed.)43 b(F)-8 b(or)32 b(example,)g(if)e(the)i(term)0 4114 y Fx(M)48 b FE(con)m(tains)39 b Fx(n)f FE(free)h(v)-5 b(ariables,)39 b(then)f(it)g(is)g(alw)m(a)m(ys)h(accompanied)f(b)m(y)g (a)h(substitution)d(that)j(is)f(at)h(least)g(of)0 4227 y(length)29 b Fx(n)p FE(.)40 b(Then)29 b(the)h(free)g(v)-5 b(ariable)29 b(with)f(index)h FD(1)h FE(in)e Fx(M)40 b FE(refers)29 b(to)i(the)f(top)g(of)g(the)g(substitution)e(list,)g (index)0 4340 y FD(2)33 b FE(refers)f(to)h(the)f(second)h(elemen)m(t,)h (and)d(so)i(on.)47 b(This)30 b(means)j(that)g(the)f(pair)g FD(1)p FA(f)p Fx(l)2885 4354 y Ft(1)2946 4340 y FA(\001)22 b Fx(s)p FA(g)33 b FE(represen)m(ts)f(the)h(same)0 4453 y(term)27 b(as)g(the)f(one)h(b)s(ound)e(to)i Fx(l)1048 4467 y Ft(1)1115 4453 y FE(in)e(the)i(curren)m(t)f(state.)41 b(Similarly)23 b(the)k(term)f FD(2)p FA(f)p Fx(l)2812 4467 y Ft(1)2865 4453 y FA(\001)13 b Fx(l)2930 4467 y Ft(2)2983 4453 y FA(\001)g Fx(s)p FA(g)26 b FE(represen)m(ts)h(the)g (term)0 4565 y(b)s(ound)h(to)j Fx(l)418 4579 y Ft(2)488 4565 y FE(in)e(the)i(curren)m(t)f(state.)141 4678 y(Another)k(general)f (rule)g(is)f(that)j(all)d(the)i(judgmen)m(ts)f(ha)m(v)m(e)i(a)f(p)s (oten)m(tial)f(side-e\013ect)i(on)e(the)h(substitution)0 4791 y(state.)52 b(Th)m(us)33 b(all)f(the)i(judgmen)m(ts)f(are)h(c)m (hanged)h(to)f(tak)m(e)h(a)f(state)h(in)e(input)f(\(written)h(usually)e (at)j(the)g(left)g(of)0 4904 y(the)27 b FA(`)f FE(sym)m(b)s(ol\))g(and) h(return)e(a)j(new)e(state)i(v)-5 b(alue)27 b(\(written)f(at)h(the)h (righ)m(t)e(end)g(of)h(the)g(judgmen)m(t,)h(usually)c(after)0 5017 y(a)31 b FA(\))f FE(sym)m(b)s(ol\).)141 5130 y(As)21 b(an)f(in)m(tro)s(duction)f(to)i(explicit)e(substitution)g(in)g(the)i (indirect)e(form,)j(w)m(e)f(sho)m(w)g(ho)m(w)f(the)h Fx(\014)5 b FE(-reduction)20 b(rule)0 5243 y(w)m(ould)30 b(b)s(e)h(implemen)m(ted.)42 b(F)-8 b(or)33 b(a)e(gen)m(tler)h(in)m (tro)s(duction)e(and)h(formal)f(correctness)i(pro)s(ofs)f(see)h([1)q (].)44 b(Consider)1905 5589 y(53)p eop %%Page: 54 56 54 55 bop 0 91 a FE(that)26 b(the)f(curren)m(t)g(substitution)e(state)k (is)d(\012)h(and)g(the)g Fx(\014)5 b FE(-redex)26 b(is)e(\()p Fx(\025M)10 b FE(\))p Fx(N)36 b FE(accompanied)26 b(b)m(y)f(the)g (substitution)0 204 y Fx(s)p FE(.)40 b(The)30 b Fx(\014)5 b FE(-reduction)30 b(rule)f(is)g(sho)m(wn)h(b)s(elo)m(w:)692 391 y(\012)25 b FA(`)g FE(\()p Fx(\025M)10 b FE(\))p Fx(N)g FA(f)p Fx(s)p FA(g)27 b(!)1419 406 y Fz(\014)1491 391 y Fx(M)10 b FA(f)p Fx(l)23 b FA(\001)d Fx(s)p FA(g)26 b(\))f FE(\012)p Fx(;)15 b(l)27 b FA( )e Fx(N)10 b FA(f)p Fx(s)p FA(g)237 b Fx(l)34 b Fv(is)f(new)g(to)g FE(\012)0 577 y(This)d(rule)h(is)g(actually)h(v)m(ery)h(close)f(to)h(the)f (actual)h(implemen)m(tation.)44 b(In)32 b(order)f(to)i(p)s(erform)e Fx(\014)5 b FE(-reduction)31 b(w)m(e)0 690 y(cons)j(to)g Fx(s)f FE(a)h(new)g(list)e(cell)h(and)g(let)h Fx(l)h FE(b)s(e)e(the)h(address)f(of)h(the)f(new)h Fv(c)-5 b(ar)34 b FE(\014eld.)49 b(Then)33 b(w)m(e)h(store)g(the)g(term)g Fx(N)0 803 y FE(accompanied)28 b(b)m(y)f(its)g(substitution)e(in)i(the) g Fv(c)-5 b(ar)29 b FE(\014eld)d(and)h(return)f(the)i(resulting)e (substitution)f(together)k(with)0 916 y Fx(M)10 b FE(.)141 1029 y(As)40 b(w)m(e)f(can)h(see)g(the)g(immediate)e(cost)j(of)e(p)s (erforming)e(the)j Fx(\014)5 b FE(-reduction)39 b(is)f(v)m(ery)i (small.)66 b(The)39 b(hidden)0 1142 y(cost)27 b(of)f Fx(\014)5 b FE(-reduction)25 b(surfaces)h(when,)g(during)e(the)i(pro)s (cessing)e(of)j(the)f(result,)g(w)m(e)g(encoun)m(ter)g(the)h (substituted)0 1255 y(v)-5 b(ariable,)23 b(or)f(more)h(precisely)e(its) g(De)i(Bruijn)e(index.)36 b(A)m(t)23 b(this)f(p)s(oin)m(t)f(w)m(e)i(m)m (ust)f(lo)s(okup)f(the)h(substitution)e(paired)0 1368 y(with)35 b(the)i(term)f(and)g(con)m(tin)m(ue)h(with)e(the)h(pro)s (cessing)g(of)g(the)h(substituted)e(term.)59 b(As)36 b(a)h(general)f(rule,)h(this)0 1481 y(lo)s(okup)24 b(op)s(eration)i(is) e(p)s(erformed)g(whenev)m(er)i(the)g(term)g(is)f(a)h(v)-5 b(ariable,)25 b(p)s(ossibly)e(m)m(ultiple)h(times)h(in)f(sequence.)0 1594 y(The)33 b(follo)m(wing)e(t)m(w)m(o)j(rules)e(describ)s(e)f(this)h (lo)s(okup)g(op)s(eration)h(as)g(a)g(judgmen)m(t)g(\012)c FA(`)h Fx(M)10 b FA(f)p Fx(s)p FA(g)30 b FE(=)f Fx(M)3455 1561 y Fw(0)3479 1594 y FA(f)p Fx(s)3567 1561 y Fw(0)3590 1594 y FA(g)h(\))g FE(\012)3852 1561 y Fw(0)3875 1594 y FE(.)0 1707 y(Ignore)h(for)f(a)g(momen)m(t)h(the)g(side-condition)d (on)j(the)f(second)h(lo)s(okup)e(rule.)554 1972 y(\012)c FA(`)g FD(n)p FA(f)p Fx(s)p FA(g)h FE(=)f Fx(M)1137 1939 y Fw(0)1160 1972 y FA(f)p Fx(s)1248 1939 y Fw(0)1272 1972 y FA(g)g(\))g FE(\012)1524 1939 y Fw(0)p 425 2013 1252 4 v 425 2096 a FE(\012)g FA(`)g FD(n)20 b FE(+)g FD(1)p FA(f)p Fx(l)j FA(\001)d Fx(s)p FA(g)26 b FE(=)f Fx(M)1266 2058 y Fw(0)1289 2096 y FA(f)p Fx(s)1377 2058 y Fw(0)1400 2096 y FA(g)h(\))f FE(\012)1653 2058 y Fw(0)1817 1972 y FE(\012\()p Fx(l)r FE(\))h FA(6)p FE(=)f FA(\003f\001g)214 b FE(\012)25 b FA(`)f FE(\012\()p Fx(l)r FE(\))i(=)f Fx(M)3034 1939 y Fw(0)3057 1972 y FA(f)p Fx(s)3145 1939 y Fw(0)3169 1972 y FA(g)g(\))h FE(\012)3422 1939 y Fw(0)p 1787 2013 1688 4 v 2090 2096 a FE(\012)f FA(`)g FD(1)p FA(f)p Fx(l)e FA(\001)d Fx(s)p FA(g)25 b FE(=)g Fx(M)2761 2058 y Fw(0)2785 2096 y FA(f)p Fx(s)2873 2058 y Fw(0)2896 2096 y FA(g)h(\))f FE(\012)3149 2058 y Fw(0)141 2235 y FE(F)-8 b(o)s(cusing)36 b(on)g(uni\014cation)f(w)m(e)h(extend)h(the)f (ab)s(o)m(v)m(e)i(equalit)m(y)e(judgmen)m(t)g(with)f(one)h(that)h (incorp)s(orates)f(a)0 2348 y(notion)22 b(of)g(w)m(eak)i(head)e (reduction.)37 b(This)21 b(means)h(that)h(enough)f Fx(\014)28 b FE(redices)21 b(are)i(reduced)f(so)g(that)h(an)g(abstraction)0 2461 y(or)41 b(an)g(application)e(with)h(the)h(head)g(either)f(a)h (constan)m(t)h(or)f(a)h(v)-5 b(ariable)39 b(is)h(exp)s(osed.)72 b(The)41 b(follo)m(wing)e(rule)0 2574 y(describ)s(es)27 b(the)j(w)m(eak)g(head)e(reduction.)40 b(Notice)30 b(in)d(the)j(second) f(h)m(yp)s(othesis)f(an)h(instance)f(of)i(the)f Fx(\014)34 b FE(reduction)0 2686 y(rule)29 b(presen)m(ted)h(ab)s(o)m(v)m(e.)53 3026 y(\012)25 b FA(`)g Fx(M)313 3040 y Ft(1)353 3026 y FA(f)p Fx(s)p FA(g)h FE(=)f Fx(\025M)759 2993 y Fw(0)749 3050 y Ft(1)788 3026 y FA(f)p Fx(s)876 2993 y Fw(0)876 3050 y Ft(1)916 3026 y FA(g)g(\))h FE(\012)1169 2993 y Fw(0)1404 3026 y FE(\012)1470 2993 y Fw(0)1493 3026 y Fx(;)15 b(l)27 b FA( )e Fx(M)1791 3040 y Ft(2)1831 3026 y FA(f)p Fx(s)p FA(g)h(`)f Fx(M)2169 2993 y Fw(0)2159 3050 y Ft(1)2198 3026 y FA(f)p Fx(l)e FA(\001)d Fx(s)2381 2993 y Fw(0)2381 3050 y Ft(1)2420 3026 y FA(g)26 b FE(=)f Fx(M)2685 2993 y Fw(0)2708 3026 y FA(f)p Fx(s)2796 2993 y Fw(0)2820 3026 y FA(g)g(\))g FE(\012)3072 2993 y Fw(00)p 23 3068 3122 4 v 967 3151 a FE(\012)g FA(`)f Fx(M)1226 3165 y Ft(1)1291 3151 y Fx(M)1379 3165 y Ft(2)1419 3151 y FA(f)p Fx(s)p FA(g)i FE(=)f Fx(M)1772 3113 y Fw(0)1795 3151 y FA(f)p Fx(s)1883 3113 y Fw(0)1906 3151 y FA(g)h(\))f FE(\012)2159 3113 y Fw(00)3344 3089 y Fx(l)34 b Fv(is)f(new)g(to)g FE(\012)3864 3056 y Fw(0)141 3319 y FE(After)h(the)f(uni\014cation)f (judgmen)m(t)h(reduces)g(b)s(oth)g(terms)g(in)m(v)m(olv)m(ed)g (according)h(to)g(the)g(equalit)m(y)f(relation)0 3432 y(de\014ned)c(ab)s(o)m(v)m(e)j(the)f(resulting)d(terms)j(are)f(matc)m (hed)i(according)e(to)h(the)g(uni\014cation)e(relation)g(de\014ned)g(b) s(elo)m(w.)0 3544 y(Consider)g(the)h(case)i(when)d(the)h(resulting)f (terms)h(are)h(b)s(oth)f(abstractions.)189 3788 y(\012)p Fx(;)15 b(l)322 3802 y Ft(1)387 3788 y FA( )25 b Fx(c)p FA(f\001g)p Fx(;)15 b(l)724 3802 y Ft(2)790 3788 y FA( )26 b Fx(c)p FA(f\001g)g(`)f Fx(M)10 b FA(f)p Fx(l)1338 3802 y Ft(1)1398 3788 y FA(\001)21 b Fx(s)p FA(g)k(\031)g Fx(M)1751 3755 y Fw(0)1775 3788 y FA(f)p Fx(l)1847 3802 y Ft(2)1907 3788 y FA(\001)20 b Fx(s)1995 3755 y Fw(0)2018 3788 y FA(g)26 b(\))f FE(\012)2271 3755 y Fw(0)p 158 3829 2166 4 v 672 3912 a FE(\012)g FA(`)f Fx(\025M)10 b FA(f)p Fx(s)p FA(g)26 b(\031)f Fx(\025M)1400 3874 y Fw(0)1424 3912 y FA(f)p Fx(s)1512 3874 y Fw(0)1535 3912 y FA(g)h(\))f FE(\012)1788 3874 y Fw(0)2570 3802 y Fx(l)2597 3816 y Ft(1)2670 3802 y Fv(and)33 b Fx(l)2873 3816 y Ft(2)2945 3802 y Fv(ar)-5 b(e)34 b(new)f(to)g FE(\012)2570 3915 y Fx(c)g Fv(is)g(a)g(new)g(c)-5 b(onstant)141 4080 y FE(In)44 b(this)f(case)i(b)s(oth)f(abstractions)g(are)h(op)s(ened)e (with)g(the)i(b)s(ound)d(v)-5 b(ariable)43 b(substituted)f(b)m(y)j(a)f (newly)0 4193 y(generated)h(constan)m(t.)82 b(This)42 b(tric)m(k)h(helps)f(preserv)m(e)i(the)g(in)m(v)-5 b(arian)m(t)43 b(that)h(all)f(terms)g(are)h(closed)g(and)f(also)0 4306 y(ensures)26 b(that,)i(do)m(wn)f(the)g(road,)h(when)e(w)m(e)h(compare)g (t)m(w)m(o)i(instances)d(of)h(the)g(b)s(ound)e(v)-5 b(ariable,)27 b(the)g(uni\014cation)0 4419 y(succeeds)33 b(with)e(the)i(constan)m(t)h (uni\014cation)c(rule.)46 b(Note)34 b(that)f(w)m(e)g(allo)s(cate)g(t)m (w)m(o)h(new)e(lo)s(cations)g(to)h(whic)m(h)e(w)m(e)0 4531 y(assign)39 b(the)g(same)h(v)-5 b(alue)38 b(and)h(not)h(just)e (one.)68 b(This)38 b(decision)f(is)i(with)f(an)h(ey)m(e)h(to)g(the)g (implemen)m(tation)e(of)0 4644 y(substitutions)23 b(as)j(lists.)37 b(In)25 b(suc)m(h)g(an)g(implemen)m(tation)g(w)m(e)g(cannot)h(cons)g (the)g(same)g(cell)e(to)i(t)m(w)m(o)h(di\013eren)m(t)e(lists.)0 4757 y(Exactly)31 b(the)f(same)h(pro)s(cedure)e(is)h(follo)m(w)m(ed)g (whenev)m(er)g(an)g(abstraction)h(is)e(op)s(ened.)141 4870 y(Next)k(w)m(e)f(ha)m(v)m(e)h(the)f(instan)m(tiation)f(rule.)43 b(W)-8 b(e)33 b(ignore)e(here)h(the)g(details)f(of)h(atomic)g(v)m (ersus)f(normal)g(uni\014-)0 4983 y(cation)g(and)e(of)i(the)g(o)s (ccurs)f(c)m(hec)m(k)i(optimization.)887 5227 y(\012\()p Fx(l)r FE(\))25 b(=)g FA(\003f\001g)506 b Fx(l)27 b FA(62)e Fx(M)2077 5194 y Fw(0)2100 5227 y FA(f)p Fx(s)2188 5194 y Fw(0)2212 5227 y FA(g)p 798 5268 1548 4 v 798 5350 a FE(\012)g FA(`)g FD(1)p FA(f)p Fx(l)e FA(\001)d Fx(s)p FA(g)26 b(\031)f Fx(M)1470 5313 y Fw(0)1493 5350 y FA(f)p Fx(s)1581 5313 y Fw(0)1604 5350 y FA(g)h(\))f FE(\012)p Fx(;)15 b(l)27 b FA( )f Fx(M)2166 5313 y Fw(0)2189 5350 y FA(f)p Fx(s)2277 5313 y Fw(0)2300 5350 y FA(g)2592 5289 y Fx(l)34 b Fv(is)f(new)g(to)g FE(\012)1905 5589 y(54)p eop %%Page: 55 57 55 56 bop 141 91 a FE(First)29 b(note)i(that)f(the)g(instan)m(tiation)f (do)s(es)g(not)h(w)m(ork)g(on)g(the)g(term)g FA(\003f\001g)h FE(but)e(on)h FD(1)p FA(f)p Fx(l)r FA(g)h FE(where)e Fx(l)j FE(curren)m(tly)0 204 y(has)41 b(the)g(placeholder)f(v)-5 b(alue.)72 b(This)39 b(is)h(b)s(ecause)h(the)g(essence)h(of)f(the)g (instan)m(tiation)f(is)g(to)i(side-e\013ect)g(the)0 317 y(state)33 b(b)m(y)f(c)m(hanging)g(the)h(v)-5 b(alue)31 b(asso)s(ciate)i(with)e(the)h(lo)s(cation)g Fx(l)r FE(.)46 b(In)31 b(fact)i(this)e(do)s(es)h(not)g(explicitly)e(collect)j(a)0 430 y(substitution)28 b(\011)j(but)f(immediately)f(p)s(erforms)g(it)h (on)g(all)g(the)h(terms)f(of)h(the)g(curren)m(t)f(reconstruction,)h (and)f(all)0 543 y(this)h(with)g(just)g(a)i(memory)e(store.)47 b(Note)33 b(that)g(the)f(o)s(ccurs)g(c)m(hec)m(k)h(v)m(eri\014es)f (that)g(the)h(term)f Fx(M)3350 510 y Fw(0)3373 543 y FA(f)p Fx(s)3461 510 y Fw(0)3485 543 y FA(g)g FE(do)s(es)g(not)0 656 y(con)m(tain)f Fx(l)h FE(and)e(therefore)h(the)f(uni\014cation)f (do)s(es)h(not)g(lead)g(to)h(circularit)m(y)-8 b(.)141 769 y(Finally)28 b(w)m(e)j(ha)m(v)m(e)h(the)e(uni\014cation)f(rule)g (for)h(application.)796 1030 y(\012)24 b FA(`)h Fx(M)10 b FA(f)p Fx(s)p FA(g)26 b(\031)1295 1044 y Fz(a)1362 1030 y Fx(M)1460 997 y Fw(0)1483 1030 y FA(f)p Fx(s)1571 997 y Fw(0)1595 1030 y FA(g)f(\))g FE(\012)1847 997 y Fw(0)2082 1030 y FE(\012)2148 997 y Fw(0)2197 1030 y FA(`)f Fx(N)10 b FA(f)p Fx(s)p FA(g)26 b(\031)f Fx(N)10 b FA(f)p Fx(s)2786 997 y Fw(0)2809 1030 y FA(g)26 b(\))f FE(\012)3062 997 y Fw(00)p 765 1071 2370 4 v 1283 1154 a FE(\012)g FA(`)g Fx(M)35 b(N)10 b FA(f)p Fx(s)p FA(g)26 b(\031)1891 1168 y Fz(a)1958 1154 y Fx(M)2056 1116 y Fw(0)2104 1154 y Fx(N)2187 1116 y Fw(0)2210 1154 y FA(f)p Fx(s)2298 1116 y Fw(0)2322 1154 y FA(g)g(\))f FE(\012)2575 1116 y Fw(00)141 1346 y FE(W)-8 b(e)29 b(notice)f(here)f(that)h(w)m(e)h (do)e(not)h(ha)m(v)m(e)h(to)f(p)s(erform)e(the)i(exp)s(ensiv)m(e)f (substitutions)e(\011\()p Fx(N)10 b FE(\))28 b(and)f(\011\()p Fx(N)3733 1313 y Fw(0)3756 1346 y FE(\))h(or)0 1459 y(the)f (substitution)e(comp)s(osition.)38 b(All)26 b(these)h(are)g(tak)m(en)h (care)g(of)f(in)f(the)h(instan)m(tiation)f(rules)f(and)i(are)g (recorder)0 1572 y(in)i(the)i(substitution)d(state.)141 1685 y(This)33 b(ends)i(our)f(implemen)m(tation)g(sk)m(etc)m(h.)57 b(Ev)m(en)35 b(though)g(w)m(e)g(only)g(discussed)e(the)i (uni\014cation,)g(all)f(the)0 1798 y(other)d(judgmen)m(ts)f(apply)f (exactly)i(the)f(same)h(tec)m(hniques)f(for)g(manipulating)e(the)i (explicit)f(substitutions.)0 2041 y Fs(10.2)112 b(Implemen)m(ting)35 b(the)i(Occurs)h(Chec)m(k)f(Optimization)0 2213 y FE(The)25 b(o)s(ccurs)h(c)m(hec)m(k)h(optimization)d(presen)m(ted)i(in)e(Section) i(9)g(uses)f(the)h(notion)f(of)h(linear)e(placeholder)g(v)-5 b(ariables)0 2326 y(and)34 b(the)g(function)f Fx(nonl)r(inear)s FE(.)51 b(In)34 b(the)g(actual)h(implemen)m(tation)d(the)j(linearit)m (y)d(attribute)i(is)g(not)g(attac)m(hed)0 2439 y(to)k(the)f (placeholder)f(itself)g(but)h(to)h(the)g(lo)s(cation)e(that)i(con)m (tains)g(its)e(instan)m(tiation.)61 b(F)-8 b(or)38 b(this)e(purp)s(ose) f(w)m(e)0 2551 y(extend)f(the)h(syn)m(tax)f(of)h(explicit)d (substitutions)g(with)h(the)h(notion)g(of)g(linear)f(and)g(non-linear)f (lo)s(cations.)52 b(As)0 2664 y(lo)s(cations)29 b(are)h(in)m(tro)s (duced)e(in)h(the)g(collecting)h(rule)e(they)i(are)g(lab)s(elled)d(in)h (a)i(similar)d(w)m(a)m(y)k(to)f(the)g(placeholder)0 2777 y(v)-5 b(ariables.)141 2890 y(This)24 b(setup)g(p)s(ermits)g(a)h(v)m (ery)h(e\016cien)m(t)f(implemen)m(tation)f(of)i(the)f(function)f Fv(Nonline)-5 b(ar)36 b FE(used)25 b(in)e(the)j(instan-)0 3003 y(tiation)34 b(rule)f Fk(u)p 537 3003 29 4 v 34 w(inst)g FE(and)h(in)f(the)i(rule)e Fk(u)p 1482 3003 V 34 w(beta)p FE(.)52 b(Instead)34 b(of)h(computing)e(the)i Fv(Nonline)-5 b(ar)45 b FE(function)33 b(eagerly)0 3116 y(w)m(e)c(just)f(reset)h(the)g(linearit)m(y)e(attribute)h(of)h(the)g(v) -5 b(ariables)27 b Fx(u)i FE(in)e(the)i Fk(u)p 2446 3116 V 34 w(inst)e FE(rule)h(or)g Fx(x)h FE(in)e(the)i Fx(u)p 3380 3116 28 4 v 32 w(beta)g FE(rule)f(are)0 3229 y(non-linear.)141 3342 y(The)36 b(linearit)m(y)f(attribute)i(of)g(a)g(lo)s(cation)f(is)f (used)h(during)f(uni\014cation)f(in)i(the)h(follo)m(wing)e(manner.)58 b(The)0 3455 y(implemen)m(tation)28 b(of)h(uni\014cation)f(main)m (tains)g(a)i(b)s(o)s(olean)e(\015ag)i(that)g(sa)m(ys)g(whether)e(an)h (o)s(ccurs)g(c)m(hec)m(k)i(m)m(ust)f(b)s(e)0 3568 y(made)f(when)e(an)h (instan)m(tiation)g(is)f(p)s(erformed.)39 b(The)28 b(\015ag)h(is)e (initially)e(false)j(and)g(is)g(set)h(to)g(true)f(whenev)m(er)h(the)0 3681 y(uni\014cation)i(unrolls)g(a)i(substitution)e(corresp)s(onding)g (to)j(a)f(non-linear)f(lo)s(cation.)48 b(Finally)-8 b(,)33 b(an)g(o)s(ccurs)f(c)m(hec)m(k)0 3794 y(is)d(made)i(for)f(ev)m(ery)h (instan)m(tiation)e(that)i(happ)s(ens)e(when)g(the)i(\015ag)g(set)g(to) g(true.)141 3906 y(With)h(this)g(implemen)m(tation,)g(ev)m(erything)g (that)i(is)d(substituted)g(for)i(a)g(non-linear)e(placeholder)g(v)-5 b(ariable)0 4019 y(is)31 b(treated)j(as)e(non-linear,)g(without)f(ha)m (ving)h(to)h(compute)g(the)f Fv(Nonline)-5 b(ar)44 b FE(substitution.)g(As)33 b(an)f(additional)0 4132 y(b)s(ene\014t)g (this)f(implemen)m(tation)g(indirectly)g(ac)m(hiev)m(es)i(a)g(new)f(o)s (ccurs)h(c)m(hec)m(k)h(optimization.)46 b(The)32 b(\014rst)g(time)h(a)0 4245 y(non-linear)28 b(lo)s(cation)h(is)g(instan)m(tiated)g(no)h(o)s (ccurs)f(c)m(hec)m(k)j(is)c(made.)41 b(Ho)m(w)m(ev)m(er)32 b(if)c(uni\014cation)g(ev)m(er)j(crosses)f(the)0 4358 y(same)f(lo)s(cation)g(again,)g(it)g(sets)g(the)g(o)s(ccurs)g(c)m(hec)m (k)h(\015ag)g(so)f(that)g(all)f(v)-5 b(ariables)28 b(that)h(w)m(ere)h (substituted)d(for)i(the)0 4471 y(non-linear)g(placeholder)g(v)-5 b(ariable)29 b(b)s(eha)m(v)m(e)i(as)f(if)g(they)g(w)m(ere)h (non-linear.)141 4584 y(Th)m(us)22 b(explicit)e(substitutions)g(not)j (only)f(help)f(amortize)i(the)g(cost)g(of)g(p)s(erforming)d (substitutions)g(but)i(pro)m(v)m(e)0 4697 y(to)31 b(b)s(e)f(excellen)m (t)h(v)m(ehicles)e(for)i(implemen)m(ting)d(the)i(o)s(ccurs)g(c)m(hec)m (k)i(optimization.)0 4940 y Fs(10.3)112 b(Memory)38 b(Managemen)m(t)0 5112 y FE(One)i(of)g(the)g(main)f(adv)-5 b(an)m(tages)41 b(of)g(using)d(explicit)g(substitutions)g(is)h(that)h(the)h(memory)e (fo)s(otprin)m(t)h(of)g(the)0 5225 y(reconstruction)26 b(algorithm)f(is)h(v)m(ery)g(small.)38 b(The)26 b(only)g(memory)g(allo) s(cation)g(required)e(is)i(for)g(the)g(substitution)0 5338 y(lists.)39 b(In)30 b(our)g(implemen)m(tation)f(this)g(amoun)m(ts) i(to)g(3)g(w)m(ords)e(for)i(eac)m(h)g(substitution)d(p)s(erformed.)1905 5589 y(55)p eop %%Page: 56 58 56 57 bop 141 91 a FE(Moreo)m(v)m(er)33 b(if)c(no)h(instan)m(tiation)g (is)f(p)s(erformed)g(while)g(c)m(hec)m(king)i(a)g(subterm)e(then)h(the) h(only)f(mo)s(di\014cation)0 204 y(to)j(the)g(state)h(is)e(allo)s (cation)g(and)g(the)h(en)m(tire)f(memory)h(allo)s(cated)f(for)h(c)m (hec)m(king)g(that)h(subterm)d(can)i(b)s(e)f(deal-)0 317 y(lo)s(cated.)41 b(In)28 b(suc)m(h)i(a)f(situation)g(the)h(memory)f (usage)h(follo)m(ws)f(a)g(stac)m(k)i(pattern.)41 b(T)-8 b(o)30 b(exploit)e(this)h(pattern)g(our)0 430 y(implemen)m(tation)24 b(con)m(tains)i(a)h(stac)m(k-based)g(memory)f(allo)s(cator.)39 b(Whenev)m(er)27 b(w)m(e)f(start)g(pro)s(cessing)f(a)h(subterm)0 543 y(w)m(e)k(place)g(a)h(mark)m(er)f(on)g(the)g(allo)s(cator's)g(stac) m(k.)42 b(When)30 b(w)m(e)g(are)h(done)e(with)g(that)i(subterm)d(w)m(e) j(deallo)s(cate)f(at)0 656 y(once)i(all)d(the)i(memory)g(used)f(while)f (c)m(hec)m(king)j(the)f(curren)m(t)g(subterm.)41 b(This)29 b(implemen)m(tation)h(ac)m(hiev)m(es)i(v)m(ery)0 769 y(fast)f(memory)f(allo)s(cation)g(and)f(deallo)s(cation)h(and)g(also)g (has)g(go)s(o)s(d)g(cac)m(he)i(lo)s(calit)m(y)-8 b(.)141 932 y(Ho)m(w)m(ev)m(er,)28 b(if)23 b(w)m(e)h(are)h(doing)e (reconstruction)g(and)h(not)g(just)g(c)m(hec)m(king)g(fully-explicit)d (terms)j(then)f(there)i(can)0 1044 y(b)s(e)e(side-e\013ects)h(to)h(the) f(state.)39 b(Because)25 b(instan)m(tiations)e(create)i(sharing)d (relationships)f(b)s(et)m(w)m(een)j(substitution)0 1157 y(lo)s(cations)k(it)g(is)g(not)h(correct)g(in)f(general)g(to)h(deallo)s (cate)g(all)f(the)h(memory)f(used)g(while)e(pro)s(cessing)i(a)h (subterm.)141 1270 y(In)21 b(order)f(to)i(iden)m(tify)e(the)i (situations)e(when)g(w)m(e)h(can)h(still)d(safely)i(deallo)s(cate)h (memory)f(the)g(implemen)m(tation)0 1383 y(of)26 b(uni\014cation,)g (goal)g(solving)f(and)g(t)m(yp)s(e)i(c)m(hec)m(king)f(k)m(eep)h(trac)m (k)h(of)e(ho)m(w)g(man)m(y)g(distinct)f(placeholder)f(v)-5 b(ariables)0 1496 y(are)33 b(in)e(the)i(t)m(yp)s(e)g(en)m(vironmen)m(t) f(\000)h(and)f(in)f(the)i(t)m(yp)s(e)g Fx(A)g FE(to)g(b)s(e)f(v)m (eri\014ed.)47 b(The)32 b(coun)m(ter)h(is)f(incremen)m(ted)g(with)0 1609 y(eac)m(h)37 b(placeholder)e(v)-5 b(ariable)34 b(in)m(tro)s (duced.)56 b(The)35 b(coun)m(ter)i(is)d(decremen)m(ted)j(with)d(eac)m (h)k(instan)m(tiation.)56 b(Note)0 1722 y(that)34 b(it)f(is)g(not)h(p)s (ossible)d(for)i(t)m(w)m(o)i(distinct)d(instan)m(tiations)g(to)i (instan)m(tiate)g(the)g(same)g(placeholder)e(v)-5 b(ariable.)0 1835 y(Using)36 b(this)g(simple)f(coun)m(ter)j(w)m(e)g(can)f(conserv)-5 b(ativ)m(ely)38 b(detect)g(the)f(situations)f(when)g(no)h(instan)m (tiation)g(will)0 1948 y(happ)s(en)e(during)g(the)j(pro)s(cessing)d(of) j(a)f(subterm)f(b)s(ecause)h(there)g(are)h(no)f(placeholder)f(v)-5 b(ariables.)59 b(In)36 b(these)0 2061 y(situations)29 b(w)m(e)i(deallo)s(cate)g(memory)-8 b(.)141 2174 y(This)35 b(memory)h(optimization)g(is)g(fairly)e(conserv)-5 b(ativ)m(e)38 b(b)s(ecause)f(it)f(fails)f(to)i(deallo)s(cate)g(when)f(there)h(are)0 2286 y(placeholder)43 b(v)-5 b(ariables)42 b(but)i(none)g(is)f(instan)m (tiated.)81 b(In)43 b(these)i(situations)e(the)h(memory)g(deallo)s (cation)f(is)0 2399 y(dela)m(y)m(ed)e(un)m(til)d(all)h(the)i(curren)m (t)f(placeholders)f(are)i(instan)m(tiated.)70 b(This)38 b(ev)m(en)m(tually)i(happ)s(ens)f(b)s(ecause)h(at)0 2512 y(the)31 b(top)f(lev)m(el)g(there)h(are)g(no)f(placeholders.)40 b(Ev)m(en)30 b(suc)m(h)h(a)f(conserv)-5 b(ativ)m(e)32 b(implemen)m(tation)d(p)s(erforms)g(w)m(ell)g(in)0 2625 y(practice)i(as)f(sho)m(wn)g(in)f(Section)h(11.)0 2869 y Fs(10.4)112 b(The)38 b(Flat)f(Binary)g(Represen)m(tation)0 3040 y FE(The)d(last)f(implemen)m(tation)g(detail)g(that)i(w)m(e)g (presen)m(t)f(here)g(is)f(the)h(actual)g(represen)m(tation)h(of)f(the)g (syn)m(tax)h(of)0 3153 y(LF)e(terms)h(and)f(t)m(yp)s(es.)49 b(There)33 b(are)h(four)f(main)f(classes)h(of)h(terms:)46 b(v)-5 b(ariables,)33 b(constan)m(ts,)j(applications)c(and)0 3266 y(abstractions.)39 b(F)-8 b(or)26 b(the)f(purp)s(ose)f(of)h (represen)m(tation)h(w)m(e)f(ignore)g(the)h(di\013erence)e(b)s(et)m(w)m (een)i(a)g(terms)f(and)g(t)m(yp)s(es.)141 3379 y(The)30 b(basic)g(represen)m(tation)g(cell)g(is)f(32)i(bits)f(and)g(has)g(the)g (follo)m(wing)f(bit)g(structure:)1478 3496 y 7458719 1640916 0 0 16971694 3815342 startTexFig 1478 3496 a %%BeginDocument: flatcell.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: flatcell.fig %%Creator: fig2dev Version 3.1 Patchlevel 1 %%CreationDate: Thu Dec 19 19:01:18 1996 %%For: necula@pl1.fox.cs.cmu.edu (George Ciprian Necula) %%Orientation: Portrait %%BoundingBox: 0 0 258 58 %%Pages: 0 %%BeginSetup %%IncludeFeature: *PageSize Letter %%EndSetup %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -21.0 614.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc 7.500 slw % Polyline n 2475 9285 m 2475 9825 l gs col-1 s gr % Polyline n 3975 9285 m 3975 9825 l gs col-1 s gr /Times-Roman findfont 210.00 scalefont setfont 900 9675 m gs 1 -1 sc (LENGTH) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 450 10200 m gs 1 -1 sc (31) col-1 show gr % Polyline n 375 9300 m 4627 9300 l 4627 9855 l 375 9855 l clp gs col-1 s gr /Times-Roman findfont 210.00 scalefont setfont 2175 10200 m gs 1 -1 sc (16) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 3825 10200 m gs 1 -1 sc (3) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 2925 9675 m gs 1 -1 sc (DATA) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 4125 9675 m gs 1 -1 sc (TAG) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 4500 10200 m gs 1 -1 sc (0) col-1 show gr $F2psEnd restore %%EndDocument endTexFig 1145 3900 a FE(Figure)h(17:)42 b(The)30 b(basic)g(represen)m(tation)g (cell.)141 4113 y(The)d Fv(tag)h FE(\014eld)f(distinguishes)d(b)s(et)m (w)m(een)k(a)g(v)-5 b(ariable,)28 b(a)g(constan)m(t,)h(an)f (application)e(or)i(an)f(abstraction.)40 b(All)0 4226 y(the)35 b(4)h(tag)g(v)-5 b(alues)35 b(are)g(o)s(dd)f(b)s(ecause)i(w)m (e)f(reserv)m(e)h(cells)e(with)g(ev)m(en)i(v)-5 b(alues)35 b(to)h(represen)m(t)f(p)s(oin)m(ters)f(to)i(other)0 4338 y(represen)m(tation)30 b(cells.)141 4451 y(In)40 b(the)g(case)i(of)e(a) h(v)-5 b(ariable)39 b(the)h(data)h(p)s(ortion)e(con)m(tains)i(the)f(De) h(Bruijn)e(index)f(of)j(the)f(v)-5 b(ariable.)70 b(In)0 4564 y(the)34 b(case)g(of)g(a)g(constan)m(t)h(the)e(data)i(consists)e (of)g(an)h(index)e(in)m(to)h(the)h(signature)f(table.)50 b(The)33 b(length)g(\014eld)f(for)0 4677 y(v)-5 b(ariables)29 b(and)h(for)g(constan)m(ts)h(is)f(alw)m(a)m(ys)h(4)g(b)s(ecause)f(they) g(o)s(ccup)m(y)h(only)e(one)i(cell.)141 4790 y(An)36 b(application)f Fx(M)860 4804 y Ft(0)936 4790 y Fx(M)1024 4804 y Ft(1)1078 4790 y Fx(:)15 b(:)g(:)i(M)1288 4804 y Fz(n)1371 4790 y FE(is)36 b(represen)m(ted)g(as)h(a)g(represen)m (tation)g(cell)f(with)f(an)i(application)d(tag,)0 4903 y(the)40 b(data)g(v)-5 b(alue)39 b(equal)h(to)g Fx(n)26 b FE(+)g(1)40 b(\(to)h(the)f(n)m(um)m(b)s(er)e(of)i(terms)f(in)g(the)h (application\))e(and)h(follo)m(w)m(ed)g(b)m(y)h(the)0 5016 y(represen)m(tations)26 b(of)g Fx(M)813 5030 y Fz(i)867 5016 y FE(for)f Fx(i)h FE(=)f(0)p Fx(;)15 b(:)g(:)g(:)i(;)e(n)p FE(.)39 b(The)25 b(length)h(\014eld)e(for)h(the)h(application)f(is)f (equal)i(to)g(the)g(n)m(um)m(b)s(er)f(of)0 5129 y(b)m(ytes)j(used)f(to) i(represen)m(t)f(the)f(en)m(tire)h(application)e(term)i(including)c (its)k(subterms.)38 b(This)26 b(v)-5 b(alue)27 b(is)g(redundan)m(t)0 5242 y(but)j(it)g(is)f(used)h(to)h(sp)s(eed)e(up)g(the)i (breadth-\014rst)e(scanning)h(of)g(terms.)1905 5589 y(56)p eop %%Page: 57 59 57 58 bop 141 91 a FE(An)33 b(abstraction)h Fx(\025x)877 105 y Ft(1)932 91 y FE(:)16 b Fx(A)1041 105 y Ft(1)1080 91 y Fx(:\025x)1210 105 y Ft(2)1266 91 y FE(:)f Fx(A)1374 105 y Ft(2)1414 91 y Fx(:)g(:)g(:)g(:)i(\025x)1681 105 y Fz(n)1743 91 y FE(:)f Fx(A)1852 105 y Fz(n)1899 91 y Fx(:M)44 b FE(is)33 b(represen)m(ted)g(as)h(a)g(represen)m(tation)g (cell)f(with)f(an)0 204 y(abstraction)f(tag,)i(the)e(data)g(\014eld)f (equal)g(to)i Fx(n)20 b FE(+)g(1)32 b(and)e(the)h(length)g(\014eld)e (equal)i(to)g(the)g(length)g(of)g(the)g(en)m(tire)0 317 y(abstraction.)41 b(This)27 b(cell)i(is)g(follo)m(w)m(ed)g(in)f(order)h (b)m(y)g(the)h(represen)m(tations)f(of)h Fx(A)2742 331 y Fz(i)2800 317 y FE(for)f Fx(i)d FE(=)f(1)p Fx(;)15 b(:)g(:)g(:)i(;)e(n)29 b FE(and)g(then)g(b)m(y)0 430 y(the)i(represen)m(tation)f(of)h Fx(M)10 b FE(.)141 543 y(F)-8 b(or)31 b(example,)g(w)m(e)f(sho)m(w)h(in)e(Figure)h(18)h(the)f (actual)h(represen)m(tation)g(of)f(the)h(term)f Fx(c)3099 557 y Ft(1)3164 543 y Fx(c)3203 557 y Ft(2)3268 543 y FE(\()p Fx(\025x)10 b FE(:)g Fx(a:c)3565 557 y Ft(3)3631 543 y Fx(x)p FE(\).)60 665 y 29834876 1193392 0 0 38482329 1907671 startTexFig 60 665 a %%BeginDocument: flat.eps %!PS-Adobe-2.0 EPSF-2.0 %%Title: flat.fig %%Creator: fig2dev Version 3.1 Patchlevel 1 %%CreationDate: Mon Dec 23 15:59:51 1996 %%For: necula@pl1.fox.cs.cmu.edu (George Ciprian Necula) %%Orientation: Portrait %%BoundingBox: 0 0 585 29 %%Pages: 0 %%BeginSetup %%IncludeFeature: *PageSize Letter %%EndSetup %%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put /col-1 {} def /col0 {0.000 0.000 0.000 srgb} bind def /col1 {0.000 0.000 1.000 srgb} bind def /col2 {0.000 1.000 0.000 srgb} bind def /col3 {0.000 1.000 1.000 srgb} bind def /col4 {1.000 0.000 0.000 srgb} bind def /col5 {1.000 0.000 1.000 srgb} bind def /col6 {1.000 1.000 0.000 srgb} bind def /col7 {1.000 1.000 1.000 srgb} bind def /col8 {0.000 0.000 0.560 srgb} bind def /col9 {0.000 0.000 0.690 srgb} bind def /col10 {0.000 0.000 0.820 srgb} bind def /col11 {0.530 0.810 1.000 srgb} bind def /col12 {0.000 0.560 0.000 srgb} bind def /col13 {0.000 0.690 0.000 srgb} bind def /col14 {0.000 0.820 0.000 srgb} bind def /col15 {0.000 0.560 0.560 srgb} bind def /col16 {0.000 0.690 0.690 srgb} bind def /col17 {0.000 0.820 0.820 srgb} bind def /col18 {0.560 0.000 0.000 srgb} bind def /col19 {0.690 0.000 0.000 srgb} bind def /col20 {0.820 0.000 0.000 srgb} bind def /col21 {0.560 0.000 0.560 srgb} bind def /col22 {0.690 0.000 0.690 srgb} bind def /col23 {0.820 0.000 0.820 srgb} bind def /col24 {0.500 0.190 0.000 srgb} bind def /col25 {0.630 0.250 0.000 srgb} bind def /col26 {0.750 0.380 0.000 srgb} bind def /col27 {1.000 0.500 0.500 srgb} bind def /col28 {1.000 0.630 0.630 srgb} bind def /col29 {1.000 0.750 0.750 srgb} bind def /col30 {1.000 0.880 0.880 srgb} bind def /col31 {1.000 0.840 0.000 srgb} bind def end save -17.0 46.0 translate 1 -1 scale /clp {closepath} bind def /ef {eofill} bind def /gr {grestore} bind def /gs {gsave} bind def /l {lineto} bind def /m {moveto} bind def /n {newpath} bind def /s {stroke} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /tr {translate} bind def /tnt {dup dup currentrgbcolor 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} bind def /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def %%EndProlog $F2psBegin 10 setmiterlimit 0.06000 0.06000 sc /Times-Roman findfont 150.00 scalefont setfont 3536 623 m gs 1 -1 sc (2) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 9563 593 m gs 1 -1 sc (1) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 3450 574 m gs 1 -1 sc (c) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 472 634 m gs 1 -1 sc (32) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 1050 634 m gs 1 -1 sc (3) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 2273 566 m gs 1 -1 sc (c) col-1 show gr /Times-Roman findfont 150.00 scalefont setfont 2355 642 m gs 1 -1 sc (1) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 2996 604 m gs 1 -1 sc (4) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 7139 571 m gs 1 -1 sc (2) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 1770 597 m gs 1 -1 sc (4) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 4717 600 m gs 1 -1 sc (2) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 4170 600 m gs 1 -1 sc (20) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 5925 571 m gs 1 -1 sc (a) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 5404 577 m gs 1 -1 sc (4) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 6581 589 m gs 1 -1 sc (12) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 7849 588 m gs 1 -1 sc (4) col-1 show gr /Times-Roman findfont 150.00 scalefont setfont 8423 642 m gs 1 -1 sc (3) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 8340 578 m gs 1 -1 sc (c) col-1 show gr /Times-Roman findfont 210.00 scalefont setfont 9071 589 m gs 1 -1 sc (4) col-1 show gr 7.500 slw % Polyline n 3953 300 m 5153 300 l 5153 750 l 3953 750 l clp gs col-1 s gr % Polyline n 4945 298 m 4944 743 l gs col-1 s gr % Polyline n 4559 298 m 4558 743 l gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 5092 693 m gs 1 -1 sc 90.0 rot (ABS) col-1 show gr % Polyline n 6379 300 m 7579 300 l 7579 750 l 6379 750 l clp gs col-1 s gr % Polyline n 2518 298 m 2517 743 l gs col-1 s gr % Polyline n 7371 298 m 7370 743 l gs col-1 s gr % Polyline n 2132 298 m 2131 743 l gs col-1 s gr % Polyline n 6985 298 m 6984 743 l gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 7553 694 m gs 1 -1 sc 90.0 rot (APP) col-1 show gr % Polyline n 7593 300 m 8793 300 l 8793 750 l 7593 750 l clp gs col-1 s gr % Polyline n 8585 298 m 8584 743 l gs col-1 s gr % Polyline n 8199 298 m 8198 743 l gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 8753 626 m gs 1 -1 sc 90.0 rot (CT) col-1 show gr % Polyline n 1526 300 m 2726 300 l 2726 750 l 1526 750 l clp gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 2701 617 m gs 1 -1 sc 90.0 rot (CT) col-1 show gr % Polyline n 3733 298 m 3732 743 l gs col-1 s gr % Polyline n 3347 298 m 3346 743 l gs col-1 s gr % Polyline n 2741 300 m 3941 300 l 3941 750 l 2741 750 l clp gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 3920 622 m gs 1 -1 sc 90.0 rot (CT) col-1 show gr % Polyline n 8807 300 m 10007 300 l 10007 750 l 8807 750 l clp gs col-1 s gr % Polyline n 9799 298 m 9798 743 l gs col-1 s gr % Polyline n 9413 298 m 9412 743 l gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 9972 709 m gs 1 -1 sc 90.0 rot (VAR) col-1 show gr % Polyline n 6159 298 m 6158 743 l gs col-1 s gr % Polyline n 5773 298 m 5772 743 l gs col-1 s gr % Polyline n 5167 300 m 6367 300 l 6367 750 l 5167 750 l clp gs col-1 s gr /Times-Roman findfont 180.00 scalefont setfont 6342 617 m gs 1 -1 sc 90.0 rot (CT) col-1 show gr /Times-Roman findfont 180.00 scalefont setfont 1481 698 m gs 1 -1 sc 90.0 rot (APP) col-1 show gr % Polyline n 310 300 m 1510 300 l 1510 750 l 310 750 l clp gs col-1 s gr % Polyline n 1302 298 m 1301 743 l gs col-1 s gr % Polyline n 916 298 m 915 743 l gs col-1 s gr $F2psEnd restore %%EndDocument endTexFig 0 1012 a FE(Figure)33 b(18:)47 b(The)32 b(\015at)i(represen)m(tation)f (of)g(the)h(term)f Fx(M)40 b FE(=)29 b Fx(c)2156 1026 y Ft(1)2226 1012 y Fx(c)2265 1026 y Ft(2)2335 1012 y FE(\()p Fx(\025x)15 b FE(:)g Fx(a:c)2642 1026 y Ft(3)2712 1012 y Fx(x)p FE(\).)49 b(The)33 b(lab)s(els)e Fx(c)3360 1026 y Fz(i)3422 1012 y FE(and)h Fx(a)h FE(stand)0 1125 y(for)d(in)m(teger)h(indices)d(in)m(to)j(the)f(signature)g(table.)141 1333 y(The)38 b(main)g(c)m(haracteristic)i(of)f(this)e(represen)m (tation)i(is)f(that)i(it)e(a)m(v)m(oids)h(the)g(use)g(of)g(p)s(oin)m (ters.)64 b(F)-8 b(or)40 b(this)0 1446 y(reason)33 b(the)h(represen)m (tation)f(is)f(compact)j(and)d(has)h(go)s(o)s(d)g(spatial)f(lo)s(calit) m(y)h(of)g(reference.)49 b(Most)35 b(of)e(the)g(time)0 1559 y(the)i(terms)g(are)g(scanned)g(depth-\014rst)e(exactly)j(in)e (the)h(order)f(they)h(are)h(laid)d(out)i(in)f(memory)g(.)55 b(In)34 b(the)h(rare)0 1672 y(cases)c(when)f(this)f(do)s(es)h(not)h (happ)s(en)d(the)j Fv(length)g FE(\014eld)e(allo)m(ws)g(for)i (e\016cien)m(t)f(skipping)e(of)j(subterms.)141 1784 y(Due)45 b(to)h(the)f(\015atness)f(of)h(represen)m(tation)g(it)f(is)g(not)h(p)s (ossible)d(to)k(share)e(subterms,)j(and)e(th)m(us)f(a)h(size)0 1897 y(explosion)35 b(o)s(ccurs)h(if)f(a)h(subterm)g(has)g(man)m(y)g (instances)g(in)f(the)h(represen)m(tation.)58 b(This)35 b(situation)g(do)s(es)h(not)0 2010 y(o)s(ccur)31 b(often)h(in)e(our)h (exp)s(erimen)m(ts,)g(mainly)e(b)s(ecause)i(w)m(e)h(do)g(not)f(p)s (erform)f(substitution)f(eagerly)-8 b(.)45 b(Ho)m(w)m(ev)m(er,)0 2123 y(there)34 b(is)f(one)i(pro)m(viso)e(to)i(the)f(represen)m(tation) g(rules)f(that)h(allo)m(w)g(for)g(sharing.)50 b(If)34 b(the)g(lo)m(w-order)f(bit)h(of)g(the)0 2236 y(tag)d(is)f(zero,)h(the)f (the)h(con)m(ten)m(t)h(of)e(the)h(represen)m(tation)f(cell)g(is)f(a)h (p)s(oin)m(ter)g(to)h(a)f(subterm.)40 b(F)-8 b(or)31 b(this)e(reason)h(w)m(e)0 2349 y(select)37 b(o)s(dd)f(v)-5 b(alues)36 b(for)h(the)g(v)-5 b(ariable,)37 b(constan)m(t,)j (application)35 b(and)h(abstraction)h(tags)h(and)e(w)m(e)h(reserv)m(e)h (the)0 2462 y(ev)m(en)31 b(v)-5 b(alue)30 b(to)h(signal)e(indirection.) 141 2625 y(The)36 b(binary)e(represen)m(tation)j(can)f(b)s(e)g(made)g (ev)m(en)h(smaller)e(b)s(ecause)h(most)h(of)g(the)f(time)g(the)h Fv(data)g FE(\014eld)0 2738 y(uses)g(signi\014can)m(tly)f(less)h(than)g (13)h(bits,)h(and)e(also)g(b)s(ecause)h(the)f Fv(length)h FE(\014eld)e(is)h(redundan)m(t.)61 b(Ho)m(w)m(ev)m(er,)41 b(w)m(e)0 2850 y(k)m(eep)c(the)f(represen)m(tation)g(cells)f(32-bit)h (long)g(b)s(ecause)g(w)m(e)g(o)s(ccasionally)f(w)m(an)m(t)i(to)g(\014t) f(mac)m(hine)f(p)s(oin)m(ters)g(in)0 2963 y(them)30 b(and)g(also)g(due) g(to)h(alignmen)m(t)f(constrain)m(ts)g(on)h(the)f(ph)m(ysical)f(mac)m (hines)h(w)m(e)h(use.)141 3076 y(Ho)m(w)m(ev)m(er,)h(these)e (justi\014cation)e(do)i(not)g(apply)e(to)i(an)f(external)h(represen)m (tation)f(of)h(LF)g(terms,)g(on)f(the)h(\014le)0 3189 y(system)k(or)f(in)f(the)i(net)m(w)m(ork)g(for)f(example.)50 b(The)33 b(external)g(represen)m(tation)g(is)g(v)m(ery)h(similar)c(to) 35 b(the)e(in)m(ternal)0 3302 y(represen)m(tation)i(with)f(the)i (di\013erence)e(that)i(the)f(cells)g(do)g(not)g(con)m(tain)h(a)g Fv(length)f FE(\014eld)f(and)h(are)g(only)g(16-bit)0 3415 y(long.)40 b(In)29 b(the)g(external)h(represen)m(tation)f(the)h (indirection)d(p)s(oin)m(ters)h(are)i(replaced)f(with)f(ev)m(en)i (indices)e(in)m(to)h(an)0 3528 y(indirection)j(table)i(that)h (accompanies)g(the)f(LF)h(term.)53 b(The)34 b Fv(length)h FE(\014eld)e(is)g(easily)h(re-generated)h(when)f(the)0 3641 y(external)c(represen)m(tation)h(is)e(con)m(v)m(erted)j(to)f(the)g (in)m(ternal)e(form.)1905 5589 y(57)p eop %%Page: 58 60 58 59 bop 0 91 a FB(11)135 b(P)l(erformance)46 b(Measuremen)l(ts)0 294 y FE(In)32 b(this)g(section)h(w)m(e)g(compare)g(the)g(implicit)d (LF)j(represen)m(tations)g(obtained)f(using)f(the)i(three)g(erasure)g (algo-)0 407 y(rithms)j(presen)m(ted)h(in)g(Section)g(7)h(among)g (themselv)m(es)g(and)f(with)f(the)i(fully-explicit)c(represen)m (tation.)62 b(The)0 520 y(parameters)45 b(that)h(w)m(e)f(measure)g(for) g(eac)m(h)h(represen)m(tation)f(are)g(the)g(size,)k(the)c (reconstruction)g(time)g(and)0 633 y(the)26 b(dynamically)d(allo)s (cated)i(memory)h(required)d(for)j(reconstruction.)38 b(Then,)26 b(w)m(e)g(conclude)f(the)h(p)s(erformance)0 746 y(analysis)e(with)g(the)h(presen)m(tation)h(of)f(the)h(b)s (ene\014ts)e(gained)h(using)e(the)j(optimizations)e(presen)m(ted)h(in)f (Section)h(9.)141 898 y(The)41 b(data)g(set)h(used)e(for)h(the)g (measuremen)m(ts)g(presen)m(ted)g(in)f(this)g(rep)s(ort)g(is)g (obtained)h(from)f(our)h(case)0 1011 y(studies)35 b(of)h(Pro)s (of-Carrying)e(Co)s(de)i(\(PCC\))g([12)q(].)58 b(PCC)35 b(is)g(a)h(tec)m(hnique)g(that)g(a)h(serv)m(er)f(can)g(use)g(to)h (ensure)0 1123 y(with)24 b(absolute)h(certain)m(t)m(y)h(that)g(the)f (co)s(de)g(pro)m(vided)f(b)m(y)h(an)g(un)m(trusted)f(clien)m(t)g(is)h (safe)g(to)h(run,)f(for)g(a)g(previously)0 1236 y(de\014ned)30 b(notion)g(of)h(safet)m(y)-8 b(.)43 b(The)31 b(idea)f(b)s(ehind)e(PCC)i (is)g(that)h(the)g(clien)m(t)g(pro)m(vides,)f(together)i(with)d(the)i (co)s(de,)0 1349 y(the)36 b(LF)g(represen)m(tation)g(of)g(a)g(formal)f (pro)s(of)h(of)g(safet)m(y)-8 b(.)59 b(In)35 b(the)h(con)m(text)i(of)e (PCC)f(it)g(is)g(imp)s(ortan)m(t)g(for)h(the)0 1462 y(pro)s(of)26 b(represen)m(tations)h(to)h(b)s(e)e(small)g(b)s(ecause)h(they)g (accompan)m(y)h(the)g(co)s(de)f(and)f(it)h(is)f(also)h(imp)s(ortan)m(t) f(for)h(the)0 1575 y(reconstruction)j(to)h(b)s(e)f(fast)h(b)s(ecause)f (it)g(is)f(executed)j(b)m(y)e(the)g(serv)m(er)h(in)e(the)i(critical)e (path.)141 1688 y(W)-8 b(e)37 b(extracted)g(the)e(PCC)g(safet)m(y)h (pro)s(of)f(for)g(32)h(exp)s(erimen)m(tal)f(programs)g(written)f(in)g (the)i(DEC)f(Alpha)0 1801 y(assem)m(bly)d(language.)47 b(These)32 b(programs)g(include)e(sev)m(eral)j(v)-5 b(arian)m(ts)32 b(of)g(net)m(w)m(ork)i(pac)m(k)m(et)g(\014lters)d([14)q(],)j(sev)m (eral)0 1914 y(v)-5 b(arian)m(ts)33 b(of)g(the)h(IP)e(c)m(hec)m(ksum)i (routine)e([13)r(])h(and)f(other)i(PCC)e(exp)s(erimen)m(ts)g(presen)m (ted)h(in)f([13)q(].)50 b(The)32 b(sizes)0 2027 y(of)42 b(these)g(programs)f(range)h(from)f(10)h(to)g(50)g(assem)m(bly)f (language)h(instructions.)72 b(In)41 b(all)f(the)i(exp)s(erimen)m(ts)0 2140 y(considered)30 b(in)h(this)f(rep)s(ort)h(the)h(LF)g(ob)5 b(jects)32 b(to)h(b)s(e)e(reconstructed)h(are)g(implicit)c(represen)m (tations)k(of)g(pro)s(ofs)0 2253 y(in)d(\014rst-order)h(logics)g (similar)d(to)k(the)g(logic)f FA(L)g FE(presen)m(ted)g(in)f(Section)i (2.)141 2365 y(F)-8 b(or)36 b(eac)m(h)g(of)f(the)h(32)g(pro)s(ofs)e(w)m (e)h(considered)f(four)h(represen)m(tations.)54 b(The)35 b(basic)f(represen)m(tation)i(is)e(the)0 2478 y(fully-explicit)j(one.) 71 b(W)-8 b(e)41 b(conjecture)h(that)f(the)f(p)s(erformance)g(of)g(the) h(t)m(yp)s(e-reconstruction)g(algorithm)e(on)0 2591 y(explicit)29 b(represen)m(tations)h(is)g(a)h(go)s(o)s(d)g(estimate)g(of)g(the)g (cost)g(of)g(LF)g(t)m(yp)s(e-c)m(hec)m(king)h(b)s(ecause)e(there)h(is)f (a)h(close)0 2704 y(similarit)m(y)38 b(b)s(et)m(w)m(een)i(the)h(n)m(um) m(b)s(er)e(and)g(the)h(nature)g(of)h(the)f(op)s(erations)g(p)s (erformed)e(in)h(b)s(oth)g(cases.)71 b(The)0 2817 y(other)36 b(three)f(represen)m(tations)g(that)h(w)m(e)g(consider)e(are)i(those)g (obtained)e(through)h(the)h(lo)s(cal,)g(one-bit)f(global)0 2930 y(and)30 b(global)f(erasures)h(from)g(the)h(explicit)e(represen)m (tations.)141 3043 y(All)35 b(the)h(size)g(measuremen)m(ts)g(are)g(of)g (the)g(binary)e(represen)m(tation)i(of)g(LF)g(terms,)i(as)e(presen)m (ted)g(in)e(Sec-)0 3156 y(tion)39 b(10.4.)69 b(Recall)39 b(that)h(all)e(LF)h(constan)m(ts)i(are)f(represen)m(ted)f(as)g(indices) f(in)m(to)h(the)h(signature)e(table.)68 b(W)-8 b(e)0 3269 y(include)32 b(in)i(the)g(size)h(of)f(the)h(represen)m(tation)g (the)f(size)h(of)f(the)h(link)-5 b(age)34 b(information,)g(whic)m(h)f (is)h(a)h(list)e(of)i(the)0 3382 y(constan)m(t)j(names)e(in)f(the)h (signature.)58 b(The)35 b(link)-5 b(age)36 b(table)g(is)f(only)h (required)e(if)h(there)i(is)e(no)h(preestablished)0 3495 y(order)c(of)g(individual)c(constan)m(ts)33 b(in)e(the)i(signature.)46 b(If)32 b(w)m(e)g(omit)h(the)f(size)g(of)h(the)f(link)-5 b(age)32 b(table,)h(the)f(results)0 3607 y(presen)m(ted)e(in)f(the)i (rest)f(of)h(this)e(section)i(are)g(impro)m(v)m(ed.)141 3720 y(The)38 b(size)h(of)g(the)g(explicit)e(represen)m(tation)i(serv)m (es)h(as)f(the)g(basis)e(of)i(ev)-5 b(aluation)39 b(for)f(the)h (erasure)g(algo-)0 3833 y(rithms.)f(F)-8 b(or)28 b(eac)m(h)h(of)f(the)f (implicit)e(represen)m(tations)i(w)m(e)h(measure)g(the)g(impro)m(v)m (emen)m(t)f(in)g(the)g(reconstruction)0 3946 y(time)35 b(and)f(the)h(size)g(of)g(the)g(dynamically)d(allo)s(cated)j(memory)g (used)f(during)e(t)m(yp)s(e)j(reconstruction.)54 b(All)34 b(the)0 4059 y(measuremen)m(ts)27 b(w)m(ere)g(done)f(on)g(a)h(DEC)f (Alpha)f(w)m(orkstation)i(with)e(a)i(175-MHz)i(Alpha)c(21064)k(pro)s (cessor)d(and)0 4172 y(a)g(2-Mb)m(ytes)h(b)s(oard-lev)m(el)d(cac)m(he.) 40 b(The)25 b(measuremen)m(ts)h(are)f(p)s(erformed)f(with)g(a)i(w)m (arm)f(cac)m(he)i(and)e(w)m(e)g(a)m(v)m(erage)0 4285 y(the)31 b(data)g(o)m(v)m(er)g(at)g(least)g(consecutiv)m(e)g(1000)h (runs.)141 4398 y(T)-8 b(able)35 b(3)g(sho)m(ws)g(absolute)g(p)s (erformance)f(data)i(for)f(the)g(fully-explicit)c(represen)m(tation)36 b(and)e(the)h(one-bit)0 4511 y(global)41 b(represen)m(tation.)73 b(W)-8 b(e)43 b(only)d(sho)m(w)h(in)f(this)g(table)i(only)e(a)i (handful)c(of)k(represen)m(tativ)m(e)g(cases.)74 b(The)0 4624 y(exp)s(erimen)m(t)27 b(en)m(titled)h Fv(Cap)g FE(is)g(the)g (resource)g(access)h(service)f(from)g([14)q(].)40 b(The)27 b(pac)m(k)m(et)j(\014lters)d(3)i(and)e(4)i(are)f(also)0 4737 y(describ)s(ed)22 b(in)g([13)r(].)38 b(The)24 b Fv(Ping)f FE(exp)s(erimen)m(t)g(is)g(the)h(largest)h(PCC)e(exp)s (erimen)m(t)g(to)h(date)h(and)e(in)m(v)m(olv)m(es)h(c)m(hec)m(king)0 4850 y(b)s(oth)31 b(safet)m(y)i(and)e(liv)m(eness)g(prop)s(erties)f(of) i(a)g(simple)e(implemen)m(tation)g(of)i(the)g(ping)f(net)m(w)m(ork)i (proto)s(col.)44 b(The)0 4962 y(exp)s(erimen)m(t)d Fv(Safe)j(ML)d FE(is)g(describ)s(ed)f(in)h([12)q(].)76 b(In)42 b(the)g(rest)g(of)g (this)f(section)h(w)m(e)h(shall)d(fo)s(cus)i(on)g(relativ)m(e)0 5075 y(p)s(erformance)36 b(comparisons.)60 b(All)36 b(the)h(rep)s (orted)f(results)g(are)h(based)g(on)g(32)h(exp)s(erimen)m(ts)e(that)h (include)e(all)0 5188 y(those)c(describ)s(ed)d(here)i(and)g(others)h (that)g(are)f(similar)e(but)i(generally)f(smaller.)141 5340 y(In)h(order)g(to)i(compute)f(the)g(reduction)f(in)f(the)i (represen)m(tation)g(size)g(and)f(reconstruction)g(time,)h(w)m(e)g (com-)1905 5589 y(58)p eop %%Page: 59 61 59 60 bop 181 103 3539 4 v 179 216 4 113 v 870 216 V 1423 182 a FE(Explicit)p 2285 216 V 2302 216 V 976 w(One-bit)30 b(Global)p 3718 216 V 872 219 2848 4 v 179 329 4 113 v 231 295 a(Exp)s(erimen)m(t)p 870 329 V 286 w(Size)p 1248 329 V 160 w(Rec.)42 b(Time)p 1768 329 V 98 w(Rec.)g(Heap)p 2285 329 V 2302 329 V 177 w(Size)p 2680 329 V 160 w(Rec.)g(Time)p 3200 329 V 99 w(Rec.)f(Heap)p 3718 329 V 179 442 V 870 442 V 921 408 a(\(b)m(ytes\))p 1248 442 V 220 w(\(ms\))p 1768 442 V 289 w(\(b)m(ytes\))p 2285 442 V 2302 442 V 188 w(\(b)m(ytes\))p 2680 442 V 219 w(\(ms\))p 3200 442 V 289 w(\(b)m(ytes\))p 3718 442 V 181 445 3539 4 v 181 462 V 179 575 4 113 v 231 541 a(Cap)p 870 575 V 625 w(3049)p 1248 575 V 360 w(7.41)p 1768 575 V 337 w(5896)p 2285 575 V 2302 575 V 260 w(257)p 2680 575 V 360 w(1.14)p 3200 575 V 338 w(4984)p 3718 575 V 179 687 V 231 654 a(IP)30 b(Chec)m(ksum)p 870 687 V 211 w(23198)p 1248 687 V 316 w(56.84)p 1768 687 V 292 w(20088)p 2285 687 V 2302 687 V 215 w(1037)p 2680 687 V 360 w(5.77)p 3200 687 V 292 w(15432)p 3718 687 V 179 800 V 231 766 a(P)m(ac)m(k)m(et)j (Filter)c(3)p 870 800 V 151 w(15898)p 1248 800 V 316 w(36.75)p 1768 800 V 292 w(17648)p 2285 800 V 2302 800 V 260 w(561)p 2680 800 V 360 w(2.80)p 3200 800 V 292 w(13136)p 3718 800 V 179 913 V 231 879 a(P)m(ac)m(k)m(et)k(Filter)c(4)p 870 913 V 151 w(14502)p 1248 913 V 316 w(33.57)p 1768 913 V 292 w(15016)p 2285 913 V 2302 913 V 260 w(547)p 2680 913 V 360 w(2.60)p 3200 913 V 292 w(10216)p 3718 913 V 179 1026 V 231 992 a(Ping)p 870 1026 V 512 w(181527)p 1248 1026 V 270 w(458.27)p 1768 1026 V 293 w(53376)p 2285 1026 V 2302 1026 V 215 w(4149)p 2680 1026 V 315 w(24.86)p 3200 1026 V 292 w(38928)p 3718 1026 V 179 1139 V 231 1105 a(Safe)h(ML)p 870 1139 V 407 w(13758)p 1248 1139 V 316 w(34.72)p 1768 1139 V 292 w(12152)p 2285 1139 V 2302 1139 V 260 w(707)p 2680 1139 V 360 w(4.30)p 3200 1139 V 292 w(11144)p 3718 1139 V 181 1142 3539 4 v 0 1297 a(T)-8 b(able)28 b(3:)41 b(Absolute)28 b(p)s(erformance)g(data)h (for)f(the)h(t)m(yp)s(e)g(reconstruction)f(of)h(fully-explicit)c(and)j (one-bit)h(global)0 1410 y(represen)m(tations.)0 1784 y(pute)23 b(the)h(geometric)g(means)f(of)h(corresp)s(onding)d(ratios.) 38 b(The)23 b(resulting)f(v)-5 b(alues)22 b(are)i(sho)m(wn)f(in)f(T)-8 b(able)23 b(4.)38 b(Based)0 1897 y(on)33 b(these)h(results)e(w)m(e)h (conclude)g(that)h(all)e(implicit)e(represen)m(tations)j(ac)m(hiev)m(e) i(signi\014can)m(t)d(reductions)g(in)g(the)0 2010 y(size)h(of)h (represen)m(tation)g(and)f(the)g(v)-5 b(alidation)32 b(time.)50 b(The)33 b(memory)h(required)d(for)j(v)-5 b(alidation)32 b(is)g(reduced)h(b)m(y)0 2123 y(only)25 b(appro)m(ximately)h(35\045.)39 b(Suc)m(h)26 b(a)g(small)f(impro)m(v)m (emen)m(t)h(in)f(memory)h(usage)h(is)e(motiv)-5 b(ated)26 b(b)m(y)g(the)g(fact)h(that)0 2236 y(the)36 b(more)f(implicit)e(the)i (represen)m(tation,)j(the)d(more)h(memory)f(is)g(required)e(for)j (holding)d(the)j(reconstructed)0 2349 y(subterms,)41 b(and)e(the)g(few)m(er)h(opp)s(ortunities)d(to)j(deallo)s(cate)g (memory)g(eagerly)f(\(see)i(the)f(description)d(of)j(the)0 2462 y(memory)30 b(optimization)g(in)f(Section)h(9\).)141 2575 y(The)23 b(ma)5 b(jor)23 b(surprise)e(rev)m(ealed)i(b)m(y)g(the)g (data)h(from)f(T)-8 b(able)23 b(4)g(is)f(that)i(the)f(global)g (represen)m(tation)g(algorithm)0 2688 y(is)30 b(not)h(signi\014can)m (tly)e(more)h(e\013ectiv)m(e)j(than)d(the)h(one-bit)g(global)f (algorithm)f(in)h(terms)g(of)h(represen)m(tation)g(size)0 2801 y(and)42 b(reconstruction)h(time.)77 b(In)42 b(addition,)j(it)d (increases)g(sligh)m(tly)f(the)i(amoun)m(t)h(of)f(memory)f(required)f (for)0 2914 y(reconstruction.)f(The)29 b(main)f(reason)h(for)g(suc)m(h) g(a)g(dismal)f(impro)m(v)m(emen)m(t)h(o)m(v)m(er)i(the)e(one-bit)g (algorithm)f(is)g(that)0 3026 y(the)33 b(one-bit)f(erasure)h(succeeds)g (in)f(remo)m(ving)g(the)h(v)-5 b(ast)33 b(ma)5 b(jorit)m(y)33 b(of)g(redundan)m(t)f(subterms)f(and)i(ac)m(hiev)m(es)h(a)0 3139 y(near)i(optimal)g(represen)m(tation,)i(lea)m(ving)f(v)m(ery)g (little)e(ro)s(om)h(for)h(impro)m(v)m(emen)m(t.)59 b(In)m(terestingly) -8 b(,)38 b(the)f(one-bit)0 3252 y(global)29 b(erasure)h(algorithm)e (ac)m(hiev)m(ed)j(optimal)e(results)f(on)i(the)g(largest)g(exp)s (erimen)m(ts)f(w)m(e)h(p)s(erformed.)39 b(These)0 3365 y(observ)-5 b(ation,)29 b(com)m(bined)g(with)f(the)h(substan)m(tial)f (complexit)m(y)h(of)g(the)h(global)e(erasure)h(algorithm,)g(lead)g(to)h (the)0 3478 y(conclusion)25 b(that)j(the)f(global)f(erasure)h (algorithm)f(is)g(not)h(of)g(practical)g(v)-5 b(alue)26 b(for)h(the)g(implicit)d(represen)m(tation)0 3591 y(of)31 b(\014rst-order)e(pro)s(ofs.)p 939 3811 2022 4 v 937 3924 4 113 v 989 3890 a(Ratio)p 1878 3924 V 723 w(Lo)s(cal)p 2194 3924 V 99 w(One-bit)p 2596 3924 V 99 w(Global)p 2959 3924 V 939 3927 2022 4 v 937 4040 4 113 v 989 4006 a(Represen)m(tation)i(size)p 1878 4040 V 227 w(5.08)p 2194 4040 V 197 w(15.42)p 2596 4040 V 158 w(15.83)p 2959 4040 V 937 4153 V 989 4119 a(Reconstruction)f(time)p 1878 4153 V 190 w(3.71)p 2194 4153 V 242 w(7.71)p 2596 4153 V 203 w(7.81)p 2959 4153 V 937 4266 V 989 4232 a(Reconstruction)g (space)p 1878 4266 V 155 w(1.31)p 2194 4266 V 242 w(1.36)p 2596 4266 V 203 w(1.32)p 2959 4266 V 939 4270 2022 4 v 0 4524 a(T)-8 b(able)35 b(4:)53 b(The)35 b(reduction)g(in)f(represen) m(tation)i(size,)h(reconstruction)f(time)f(and)h(space)g(due)f(to)i (the)f(implicit)0 4637 y(represen)m(tation.)141 4849 y(While)e(the)i(ratios)f(sho)m(wn)f(in)g(T)-8 b(able)35 b(4)h(clearly)e(demonstrate)i(the)g(e\013ectiv)m(eness)g(of)g(the)f (implicit)d(repre-)0 4962 y(sen)m(tations)39 b(for)g(\014rst-order)f (logic)g(pro)s(ofs,)j(they)e(do)f(not)h(sho)m(w)g(the)g(whole)f(p)s(o)m (w)m(er)h(of)g(reconstruction.)66 b(W)-8 b(e)0 5075 y(observ)m(ed)31 b(that)h(the)g(impro)m(v)m(emen)m(ts)f(due)g(to)h(implicit)c(represen)m (tations)k(are)f(larger)g(in)f(relativ)m(e)i(terms)f(as)h(the)0 5188 y(pro)s(ofs)g(get)i(larger.)48 b(This)31 b(suggests)i(that)g(a)h (simple)c(ratio)j(do)s(es)g(not)g(con)m(v)m(ey)h(the)f(true)g(p)s (erformance)f(b)s(ene\014t)0 5301 y(to)f(b)s(e)f(gained)g(through)f (reconstruction.)1905 5589 y(59)p eop %%Page: 60 62 60 61 bop 450 114 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 450 114 a %%BeginDocument: corr_rep.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: gnuplot %%DocumentFonts: Helvetica %%BoundingBox: 50 50 410 302 %%EndComments /gnudict 40 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -46 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Helvetica findfont 140 scalefont setfont newpath LTa LTb 840 351 M 63 0 V 6066 0 R -63 0 V 756 351 M (0.01) Rshow 840 1046 M 31 0 V 6098 0 R -31 0 V 840 1453 M 31 0 V 6098 0 R -31 0 V 840 1741 M 31 0 V 6098 0 R -31 0 V 840 1965 M 31 0 V 6098 0 R -31 0 V 840 2148 M 31 0 V 6098 0 R -31 0 V 840 2302 M 31 0 V 6098 0 R -31 0 V 840 2436 M 31 0 V 6098 0 R -31 0 V 840 2554 M 31 0 V 6098 0 R -31 0 V 840 2660 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.1) Rshow 840 3355 M 31 0 V 6098 0 R -31 0 V 840 3762 M 31 0 V 6098 0 R -31 0 V 840 4050 M 31 0 V 6098 0 R -31 0 V 840 4274 M 31 0 V 6098 0 R -31 0 V 840 4457 M 31 0 V 6098 0 R -31 0 V 840 4611 M 31 0 V 6098 0 R -31 0 V 840 4745 M 31 0 V 6098 0 R -31 0 V 840 4863 M 31 0 V 6098 0 R -31 0 V 840 4969 M 63 0 V 6066 0 R -63 0 V -6150 0 R (1) Rshow 840 351 M 0 31 V 0 4587 R 0 -31 V 1002 351 M 0 31 V 0 4587 R 0 -31 V 1139 351 M 0 31 V 0 4587 R 0 -31 V 1257 351 M 0 31 V 0 4587 R 0 -31 V 1362 351 M 0 31 V 0 4587 R 0 -31 V 1455 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (1000) Cshow 2070 351 M 0 31 V 0 4587 R 0 -31 V 2430 351 M 0 31 V 0 4587 R 0 -31 V 2685 351 M 0 31 V 0 4587 R 0 -31 V 2883 351 M 0 31 V 0 4587 R 0 -31 V 3045 351 M 0 31 V 0 4587 R 0 -31 V 3182 351 M 0 31 V 0 4587 R 0 -31 V 3300 351 M 0 31 V 0 4587 R 0 -31 V 3405 351 M 0 31 V 0 4587 R 0 -31 V 3498 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (10000) Cshow 4113 351 M 0 31 V 0 4587 R 0 -31 V 4473 351 M 0 31 V 0 4587 R 0 -31 V 4728 351 M 0 31 V 0 4587 R 0 -31 V 4926 351 M 0 31 V 0 4587 R 0 -31 V 5088 351 M 0 31 V 0 4587 R 0 -31 V 5225 351 M 0 31 V 0 4587 R 0 -31 V 5343 351 M 0 31 V 0 4587 R 0 -31 V 5448 351 M 0 31 V 0 4587 R 0 -31 V 5541 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (100000) Cshow 6156 351 M 0 31 V 0 4587 R 0 -31 V 6516 351 M 0 31 V 0 4587 R 0 -31 V 6771 351 M 0 31 V 0 4587 R 0 -31 V 6969 351 M 0 31 V 0 4587 R 0 -31 V 840 351 M 6129 0 V 0 4618 V -6129 0 V 840 351 L 140 2660 M currentpoint gsave translate 90 rotate 0 0 M (Representation Size Ratio) Cshow grestore 3904 71 M (Explicit Representation Size \(bytes\)) Cshow LT0 6486 4766 M (Local) Rshow 6654 4766 D 1772 3532 D 2097 3467 D 2444 3275 D 2314 3233 D 4245 3347 D 3005 2801 D 3602 3155 D 4740 2971 D 2063 2243 D 2078 2147 D 1183 3142 D 2655 3419 D 2838 3375 D 2514 3471 D 1722 3648 D 3014 3607 D 3246 3531 D 2081 3738 D 3018 3493 D 2081 3738 D 3635 3753 D 2569 3788 D 3051 3871 D 3909 3644 D 3851 3401 D 2710 3783 D 3580 3299 D 3828 3337 D 3993 2853 D 2956 3154 D 6070 3270 D 3305 3178 D 3781 3518 D LT0 6486 4626 M (One-bit) Rshow 6654 4626 A 1772 2852 A 2097 2664 A 2444 2489 A 2314 2722 A 4245 1853 A 3005 2323 A 3602 1835 A 4740 1340 A 2063 2243 A 2078 2147 A 1183 3142 A 2655 2165 A 2838 1949 A 2514 2341 A 1722 3002 A 3014 2048 A 3246 1806 A 2081 2868 A 3018 2112 A 2081 2868 A 3635 1871 A 2569 2889 A 3051 2983 A 3909 1615 A 3851 1784 A 2710 2632 A 3580 1890 A 3828 1682 A 3993 1503 A 2956 2214 A 6070 1180 A 3305 2446 A 3781 1992 A stroke grestore end showpage %%Trailer %%EndDocument endTexFig 0 2410 a FE(Figure)34 b(19:)51 b(The)34 b(represen)m(tation-size)h (reduction)f(as)h(a)g(function)e(of)i(the)g(explicit)f(represen)m (tation)g(on)h(loga-)0 2523 y(rithmic)28 b(scale.)450 2817 y 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 450 2817 a %%BeginDocument: corr_tim.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: gnuplot %%DocumentFonts: Helvetica %%BoundingBox: 50 50 410 302 %%EndComments /gnudict 40 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -46 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Helvetica findfont 140 scalefont setfont newpath LTa LTb 840 351 M 63 0 V 6066 0 R -63 0 V 756 351 M (0.01) Rshow 840 1046 M 31 0 V 6098 0 R -31 0 V 840 1453 M 31 0 V 6098 0 R -31 0 V 840 1741 M 31 0 V 6098 0 R -31 0 V 840 1965 M 31 0 V 6098 0 R -31 0 V 840 2148 M 31 0 V 6098 0 R -31 0 V 840 2302 M 31 0 V 6098 0 R -31 0 V 840 2436 M 31 0 V 6098 0 R -31 0 V 840 2554 M 31 0 V 6098 0 R -31 0 V 840 2660 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.1) Rshow 840 3355 M 31 0 V 6098 0 R -31 0 V 840 3762 M 31 0 V 6098 0 R -31 0 V 840 4050 M 31 0 V 6098 0 R -31 0 V 840 4274 M 31 0 V 6098 0 R -31 0 V 840 4457 M 31 0 V 6098 0 R -31 0 V 840 4611 M 31 0 V 6098 0 R -31 0 V 840 4745 M 31 0 V 6098 0 R -31 0 V 840 4863 M 31 0 V 6098 0 R -31 0 V 840 4969 M 63 0 V 6066 0 R -63 0 V -6150 0 R (1) Rshow 840 351 M 0 63 V 0 4555 R 0 -63 V 840 211 M (1000) Cshow 1504 351 M 0 31 V 0 4587 R 0 -31 V 1893 351 M 0 31 V 0 4587 R 0 -31 V 2168 351 M 0 31 V 0 4587 R 0 -31 V 2382 351 M 0 31 V 0 4587 R 0 -31 V 2557 351 M 0 31 V 0 4587 R 0 -31 V 2704 351 M 0 31 V 0 4587 R 0 -31 V 2832 351 M 0 31 V 0 4587 R 0 -31 V 2945 351 M 0 31 V 0 4587 R 0 -31 V 3046 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (10000) Cshow 3710 351 M 0 31 V 0 4587 R 0 -31 V 4099 351 M 0 31 V 0 4587 R 0 -31 V 4374 351 M 0 31 V 0 4587 R 0 -31 V 4588 351 M 0 31 V 0 4587 R 0 -31 V 4763 351 M 0 31 V 0 4587 R 0 -31 V 4911 351 M 0 31 V 0 4587 R 0 -31 V 5038 351 M 0 31 V 0 4587 R 0 -31 V 5151 351 M 0 31 V 0 4587 R 0 -31 V 5252 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (100000) Cshow 5916 351 M 0 31 V 0 4587 R 0 -31 V 6305 351 M 0 31 V 0 4587 R 0 -31 V 6581 351 M 0 31 V 0 4587 R 0 -31 V 6794 351 M 0 31 V 0 4587 R 0 -31 V 6969 351 M 0 31 V 0 4587 R 0 -31 V 840 351 M 6129 0 V 0 4618 V -6129 0 V 840 351 L 140 2660 M currentpoint gsave translate 90 rotate 0 0 M (Reconstruction Time Ratio) Cshow grestore 3904 71 M (Explicit Reconstruction Time \(us\)) Cshow LT0 6486 4766 M (Local) Rshow 6654 4766 D 1973 3887 D 2325 3825 D 2760 3585 D 2609 3569 D 4711 3588 D 3391 3274 D 3997 3412 D 5268 3217 D 2180 2879 D 2176 2957 D 1262 3480 D 2898 3625 D 3084 3602 D 2753 3752 D 1928 3906 D 3318 3753 D 3551 3699 D 2389 3907 D 3321 3760 D 2389 3907 D 4018 3885 D 2940 4050 D 3460 4132 D 4293 3790 D 4270 3640 D 3109 4000 D 3949 3510 D 4206 3531 D 4413 3151 D 3328 3475 D 6711 3398 D 3723 3589 D 4239 3754 D LT0 6486 4626 M (One-bit) Rshow 6654 4626 A 1973 3456 A 2325 3330 A 2760 3089 A 2609 3222 A 4711 2675 A 3391 3039 A 3997 2677 A 5268 2306 A 2180 2885 A 2176 2961 A 1262 3477 A 2898 2689 A 3084 2570 A 2753 3001 A 1928 3405 A 3318 2620 A 3551 2441 A 2389 3299 A 3321 2867 A 2389 3299 A 4018 2608 A 2940 3529 A 3460 3656 A 4293 2385 A 4270 2688 A 3109 3332 A 3949 2567 A 4206 2403 A 4413 2357 A 3328 2929 A 6711 2047 A 3723 3204 A 4239 2874 A stroke grestore end showpage %%Trailer %%EndDocument endTexFig 0 5113 a FE(Figure)j(20:)45 b(The)32 b(reconstruction-time)f (reduction)g(as)h(a)h(function)d(of)i(the)g(explicit)f(reconstruction)g (on)h(loga-)0 5226 y(rithmic)c(scale.)1905 5589 y(60)p eop %%Page: 61 63 61 62 bop 141 91 a FE(In)31 b(Figure)g(19)h(and)f(20)h(w)m(e)g(plot)e (on)i(logarithmic)e(scale)h(the)h(impro)m(v)m(emen)m(t)g(ratios)f(of)g (the)h(represen)m(tation)0 204 y(size)40 b(and)f(the)h(v)-5 b(alidation)38 b(time)h(as)h(a)g(function)f(of)h(the)g(explicit)e (represen)m(tation)i(size)f(and)g(reconstruction)0 317 y(time,)e(for)f(the)g(32)h(exp)s(erimen)m(ts)e(considered.)56 b(These)36 b(\014gures)f(sho)m(w)h(that,)i(at)f(least)f(for)g(the)g (one-bit)g(global)0 430 y(represen)m(tation,)g(the)f(impro)m(v)m(emen)m (ts)g(are)g(sup)s(erscalar.)51 b(W)-8 b(e)36 b(ha)m(v)m(e)g(computed)e (logarithmic)g(correlations)g(of)0 543 y(the)c(implicit)d(and)j (explicit)e(v)-5 b(alues)30 b(of)g(the)g(represen)m(tation)h(size)f (and)f(the)h(reconstruction)g(time.)41 b(The)29 b(results)0 656 y(suggest)e(that,)h(for)e(the)h(lo)s(cal)e(erasure,)i(the)g(impro)m (v)m(emen)m(ts)f(are)h(scalar)f(and)g(are)g(accurately)h(describ)s(ed)e (b)m(y)h(the)0 769 y(simple)33 b(ratios)i(sho)m(wn)g(in)f(T)-8 b(able)35 b(4.)55 b(F)-8 b(or)36 b(the)g(one-bit)f(global)f(erasure,)j (ho)m(w)m(ev)m(er,)h(w)m(e)e(ha)m(v)m(e)g(found)e(that)i(the)0 882 y(follo)m(wing)29 b(form)m(ulas)g(are)i(more)g(accurate)g(for)g (the)f(range)h(of)f(term)h(sizes)f(co)m(v)m(ered)i(b)m(y)e(our)g(exp)s (erimen)m(ts:)606 1071 y Fv(One-bit)i(size)25 b FE(=)g(2)p Fx(:)p FE(03)d FA(\003)f Fv(Explicit)33 b(size)1925 1034 y Ft(0)p Fz(:)p Ft(60)2290 1071 y FE(with)d(a)g(correlation)g(of)h (0.94)576 1261 y Fv(One-bit)h(time)25 b FE(=)g(1)p Fx(:)p FE(81)d FA(\003)f Fv(Explicit)33 b(time)1955 1224 y Ft(0)p Fz(:)p Ft(72)2321 1261 y FE(with)c(a)i(correlation)f(of)g(0.95)141 1421 y(These)g(form)m(ulas)g(suggest)h(that)g(as)g(the)f(size)h(of)f (the)h(problem)e(increases,)h(the)h(impro)m(v)m(emen)m(t)g(ratio)f(of)h (the)0 1534 y(one-bit)40 b(global)g(represen)m(tation)h(compared)g(to)g (the)g(fully-explicit)c(represen)m(tation)j(also)h(increases.)71 b(More)0 1646 y(exp)s(erimen)m(ts)29 b(with)g(large)i(LF)f(terms)h(are) f(required)f(to)i(substan)m(tiate)g(these)g(\014ndings.)0 1888 y Fs(11.1)112 b(E\013ectiv)m(eness)37 b(of)h(Optimizations)0 2059 y FE(The)31 b(results)f(of)h(the)h(previous)e(section)h(are)h (obtained)f(with)f(all)g(the)i(optimizations)e(presen)m(ted)h(in)f (Section)h(9.)0 2172 y(In)23 b(the)g(rest)h(of)f(this)f(section)i(w)m (e)g(sho)m(w)f(our)g(\014ndings)d(regarding)j(the)g(e\013ectiv)m(eness) i(of)f(these)f(optimizations.)37 b(T)-8 b(o)0 2285 y(ev)j(aluate)25 b(an)e(optimization)g(w)m(e)h(measure)g(the)g(reconstruction)g(time)f (and)h(space)g(with)f(only)g(that)h(optimization)0 2398 y(disabled)35 b(and)i(then)g(with)g(all)f(the)i(optimizations)e (enabled,)j(for)e(the)h(four)f(LF)g(represen)m(tations.)62 b(W)-8 b(e)39 b(then)0 2511 y(compute)c(the)f(geometric)h(mean,)h(o)m (v)m(er)f(the)g(32)g(exp)s(erimen)m(ts,)f(of)h(the)f(ratio)g(b)s(et)m (w)m(een)h(the)g(optimal)e(v)-5 b(alue)34 b(of)0 2624 y(the)h(p)s(erformance)g(parameter)g(and)g(the)g(v)-5 b(alue)35 b(with)f(the)h(optimization)f(disabled.)53 b(W)-8 b(e)36 b(rep)s(ort,)g(in)e(T)-8 b(able)35 b(5)0 2737 y(and)f(6,)i(the)e(result)g(of)g(subtracting)g(from)g(100\045)h (the)g(mean)f(ratio)h(for)f(the)g(reconstruction)g(time)h(and)e(space)0 2850 y(resp)s(ectiv)m(ely)-8 b(.)45 b(A)32 b(v)-5 b(alue)31 b(of)h(10\045)h(in)d(these)i(tables)g(means)g(that,)h(on)e(the)h(a)m(v) m(erage,)k(the)c(optimization)e(reduces)0 2963 y(the)h(reconstruction)f (time)g(or)g(space)h(to)g(90\045)g(of)g(the)f(original)f(v)-5 b(alue.)p 676 3178 2548 4 v 674 3291 4 113 v 726 3257 a(Optimization)p 1643 3291 V 442 w(Explicit)p 2055 3291 V 164 w(Lo)s(cal)p 2437 3291 V 100 w(One-bit)p 2840 3291 V 118 w(Global)p 3222 3291 V 676 3294 2548 4 v 674 3407 4 113 v 726 3373 a(Occurs)30 b(Chec)m(k)p 1643 3407 V 497 w(0.07\045)p 2055 3407 V 101 w(24.23\045)p 2437 3407 V 122 w(43.75\045)p 2840 3407 V 101 w(43.88\045)p 3222 3407 V 674 3520 V 726 3486 a(Memory)h(Managemen)m(t)p 1643 3520 V 146 w(-1.46\045)p 2055 3520 V 116 w(-0.59\045)p 2437 3520 V 137 w(-0.44\045)p 2840 3520 V 147 w(0.11\045)p 3222 3520 V 674 3633 V 726 3599 a(Side-Condition)p 1643 3633 V 404 w(13.62\045)p 2055 3633 V 147 w(8.90\045)p 2437 3633 V 166 w(1.73\045)p 2840 3633 V 147 w(1.96\045)p 3222 3633 V 674 3746 V 726 3712 a(First-Order)e(Logic)p 1643 3746 V 345 w(8.51\045)p 2055 3746 V 147 w(5.40\045)p 2437 3746 V 166 w(0.94\045)p 2840 3746 V 147 w(1.72\045)p 3222 3746 V 674 3859 V 726 3825 a(All)p 1643 3859 V 878 w(15.91\045)p 2055 3859 V 101 w(30.49\045)p 2437 3859 V 122 w(44.16\045)p 2840 3859 V 101 w(44.71\045)p 3222 3859 V 676 3862 2548 4 v 0 4116 a(T)-8 b(able)38 b(5:)57 b(The)37 b(e\013ect)j(of)f(the)f(optimizations)f(on)h(the)h (reconstruction)f(time.)64 b(Eac)m(h)38 b(v)-5 b(alue)38 b(is)f(obtained)h(b)m(y)0 4229 y(subtracting)32 b(from)h(100\045)h(the) f(geometric)h(mean)f(o)m(v)m(er)h(32)g(exp)s(erimen)m(ts)e(of)h(the)g (ratio)g(b)s(et)m(w)m(een)h(the)f(optimal)0 4342 y(time)d(and)g(the)g (time)g(with)g(one)g(optimization)g(disabled.)141 4550 y(W)-8 b(e)28 b(notice)f(that)h(the)f(o)s(ccurs)g(c)m(hec)m(k)h (optimization)e(has)h(a)g(ma)5 b(jor)27 b(e\013ect)h(on)f(the)g (reconstruction)g(time)g(and)0 4663 y(it)k(is)f(more)h(e\013ectiv)m(e)i (for)e(the)g(represen)m(tation)g(with)f(more)h(implicit)e(subterms.)41 b(This)30 b(is)g(b)s(ecause)h(the)g(o)s(ccurs)0 4775 y(c)m(hec)m(k)d(is)d(only)g(required)f(for)i(the)g(instan)m(tiation)f (of)h(implicit)d(subterms.)38 b(The)25 b(o)s(ccurs)h(c)m(hec)m(k)h (optimization)e(has)0 4888 y(also)35 b(a)g(minor)e(impro)m(v)m(emen)m (t)i(on)g(the)f(memory)h(used)f(during)e(reconstruction,)k(b)s(ecause)f (it)f(a)m(v)m(oids)h(memory)0 5001 y(allo)s(cation)30 b(that)h(is)e(normally)g(part)h(of)g(the)h(o)s(ccurs)f(c)m(hec)m(k.)141 5114 y(The)25 b(o)s(ccurs)g(c)m(hec)m(k)i(is)d(one)h(of)h(the)f(most)h (exp)s(ensiv)m(e)e(op)s(erations)h(p)s(erformed)f(during)f(t)m(yp)s(e)i (reconstruction.)0 5227 y(T)-8 b(o)30 b(assess)f(the)h(cost)g(of)g(o)s (ccurs)f(c)m(hec)m(k)i(for)e(t)m(yp)s(e)g(reconstruction)g(w)m(e)h (measured)f(the)g(reconstruction)g(time)g(for)0 5340 y(eac)m(h)j(of)e(the)h(four)f(LF)g(represen)m(tations)g(in)g(three)g (separate)i(circumstances:)40 b(with)29 b(the)i(o)s(ccurs)f(c)m(hec)m (k)i(turned)1905 5589 y(61)p eop %%Page: 62 64 62 63 bop 676 103 2548 4 v 674 216 4 113 v 726 182 a FE(Optimization)p 1643 216 V 442 w(Explicit)p 2055 216 V 164 w(Lo)s(cal)p 2437 216 V 100 w(One-bit)p 2840 216 V 118 w(Global)p 3222 216 V 676 219 2548 4 v 674 332 4 113 v 726 298 a(Occurs)30 b(Chec)m(k)p 1643 332 V 497 w(0.00\045)p 2055 332 V 147 w(0.64\045)p 2437 332 V 166 w(0.77\045)p 2840 332 V 147 w(0.77\045)p 3222 332 V 674 445 V 726 411 a(Memory)h(Managemen)m(t)p 1643 445 V 131 w(88.92\045)p 2055 445 V 101 w(66.91\045)p 2437 445 V 122 w(35.56\045)p 2840 445 V 101 w(35.86\045)p 3222 445 V 674 558 V 726 524 a(Side-Condition)p 1643 558 V 449 w(3.96\045)p 2055 558 V 147 w(0.00\045)p 2437 558 V 166 w(0.00\045)p 2840 558 V 147 w(0.00\045)p 3222 558 V 674 671 V 726 637 a(First-Order)e(Logic)p 1643 671 V 345 w(0.00\045)p 2055 671 V 147 w(0.00\045)p 2437 671 V 166 w(0.00\045)p 2840 671 V 147 w(0.00\045)p 3222 671 V 674 784 V 726 750 a(All)p 1643 784 V 878 w(88.99\045)p 2055 784 V 101 w(67.12\045)p 2437 784 V 122 w(36.04\045)p 2840 784 V 101 w(35.35\045)p 3222 784 V 676 787 2548 4 v 0 942 a(T)-8 b(able)36 b(6:)53 b(The)35 b(e\013ect)j(of)f(the)f (optimizations)f(on)h(the)h(reconstruction)f(space.)59 b(Eac)m(h)36 b(v)-5 b(alue)36 b(is)f(obtained)h(b)m(y)0 1054 y(subtracting)c(from)h(100\045)h(the)f(geometric)h(mean)f(o)m(v)m (er)h(32)g(exp)s(erimen)m(ts)e(of)h(the)g(ratio)g(b)s(et)m(w)m(een)h (the)f(optimal)0 1167 y(space)e(and)f(the)g(space)h(with)e(one)i (optimization)e(disabled.)0 1538 y(o\013)98 1505 y Ft(2)138 1538 y FE(,)43 b(with)d(it)g(turned)f(alw)m(a)m(ys)i(on)g(and)f(with)f (the)i(optimized)e(o)s(ccurs)h(c)m(hec)m(k)j(presen)m(ted)d(in)f (Section)i(9.)72 b(In)0 1650 y(T)-8 b(able)39 b(7)g(w)m(e)h(sho)m(w)f (for)g(eac)m(h)h(represen)m(tation)f(the)h(a)m(v)m(erage)h(p)s(ercen)m (tage)g(of)e(time)g(sp)s(en)m(t)g(doing)f(the)h(o)s(ccurs)0 1763 y(c)m(hec)m(k.)60 b(W)-8 b(e)38 b(see)f(that,)h(in)e(the)g (unoptimized)e(case,)39 b(the)e(reconstruction)f(algorithm)f(sp)s(ends) g(ab)s(out)h(45\045)h(of)0 1876 y(the)31 b(time)g(p)s(erforming)d(the)j (o)s(ccurs)g(c)m(hec)m(k.)44 b(Ho)m(w)m(ev)m(er,)33 b(with)d(the)h (simple)e(linearit)m(y)g(optimization)h(the)h(cost)h(of)0 1989 y(the)f(o)s(ccurs)f(c)m(hec)m(k)i(is)d(reduced)h(to)h(less)e(than) i(2\045,)f(making)g(further)f(optimization)g(unin)m(teresting.)p 495 2207 2910 4 v 493 2320 4 113 v 545 2286 a(P)m(arameter)p 1824 2320 V 919 w(Explicit)p 2236 2320 V 164 w(Lo)s(cal)p 2618 2320 V 100 w(One-bit)p 3021 2320 V 118 w(Global)p 3403 2320 V 495 2323 2910 4 v 493 2436 4 113 v 545 2402 a(Cost)i(of)f(o)s(ccurs)g(c)m(hec)m(k)p 1824 2436 V 595 w(0.09\045)p 2236 2436 V 101 w(24.70\045)p 2618 2436 V 122 w(44.28\045)p 3021 2436 V 101 w(44.67\045)p 3403 2436 V 495 2440 2910 4 v 493 2553 4 113 v 545 2519 a(Optimized)e(cost)k (of)e(o)s(ccurs)g(c)m(hec)m(k)p 1824 2553 V 176 w(0.02\045)p 2236 2553 V 147 w(0.63\045)p 2618 2553 V 166 w(2.01\045)p 3021 2553 V 147 w(1.40\045)p 3403 2553 V 495 2556 2910 4 v 0 2710 a(T)-8 b(able)32 b(7:)46 b(The)33 b(p)s(ercen)m(tage)h(of)f (time)g(sp)s(en)m(t)f(doing)g(the)h(o)s(ccurs)f(c)m(hec)m(k,)k(in)31 b(the)i(unoptimized)e(and)h(optimized)0 2823 y(cases.)141 3163 y(The)d(memory)h(usage)g(optimization)f(has)g(a)h(ma)5 b(jor)30 b(e\013ect)h(on)f(the)g(dynamically)d(allo)s(cated)j(memory)g (used)0 3276 y(during)19 b(reconstruction.)38 b(Recall)21 b(that)h(memory)f(deallo)s(cation)g(can)g(b)s(e)g(done)g(only)g(after)h (pro)s(cessing)e(a)i(subterm)0 3389 y(whose)42 b(t)m(yp)s(e)h(con)m (tains)g(no)f(placeholder)g(v)-5 b(ariables.)76 b(The)42 b(more)h(implicit)c(the)k(represen)m(tation,)j(the)d(more)0 3502 y(placeholder)31 b(v)-5 b(ariables)31 b(are)h(in)m(tro)s(duced)f (in)g(t)m(yp)s(es.)46 b(This)31 b(explains)f(the)i(diminishing)c (e\013ect)33 b(of)g(the)f(memory)0 3615 y(optimization)f(as)i(the)f (represen)m(tation)g(b)s(ecomes)h(more)f(implicit.)43 b(Ev)m(en)33 b(so,)g(the)f(memory)h(usage)f(is)g(reduced)0 3728 y(b)m(y)f(appro)m(ximately)g(35\045)h(in)e(the)h(case)h(of)g(the)f (one-bit)g(global)g(represen)m(tation.)43 b(F)-8 b(rom)32 b(the)g(viewp)s(oin)m(t)d(of)j(the)0 3840 y(reconstruction)e(time,)h (the)g(deallo)s(cation)e(op)s(eration)i(increases)f(the)h(o)m(v)m (erall)g(running)c(time)k(b)m(y)f(ab)s(out)h(0.44\045)0 3953 y(for)f(the)h(one-bit)f(global)f(represen)m(tation.)141 4114 y(The)c(side-condition)e(and)i(the)g(\014rst-order)g(logic)g (optimizations)f(do)h(not)h(bring)d(signi\014can)m(t)i(impro)m(v)m (emen)m(ts)0 4227 y(in)30 b(the)i(reconstruction)f(space)i(and)e(time,) h(esp)s(ecially)e(in)g(the)i(case)g(of)g(the)g(implicit)d(represen)m (tations.)44 b(Recall)0 4340 y(that)d(the)g(e\013ect)h(of)f(these)g (optimizations)f(is)g(to)h(reduce)f(the)h(cost)h(of)f(c)m(hec)m(king)g (the)g(side-condition)e(when)0 4453 y(collecting)d(an)g(explicit)e (argumen)m(t)j(that)g(o)s(ccurs)f(in)f(the)h(result)f(t)m(yp)s(e.)59 b(Suc)m(h)35 b(argumen)m(ts)i(are)f(reduced)g(to)h(a)0 4565 y(minim)m(um)27 b(b)m(y)j(the)g(erasure)g(algorithms,)g (eliminating)d(the)j(opp)s(ortunities)e(for)i(these)g(optimizations.)40 b(Nev)m(er-)0 4678 y(theless)32 b(w)m(e)h(consider)f(that)h(these)g (optimizations)f(are)h(useful)e(b)s(ecause)h(they)h(reduce)g(the)f (complexit)m(y)h(of)g(the)0 4791 y(reconstruction)25 b(algorithm.)37 b(If)25 b(these)g(optimizations)f(are)h(applied)e(then) i(the)g(reconstruction)f(algorithm)g(do)s(es)0 4904 y(not)31 b(require)e(the)h(pro)s(cedures)f(PVF)q(\()p Fx(A)p FE(\))i(and)f(the)g (more)h(complex)f(PVF\(\000\(FV)s(\()p Fx(N)10 b FE(\)\).)141 5065 y(In)25 b(addition)f(of)i(the)g(e\013ect)h(of)f(individual)21 b(optimizations)j(w)m(e)i(also)g(measured)f(their)g(com)m(bined)f (e\013ect.)41 b(F)-8 b(or)0 5178 y(this)24 b(purp)s(ose)f(w)m(e)j (measured)f(the)g(reconstruction)g(time)f(and)h(space)g(with)f(all)g (the)i(optimizations)d(enabled)i(and)p 0 5254 1560 4 v 104 5308 a Fc(2)138 5340 y FC(This)i(mak)n(es)d(reconstruction)j (unsound)d(but)h(is)h(useful)g(as)h(a)f(basis)g(for)h(p)r(erformance)f (comparisons.)1905 5589 y FE(62)p eop %%Page: 63 65 63 64 bop 450 105 a 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 450 105 a %%BeginDocument: ocoptsiz.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: gnuplot %%DocumentFonts: Helvetica %%BoundingBox: 50 50 410 302 %%EndComments /gnudict 40 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -46 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Helvetica findfont 140 scalefont setfont newpath LTa 840 351 M 6129 0 V LTb 840 351 M 63 0 V 6066 0 R -63 0 V 756 351 M (0) Rshow 840 1275 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.2) Rshow 840 2198 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.4) Rshow 840 3122 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.6) Rshow 840 4045 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.8) Rshow 840 4969 M 63 0 V 6066 0 R -63 0 V -6150 0 R (1) Rshow 840 351 M 0 63 V 0 4555 R 0 -63 V 840 211 M (100) Cshow 1763 351 M 0 31 V 0 4587 R 0 -31 V 2302 351 M 0 31 V 0 4587 R 0 -31 V 2685 351 M 0 31 V 0 4587 R 0 -31 V 2982 351 M 0 31 V 0 4587 R 0 -31 V 3225 351 M 0 31 V 0 4587 R 0 -31 V 3430 351 M 0 31 V 0 4587 R 0 -31 V 3608 351 M 0 31 V 0 4587 R 0 -31 V 3764 351 M 0 31 V 0 4587 R 0 -31 V 3905 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (1000) Cshow 4827 351 M 0 31 V 0 4587 R 0 -31 V 5367 351 M 0 31 V 0 4587 R 0 -31 V 5750 351 M 0 31 V 0 4587 R 0 -31 V 6046 351 M 0 31 V 0 4587 R 0 -31 V 6289 351 M 0 31 V 0 4587 R 0 -31 V 6494 351 M 0 31 V 0 4587 R 0 -31 V 6672 351 M 0 31 V 0 4587 R 0 -31 V 6829 351 M 0 31 V 0 4587 R 0 -31 V 6969 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (10000) Cshow 840 351 M 6129 0 V 0 4618 V -6129 0 V 840 351 L 140 2660 M currentpoint gsave translate 90 rotate 0 0 M (Effect of Occurs Check Optimization) Cshow grestore 3904 71 M (Representation Size \(bytes\)) Cshow LT0 6486 4766 M (One-bit) Rshow 6654 4766 A 1569 3649 A 1808 3495 A 2096 3315 A 2210 3479 A 3953 2739 A 2718 3256 A 2966 2776 A 4016 2334 A 1199 2874 A 1094 2990 A 1072 3392 A 1983 2609 A 1971 2517 A 2005 3098 A 1694 3585 A 2367 2572 A 2392 2340 A 2054 3501 A 2457 2976 A 2054 3501 A 3062 2597 A 2815 3776 A 3661 3917 A 3135 2272 A 3270 2803 A 2685 3551 A 3006 2587 A 3102 2343 A 3111 2414 A 2500 3177 A 5798 1982 A 3331 3424 A 3443 3096 A stroke grestore end showpage %%Trailer %%EndDocument endTexFig 0 2401 a FE(Figure)41 b(21:)63 b(The)40 b(correlation)h(b)s(et)m(w)m (een)h(the)f(ratio)h(of)f(the)g(optimized)f(reconstruction)h(time)g(to) h(the)f(time)0 2514 y(without)29 b(the)i(o)s(ccurs)f(c)m(hec)m(k)i (optimization)d(and)h(the)h(size)f(of)g(the)h(term.)450 2808 y 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 450 2808 a %%BeginDocument: mmoptsiz.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: gnuplot %%DocumentFonts: Helvetica %%BoundingBox: 50 50 410 302 %%EndComments /gnudict 40 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -46 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Helvetica findfont 140 scalefont setfont newpath LTa LTb 840 351 M 63 0 V 6066 0 R -63 0 V 756 351 M (0.01) Rshow 840 1046 M 31 0 V 6098 0 R -31 0 V 840 1453 M 31 0 V 6098 0 R -31 0 V 840 1741 M 31 0 V 6098 0 R -31 0 V 840 1965 M 31 0 V 6098 0 R -31 0 V 840 2148 M 31 0 V 6098 0 R -31 0 V 840 2302 M 31 0 V 6098 0 R -31 0 V 840 2436 M 31 0 V 6098 0 R -31 0 V 840 2554 M 31 0 V 6098 0 R -31 0 V 840 2660 M 63 0 V 6066 0 R -63 0 V -6150 0 R (0.1) Rshow 840 3355 M 31 0 V 6098 0 R -31 0 V 840 3762 M 31 0 V 6098 0 R -31 0 V 840 4050 M 31 0 V 6098 0 R -31 0 V 840 4274 M 31 0 V 6098 0 R -31 0 V 840 4457 M 31 0 V 6098 0 R -31 0 V 840 4611 M 31 0 V 6098 0 R -31 0 V 840 4745 M 31 0 V 6098 0 R -31 0 V 840 4863 M 31 0 V 6098 0 R -31 0 V 840 4969 M 63 0 V 6066 0 R -63 0 V -6150 0 R (1) Rshow 840 351 M 0 63 V 0 4555 R 0 -63 V 840 211 M (100) Cshow 1455 351 M 0 31 V 0 4587 R 0 -31 V 1815 351 M 0 31 V 0 4587 R 0 -31 V 2070 351 M 0 31 V 0 4587 R 0 -31 V 2268 351 M 0 31 V 0 4587 R 0 -31 V 2430 351 M 0 31 V 0 4587 R 0 -31 V 2567 351 M 0 31 V 0 4587 R 0 -31 V 2685 351 M 0 31 V 0 4587 R 0 -31 V 2790 351 M 0 31 V 0 4587 R 0 -31 V 2883 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (1000) Cshow 3498 351 M 0 31 V 0 4587 R 0 -31 V 3858 351 M 0 31 V 0 4587 R 0 -31 V 4113 351 M 0 31 V 0 4587 R 0 -31 V 4311 351 M 0 31 V 0 4587 R 0 -31 V 4473 351 M 0 31 V 0 4587 R 0 -31 V 4610 351 M 0 31 V 0 4587 R 0 -31 V 4728 351 M 0 31 V 0 4587 R 0 -31 V 4833 351 M 0 31 V 0 4587 R 0 -31 V 4926 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (10000) Cshow 5541 351 M 0 31 V 0 4587 R 0 -31 V 5901 351 M 0 31 V 0 4587 R 0 -31 V 6156 351 M 0 31 V 0 4587 R 0 -31 V 6354 351 M 0 31 V 0 4587 R 0 -31 V 6516 351 M 0 31 V 0 4587 R 0 -31 V 6653 351 M 0 31 V 0 4587 R 0 -31 V 6771 351 M 0 31 V 0 4587 R 0 -31 V 6876 351 M 0 31 V 0 4587 R 0 -31 V 6969 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (100000) Cshow 840 351 M 6129 0 V 0 4618 V -6129 0 V 840 351 L 140 2660 M currentpoint gsave translate 90 rotate 0 0 M (Effect of Memory Optimization) Cshow grestore 3904 71 M (Representation Size \(bytes\)) Cshow LT0 6486 4766 M (Explicit) Rshow 6654 4766 D 3200 3374 D 3525 3124 D 3872 2874 D 3742 2965 D 5673 2057 D 4433 2795 D 5030 2372 D 6168 1957 D 3491 3412 D 3506 3378 D 2611 3752 D 4083 3125 D 4266 2996 D 3942 3108 D 3150 3550 D 4442 2781 D 4674 2587 D 3509 3270 D 4446 2753 D 3509 3270 D 5063 2527 D 3997 3350 D 4479 2861 D 5337 2270 D 5279 2494 D 4138 3215 D 5008 2391 D 5256 2234 D 5421 2181 D 4384 2727 D 4733 2398 D 5209 2063 D LT0 6486 4626 M (One-bit) Rshow 6654 4626 A 1326 4744 A 1486 4615 A 1677 4575 A 1754 4665 A 2915 3990 A 2092 4455 A 2257 4353 A 2957 4120 A 1080 4969 A 1009 4969 A 994 4969 A 1602 4960 A 1594 4960 A 1617 4857 A 1409 4969 A 1858 4666 A 1875 4637 A 1649 4689 A 1918 4616 A 1649 4689 A 2321 4452 A 2157 4450 A 2721 4109 A 2370 4392 A 2460 4473 A 2070 4530 A 2284 4457 A 2348 4456 A 2354 4536 A 1946 4586 A 4145 3416 A 2501 4043 A 2575 4068 A stroke grestore end showpage %%Trailer %%EndDocument endTexFig 0 5104 a FE(Figure)36 b(22:)53 b(The)36 b(correlation)g(b)s(et)m(w)m (een)h(the)g(ratio)f(of)h(the)g(optimized)e(reconstruction)h(space)h (to)g(the)f(space)0 5217 y(without)29 b(the)i(memory)f(optimization)g (and)f(the)i(size)f(of)h(the)f(term.)1905 5589 y(63)p eop %%Page: 64 66 64 65 bop 0 91 a FE(then)24 b(with)g(them)g(disabled.)37 b(W)-8 b(e)25 b(notice)g(that)h(with)d(all)g(the)i(optimizations)f (enabled)f(the)i(reconstruction)f(time)0 204 y(is)32 b(reduced)h(b)m(y)g(44\045)g(on)g(the)h(a)m(v)m(erage)h(and)e(the)g (reconstruction)g(space)h(b)m(y)f(36\045.)49 b(These)33 b(e\013ects)i(are)e(mostly)0 317 y(due)f(to)h(the)g(o)s(ccurs)g(c)m (hec)m(k)h(optimization)d(for)i(the)g(time)f(impro)m(v)m(emen)m(t)h (and)f(the)h(memory)g(optimization)e(for)0 430 y(the)g(memory)f(usage)h (impro)m(v)m(emen)m(t.)141 593 y(W)-8 b(e)45 b(noticed)f(that)g(the)g (t)m(w)m(o)h(most)g(imp)s(ortan)m(t)e(optimizations,)j(the)e(o)s(ccurs) f(c)m(hec)m(k)j(and)d(the)h(memory)0 706 y(optimization,)25 b(ha)m(v)m(e)h(the)f(tendency)g(to)g(ac)m(hiev)m(e)h(b)s(etter)f(impro) m(v)m(emen)m(ts)g(for)g(larger)f(b)s(enc)m(hmarks.)38 b(W)-8 b(e)26 b(plotted)0 819 y(in)31 b(Figure)h(21)h(the)g(ratio)f(b)s (et)m(w)m(een)h(the)g(optimal)e(reconstruction)h(time)h(to)g(the)f (time)h(with)e(the)h(o)s(ccurs)g(c)m(hec)m(k)0 932 y(optimization)25 b(disabled)e(as)j(a)h(function)d(of)i(the)g(term)g(size,)h(on)f(a)g (logarithmic)f(scale.)39 b(W)-8 b(e)27 b(notice)g(on)e(the)h(graph)0 1044 y(that,)44 b(indeed,)e(the)f(o)s(ccurs)f(c)m(hec)m(k)i (optimization)e(b)s(ecomes)h(more)f(e\013ectiv)m(e)j(for)d(larger)g (terms.)72 b(A)41 b(similar)0 1157 y(and)29 b(more)h(pronounced)e (correlation)h(exists)g(b)s(et)m(w)m(een)i(the)e(e\013ectiv)m(eness)i (of)f(the)g(memory)f(optimization)g(and)0 1270 y(the)42 b(size)h(of)f(the)h(term,)i(b)s(oth)d(for)g(the)g(explicit)f(represen)m (tation)h(and)g(the)g(one-bit)g(global)g(represen)m(tation)0 1383 y(\(Figure)c(22\).)66 b(This)36 b(suggests)j(that)g(these)f (optimizations)f(are)i(more)f(e\013ectiv)m(e)i(for)e(larger)g(terms)g (than)g(for)0 1496 y(small)29 b(ones,)i(although)e(more)i(large)f(exp)s (erimen)m(ts)g(are)h(required)d(to)j(ascertain)g(this)e(tendency)-8 b(.)0 1739 y Fs(11.2)112 b(Correlation)36 b(b)s(et)m(w)m(een)i(the)f (Reconstruction)f(Time)g(and)i(T)-9 b(erm)37 b(Size)0 1911 y FE(Although)j(not)h(directly)f(related)h(to)h(the)f(p)s (erformance)f(of)i(the)f(erasure)g(algorithms)e(or)i(the)h(e\013ectiv)m (eness)0 2024 y(of)k(optimizations,)i(w)m(e)e(brie\015y)d(discuss)h (the)h(relation)g(b)s(et)m(w)m(een)h(the)f(term)h(size)f(and)g(the)g (reconstruction)0 2137 y(time.)54 b(W)-8 b(e)36 b(plot)f(in)e(Figure)i (23)h(this)e(correlation)g(for)h(the)g(explicit)e(represen)m(tation)i (and)g(the)g(one-bit)g(global)0 2250 y(represen)m(tation.)45 b(As)32 b(can)g(b)s(e)f(seen)h(from)f(the)h(\014gure,)g(in)e(our)h (curren)m(t)h(exp)s(erimen)m(ts)e(in)m(v)m(olving)h(v)-5 b(alidation)30 b(of)0 2363 y(\014rst-order)g(logic)h(pro)s(ofs,)f(w)m (e)i(observ)m(e)f(a)h(linear)d(dep)s(endency)h(of)h(the)g (reconstruction)f(time)h(with)f(the)h(size)g(of)0 2476 y(the)36 b(pro)s(of)f(represen)m(tation.)56 b(This)34 b(prop)s(ert)m(y)g(is)h(true)g(b)s(oth)g(for)h(the)f(fully-explicit)d (represen)m(tation)k(and)f(the)0 2589 y(one-bit)30 b(global)g(implicit) d(represen)m(tation.)450 2706 y 23681433 16577003 3289088 3289088 26970521 19866091 startTexFig 450 2706 a %%BeginDocument: vtimerep.eps %!PS-Adobe-2.0 EPSF-2.0 %%Creator: gnuplot %%DocumentFonts: Helvetica %%BoundingBox: 50 50 410 302 %%EndComments /gnudict 40 dict def gnudict begin /Color false def /Solid false def /gnulinewidth 5.000 def /vshift -46 def /dl {10 mul} def /hpt 31.5 def /vpt 31.5 def /M {moveto} bind def /L {lineto} bind def /R {rmoveto} bind def /V {rlineto} bind def /vpt2 vpt 2 mul def /hpt2 hpt 2 mul def /Lshow { currentpoint stroke M 0 vshift R show } def /Rshow { currentpoint stroke M dup stringwidth pop neg vshift R show } def /Cshow { currentpoint stroke M dup stringwidth pop -2 div vshift R show } def /DL { Color {setrgbcolor Solid {pop []} if 0 setdash } {pop pop pop Solid {pop []} if 0 setdash} ifelse } def /BL { stroke gnulinewidth 2 mul setlinewidth } def /AL { stroke gnulinewidth 2 div setlinewidth } def /PL { stroke gnulinewidth setlinewidth } def /LTb { BL [] 0 0 0 DL } def /LTa { AL [1 dl 2 dl] 0 setdash 0 0 0 setrgbcolor } def /LT0 { PL [] 0 1 0 DL } def /LT1 { PL [4 dl 2 dl] 0 0 1 DL } def /LT2 { PL [2 dl 3 dl] 1 0 0 DL } def /LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def /LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def /LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def /LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def /LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def /LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def /P { stroke [] 0 setdash currentlinewidth 2 div sub M 0 currentlinewidth V stroke } def /D { stroke [] 0 setdash 2 copy vpt add M hpt neg vpt neg V hpt vpt neg V hpt vpt V hpt neg vpt V closepath stroke P } def /A { stroke [] 0 setdash vpt sub M 0 vpt2 V currentpoint stroke M hpt neg vpt neg R hpt2 0 V stroke } def /B { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 0 vpt2 neg V hpt2 0 V 0 vpt2 V hpt2 neg 0 V closepath stroke P } def /C { stroke [] 0 setdash exch hpt sub exch vpt add M hpt2 vpt2 neg V currentpoint stroke M hpt2 neg 0 R hpt2 vpt2 V stroke } def /T { stroke [] 0 setdash 2 copy vpt 1.12 mul add M hpt neg vpt -1.62 mul V hpt 2 mul 0 V hpt neg vpt 1.62 mul V closepath stroke P } def /S { 2 copy A C} def end %%EndProlog gnudict begin gsave 50 50 translate 0.050 0.050 scale 0 setgray /Helvetica findfont 140 scalefont setfont newpath LTa LTb 840 351 M 63 0 V 6066 0 R -63 0 V 756 351 M (100) Rshow 840 699 M 31 0 V 6098 0 R -31 0 V 840 902 M 31 0 V 6098 0 R -31 0 V 840 1046 M 31 0 V 6098 0 R -31 0 V 840 1158 M 31 0 V 6098 0 R -31 0 V 840 1249 M 31 0 V 6098 0 R -31 0 V 840 1327 M 31 0 V 6098 0 R -31 0 V 840 1394 M 31 0 V 6098 0 R -31 0 V 840 1453 M 31 0 V 6098 0 R -31 0 V 840 1506 M 63 0 V 6066 0 R -63 0 V -6150 0 R (1000) Rshow 840 1853 M 31 0 V 6098 0 R -31 0 V 840 2056 M 31 0 V 6098 0 R -31 0 V 840 2201 M 31 0 V 6098 0 R -31 0 V 840 2312 M 31 0 V 6098 0 R -31 0 V 840 2404 M 31 0 V 6098 0 R -31 0 V 840 2481 M 31 0 V 6098 0 R -31 0 V 840 2548 M 31 0 V 6098 0 R -31 0 V 840 2607 M 31 0 V 6098 0 R -31 0 V 840 2660 M 63 0 V 6066 0 R -63 0 V -6150 0 R (10000) Rshow 840 3008 M 31 0 V 6098 0 R -31 0 V 840 3211 M 31 0 V 6098 0 R -31 0 V 840 3355 M 31 0 V 6098 0 R -31 0 V 840 3467 M 31 0 V 6098 0 R -31 0 V 840 3558 M 31 0 V 6098 0 R -31 0 V 840 3636 M 31 0 V 6098 0 R -31 0 V 840 3703 M 31 0 V 6098 0 R -31 0 V 840 3762 M 31 0 V 6098 0 R -31 0 V 840 3815 M 63 0 V 6066 0 R -63 0 V -6150 0 R (100000) Rshow 840 4162 M 31 0 V 6098 0 R -31 0 V 840 4365 M 31 0 V 6098 0 R -31 0 V 840 4510 M 31 0 V 6098 0 R -31 0 V 840 4621 M 31 0 V 6098 0 R -31 0 V 840 4713 M 31 0 V 6098 0 R -31 0 V 840 4790 M 31 0 V 6098 0 R -31 0 V 840 4857 M 31 0 V 6098 0 R -31 0 V 840 4916 M 31 0 V 6098 0 R -31 0 V 840 4969 M 63 0 V 6066 0 R -63 0 V -6150 0 R (1e+06) Rshow 840 351 M 0 63 V 0 4555 R 0 -63 V 840 211 M (100) Cshow 1313 351 M 0 31 V 0 4587 R 0 -31 V 1589 351 M 0 31 V 0 4587 R 0 -31 V 1785 351 M 0 31 V 0 4587 R 0 -31 V 1938 351 M 0 31 V 0 4587 R 0 -31 V 2062 351 M 0 31 V 0 4587 R 0 -31 V 2167 351 M 0 31 V 0 4587 R 0 -31 V 2258 351 M 0 31 V 0 4587 R 0 -31 V 2338 351 M 0 31 V 0 4587 R 0 -31 V 2410 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (1000) Cshow 2883 351 M 0 31 V 0 4587 R 0 -31 V 3160 351 M 0 31 V 0 4587 R 0 -31 V 3356 351 M 0 31 V 0 4587 R 0 -31 V 3508 351 M 0 31 V 0 4587 R 0 -31 V 3632 351 M 0 31 V 0 4587 R 0 -31 V 3737 351 M 0 31 V 0 4587 R 0 -31 V 3828 351 M 0 31 V 0 4587 R 0 -31 V 3909 351 M 0 31 V 0 4587 R 0 -31 V 3981 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (10000) Cshow 4453 351 M 0 31 V 0 4587 R 0 -31 V 4730 351 M 0 31 V 0 4587 R 0 -31 V 4926 351 M 0 31 V 0 4587 R 0 -31 V 5078 351 M 0 31 V 0 4587 R 0 -31 V 5203 351 M 0 31 V 0 4587 R 0 -31 V 5308 351 M 0 31 V 0 4587 R 0 -31 V 5399 351 M 0 31 V 0 4587 R 0 -31 V 5479 351 M 0 31 V 0 4587 R 0 -31 V 5551 351 M 0 63 V 0 4555 R 0 -63 V 0 -4695 R (100000) Cshow 6024 351 M 0 31 V 0 4587 R 0 -31 V 6300 351 M 0 31 V 0 4587 R 0 -31 V 6496 351 M 0 31 V 0 4587 R 0 -31 V 6648 351 M 0 31 V 0 4587 R 0 -31 V 6773 351 M 0 31 V 0 4587 R 0 -31 V 6878 351 M 0 31 V 0 4587 R 0 -31 V 6969 351 M 0 31 V 0 4587 R 0 -31 V 840 351 M 6129 0 V 0 4618 V -6129 0 V 840 351 L 140 2660 M currentpoint gsave translate 90 rotate 0 0 M (Reconstruction Time \(us\)) Cshow grestore 3904 71 M (Representation Size \(bytes\)) Cshow LT0 6486 4766 M (Explicit) Rshow 6654 4766 D 2654 2099 D 2903 2283 D 3171 2510 D 3070 2431 D 4554 3531 D 3602 2840 D 4060 3158 D 4935 3823 D 2878 2207 D 2889 2204 D 2201 1727 D 3333 2583 D 3474 2680 D 3225 2507 D 2615 2075 D 3609 2802 D 3787 2924 D 2891 2316 D 3611 2804 D 2891 2316 D 4086 3169 D 3266 2604 D 3637 2876 D 4297 3313 D 4252 3300 D 3375 2693 D 4044 3133 D 4234 3267 D 4361 3375 D 3564 2808 D 5957 4578 D 3832 3014 D 4198 3284 D LT0 6486 4626 M (One-bit) Rshow 6654 4626 A 1214 1342 A 1336 1463 A 1484 1570 A 1542 1558 A 2435 2384 A 1802 1875 A 1929 2012 A 2467 2491 A 1024 1165 A 970 1200 A 959 981 A 1426 1443 A 1420 1480 A 1437 1523 A 1278 1293 A 1622 1628 A 1635 1660 A 1462 1481 A 1669 1753 A 1462 1481 A 1979 1988 A 1852 1885 A 2286 2220 A 2016 2020 A 2085 2160 A 1785 1874 A 1950 1931 A 1999 1984 A 2004 2069 A 1690 1788 A 3381 3117 A 2117 2132 A 2174 2236 A stroke grestore end showpage %%Trailer %%EndDocument endTexFig 204 5002 a FE(Figure)j(23:)41 b(The)30 b(correlation)g(b)s(et)m(w)m (een)h(the)g(represen)m(tation)f(size)h(and)e(the)i(reconstruction)f (time.)141 5214 y(These)45 b(results)g(are)g(not)h(p)s(ossible)d(to)j (generalize)g(to)g(all)f(LF)g(reconstruction)g(tasks)h(b)s(ecause,)k (in)44 b(the)0 5327 y(w)m(orst)38 b(case,)j(the)d(complexit)m(y)g(of)f (the)h(reconstruction)g(is)f(sup)s(erexp)s(onen)m(tial.)60 b(This)36 b(is)h(hin)m(ted)f(b)m(y)i(the)g(fact)1905 5589 y(64)p eop %%Page: 65 67 65 66 bop 0 91 a FE(that)34 b(reconstruction)e(in)m(v)m(olv)m(es)h Fx(\014)5 b FE(-reduction)33 b(whic)m(h)f(has)h(b)s(een)f(sho)m(wn)g(b) m(y)h(Statman)h(to)g(b)s(e)e(not)h(elemen)m(tary)0 204 y(recursiv)m(e)d([19)q(].)141 317 y(There)43 b(are)g(sev)m(eral)g(asp)s (ects)h(of)f(using)e(reconstruction)i(for)g(v)-5 b(alidating)41 b(\014rst-order)h(logic)h(pro)s(ofs)f(that)0 430 y(suggest)32 b(a)g(b)s(etter)g(b)s(eha)m(vior)f(that)h(in)e(the)i(general)g(case.)45 b(First,)32 b(the)f(reconstruction)h(algorithm)e(only)h(w)m(orks)0 543 y(on)37 b(canonical)h(terms.)62 b(Because)39 b(of)e(substitution)f (in)g(t)m(yp)s(es)i(the)f(reconstruction)g(creates)i Fx(\014)5 b FE(-redices.)63 b(Suc)m(h)0 656 y(situations)19 b(o)s(ccur,)k(in)c(the)h(con)m(text)j(of)d(\014rst-order)g(logic,)i (only)e(when)f(c)m(hec)m(king)i(instances)f(of)h(rules)e(for)h(univ)m (ersal)0 769 y(and)28 b(existen)m(tial)g(quan)m(ti\014cation.)39 b(In)28 b(these)h(cases,)g(the)g Fx(\014)5 b FE(-reduction)28 b(substitutes)f(a)i(LF)f(term)h(of)f(t)m(yp)s(e)h Fk(exp)e FE(in)0 882 y(the)k(b)s(o)s(dy)f(of)h(the)h(redex)f(and)g(therefore,)h (the)f(result)f(cannot)i(con)m(tain)g(additional)d Fx(\014)5 b FE(-redices.)43 b(This)29 b(suggests)0 995 y(that)36 b(it)f(is)f(nev)m(er)i(the)f(case)i(that)f(the)f Fx(\014)5 b FE(-reductions)35 b(are)h(m)m(ultiplicated)d(in)h(a)m(v)-5 b(alanc)m(he,)38 b(and)d(therefore)g(that)0 1108 y(Statman's)c(theorem) g(do)s(es)f(not)g(apply)f(in)g(this)h(case.)141 1220 y(Ho)m(w)m(ev)m(er,)43 b(that)c(the)g(reconstruction)f(e\013ort)h(is)f (linear)f(in)g(the)i(term)g(size)f(remains)f(a)i(surprise)d(that)j(w)m (e)0 1333 y(attribute)30 b(to)h(the)g(fact)g(that)g(our)e(exp)s(erimen) m(ts)h(do)g(not)g(mak)m(e)i(extensiv)m(e)e(use)g(of)h(quan)m (ti\014cation.)40 b(W)-8 b(e)31 b(exp)s(ect)0 1446 y(similar)d (situations)h(to)i(o)s(ccur)f(in)f(most)i(practical)f(situations)f(in)m (v)m(olving)g(PCC)h(and)f(\014rst-order)h(logics.)1905 5589 y(65)p eop %%Page: 66 68 66 67 bop 0 91 a FB(12)135 b(Related)47 b(W)-11 b(ork)0 294 y FE(W)j(e)32 b(are)f(not)g(the)g(\014rst)f(to)i(address)d(the)i (elimination)e(of)h(redundancy)g(in)f(pro)s(of)h(represen)m(tations.)42 b(Miller)29 b([11)q(])0 407 y(approac)m(hes)h(the)g(problem)e(b)m(y)h (noting)g(that)i(it)e(should)e(b)s(e)i(p)s(ossible)f(to)i(greatly)g (simplify)c(the)k(represen)m(tation)0 520 y(of)c(pro)s(ofs)f(in)g (classical)g(logic)h(b)m(y)f(simply)f(recording)h(the)h(substitutions)d (that)k(w)m(ere)f(p)s(erformed)f(when)g(building)0 633 y(the)j(pro)s(of)g(instead)f(of)i(recording)e(all)g(the)h(basic)g(pro)s (of)f(steps.)40 b(F)-8 b(or)29 b(this)e(purp)s(ose)g(he)h(in)m(tro)s (duces)e(a)j(new)f(pro)s(of)0 746 y(structure)c(called)h(expansion)e (trees.)40 b(While)23 b(expansion)h(tree)i(represen)m(tation)f(of)g (pro)s(ofs)f(are)h(indeed)e(compact,)0 859 y(pro)s(of)30 b(c)m(hec)m(king)h(is)e(more)i(exp)s(ensiv)m(e)e(b)s(ecause)i(some)f (\(directed\))h(searc)m(h)g(still)d(needs)i(to)h(b)s(e)f(done.)141 972 y(The)38 b(redundancy)f(of)i(represen)m(tation)f(that)i(w)m(e)f (noticed)f(for)g(LF)h(pro)s(of)f(represen)m(tation)g(generates)i(us-)0 1085 y(abilit)m(y)29 b(problems)g(for)i(implemen)m(tations)e(of)i (logic)g(programming)e(languages)j(or)e(pro)s(of)g(assistan)m(ts)i (based)e(on)0 1198 y(LF)k(or)f(related)h(t)m(yp)s(e-systems.)51 b(Without)34 b(a)g(form)f(of)h(implicit)d(represen)m(tation)j(the)f(in) m(teraction)h(with)e(these)0 1310 y(systems)k(is)f(v)m(ery)i(v)m(erb)s (ose.)58 b(This)35 b(led)g(the)i(implemen)m(tors)d(to)j(consider)e (implicit)f(represen)m(tations)i(that)h(are)0 1423 y(similar)28 b(in)h(spirit)f(to)j(the)g(one)f(presen)m(ted)h(in)e(this)g(rep)s(ort.) 141 1536 y(F)-8 b(or)27 b(example,)g(the)f(LEGO)g([7,)h(18)q(])f(and)f (Co)s(q)h([3])h(pro)s(of)e(assistan)m(ts)h(implemen)m(t)f(algorithms)g (for)g(argumen)m(t)0 1649 y(syn)m(thesis)d(and)g(term)h (reconstruction.)38 b(Ho)m(w)m(ev)m(er,)27 b(for)c(the)g(task)h(of)f (represen)m(ting)f(pro)s(ofs)g(these)i(algorithms)e(are)0 1762 y(b)s(oth)30 b(less)g(e\013ectiv)m(e,)j(in)d(the)h(sense)g(that)g (few)m(er)g(pro)s(of)f(subterms)g(can)h(b)s(e)f(omitted,)h(and)g(less)f (e\016cien)m(t.)42 b(They)0 1875 y(are)37 b(less)g(e\013ectiv)m(e)h(b)s (ecause)f(the)g(only)f(argumen)m(ts)i(that)f(can)g(b)s(e)g(omitted)g (from)f(an)h(application)e(are)i(those)0 1988 y(that)27 b(can)f(b)s(e)g(inferred)e(from)i(other)g(argumen)m(ts)g(of)h(the)f (same)h(application.)37 b(This)25 b(means)h(that)h(an)f(application)0 2101 y(of)39 b(the)g(term)g Fk(eqId)f FE(:)h(\005)p Fx(e)h FE(:)f Fk(exp)p Fx(:)p Fk(pf)f FE(\(=)i Fx(e)f(e)p FE(\))h(m)m(ust)e (alw)m(a)m(ys)h(b)s(e)g(explicit)e(ev)m(en)i(though)g(the)f(argumen)m (t)i(can)0 2214 y(usually)32 b(b)s(e)i(reco)m(v)m(ered)i(from)e(the)h (con)m(text.)55 b(These)34 b(algorithms)g(are)h(also)f(less)g (e\016cien)m(t)h(than)f(ours)g(b)s(ecause)0 2327 y(they)27 b(implemen)m(t)f(more)h(general)g(uni\014cation)e(algorithms)h(that)i (lift)e(some)h(of)g(the)g(syn)m(tactic)h(restrictions)e(that)0 2440 y(w)m(e)31 b(imp)s(ose.)141 2552 y(The)h(implemen)m(tation)e(of)i (Elf)f([17)q(],)i(a)g(logic)f(programming)e(language)j(based)e(on)h (LF,)h(con)m(tains)f(a)g(recon-)0 2665 y(struction)h(algorithm)f(that)i (is)e(similar)f(to)j(the)g(one)g(presen)m(ted)f(here)g(in)f(the)i (sense)f(that)h(missing)e(argumen)m(ts)0 2778 y(can)e(b)s(e)g(reco)m(v) m(ered)h(also)f(from)g(the)g(con)m(text,)i(not)f(only)e(from)g(the)i (other)f(argumen)m(ts.)41 b(In)29 b(fact,)i(the)f(Elf)f(recon-)0 2891 y(struction)k(algorithm)g(is)g(m)m(uc)m(h)h(more)g(p)s(o)m(w)m (erful)e(than)i(ours)f(b)s(ecause)h(it)f(do)s(es)g(not)h(imp)s(ose)f (an)m(y)h(restrictions)0 3004 y(on)k(whic)m(h)f(t)m(yp)s(es)h(and)g (terms)g(can)h(b)s(e)e(missing)g(from)g(the)i(pro)s(of.)63 b(In)38 b(particular,)h(the)f(whole)g(pro)s(of)f(migh)m(t)0 3117 y(b)s(e)f(missing,)h(in)f(whic)m(h)g(case)i(Elf)e(tries)h(to)g (reconstruct)h(it.)60 b(T)-8 b(o)38 b(ac)m(hiev)m(e)g(this)e(lev)m(el)h (of)g(\015exibilit)m(y)-8 b(,)37 b(Elf)f(t)m(yp)s(e)0 3230 y(reconstruction)i(emplo)m(ys)g(depth-\014rst)g(searc)m(h)h(and)f (higher-order)f(uni\014cation)g(with)g(dep)s(enden)m(t)h(t)m(yp)s(es)h ([4],)0 3343 y(follo)m(w)m(ed)31 b(b)m(y)f(a)i(constrain)m(t)f(solv)m (er)f([16)r(,)h(15)q(].)42 b(An)30 b(alternativ)m(e)i(c)m (haracterization)g(of)f(our)f(pro)s(of)g(c)m(hec)m(king)i(pro-)0 3456 y(cess)38 b(is)e(as)h(a)h(pro)s(of)e(reconstruction)h(instance)g (where)g(enough)g(of)g(the)h(structure)e(of)i(the)f(pro)s(of)g(is)f (giv)m(en)h(to)0 3569 y(a)m(v)m(oid)i(the)g(need)f(for)g(searc)m(h,)k (to)d(reduce)f(higher-order)f(uni\014cation)g(to)i(a)g(simple)d (extension)i(of)h(\014rst-order)0 3682 y(uni\014cation)25 b(that)i(resp)s(ects)g(b)s(ound)d(v)-5 b(ariables)26 b(and)g(to)h(ensure)f(that)h(all)f(constrain)m(ts)h(that)g(are)g (generated)h(ha)m(v)m(e)0 3794 y(the)i(simple)f(rigid-rigid)d(or)31 b(\015ex-rigid)d(form)i(that)h(can)g(b)s(e)e(solv)m(ed)h(eagerly)-8 b(.)42 b(These)30 b(simpli\014cations)d(enable)j(us)0 3907 y(to)h(implemen)m(t)e(a)i(more)f(e\016cien)m(t)h(reconstruction)f (algorithm.)141 4020 y(Because)25 b(higher-order)d(uni\014cation)f(is)i (undecidable)e([6)q(])i(and)g(exp)s(ensiv)m(e)g(in)f(general,)j(Miller) c([10)q(])j(prop)s(oses)0 4133 y(syn)m(tactic)30 b(restrictions)d(so)i (that)g(to)g(ensure)f(that)h(the)g(only)f(uni\014cation)f(problems)g (that)i(o)s(ccur)f(can)h(b)s(e)f(solv)m(ed)0 4246 y(b)m(y)k(a)h(simple) d(extension)i(of)h(the)f(\014rst-order)g(uni\014cation,)f(as)i(in)e (our)h(case.)47 b(This)31 b(approac)m(h)i(is)e(the)i(approac)m(h)0 4359 y(tak)m(en)e(in)e(the)h(language)g Fx(L)949 4374 y Fz(\025)994 4359 y FE(.)41 b(Unfortunately)-8 b(,)30 b(these)g(restrictions)f(are)h(to)s(o)h(strict)f(for)f(our)h(purp)s (oses)e(b)s(ecause)0 4472 y(they)34 b(prev)m(en)m(t)g(the)g(free)g(use) f(of)h(higher-order)e(abstract)j(syn)m(tax)f(for)g(the)g(represen)m (tation)f(of)h(predicates)g(and)0 4585 y(pro)s(ofs.)57 b(This)34 b(obstacle)j(can)g(b)s(e)e(o)m(v)m(ercome)k(b)m(y)d(implemen) m(ting)e(term)i(lev)m(el)g(substitution,)f(but)h(only)f(at)i(the)0 4698 y(exp)s(ense)23 b(of)g(more)h(complicated)f(programs)g(and)f(a)i (signi\014can)m(t)e(loss)h(in)f(p)s(erformance)g([8)q(,)i(9].)39 b(W)-8 b(e)24 b(to)s(o)g(recognize)0 4811 y(the)37 b(b)s(ene\014ts)e (of)i(implemen)m(ting)d(the)j(reconstruction)f(algorithm)f(for)i(a)f (syn)m(tactically-restricted)h(subset)f(of)0 4924 y(LF,)28 b(but)f(w)m(e)h(do)g(it)f(in)f(suc)m(h)h(a)h(w)m(a)m(y)h(that)f(an)m(y) g(\(explicit\))f(LF)h(term)f(can)h(still)e(b)s(e)h(t)m(yp)s(e-c)m(hec)m (k)m(ed)j(in)c(our)i(system.)0 5036 y(This)42 b(do)s(es)i(not)g(limit)d (the)j(a)m(v)-5 b(ailable)44 b(language)g(and)f(programming)g(tec)m (hniques)g(but)h(migh)m(t)f(reduce)h(the)0 5149 y(e\013ectiv)m(eness)32 b(of)e(the)h(term)f(compaction)h(algorithms)e(in)g(certain)i(cases.)141 5262 y(Ev)m(en)h(though)g(there)h(has)f(b)s(een)f(a)i(signi\014can)m(t) e(amoun)m(t)h(of)h(w)m(ork)f(in)f(term)h(reconstruction,)g(w)m(e)h(w)m (ere)g(not)1905 5589 y(66)p eop %%Page: 67 69 67 68 bop 0 91 a FE(able)30 b(to)h(iden)m(tify)e(previous)g(w)m(ork)h (on)g(the)h(dual)e(problem)g(of)h(pro)s(of)g(compaction.)0 378 y FB(13)135 b(Conclusion)0 581 y FE(In)29 b(this)f(rep)s(ort)h(w)m (e)h(ha)m(v)m(e)h(presen)m(ted)f(algorithms)e(for)h(the)h(represen)m (tation)g(and)f(v)-5 b(alidation)28 b(of)i(logical)f(pro)s(ofs.)0 694 y(Suc)m(h)36 b(tec)m(hniques)g(are)h(imp)s(ortan)m(t)f(in)g (situations)f(where)h(logical)g(pro)s(ofs)g(m)m(ust)h(b)s(e)f (manipulated)e(explicitly)0 807 y(suc)m(h)28 b(as)i(in)d(the)i(case)h (of)f(a)g(theorem)g(pro)m(v)m(er)h(that)f(generates)h(witnesses)e(of)h (successful)f(deriv)-5 b(ations,)27 b(or)i(in)f(the)0 919 y(case)j(of)g(Pro)s(of-Carrying)e(Co)s(de.)141 1032 y(The)f(algorithms)g(presen)m(ted)g(here)g(are)h(deriv)m(ed)f(from)g (the)h(represen)m(tation)f(and)g(t)m(yp)s(ec)m(hec)m(king)i(algorithm)0 1145 y(of)23 b(the)g(Edin)m(burgh)d(Logical)j(F)-8 b(ramew)m(ork.)40 b(The)22 b(ma)5 b(jor)23 b(adv)-5 b(an)m(tages)25 b(that)e(w)m(e)h(ac)m (hiev)m(e)g(with)e(this)g(c)m(hoice)h(is)f(that)0 1258 y(the)30 b(algorithms)e(are)i(parameterized)g(b)m(y)g(the)g(logic)f(of) h(in)m(terest)g(and)f(therefore)h(only)f(one)h(implemen)m(tation)e(is)0 1371 y(required)20 b(for)h(a)i(large)e(range)h(of)g(logics.)38 b(In)21 b(particular)f(this)h(is)f(the)i(case)h(for)f(all)e(our)h (curren)m(t)h(PCC)f(exp)s(erimen)m(ts,)0 1484 y(ranging)33 b(from)h(extensions)g(to)h(op)s(erating)e(system)i(k)m(ernel)e(to)i (extensions)f(to)h(safe)g(programming)e(languages)0 1597 y(to)j(activ)m(e)g(net)m(w)m(ork)g(comp)s(onen)m(ts.)54 b(Another)35 b(ma)5 b(jor)35 b(b)s(ene\014t)f(of)h(LF)g(is)f(that)h (all)f(the)h(complications)f(due)g(to)0 1710 y(parametric)c(and)g(h)m (yp)s(othetical)g(pro)s(ofs)f(are)i(shifted)e(to)i(the)f(framew)m(ork)h (b)m(y)f(using)f(higher-order)g(syn)m(tax.)141 1823 y(Ev)m(en)d(though) g(the)h(pure)e(LF)h(represen)m(tation)g(is)g(not)g(optimal)f(in)g (terms)h(of)g(size)g(and)g(v)-5 b(alidation)24 b(time,)j(our)0 1936 y(implicit)g(represen)m(tations)j(ac)m(hiev)m(e)h(m)m(uc)m(h)f (impro)m(v)m(ed)f(results.)39 b(It)30 b(is)f(an)h(in)m(teresting)f (exercise)h(to)h(analyze)f(the)0 2049 y(b)s(eha)m(vior)k(of)h(the)f (represen)m(tation)h(and)f(reconstruction)g(algorithms)g(for)g(eac)m(h) i(rule)d(in)h(a)h(giv)m(en)f(logic.)54 b(Suc)m(h)0 2161 y(an)40 b(analysis)e(rev)m(eals)j(that)f(for)g(all)f(\014rst-order)g (logic)g(constructs,)k(b)s(oth)c(the)i(implicit)c(represen)m(tation)j (and)0 2274 y(reconstruction)34 b(are)g(optimal)g(in)e(the)j(sense)f (that)h(nothing)e(more)h(could)g(b)s(e)f(sa)m(v)m(ed)j(b)m(y)e (algorithms)f(that)i(are)0 2387 y(sp)s(ecialized)h(to)j(the)f(giv)m(en) g(logic.)63 b(This)37 b(practically)f(sa)m(ys)j(that)f(w)m(e)h(ac)m (hiev)m(e)g(p)s(erformance)e(comparable)h(to)0 2500 y(sp)s(ecial)29 b(purp)s(ose)g(algorithms)g(b)m(y)h(using)f(general)h(algorithms)g (parameterized)g(b)m(y)g(the)h(logic.)141 2613 y(A)h(ma)5 b(jor)31 b(con)m(tribution)g(of)g(the)h(w)m(ork)g(presen)m(ted)f(in)f (this)h(rep)s(ort)g(is)f(a)i(sound)f(reconstruction)g(algorithm)0 2726 y(that)43 b(is)e(able)g(to)i(reconstruct)f(and)g(t)m(yp)s(ec)m (hec)m(k)i(LF)e(terms)g(with)f(missing)e(subterms.)75 b(The)41 b(p)s(o)m(w)m(er)i(of)f(the)0 2839 y(algorithm)36 b(consists)g(on)g(b)s(eing)f(able)h(to)i(w)m(ork)e(with)g(implicit)d (represen)m(tations)k(that)g(are)g(15)g(times)f(smaller)0 2952 y(than)28 b(the)h(original)e(LF)i(represen)m(tations.)40 b(A)29 b(notable)f(feature)h(of)g(the)g(reconstruction)f(algorithm)g (is)f(that)j(the)0 3065 y(reconstruction)d(time)g(is)g(m)m(uc)m(h)g (smaller)f(than)h(the)h(time)f(required)f(for)h(c)m(hec)m(king)h(the)g (full)d(LF)j(represen)m(tation,)0 3178 y(in)h(the)i(cases)g(when)e(the) i(t)m(yp)s(e)f(is)g(kno)m(wn)g(to)h(b)s(e)f(w)m(ell-formed.)39 b(W)-8 b(e)32 b(ha)m(v)m(e)f(measured)f(reductions)f(of)i(ab)s(out)f (on)0 3291 y(order)21 b(of)g(magnitude)f(in)g(the)h(t)m(yp)s(ec)m(hec)m (king)h(time)e(and)h(of)g(ab)s(out)g(35\045)g(in)f(the)h(space)h (required)d(for)i(t)m(yp)s(ec)m(hec)m(king)0 3403 y(when)29 b(using)g(explicit)g(substitutions.)141 3516 y(Accompan)m(ying)e(the)g (reconstruction)f(algorithm)g(are)h(sev)m(eral)f(algorithms)g(that)h (can)g(b)s(e)f(used)g(to)h(pro)s(duce)0 3629 y(implicit)32 b(represen)m(tations)j(of)g(full)d(LF)j(terms.)54 b(Among)35 b(these,)i(t)m(w)m(o)f(are)f(v)m(ery)g(simple)e(and)h(syn)m(tax)i (directed)0 3742 y(and)30 b(pro)s(duced)e(near)j(optimal)e(results.)141 3855 y(On)35 b(the)g(implemen)m(tation)g(fron)m(t,)i(w)m(e)f(adapted)f (the)h(explicit)e(substitution)f(metho)s(d)i(to)h(the)g(case)g(of)g (de-)0 3968 y(p)s(enden)m(t)26 b(t)m(yp)s(e)h(reconstruction)f(and)g(w) m(e)i(in)m(tegrated)f(it)g(with)e(an)i(e\013ectiv)m(e)h(o)s(ccurs-c)m (hec)m(k)h(optimization)c(and)i(a)0 4081 y(memory)e(managemen)m(t)i (optimization.)38 b(Finally)24 b(w)m(e)i(describ)s(ed)d(a)j(p)s (ortable)f(binary)e(enco)s(ding)i(that)h(attempts)0 4194 y(to)31 b(further)e(minimize)f(the)j(size)f(of)g(LF)h(terms.)141 4357 y(Although)d(w)m(e)g(ha)m(v)m(e)i(made)e(signi\014can)m(t)f (progress)h(in)f(the)h(size)g(of)h(the)f(represen)m(tation)h(and)e(the) i(v)-5 b(alidation)0 4469 y(e\013ort)30 b(o)m(v)m(er)h(pure)e(LF,)h (there)f(is)g(certainly)g(ro)s(om)g(for)g(further)f(impro)m(v)m(emen)m (t.)41 b(T)-8 b(o)30 b(disco)m(v)m(er)g(these)g(opp)s(ortuni-)0 4582 y(ties,)g(w)m(e)g(w)m(an)m(t)h(to)f(con)m(tin)m(ue)g(exp)s(erimen) m(ting)e(with)g(the)i(represen)m(tation)g(and)f(reconstruction)h (algorithms)e(for)0 4695 y(more)22 b(div)m(erse)g(and)g(for)g(larger)g (problems.)36 b(The)22 b(purp)s(ose)e(of)j(suc)m(h)f(exp)s(erimen)m(ts) f(w)m(ould)g(b)s(e)h(to)h(further)e(substan-)0 4808 y(tiate)35 b(our)e(exp)s(ectations)h(that)h(the)f(impro)m(v)m(emen)m(ts)g(due)f (to)i(the)f(implicit)d(represen)m(tations)j(are)g(sup)s(er-linear)0 4921 y(and)c(that)h(the)f(reconstruction)g(time)g(is)g(linear)f(on)h (the)g(problem)f(size.)141 5034 y(One)41 b(in)m(teresting)g(direction)f (for)h(future)f(w)m(ork)i(is)e(to)i(exp)s(erimen)m(t)f(with)f(represen) m(tations)h(of)h(pro)s(ofs)e(in)0 5147 y(higher-order)24 b(logics.)39 b(It)25 b(is)g(lik)m(ely)f(that)i(the)g(impro)m(v)m(emen)m (ts)f(that)h(w)m(e)g(measured)f(for)h(\014rst-order)e(logics)h(do)h (not)0 5260 y(translate)d(directly)e(to)j(higher-order)d(logics,)j(and) e(that)i(ev)m(en)f(more)g(sophisticated)f(reconstruction)g(algorithms) 1905 5589 y(67)p eop %%Page: 68 70 68 69 bop 0 91 a FE(can)31 b(b)s(e)f(devised.)41 b(It)31 b(w)m(ould)f(b)s(e)g(in)m(teresting)h(to)g(see)h(if)e(the)h (reconstruction)f(time)h(is)f(a)h(linear)e(function)h(of)h(the)0 204 y(term)f(size)h(also)f(in)f(the)i(case)g(of)g(pro)s(ofs)e(in)g (higher-order)g(logics.)141 317 y(W)-8 b(e)31 b(ha)m(v)m(e)f(claimed)f (that)h(the)f(lo)s(cal)g(and)g(the)h(one-bit)f(global)f(erasure)i (algorithms)e(can)i(b)s(e)e(at)j(the)e(base)h(of)0 430 y(e\016cien)m(t)37 b(represen)m(tation)f(algorithms)f(that)i(ac)m(hiev) m(e)g(incremen)m(tal)f(construction)f(of)i(pro)s(of)e(represen)m (tations)0 543 y(without)27 b(ev)m(er)j(generating)e(the)h(full)d (represen)m(tation.)40 b(An)28 b(in)m(teresting)g(exp)s(erimen)m(t)f(w) m(ould)h(b)s(e)f(to)i(instrumen)m(t)0 656 y(an)43 b(actual)g(theorem)g (pro)m(v)m(er)h(to)g(main)m(tain)d(pro)s(of)i(represen)m(tations)f(of)i (the)f(in)m(termediary)e(results)h(and)g(to)0 769 y(com)m(bine)30 b(them)g(as)h(it)f(progresses)g(to)m(w)m(ard)i(the)e(\014nal)f(pro)s (of.)1905 5589 y(68)p eop %%Page: 69 71 69 70 bop 0 91 a FB(References)45 294 y FE([1])47 b FF(Abadi,)31 b(M.,)g(Cardelli,)g(L.,)h(Curien,)f(P.-L.,)h(and)e(L)2235 286 y(\023)2235 294 y(evy,)h(J.-J.)j FE(Explicit)24 b(substitutions.)33 b Fv(Journal)187 407 y(of)g(F)-7 b(unctional)34 b(Pr)-5 b(o)g(gr)g(amming)35 b(1)p FE(,)c(4)g(\(Oct.)g(1991\),)i(375{416.)45 595 y([2])47 b FF(DeBr)n(uijn,)25 b(N.)g FE(Lam)m(b)s(da-calculus)19 b(notation)i(with)e(nameless)h(dummies,)g(a)h(to)s(ol)g(for)f (automatic)i(form)m(ula)187 708 y(manipulation.)38 b Fv(Indag.)33 b(Mat.)g(34)43 b FE(\(1972\),)33 b(381{392.)45 895 y([3])47 b FF(Do)n(wek,)30 b(G.,)h(Fel)-6 b(ty,)29 b(A.,)i(Herbelin,)f(H.,)g(Huet,)g(G.)g(P.,)h(Mur)-6 b(thy,)30 b(C.,)h(P)-8 b(arent,)30 b(C.,)h(P)-8 b(a)n(ulin-)187 1008 y(Mohring,)40 b(C.,)g(and)e(Werner,)h(B.)53 b FE(The)34 b(Co)s(q)g(pro)s(of)g(assistan)m(t)h(user's)f(guide.)g(Version)g(5.8.) 55 b(T)-8 b(ec)m(h.)187 1121 y(rep.,)30 b(INRIA)g({)h(Ro)s(cquencourt,) g(Ma)m(y)g(1993.)45 1309 y([4])47 b FF(Elliott,)d(C.)65 b FE(Higher-order)38 b(uni\014cation)f(with)g(dep)s(enden)m(t)g(t)m(yp) s(es.)65 b(In)38 b Fv(R)-5 b(ewriting)41 b(T)-7 b(e)i(chniques)40 b(and)187 1422 y(Applic)-5 b(ations)46 b FE(\(Chap)s(el)35 b(Hill,)h(North)h(Carolina,)f(Apr.)g(1989\),)41 b(N.)c(Dersho)m(witz,)h (Ed.,)g(Springer-V)-8 b(erlag)187 1535 y(LNCS)29 b(355,)j(pp.)e (121{136.)45 1722 y([5])47 b FF(Harper,)36 b(R.,)i(Honsell,)e(F.,)i (and)e(Plotkin,)i(G.)49 b FE(A)33 b(framew)m(ork)g(for)g(de\014ning)e (logics.)49 b Fv(Journal)36 b(of)187 1835 y(the)d(Asso)-5 b(ciation)34 b(for)f(Computing)h(Machinery)f(40)p FE(,)e(1)g(\(Jan.)g (1993\),)h(143{184.)45 2023 y([6])47 b FF(Huet,)36 b(G.)45 b FE(A)32 b(uni\014cation)f(algorithm)g(for)g(t)m(yp)s(ed)h(lam)m(b)s (da)f(calculus.)44 b Fv(The)-5 b(or)g(etic)g(al)37 b(Computer)e(Scienc) -5 b(e)187 2136 y(1)p FE(,)31 b(1)g(\(1973\),)i(27{57.)45 2323 y([7])47 b FF(Luo,)36 b(Z.,)g(and)f(Polla)n(ck,)g(R.)45 b FE(The)31 b(LEGO)h(pro)s(of)f(dev)m(elopmen)m(t)h(system:)44 b(A)32 b(user's)f(man)m(ual.)45 b(T)-8 b(ec)m(h.)187 2436 y(Rep.)30 b(ECS-LF)m(CS-92-211,)j(Univ)m(ersit)m(y)c(of)i(Edin)m (burgh,)d(Ma)m(y)j(1992.)45 2624 y([8])47 b FF(Micha)-6 b(ylo)n(v,)36 b(S.,)i(and)e(Pfenning,)i(F.)48 b FE(An)33 b(empirical)e(study)h(of)h(the)h(run)m(time)e(b)s(eha)m(vior)g(of)h (higher-)187 2737 y(order)d(logic)f(programs.)40 b(In)30 b Fv(Pr)-5 b(o)g(c)g(e)g(e)g(dings)34 b(of)f(the)f(Workshop)j(on)e(the) f Fx(\025)p Fv(Pr)-5 b(olo)g(g)34 b(Pr)-5 b(o)g(gr)g(amming)35 b(L)-5 b(anguage)187 2850 y FE(\(Philadelphia,)28 b(P)m(ennsylv)-5 b(ania,)31 b(July)f(1992\),)k(D.)e(Miller,)e(Ed.,)i(Univ)m(ersit)m(y)e (of)i(P)m(ennsylv)-5 b(ania,)30 b(pp.)h(257{)187 2963 y(271.)42 b(Av)-5 b(ailable)29 b(as)h(T)-8 b(ec)m(hnical)30 b(Rep)s(ort)h(MS-CIS-92-86.)45 3150 y([9])47 b FF(Micha)-6 b(ylo)n(v,)49 b(S.,)i(and)c(Pfenning,)j(F.)78 b FE(Higher-order)42 b(logic)h(programming)f(as)h(constrain)m(t)g(logic)187 3263 y(programming.)59 b(In)36 b Fv(PPCP'93:)54 b(First)40 b(Workshop)g(on)g(Principles)f(and)g(Pr)-5 b(actic)g(e)40 b(of)f(Constr)-5 b(aint)41 b(Pr)-5 b(o-)187 3376 y(gr)g(amming)40 b FE(\(Newp)s(ort,)30 b(Rho)s(de)g(Island,)f(Apr.)h(1993\),)i(Bro)m(wn) f(Univ)m(ersit)m(y)-8 b(,)30 b(pp.)g(221{229.)0 3564 y([10])47 b FF(Miller,)34 b(D.)41 b FE(A)31 b(logic)f(programming)f (language)i(with)f(lam)m(b)s(da-abstraction,)g(function)f(v)-5 b(ariables,)30 b(and)187 3677 y(simple)e(uni\014cation.)39 b Fv(Journal)34 b(of)e(L)-5 b(o)g(gic)34 b(and)f(Computation)i(1)p FE(,)c(4)g(\(Sept.)g(1991\),)h(497{536.)0 3864 y([11])47 b FF(Miller,)33 b(D.)i(A.)41 b FE(A)30 b(compact)i(represen)m(tation)e (of)h(pro)s(ofs.)39 b Fv(Studia)34 b(L)-5 b(o)g(gic)g(a)34 b(46)p FE(,)d(4)g(\(1987\),)i(347{370.)0 4052 y([12])47 b FF(Necula,)33 b(G.)i(C.)42 b FE(Pro)s(of-carrying)29 b(co)s(de.)42 b(In)30 b Fv(The)j(24th)h(A)n(nnual)f(A)n(CM)e(Symp)-5 b(osium)35 b(on)f(Principles)f(of)187 4165 y(Pr)-5 b(o)g(gr)g(amming)35 b(L)-5 b(anguages)39 b FE(\(Jan.)30 b(1997\),)j(A)m(CM,)e(pp.)f (106{119.)0 4352 y([13])47 b FF(Necula,)k(G.)e(C.,)j(and)c(Lee,)k(P.)81 b FE(Pro)s(of-carrying)44 b(co)s(de.)81 b(T)-8 b(ec)m(hnical)44 b(Rep)s(ort)f(CMU-CS-96-165,)187 4465 y(Computer)24 b(Science)i (Departmen)m(t,)h(Carnegie)f(Mellon)e(Univ)m(ersit)m(y)-8 b(,)26 b(Dec.)h(1996.)34 b(Also)26 b(app)s(eared)e(as)i(F)m(O)m(X)187 4578 y(memorandum)j(CMU-CS-F)m(O)m(X-96-03.)0 4766 y([14])47 b FF(Necula,)36 b(G.)i(C.,)g(and)e(Lee,)h(P.)48 b FE(Safe)33 b(k)m(ernel)g(extensions)f(without)g(run-time)g(c)m(hec)m(king.)48 b(In)33 b Fv(Se)-5 b(c)g(ond)187 4879 y(Symp)g(osium)34 b(on)e(Op)-5 b(er)g(ating)34 b(Systems)f(Design)e(and)i (Implementations)40 b FE(\(Oct.)31 b(1996\),)h(Usenix,)d(pp.)g(229{)187 4992 y(243.)0 5179 y([15])47 b FF(Pfenning,)28 b(F.)h FE(Logic)24 b(programming)e(in)h(the)g(LF)h(logical)f(framew)m(ork.)30 b(In)22 b Fv(L)-5 b(o)g(gic)g(al)28 b(F)-7 b(r)i(ameworks)34 b FE(\(1991\),)187 5292 y(G.)d(Huet)g(and)e(G.)i(Plotkin,)e(Eds.,)h (Cam)m(bridge)g(Univ)m(ersit)m(y)f(Press,)i(pp.)e(149{181.)1905 5589 y(69)p eop %%Page: 70 72 70 71 bop 0 91 a FE([16])47 b FF(Pfenning,)g(F.)70 b FE(Uni\014cation)40 b(and)g(an)m(ti-uni\014cation)e(in)i(the)g (Calculus)f(of)h(Constructions.)69 b(In)40 b Fv(Sixth)187 204 y(A)n(nnual)31 b(IEEE)f(Symp)-5 b(osium)33 b(on)f(L)-5 b(o)g(gic)32 b(in)f(Computer)i(Scienc)-5 b(e)35 b FE(\(Amsterdam,)30 b(The)e(Netherlands,)h(July)187 317 y(1991\),)k(pp.)c(74{85.)0 505 y([17])47 b FF(Pfenning,)h(F.)71 b FE(Elf:)60 b(A)41 b(meta-language)h(for)f(deductiv)m(e)f(systems)h(\(system)g (description\).)70 b(In)40 b Fv(12th)187 618 y(International)45 b(Confer)-5 b(enc)g(e)43 b(on)g(A)n(utomate)-5 b(d)44 b(De)-5 b(duction)48 b FE(\(Nancy)-8 b(,)46 b(F)-8 b(rance,)45 b(June)40 b(26{July)h(1,)k(1994\),)187 731 y(A.)31 b(Bundy)-8 b(,)29 b(Ed.,)i(LNAI)f(814,)i(Springer-V)-8 b(erlag,)29 b(pp.)h(811{815.)0 918 y([18])47 b FF(Polla)n(ck,)25 b(R.)g FE(Implicit)19 b(syn)m(tax.)26 b(Informal)19 b(Pro)s(ceedings)i (of)g(First)f(W)-8 b(orkshop)22 b(on)f(Logical)g(F)-8 b(ramew)m(orks,)187 1031 y(An)m(tib)s(es,)29 b(Ma)m(y)j(1990.)0 1219 y([19])47 b FF(St)-6 b(a)g(tman,)28 b(R.)j FE(The)24 b(t)m(yp)s(ed)h Fx(\025)p FE(-calculus)f(is)g(not)h(elemen)m(tary)g (recursiv)m(e.)31 b Fv(The)-5 b(or)g(etic)g(al)30 b(Computer)f(Scienc) -5 b(e)187 1332 y(9)43 b FE(\(1979\),)33 b(73{81.)0 1519 y([20])47 b FF(W)-11 b(adsw)n(or)-6 b(th,)32 b(C.)i(P.)41 b Fv(Semantics)33 b(and)g(Pr)-5 b(agmatics)34 b(of)f(the)f(L)-5 b(amb)g(da)35 b(Calculus)p FE(.)41 b(PhD)29 b(thesis,)h(Oxford)187 1632 y(Univ)m(ersit)m(y)-8 b(,)30 b(1971.)1905 5589 y(70)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF