• Aucun résultat trouvé

Safe Recursive Boxes

N/A
N/A
Protected

Academic year: 2021

Partager "Safe Recursive Boxes"

Copied!
18
0
0

Texte intégral

(1)Safe Recursive Boxes Gérard Boudol. To cite this version: Gérard Boudol. Safe Recursive Boxes. RR-5115, INRIA. 2004. �inria-00071467�. HAL Id: inria-00071467 https://hal.inria.fr/inria-00071467 Submitted on 23 May 2006. HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés..

(2) INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE. Safe Recursive Boxes Gérard Boudol. N° 5115 February 2004. ISSN 0249-6399. ISRN INRIA/RR--5115--FR+ENG. THÈME 1. apport de recherche.

(3)

(4)  

(5)    !#"$#%'&)(+*,%(+ . /103254687:9 ;=<>4=?A@CBD43E <>FC<GEH03254=< IKJHLNMG4OEP<QSRT2)L!<>? 9U?NVWV$LAJ>EXC4YJ>4#ZP/W43JPZP/W4\[$]_^C6A6`^a7:bW4=cWJ>@d?NJHFDeNfAfAg7h63g)V1?Nij4=<. klm=n3opWqAnArts 4u<GEH@1XCFvJH4=ZO@1JH<>RwLj[vRw[xZ3?Aywywz{c|F!z~}`?Ayw@14€@W[1ZOE>RTLA[1?Ayy‚?N[1iA@1?AiA4=<=ƒ?N[dX„25LAJH4 <>Vd4#ZORw†dZ3?AywyTFv?‡JH4=Z3@WJP<ˆRTLA[ Z3LA[1<ˆE>JH@1ZOEUJ>4#ZO4=[jEHywF‰RT[jEHJ>LCXC@dZO4=Xac!FSŠ8J>4=FA43J#ƒ1‹ /1RTZP/ac1@WRwy‚XW<8J>4#ZO@WJP<>Rw}j4YcdL`BC4=XS}?Ayw@W4#<3Œ s 4)XC4=<>Rwij[?5EGF|V$4Ž?N[dX4O+4=ZOE <>FC<GEH432Sƒ€4#?E>@1J>RT[WiScWRT[1?NJHF4O+4=ZOEH<=ƒ‘€LAJY?SZ3?Aywywz~c!F!z~}?NyT@W4 λz~Z=?Ny‚ZO@WyT@1<’43B!EH43[1XW4=X ‹ R“EH/ EH/WR‚<’J>4#ZO@WJP<ˆRTLA[”ZOLj[1<GEHJ>@dZE=Œ s 4 <>/WL‹•EH/1?E5EH/WRT<D<ˆFC<ˆE>432/d?A<ŽE>/W4ijL|L|X‡VWJHLAV$43J>E>RT4=<)J>4#–!@WRwJH4=X—€LAJ?N[˜RT2)V1ywR‚ZORwE>yTFAƒ <GEP?EHRTZ=?NyTywFuEGF|V$4=X™yT?A[WiA@1?AiA4jšE>/14 EGF|V1?AcWyT443B|V1J>4#<><>RwLj[1<)XCL [1LNE5F!RT43y‚X™J>@W[Wz›EHRw254‰43JHJ>LjJH<=ƒK?N[1X™?VWJHRT[1ZORTV1?NyœEGF|V$4SZ=?N[™cd4SZOLj2)V1@CE>4#X—€LjJ5?A[|F EGF|V1?AcWyT4 43BCVWJ>4#<><>RTLA[‘Œ ž!Ÿ+ H¡£¢ o¤mAr €@W[1ZEHRwLj[1?Nyy‚?N[1iA@1?AiA4=<=ƒCZ3?Aywywz{c|F!z~}`?Ayw@14Aƒ|J>4#ZO@WJP<>RwLj[‘ƒ!EGF!V1Rw[Wi. Unité de recherche INRIA Sophia Antipolis 2004, route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex (France) Téléphone : +33 4 92 38 77 77 — Télécopie : +33 4 92 38 77 65.

(6)  £ t œ

(7)       m

(8)  r Lj@1< ;3E>@1XWRwLj[1< y‚?JH;=Z3@WJP<ˆRTLA[XW?A[1< yw4#< y‚?N[Wi!?Nij4=<K€Lj[1ZEHRwLj[W[W4=yT< 43[D?AVWV$43y+V1?NJœ}?NyT43@WJ#ƒ!4OE VWyw@d< <>Vd;#ZORw†d–!@W4Oz 254=[jE@1[W4ZOLj[1<GEHJ>@dZE>RTLA[uXC4JH;=Z3@WJH<>RTLA[”J>;#ZO43252543[!EYRT[jEHJ>LCXC@1R“EH4V1?NJŠ8J>4=FA4=J=ƒ –!@WR ZOLA[d<GEHJ>@WRwEXC4=<}`?Ayw4=@WJP<’J>;#ZO@WJP<ˆRT}A4#< ?AywyTLA@1;34=<=Œ LA@1< RT[!E>JHL|XW@WRT<>LA[d< @W[a<ˆFC<ˆE>0=2)4XW4’EGF!V$4=<4OE4O+4OEP<3ƒdJ>4=VdL!<>?A[!E <>@WJXC4#< 4O+4OEP<cWRT[1?ARwJH4=<=ƒCVdLj@WJ@W[ z~Z=?Ny‚ZO@Wy 4=[ ?AVWVd4=yVd?NJ}`?Ayw4=@WJU;3E>4=[1XC@ ?`}j4=ZZ34OE>E>4ŽZ3LA[1<ˆE>JH@1ZOE>RTLA[aV$LA@WJy‚?JH;=ZO@1JH<>RwLj[‘Œ LA@1<825LA[!E>JHLA[1<8–!@W4ŽZ34Ž<>F|<ˆE>0=25λ 4Ž?yT4=< c$LA[1[W4=<UVWJ>LjVWJHRw;3E>;=<J>4#–j@1RT<>4=< V$LA@1J@W[SEGF|V1?Nij4<GEP?EHRT–!@W4RT25VWyTRTZ3R“EH4Dš yT4=<U4OBCVWJH4=<H<ˆRTLA[d<œEGF!Vd?NcWyT4=< [14£ZOLj[1XC@WR‚<ˆ4=[!EUV1?A<  XW4=< 4=J>JH43@WJP<5y 4OBC;=Z3@CE>RTLA[ ƒC4OE@W[‰EGF|Vd4’VWJHRT[1ZORTV1?Ny Vd4=@CE OEHJ>4YZ3?AyTZ3@WyT;V$LA@1JZP/1?A–!@W4’4OBCVWJH4=<H<>RwLj[EGF|V1?Nc1yw4jŒ q   m‰r y‚?N[Wi!?NiA4#< €LA[1ZOE>RTLA[W[W4=yT<=ƒW?NV1Vd4=y‘V1?NJ }?NyT43@1J=ƒCJH;=Z3@WJH<>RTLA[‘ƒ!EGF|V1?Nij4 ¢ n#m   .

(9)  

(10)   . . !#"%$&('*) +-,.$/0'*". 1 [E>/WR‚< Vd?NV$43J ‹œ4RT[|}A4=<ˆE>RTij?NE>4<>LA254U?j<ˆV$4=ZOEH<_LA‘J>4#ZO@WJP<>Rw}j4XC4O†1[1R“EHRwLj[1<_RT[DZ3?Aywywz~c!F!z~}?NyT@W4 yT?A[WiA@d?NiA4#<3Œ21~E R‚<_‹œ43yTy“z43|[WL‹ [ EH/1?E’RT[<ˆ@dZP/ayT?A[WiA@d?NiA4#<3ƒdLA[W4ŽRT<8[WLAE’?AywyTL‹ 4#XE>L‰@1<ˆ4£E>/W4)<GEP?N[1X1?NJPX2?E>/1432?EHRTZ=?NyXW4O†1[WRwE>RTLA[ LNKEH/W4£†1B|V$LART[!E8LA ? €@1[1ZEHRwLj[ f ƒWE>/1?NE R‚<=ƒW@1<>Rw[Wi<ˆEH?A[1XW?NJPXVWJ>LjiAJP?N2525Rw[1i£y‚?N[Wij@1?Nij48[WLAEH?NE>RTLA[1<=š let rec x = (f x) in · · ·. 18 [ 7WQ:9™€LjJRT[1<ˆEH?A[1ZO4<;T6=>~ƒ‘LA[14ŽR‚<YZOLj2)V$43yTyT4=XEHLSLA[WyTFaXC4O†d[W45J>4#ZO@WJP<ˆRT}A4£€@W[1ZOE>RTLA[1<=ƒ. Lj[WyTF‹ J>RwE>4. 5 ♥6. ?N[dX25LAJH4)VWJ>4#ZOR‚<ˆ4=ywFSLj[W4525?`F. let rec f = λxM in · · ·. ?A@ B2C D ;T6E>RT<<>yTRwij/jEHywFD2)LjJ>4’V$43JH25RT<H<ˆRT}A4jƒW<ˆRT[1Z34YR“EU?AywyTL‹<œLA[W4’EHL)@d<ˆ4YyTRw25RwE>4#X‰€LAJH25< LA,Z3LA[1<ˆE>JH@1ZOE>LAJ ?AVWVWyTRTZ=?E>RTLA[d< ?j< EH/W4c$L|XWFLA,JH4=Z3@WJP<ˆRT}A4YXC43†1[WRwE>RTLA[1<=Œ. /WR‚</1?j< cd4=43[JH4=Z343[!E>yTF43B|E>43[dXC4=XSc|F<F RTJH<HZP/WL‹ RwEHGJI ?Ny{ŒT; 6#e{> ƒdcW@CE8[1LNEEHL. EH/W443B!EH43[!EEH/1?E£‹œ4Z3?A[u@1<ˆ4 (♥) ŒS. /W4@1<>@1?Ay Z3?Aywywz{c|F!z~}`?Ayw@14Ž†1B|V$LART[!EŽZOLj2£cWRT[1?NE>LAJ Y ƒ,‹ /WRTZP/uR‚<£<>@1ZP/”E>/1?NE (YV ) 4=}?NyT@1?EH4=< RT[jEHL V (λx.YV x) ƒW‹ /W4=J>4 V R‚< ?5}`?Ayw@14AƒCVWJHL}|RTXC4#< ?5ywRT25R“EH4=X€LAJH2tLNE>/14Y4=–!@1?EHRwLj[ (♥) šK‹œ42?`FJH43i!?NJPX ?A<U?N[a?Nc1cWJ>4=}|RT?NE>RTLA[‰€LAJ ƒ1c1@CEURT[SE>/WR‚<U‹ ?`F‹œ4£Z3?A[LA[WyTFXW4O†1[W4£J>4#ZO@WJP<ˆRT}A4’€@1[1ZEHRwLj[1<3ƒ rec x = (f x) <>RT[1ZO4 x = λz.Yf z ƒ|cW@CE8[WLNE JH4=ZO@1JH<>Rw}j48x}?A=yw@W4#f< (λz.Yf LNK?N[|FAz)3|Rw[dXŒK1 [MLON.PRQ C QƒWLA[W4’2?`F‹ JHR“EH4 let rec x = X in · · ·. € LjJK?N[|F X ƒcW@CE,E>/1RT<R‚<<>@WcCMG4#ZEE>L’?N[ŽRw25V$LAJ>EH?N[!E,J>4#<GEHJ>R‚ZEHRwLj[‘šTS URVW

(11) XU%Y(%Z[ \Y]^_U`a b]c

(12) deU` X f U\gXe

(13) U- ihbjTjh bkH\ jhlU`mU\gXnee]c

(14) dAo ;T6  >~Œ. /WR‚<U?jZE>@d?NyTywF‰J>43€43JP< E>Lq9 ?N[dXCRw[  <URw25VWyT432543[!EP?E>RTLA[LAKJ>4#ZO@WJP<ˆRTLA[r;T63ge>~ƒ$‹ /W43JH4 EH/W4aJH4=Z3@WJH<>RT}A4S}?NJHRT?AcWyw4R‚<RT[!xE>p 4=J>VWJH4OEH4=X ?A<E>/W4a}?Ayw@W4LNY?u€J>4#<ˆ/ 254325LjJ>F˜ZO43yTy{ƒ ‹ /WRTZP/vZ=?N[vc$4?A<H<ˆRTiA[14=X™E>L—?A[1X XW43JH4O€43JH43[dZO4=X‘WŒ 1 s [ LON.PRQ C Q+ƒ E>/W4y‚?E>E>43J£LAV$43JP?E>RTLA[ RT<Rw25VWyTRTZ3R“E#ƒ?j<Y?NyTy_}?NJHRT?AcWyw4#<’?NJH4Aƒ‘c|FXC43 ?N@WywE=ƒ2£@CEP?NcWyT4AŒA1~ ‹œ4 ?jXCLAVWEUE>/14)25LjJ>443BCVWywR‚ZORwEY<ˆF|[!EH?NBSLAt 7W: Q 9 ƒ.9?N[1XWRw[  <Rw[!EH43JHVWJ>43EH?NE>RTLA[LNœ?JH4=ZO@1JH<>Rw}j4£XC43†1[WRwE>RTLA[ rec x = X Z3?N[ cd4 XW4=<HZOJHRwc$4=XS?A< €LjywyTL‹<3š x = let r = ref(raise Undefined ) Œ 5 ♠6 in r X ∗ u ( v r) ‹ /143JH4 X ∗ R‚<LAcWEH?NRT[W4#X€JHLA2 X c!F J>4=VWy‚?AZORT[WiS43}j43JHFaLCZ3Z3@WJ>JH43[dZO45LN x c|F ?A[u4OBCVWyTRTZ3R“EŽXW43JH4O€43JH43[dZORT[Wi ( v r) LN E>/W4 ?j<><>LCZOR‚?EH4=XDZ343yTy›Œ 5 LAE>R‚ZO4E>/1?NE‹ 4YZ=?N[W[WLAE XW4O†1[W4 X ∗ ?A< (λxX)( v r) <ˆRT[1Z34 r Œ X ∗ ‹œLA@1yTXDE>/W4=[?NyT‹œ?`FC<  ?NRTy›Œ 6 . /WRT< <>432?A[jEHRTZ=<’LNœJ>4#ZO@WJP<ˆRTLA[”<GEHRwyTy XCL|4#<’[WLNEyT4OEY@1<Y@d<ˆ4)E>/145†WBCVdLjRw[!E4=–!@1?NE>RTLA[ (♥) ƒ<ˆRT[1Z34)RwEH<cdLCXCFaR‚<’EHJH?A[1<ˆy‚?EH4=XRw[!E>L ƒ ‹ /WR‚ZP/‡?NyT‹œ?`FC<YJP?NR‚<>4=<£?A[—4OBWZ343VCEHRwLj[ @W[1yw4#<><ŽE>/14‰Z3LA25VW@CEP?E>RTLA[‡LN XCL|4=<Ž[WLNEŽE>4=J>25RT[1?EH4 8 Œ w8<Ž?25?NEˆEH43J f ( v r) LA  ?jZE=ƒR“EYR‚<’[WLNEYLjc!}|RTLA@1<8EHLSXW4=<>Rwij[ ?S<ˆ4=2?N5 [!E>R‚Z3<LNœJ>4#ZO@WJP<>RwLj[E>/1?NE£?NyTywL‹f<8@1<EHL‰@d<ˆ4 (♥) Œ5. /1RT6<’‹œLA@Wy‚XaJH4=–!@WRTJH4 RT25VWyT432543[!E>RT[Widƒdc|FD254#?N[1< LA_?<GEP?E>R‚Z?A[1?NyTFC<ˆR‚<œ€LAJ8Rw[1<ˆEH?A[1ZO4jƒCE>/14J>4#<GEHJ>R‚ZEHRwLj[SRTXC4=[!E>Rw†14=XSRT8 [ ;w6  >~ƒdLjJ?ZOLj[1<ˆ4=J>}?NE>RT}A4 ?AVWVWJHL`BCRw2?EHRwLj[5LNR“E#ƒ|Rw[LjJHXC4=JKE>LŽLAcCEP?NRT[?<H?€4UZ3LA[1<ˆE>JH@1ZE#ƒNEH/1?E XCL|4=<_[1LNE RT[!E>JHL|XW@1ZO4JH@W[Cz{E>RT254U4=J>JHLAJP<3Œ. /W4Uy‚?A Z 3ŽLN <>@1ZP/?Y<>432?N[!E>R‚Z3< ?N[1X5<ˆEH?EHRTZ ?A[1?NyTFC<ˆR‚<,4OBCVWy‚?NRT[1<K‹ /|FŽJ>4#ZO@WJP<ˆRTLA[)R‚<K@1<>@1?NyTywF)<ˆF|[!EH?jZEHRTZ=?NyTywFJH4=<ˆE>JHR‚ZE>4#X)Rw[Z=?NyTy“z~c|Fjz~}?NyT@W4 y‚?N[1iA@1?AiA4=<=Œ 43}j43J>E>/W4=yw4#<><=ƒE>/W4=J>4/d?A<Žcd4=43[—JH4=Z343[!E>yTF”<>LA254Rw[!E>4=J>4#<GEŽRw[™4OB|E>4=[1XCRT[WiaJH4=ZO@1JH<>RwLj[ Rw[—€@W[1ZEHRwLj[1?NyœVWJHLAijJH?A2)25RT[Wi y‚?N[1iA@1?AiA4=<=ƒœ‹ R“EH/„}?NJHRwLj@1<25LNEHRw}?EHRwLj[1<=Œxb1LAJDRT[1<ˆEH?A[1ZO4jxƒ 9 ?N@1[1ZP/|cW@WJHy F I?Ny{ Œ ; =Cƒ86`z^ >8V$LART[!EDLA@WEE>/W4 [W434#X˜€LAJD?A[ 43B|E>43[dXC4=Xa†WBCVdLjRw[!EE>LD25LCXC4=y,Z3RwJPZO@1R“E8€434=XWc1?A Z 3SRTM [ { B2| } Q DD ‹ RwE>/”25LA[1?jXW< 5 1 6 JŒ wNE>/143J’2?MGLAJ825LNE>RT}?EHRwLj[aRT<RT[ EH/W4£[1434=X€LAJ2£@CEH@1?NyTywF‰JH4=ZO@1JH<>Rw}j4Y25L|XW@Wyw4#k< ;T6Aƒ^|Rƒ ~|Oƒ Cƒ6A6NƒeNf >~Œ 7CRw25RTyT?AJ>yTFAƒdE>JHF|Rw[WiE>LD43B|E>43[d X €œ?NJPXC43yTyTR  <JH4=Z3@WJH<>RT}A4 JH4=Z3LAJPXD<>432?N[!EHRTZ=< LALjcCMG4=ZOEH< ; g1ƒdeC6 >EHLŽLjcCMG4=ZOEH< ‹ RwE>/S<GEP?EH4’?AyT<>L5Z3?NyTy‚< €LjJ ?Žij43[W4=JH?Ay1†1B|V$LART[!JE ; ee >{-Œ 1 [‰2)L!<GE LA E>/14=<>4 ‹œLA(J 3C<3ƒ ?”Z3LA2525LA[™RT<H<ˆ@14EH/1?E/1?j<ŽE>Lucd4RT[|}A4#<GEHRwi!?E>4#X—R‚<)/WL‹ JH4=Z3@WJH<>RTLA[‡<>/WLA@1yTX™Rw[!EH43JP?AZE5‹ RwE>/vZOLj2)V1@CEH?NE>RTLA[1?Ay 43$4#ZEP<3ƒ‘?DE>LjVWRTZŽ‹ /WR‚ZP/R‚<’?AXWXCJH4=<H<>4=XRTy [ ; =CƒK6=fWƒz6 >~Œ. L‰RwyTyT@1<GEHJH?NE>4£E>/WR‚<’VdLjRw[!E#ƒyw43E@1<’<>4345?N[a43BW?N25VWyT4AŒbWLjywyTL‹ RT[Wi EH/W4’†WBCV$LART[jEU?AVWVWJHLj?jZP/E>LLjcCMG4=ZOEH<=ƒC‹ 4’2?`FDXC43†1[W4’€LAJ RT[1<ˆEH?A[1ZO4Y?)VdLjRw[!ELjcCMG4=ZOE ?j<œ€LAyTywL‹<=š point. = let rec self = {pos = ref 0, move = λd(self .pos. Œ. v self .pos + d)}. in self. 1. [)EH/WRT<,Vd?NJ>E>R‚ZO@Wy‚?NJKZ3?j<ˆ4 ‹œ4 XCL’[WLNEKJH4=?NyTyTF[W434#X£JH4=Z3@WJP<ˆRTLA[‘ƒN<>RT[1ZO4œE>/14 4O+4=ZE_LA$Z3J>4#?E>RT[Wi8E>/W4 RT[WRwE>R‚?NyW<ˆEH?NE>4 LNdE>/W4 3Z LA@Wy‚Xac$45ywRw E>4#XLj@CE’LN_EH/W4<>Z3LAV$4ŽLA_E>/W4)JH4=ZO@1JH<>RwLj[‘ŒaFL‹œ43}j43J#ƒ1EH/WR‚<8‹œLA@1yTXcd45RT[1?NVWV1J>LjVWJ>R‚?EH4Y€LAJEH/W4ŽV1@WJ>V$Ljpoint <>4)LN RT[W/W4=J>RwEH?A[1ZO4jš,Rw2?NijRw[14U€LjJ RT[1<ˆEH?N[dZO48E>/1?NE ‹œ4‹ RT<>/EHL5?Ac1<ˆE>JP?AZE ?`‹œ?`FŽE>/14Vd?NJ>E>R‚ZO@Wy‚?NJœRw[1R“EHRT?Ay$V$Lj<>RwE>RTLA[DLA?£VdLjRw[!E=ƒCc|F. ‚ 1 ƒ „†W‡_ˆo‡ ‰Š‰ ‹Œ‹Ž†e‡ *‘‰c‡ †’“e‡ ’”•\–x—\•#‡ †˜e‡ ™š˜l›^ˆH‡ ‰Š‰ ‹ŽŒ  ‹†e‡ *Hœ2žŸb ¡Š† •ˆ tŒ¡Š†e‡(•\ ™ ”X¢£–¡Šˆ4–n¡Š—K—#“ˆ#–n•\–e‡(• `¤‡ ‰Š“e‡(•\—t¡Š†•#  ”b¡Š—R¡Š†e‡ ŸŸ™š Ÿ™š¡c‡(•#¥¡ ¦[ˆ *Ÿ“z•\¡Š†’‘¡ •\—2‡ ™š’“*†• f ¡Š—R¡Š†•#†˜zo˜_•# ‘–‡o¤ —# *2§’‰Š Œe‡ Y‰ ¨-`©ªˆ•o”b¡Š†ˆ‰Š“˜¡Š†z’*‡ ‰Š‰™š(Yf ˆo“z)™\—\¡ ¤¥ˆo‡ ‰Š‰Š—£¡Š†_¡ •\— f (Yf ) —#ˆ Ÿb«. ¬2¬ †e­d®z¯¯o®.

(15) g.   b

(16) ªe]. XW4O†1[WRT[Wi)?£ZOy‚?A<H< LA‘VdLjRw[!EP<3ƒ|?N[1XE>/W4=[DRT[W/W43JHRwE €JHLA2 E>/WR‚< Z3yT?j<><=ƒ|XC4O†1[1Rw[Wi)?<>@Wc$Z3yT?j<>< €4=?NE>@WJHRT[Wi£?[143‹v254OEH/WLCX EH/1?EJ>4#<ˆ43EH<E>LD?DPoint iART}A43[S}?NyT@W4£E>/W4ŽVdL!<ˆRwE>RTLA[LAKE>/W4ŽLAcCMG4#ZE=Œ. /143[EH/WRT<8[W4=‹\2)43E>/WLCX2Ž@1<ˆEU/1?`}A4Ž?AZ3Z34=<H< E>LDE>/W4 pos Vd?NJP?N254OEH43J_LA$EH/W4LjcCMG4=ZOE=ƒ!‹ /WRTZP/5EH/W43JH4O€LjJ>4 2Ž@1<ˆE c$4U?`}?NRTyT?AcWyw4 €LjJ RT[W/W4=J>RwEH?A[1ZO4jŒ. /W4 self V1?NJP?N254OEH43JKR‚<_RT[!E>JHL|XW@1ZO4#X 43BW?AZEHywF€LAJ EH/WRT<VW@WJHVdL!<ˆ4jƒCLN,VWJ>L}|R‚XCRT[Wi?AZ3Z34=<H< E>L5E>/14ZOLA25V$LA[W4=[!EH< LNE>/14YLAcCMG4#ZE=Œ . /W43[‰E>/14ZOy‚?A<H< LN,VdLjRw[!EH<25?`F c$4Y‹ JHR“E>E>43[ Point = λxλself {pos = ref x Œ v self .pos + d)} move = λd(self .pos ?A[1X‰Rw[d<GEP?N[!E>R‚?EH4=Xyw0R 3A4E>/1RT<=š point = (let rec p = (Point 42)p in p). w8<)LA[W4SZ3?A[‡<ˆ4=4Aƒ_‹œ4?AJ>4@1<>Rw[Wi”/W4=J>4‰?N[‡RT[1<ˆEH?A[1ZO4LNEH/W4D†1B|V$LART[!E)4#–!@1?EHRwLj[ ƒ_‹ /W43JH4EH/W4S43}?NyT@1?NE>RTLA[—LAE>/W4 €@1[1ZEHRwLj[ (Point 42) €JHLA2t‹ /WR‚ZP/‰‹ 4Y?NJH48EH?b|3 RT[Wi)E>/W4’†1B|V$LART[!E F!RT43y‚XW< <>LA254YZOLj2)(♥) V1@CEH?NE>RTLA[1?Ay$43$4#ZEP<3ƒ1?A[1X‹ /W43JH4E>/W4 †1B|V$LART[!E R‚<_[WLAE ?’€@W[1ZOE>RTLA[ 5 2 6 Œ-1 [?’JH4=Z343[!E V1?AVd4=J ŠUJH43Fj43Jx; Ee$> VdLjRw[!EP<_LA@WE ?N[WLAE>/W4=J <>R“EH@1?EHRwLj[)‹ /143JH4UZOLj2)V1@CEH?NE>RTLA[1?Ay 43$4#ZEP< Z3?N[1[WLNE c$4yTRw E>4=X‰Lj@CEœLA EH/W4Y<>Z3LAV$4LAJH4=Z3@WJH<>RTLA[‘ƒ![1?N254=ywFEH/W4Y<ˆ4=V1?NJP?EH48Z3LA25VWRTyT?NE>RTLA[DLA2Ž@CE>@1?AywyTFJH4=Z3@WJH<>RT}A4 25LCXC@WyT4=<=Œ_QSLAJH43L}j43J#ƒN?A< <ˆ/WL‹ [RT[:T; 6=fCƒ$6~> ƒ!LA[W4UZ=?N[W[1LNE yTR“ Eœ4O+4=ZOEH< LA@CE LA‘J>4#ZO@WJP<>RwLj[)RT[?Yy‚?N[Wij@1?Nij4 ‹ R“EH/†1JP<GEœZOy‚?A<H<. 3Z LA[!E>RT[|@1?EHRwLj[1<=Œ 1 [r; ez> ‹œ4YRw[!EHJ>LCXC@1Z34=X‰?5J>4#ZO@WJP<>RwLj[ZOLj[1<ˆE>JH@1ZE E>/d?EU?NyTyTL‹< @1< E>L5@1<>4’E>/14’†WBCVdLjRw[!E4=–!@1?NE>RTLA[ ƒd?N[1XE>LXW4O†1[W4 JH4=Z3@WJP<ˆRT}A4 }?NyT@W4=< ‹ /WLj<>4ZOLj25VW@CEH?NE>RTLA[RT[|}ALAyT}A4#<KZOLj2)V1@CEH?NE>RTLA[1?Ay14O+4=ZOEH<=Œ s 4URT[!E>JHLCXC@1ZO4#X?EGF|Vd4(♥) <ˆFC<ˆE>432E>LJH@WyT4LA@WE V$LNEH43[!E>R‚?NyTyTF@W[1<H?€4’JH4=ZO@1JH<>RwLj[‘šRw[‰LAJPXC43Jœ€LjJ rec x = f x E>L5cd4Y?jZ3ZO4=VCEH?AcWyT4Aƒ|E>/148€@1[1ZEHRwLj[ f /1?A<œEHL)c$ 4 SˆVWJ>LAE>4#ZE>RT}A4 p ƒ EH/1?E5R‚<£RwE)<>/WLA@1yTX [1LNEŽJH4=–!@WRTJH4E> L 3![1L‹ E>/W44OBW?AZOEŽ}?NyT@W4DLAR“EP<Ž?AJ>ij@W2543[!E=Œ”. /WR‚<£‹ ?A<Ž?NVWVWyTRT4=X RT[—V1?AJˆEHRTZ3@WyT?AJEHL EH/W4‰2)LCXC4=ywyTRT[Wi LALAcCMG4#ZEP<Ž?j<£JH4=Z3@WJH<>RT}A4JH4=Z3LAJPXW<3Œ s 4S?Ny‚<>L XC4#<ˆRTiA[W4#X—?N[dX VWJHL}A4=X Z3LAJHJ>4#ZE5?N[‡?Ac1<GEHJH?jZE£2?jZP/WRw[14 €LjJ£JH4=Z3@WJH<>RTLAs [ ;  >~ƒ,‹ /WR‚ZP/ RT<Ž?SJ>43†1[W43254=[jEŽLNx 9 ?A[1XCRT[  <Rw[!E>4=J>V1J>43EH?EHRwLj[‘< Œ FL‹œ43}A4=J=ƒ E>/WR‚<£?AVWVWJHLj?jZP/EHLiA43[143JP?NyT^R G=4=X JH4=Z3@WJP<ˆRTLA[S/1?j<U<>LA254 d?`‹<=š_†1JP<ˆE=ƒdE>/W4£EGF!V$4£<>FC<GEH432 RT<8[WLNE?A<43BCVWJ>4#<><>RT}A4Y?A<ULA[W4£Z3LA@Wy‚XS‹ R‚<ˆ/‘Œb1LAJ8Rw[1<ˆEH?A[1ZO4jƒdRwKE>/14 JH4=Z3@WJP<ˆRTLA[}?AJ>R‚?NcWyT4 f L|Z=ZO@WJP<œRw[ M ƒjEH/W4’J>4#ZO@WJP<>RwLj[ rec f = (λxλyM )N RT< ?Ayw‹ ?`FC<_JH4GMG4=ZOE>4#X¥Œ 7|4=Z3LA[1X‘ƒjEH/W4’Rw[!EH@WR“EHRw}j4 254#?N[WRT[WiSLN_EH/Wk4 S><>?N€43[W4#<><XC43ijJ>4=4=< p Rw[!EHJ>LCXC@1Z34=X Rw[ E>/14ŽEGF|V$4<ˆFC<ˆE>432 LN  ; e >_R‚<’[WLNEY4#?A<>FSE>L‰@W[1XC4=JH<ˆEH?A[1X 5 ?N[1XE>/14 V1J>L|LNLNEGF|Vd4Y<H?€4OEGFDRT< [1LNE LAc|}|RwLj@1< 6 ŒK. /WRTJHXƒWE>/W4YRT25VWyw4=2543[!EH?NE>RTLA[‰RT<<>yTRwij/jEHywFDyw4#<>< 4 Z3Rw4=[!EœEH/1?N: [ 9?N[1XCRT[  < LA[W4jŒ 1 [™E>/1RT<5V1?AVd4=J5‹ 4S<GEH@1XCF‡?A[WLNEH/W43J5VWJHLAV$Lj<H?Ny{ƒ_XC@W4‰EHLuŠ8JH43FA4=< J ; E>~ƒ ‹ /1RTZP/˜2?`F cd4S4OBCVWy‚?NRT[W4#X‡?A<Ž€LjywyTL‹<3šE>/14 EHJH?A[1<>yT?NE>RTLA[ (♠) Rw[!E>JHLCXC@1Z34=<)?aJH4=ZO@1JH<>Rw}j4J>43€43JH43[1Z34 r ƒ ?N[dXuE>JP?N[1<ˆ€LAJH2<’E>/14JH4=Z3@WJH<>RT}A4}?NJHRT?AcWyT4Rw[!EHL ( v r) Œ . /W43[ Lj[W45ZOLA@1yTXa?jZEH@1?NyTywFSi!?NRT[<ˆLj254OE>/1Rw[WiRw[”ZOLj[1<ˆR‚XC4=J>RT[WiD?†WBCVdLjRw[!E rec x = X ‹ /W4=J>4 x R‚<’?JH4O€43JH43[dZO4AŒ ?A2543yTFAƒ+‹ 4 i!?NRT[‘ƒ_‹ RwE>/™J>4#<ˆV$4=ZOEŽEH L 9 ?A[1XCRT[  <)<>432?A[jEHRTZ=<3ƒ,EH/W4S?NcWRTywRwEGFuE>L”@1<>4DEH/W4‰J>4#ZO@WJP<ˆRT}A4D}`?AJ>R‚?Nc1yw4 ?j<ŽM ? 9z~}?NyT@W4 R›Œ 4AŒ_?j< XW43[WLAE>RT[WiŽ?£2)4=25LAJHFŽyTLCZ3?EHRwLj[ 6 RT[D<>LA254UZ=?A<>4= < )EGF|VWRTZ=?NyTywFjƒj‹ /143[ x RT< @1<>4=X?j< ?A[D?NJHiA@W254=[jE#xƒjyT0R 3A4RT[ f x +ƒj‹ 5 /143JH4=?A< ‹œ4<ˆ/1LA@Wy‚Xa43B|V1ywR‚ZORwE>yTFXC4=J>43€43JH43[1Z34ŽRwEY‹ /W43[”‹ 45JH4=?AywyTF[W434#XRwEH<Y9 z{}?NyT@W 4 EGF!V1RTZ=?NyTywFjƒ‹ /W43[”R“EYR‚<Y?NVWV1ywRT4=XE>L<>LA254 ?AJ>ij@W2543[!E=ƒjLAJ#ƒj?j<_RT[E>/W4 43BC?A25VWyw4jƒA‹ /W4=[LA[14434#XW<KEHL£<>43yT4=ZEœLA[W4ULNR“EP< Z3LA25V$LA[W4=[jEP<3%Œ 1 [ ?jZE=ƒjE>/14UJH4=ZO@1JH<>Rw}j4 JH4O€4=J>4=[1ZO4R‚<YRT[!E>43[dXC4=X”EHLpoint cd4D? Y(

(17)  b]c

(18) d ƒEH/1?ER‚<?SV$LART[jEH43JYEHL?S/W4#?NVCz ?NyTywLCZ=?E>4#Xac$L`BEH/1?E£R‚<?j<><>Rwij[W4=X LA[dZO4Aƒ c1@CE [WLNE €@WJˆEH/W43J 2Ž@CEH?NE>4=X 5 ?Ay“EH/WLA@Wij/E>/1RT<œR‚< <ˆE>RTywy+V$Lj<H<ˆRTcWyT48RT[?£yT?A[WiA@d?NiA4U‹ R“EH/†1JP<GE>z~Z3yT?j<>< ZOLj[jEHRw[|@1?NE>RTLA[1<=ƒ|<ˆ4=k4 ;T6=f > 6 Œ . /143[‹œ4YRw[!E>JHLCXC@1Z34?<ˆV$4=Z3R“†dZEGF|V$4£ZOLj[1<ˆE>JH@1ZE €LA¥J SˆJ>4#ZO@WJP<ˆRT}A4’c$L`BC4=X‰}?NyT@W4=< LAEGF|V$4 Œœ. /14<ˆ4=25?A[!E>R‚Z3< LA JH4=Z3@WJP<ˆRTLA[RT<œEH/W43[SLAc|}|RTLA@1<=šyT0R 3A4’‹ R“EH/‰E>/W4 ref ZOLAτ[drbox <GEHJ>@1ZOE=ƒWZ3J>4#?E>4Y?£€J>4#<ˆ/SyTLCZ3?EHRwLj[ ` p ?A<œE>/14}?Aτyw@W4YLA x ƒW43}?NyT@1?NE>4 X EHLŽ?Y}?Ayw@W4 ƒ!R“ ?A[|FAƒ|?N[1X?j<><>RTiA[ EHL ŒK. /WRT< R‚<_}A4=J>F5ZOyTLj<>4 EHLYE>/W4<ˆ4=2?N[!E>R‚Z3< ‹ 48/1?AX5RT[ ; eWƒ  >{ƒ|4OBWZ343VCE_EH/1?Eœ@1<>Rw[Wi EH/W4Y9 z~}`?Ayw@1V48LA‘E>/W4JH4=ZO@1JH<>Rw}j4U}?NJHVR‚?NcWyT4U`[WL‹ Rw[|}ALjyw}j4=< 4OBCVWyTRTZ3R“EHywFXC4=J>43€43JH43[1Z3Rw[1i£RwE RT[ X ƒ!c|F254=?A[1<œLN?A[DLjVd4=JH?NE>RTLA[ EH/1?E8‹ 4XC4=[WLNEH4 unfold Œ 1~EUR‚< RT252)4#XCR‚?E>4E>L?AX1?NVCE EH/W443[dZOLCXCRT[WiLNKLAcWMG4=ZEP< LN‘ ; e >‘EHLE>/WR‚<U<>4OE>E>RT[Wi1ŒœbWLjJRw[d<GEP?N[1Z34Aƒ EH/W4 Point ZOy‚?A<H< ?Nc$L}A4cd4#ZOLA254#< Œ v (unfold self ).pos + d)} . /14£JH4=<ˆE>JHRTZOE>RTLA[aLj[W4/1?j<EHLDRT2)V$Lj<>4€LjJ8JH4=Z3@WJP<ˆRTLA[‰E>L‰c$4Ž<H?€4ŽXWL!4#<U[1LNE82?AiAR‚Z3?NyTyTF‰XCR‚<H?NVWV$4=?AJ=š RwE8R‚<<ˆE>RTyTy?A[a43JHJ>LjJ EHL£@W[W€LAy‚XE>/14U}?NyT@W4LN ?JH4=Z3@WJP<ˆRT}A4 }?NJHR‚?NcWyT4‹ /WRTyw4ZOLj2)V1@CE>RT[Wi£RwE=ŒK1 [DLAJPXC43J E>L£RT25VWyT432543[!EœE>/WR‚<œJ>4#<GEHJ>R‚ZEHRwLj[‘ƒjŠ8J>4=FA4=J ; Ee>+RT[jEHJ>LCXC@dZO4=<œ?YEGF|V$4<>FC<GEH432SƒjE>/1?NEœ‹œ48<>/1?NyTy+XCRT<HZO@d<>< cd4=ywL‹YŒ 8@WJ 2?NRT[ZOLj[!E>JHRwcW@WE>RTLA[RT[E>/1RT<œV1?AVd4=J R‚<_EHLŽXC4#<ˆRTiA[? <>RT2)V1yw4UEGF!V$48<>FC<GEH432 €LAJœ<>?N€4Uc$L`B|4#X5J>4#ZO@WJP<>RwLj[‘ƒj?jXW?NVCEHRw[1iYE>/W4‘Sˆ<H?€4=[W4=<H<_XC4=iAJH434#< p LN  ; ze >~Œ,. /1RT< ‹ RwyTy+?NyTywL‹<K@d<_EHL@1<>4 EH/W4†1B|V$LART[!E 4=–!@1?NE>RTLA[ (♥) ƒjV1J>L}|R‚XC4=XŽE>/d?E EH/W4 €@W[dZE>RTLA[ f R‚< Z.HeU` U#e ƒ|‹ /WR‚ZP/254=?N[d<KE>/d?E RwEœXCL|4#<_[WLAE J>4#–!@WRwJH4 E>L @1[C€LAy‚XDRwEH< ?AJ>ij@W2543[!E=ŒKb1LAJ Rw[d<GEP?N[1Z34 (Point 42) RT< ?ŽVWJHLNEH4=ZEHRw}j4U€@1[1ZEHRwLj[LA self Œ s 4’<>/WL‹vEH/1?E Lj@WJœEGF!V$4Y<ˆFC<ˆE>4=2 4=[MGLFC<’E>/14iAL|LCXVWJHLAV$43J>E>RT4=<LNQ:9z~ywR03A4)EGF|V$4<ˆFC<ˆE>432<=šc$4=<>RTXC4#<’EGF|Vd4<H?€43EGFAƒ‹ /WRTZP/uR‚<Y4=?j<ˆFaE>LVWJHL}A4jƒ‘‹ 4<>/WL‹ EH/1?EU?)VWJHRT[1ZORTV1?Ny+EGF|V$4Z3?A[c$4ZOLj2)V1@CE>4#XD€LjJ?N[|FEGF|V1?AcWyw4’43B|V1J>4#<><>RwLj[‘Œ Point. = λxλself {pos = ref x move = λd((unfold self ).pos. ‚ 2 ƒ  –™št¡Š—2‡ †  •#–zo™%Ÿª —\—#¡ŠŒ‰Š —\ˆo†e‡ ™š¡Š *¦0 ™2 Œ šˆ•\—-‡ †z˜J¡Š†–™\¡ •#‡ †ˆ”Œ‡ —#˜J †•\–—\‰ ¦^‹ ‡ ŸzŸ‰Š¡Šˆo‡(•#¡Š †—\x‡ † •\¡Šˆ—H”e•\–e‡(•-˜  —-†  •%“—# žŸ‰Š¡Šˆ¡ •£™\ˆ“™š—#¡Š †«e ™£‡t˜¡Š—#ˆ“—\—#¡Š †”z—# ¦^ ™R¡Š†—\•#‡ †ˆ«. „ ¬ „.

(19) ^.  

(20)   . 

(21) 0,%+

(22) š+. . . /14Z=?Ny‚ZO@WyT@1<_‹œ48<ˆE>@dXCFRT<œ?£Z=?NyTy“z~c|F!z{}?NyT@W4 λz Z3?Ny‚ZO@1yw@1< 4OB|EH43[1XC4#X‹ RwE>/DJH4=Z3@WJP<ˆRTLA[‘Œ-wywE>/1LA@Wij/E>/W4[W4=4=X5EHLŽXC4#?Ny$‹ R“EH/ Z3LA25VW@CEP?EHRwLj[1?Ny$4O+4=ZOEH< RT[DJH4=ZO@1JH<>Rw}j4}?NyT@W4=<œR‚<œLA[W48LN‘EH/W482?ARw[2)LAE>RT}?E>RTLA[d< €LjJœ?ŽiA4=[W43JP?NydJ>4#ZO@WJP<>RwLj[DZOLj[1<GEHJ>@dZE=ƒC?j< ‹œ4£<H?`‹'?AcdL}j4AƒWLj@WJUZ3?AyTZ3@WyT@1<XCL|4=<LNEURT[1Z3yw@1XW4£?N[|FD43$4#ZE#ƒd?NVd?NJ>E €J>Lj2 JH4=ZO@1JH<>RwLj[RwEH<>43ywGƒ$[WLAJU?A[|FDLNEH/W43J8ZOLA[d<GEHJ>@1ZOE yT0R 3A4YJH4=ZOLjJHX1<3ƒ|V1?ARwJP<3ƒ|43EHZNŒ . /WRT< R‚< Lj[WywFE>L<>Rw25VWyTR“€FDE>/W4YV1J>4#<ˆ4=[jEP?EHRwLj[‘š,R“ER‚< }A4=J>F4#?A<>FE>L543B!EH43[1XEH/W4Z3?AyTZ3@Wyw@d< ‹ R“EH/ }?AJ>RTLA@1<8LNEH/W43J’ZOLj[1<ˆE>JH@1ZEP< 5 <ˆ4=q 4 ; E> aŒ 1 [E>/WR‚<V1?NV$43J’‹œ4)<>/1?Aywy,XC43[1LNE>4)c|F E>/W4)JH4=ZO@1JH<>RwLj[ZOLj[1<ˆE>JH@1ZE#ƒ$‹ /1RTZP/ RT< ?A[WLNEH/W43J£[WLNEP?E>RTLA[ ƒ‹ RwE>/—?<ˆV$4=Z3R“†d6ZD<ˆ4=25?A[!E>R‚Z3<=ƒ €LjJ£‹ /1?NE£‹ 4D‹ J>LAE>4 (let %xM RT[ E>/W4 1 [jEHJ>LCXC@dZE>RTLA[ Œ rec x = M in x) . /143[‰E>/W4<>F|[!EH?BLNLj@WJZ3?AyTZ3@WyT@1< RT<=š ŒTŒ M, N . . .. x | λxM | unfold | %xM | (M N ). b1LAJ RT[1<ˆEH?N[dZO4AƒCLj[W4Y2?`FXC4O†d[W4’E>/W4<ˆEH?A[1XW?AJHX2?E>/1432?EHRTZ=?Ny+†WBCV$LART[jEZ3LA2£c1Rw[1?NE>LjJ=š fix = λf %y(f y). 8[142?`FD?AyT<>LXC4O†d[W4’E>/W4Z=?NyTy“z~c|F!z{}?NyT@W4U†WBCVdLjRw[!EUZOLj2£cWRT[1?NE>LAJ#š. Y = %yλf.f λx.(unfold y)f x. ?Ay“EH/WLA@1iA/‡‹œ4SZ3?N[1[WLNEZOy‚?NRT2E>/1RT<)R‚<)E>/W4SJHRwij/jE)Rw25VWyT43254=[jEP?EHRwLj[‡EHL @1<>4 €LjJ5?EGF|VWRT[Wi JH4=?j<ˆLj[ E>/d?E‹ 4S<>/1?NyTy <ˆ4=4 ‚y ?EH43J 6 Œ_1 [ZOLj2)Vd?NJHRT<>LA[S‹ RwE>/aEH/W4ŽZ=?Ny‚ZO@WyT@1<ULN Š8J>4=FA43Jn; Eb>{ƒ$‹œ4£LAcd<ˆ4=J>}j4’E>/1?N5 E8‹œ4ŽXCL[1LNE8@d<ˆ4SG[1?A254=< p ƒ$[WLAJUEGF|Vd4#<URT[ EH/W4£<>F|[jEP?Bš,Rw[aŠ8JH43FA4=J  < Z3?AyTZ3@Wyw@d<3ƒWJH4=Z3@WJP<ˆRTLA[RT< ‹ JHRwEˆE>4=[ rec(X . x : τ.M ) ƒ1‹ /W4=J>4 X RT< ? 5 cdLj@W[1X 6 [1?N254?N[dX τ ? EGF|V$4AƒC?N[dX)E>/W4=J>4U?AJ>48?AXWXCRwE>RTLA[d?Ny1Z3LA[1<ˆE>JH@1ZEP<3ƒ![1?A2)4=ywF λX.M ?N[dX S) €LAJ JH4=<>V$4=ZEHRw}j43yTFŽ?Ac1<GEHJH?jZEHRw[Wi?[1?N254Aƒ|?N[dX ?AVWVWyTF|Rw[Wi)?N[4OBCVWJH4=<H<ˆRTLA[5EHL)?Ž<ˆ43E S LN‘[1?A2)4#< 5 E>L)RT[1<GEP?N[!E>R‚?EH4EH/W4U(M EGF|V$4=<œLNJ>4#ZO@WJP<ˆRT}A4U}`?AJ>R‚?Nc1yw4#<3ƒjE>/1?NEœ2?`FZOLj[!EH?NRT[ €JH434œ[1?A2)4#< 6 Œb1LAJ,RT[1<GEP?N[1Z34Aƒ`EH/W4 fix ZOLA2ŽcWRT[1?EHLAJ ‹œLA@1yTX£cd4 ‹ JHR“E>E>43[ λf rec(X .x : τ.f {X}x) @1<ˆRT[Wi’ŠUJH43Fj43J  <<>F![!EP?BŒ s 4‹ RwyTy$XW4=<>Rwij[?£<>Rw25VWyT4EGF|V$48<>F|<ˆE>4=2 €LAJ_EH/W4’Z3?Ny‚ZO@1yw@1<=ƒ|?N[1X‹œ4UXCLŽ[WLNEœ[W434#kX Sˆ[1?N254=< p %Œ wU[WLNEH/W43Jœ25Rw[WLjJ XCRw+43JH43[1Z34 ‹ RwE>/SŠ8J>4=FA43 J  < Z=?Ny‚ZO@WyT@1<œRT<œEH/1?E ‹œ4XW43[WLAE>4c!F unfold /1RT< unbox LAV$43JP?E>RTLA[ ƒ|?A[1XEH/1?E ‹œ4XWLŽ[WLAEZOLA[d<ˆR‚XC43J E>/14 box LjVd4=JH?NE>RTLA[‘š,/W4=J>4’c$L`BCRw[Wi5R‚< LA[WyTFV$43J>€LAJH254=Xc!FJ>4#ZO@WJP<>RwLj[‘Œ .L XW4=<HZOJHRwc$4DEH/W4SLAV$43JP?EHRwLj[1?Nyœ<ˆ4=25?A[!E>R‚Z3<ŽLNEH/W4SyT?A[WiA@1?AiA4jƒ,?A[1X—25LjJ>4S<ˆV$4=Z3R“†$Z3?NyTyTF”LAUJH4=ZO@1JH<>RwLj[‘ƒK‹œ4‰?j<><>@W254 ijRw}j43[D?Ž<ˆ43EœLA ]^z (bU\šbj[ ƒCLAKJ SˆcdL`BC4=< p ƒNE>/d?E ?NJH4UV$LART[jEH43JP<KEHLŽ}?NyT@W4#< <ˆE>LjJ>4#XRw[‰?/W4#?NVCz ?NyTyTL|Z=?EH4=X5254325LAJHFA-Œ 9‘LCZ=?E>RTLA[d< ?AJ>4’}?NyT@W4#< Rw[‰E>/14YJ>@W[Wz›EHRw254’yT?A[WiA@d?NiA4jƒ!E>/W4<>F|[jEP?BDLA‹ /WR‚ZP/S2?`Fcd4YXC4#<>Z3J>RTc$4=XS?A<œ€LjywyTL‹<3š ŒwŒ V, W . . .  ŒwŒ ` | λxM | unfold  "!$#% M, N . . . x | V | %xM | (M N ) w Œ Œ &!(' P, Q . . . M | ((set `)P ) | (P N ) | (V Q) ‹ /143JH4 ` R‚<Y?N[|FayTL|Z=?EHRwLj[‘Œ s 4<ˆE>RTyTy_@1<>4 M ƒ N . . . EHLaXC43[1LNE>4543B|V1J>4#<><>RwLj[1<=ƒ43}A4=[”E>/WLj@WiA/ E>/W4=F2?`Fa[WL‹ ZOLj[jEP?NRT[ yTLCZ3?NE>RTLA[1<=Œ s 4£XC4=[WLNEH4Yc!F loc(P ) EH/W4£<>4OEULAyTLCZ3?EHRwLj[1< LCZ3Z3@WJHJ>RT[Wi5Rw[ P ƒ$?N[1X‰c|F {x7→V }M E>/W4ŽZ3?NVWE>@WJH4?`}ALjRTXCRT[Wi <>@Wc1<ˆE>RwE>@WE>RTLA[SLN x c|F V Rw[ M Œ . /14LAV$43JP?EHRwLj[1?Ny <>432?A[jEHRTZ=<LAKE>/W4ŽyT?A[WiA@1?AiA4YZOLj[1<>RT<ˆEH<URw[?E>JP?N[1<>R“EHRwLj[J>4=yT?NE>RTLA[Sc$4OEG‹œ4343[ (bj*)%hb

(23) HbU\šbj[ ƒdE>/1?NE ?AJ>4UV1?NRTJH< (S, P ) LN ?£<GEHLAJH4 S ?N[dX?£ZOLCXC4 P ƒAEHL£c$4U43}?Ayw@1?NE>4#XŒK. /W4 U`eH 5 LjJ /W4#?NV 6 S RT<œ?Y2?NV1VWRw[1i€JHLA2 ?’†1[WRwE>4 <>4OE#ƒXC43[WLAE>4#X dom(S) ƒ+LA_ywLCZ3?NE>RTLA[1<E>L}`?Ayw@14=<=Œ s 45XC4=[WLNEH4c|F S[` Œ V ] E>/W45<ˆE>LAJH4Aƒd‹ R“EH/ XCLj2?NRT[ dom(S) ∪ {`} ƒ LjcCEH?ARw[14=XD€J>Lj2 S c!F?A<H<ˆRTiA[WRT[WiŽE>/W4Y}?Ayw@W4 V EHL ` ƒ|EH/1?ER‚<=š ( Rw `0 = ` Œ V 0 S[` V ](` ) = LNEH/W43JH‹ R‚<ˆ4 S(`0 ) .LXC4=<HZOJHRTcd4’EH/W4’E>JP?N[1<>RwE>RTLA[1<=ƒ|R“ER‚<ZOLj[|}A43[1Rw4=[jEœE>L5RT[!E>JHL|XW@1ZO4jƒ1?A< @1<>@1?Ay›ƒ  b]c

(24) deU#šej8 ejTU4( Uš 5 LAJ<ˆEH?j Z 3C< 6 š ŒTŒ [] | (EN ) | (V E) | ((set `)E) E LNEHRTZ34KE>/1?NE?N[Y4=}?NyT@1?EHRwLj[’Z3LA[!E>43B|EXCL|4=< [WLNEZ3LA[!EH?ARw[Y?A[!F8cWRT[1XC43J#Œ LNEHRTZ34 ?Ny‚<ˆL EH/1?E E>/W4#<ˆ4 Z3LA[!E>43B|EH<‘Z3LAJHJ>4#<ˆV$LA[1X8EHL? yT4O E>z›EHLNz~J>RTiA/!E_Z3?Aywywz~c!F!z~}?NyT@W4 <GEHJH?NE>43ijF 5 EH/W43JH4 R‚<K[WL<>4=–!@W43[dZORT[WiZOLj[1<GEHJ>@dZE_RT[ŽEH/W4y‚?N[Wij@1?Nij4AƒLAE>/W4=JKE>/1?A[?NVWVWyTR‚Z3?EHRwLj[ 6 Œ. ¬2¬ †e­d®z¯¯o®.

(25)   b

(26) ªe] E. . /143[‰E>/W4’EHJH?A[1<>R“EHRwLj[JH@WyT4=< ?NJH4Aš (S, E[(λxM V )]) → (S, E[{x7→V }M ]) (S, E[(unfold `)]) → (S, E[V ]). Œ. S(`) = V. (S, E[%xM ]) → (S, E[((set `){x7→`}M )]) (S, E[((set `)V )]) → (S[`. ` 6∈ dom(S) ∪ loc(E[%xM ]). V ], E[V ]). w8<K‹œ4<>?ARTX5?Nc$L}A4œRT[C€LAJH2?NyTywFjƒNE>/14 43}?NyT@1?EHRwLj[5LN?’J>4#ZO@WJP<ˆRTLA[ Z3LA[1<>RT<ˆEH<,RT[ZOJH4=?NE>RT[WiY? €JH4=<>/ yTL|Z=?EHRwLj[ ‹ /WR‚ZP/ R‚< EH/W4’}`?Ayw@14YLN EH/W4YJH4=ZO@1JH<>Rw}j48}?AJ>R‚?NcWyT4 5 E>/1RT< R‚< 4OBCVWJH4=<H<>4=Xc|FD%xM E>/W4Y<>@Wc1<ˆE>RwE>@CEHRwLj[ {x7→`}6 ƒW?A5 [1XE>/W6 4=[4=}`?Ayw@d?E>`RT[Wi M Œ . /143[ RT< ?2?AJH35RT[E>/W443}?Ayw@1?NE>RTLA[DZ3LA[!E>43B|E=ƒ!E>LŽJ>4#ZOLAJPX5‹ /WR‚ZP/DyTLCZ3?EHRwLj[R‚< ?j<><>Rwij[W4=X5EHL£‹ /W4=[EH/W484=}?NyT@1?EHRwLj[ `) LA {x7→(set J>4#<ˆ@WywEH<œRT[?Ž}?NyT@W4 Œ_bWJHLA2 EH/W4’VdLjRw[!E LN}|RT43‹„LA 4 Z3Rw4=[1ZOFjƒ|E>/WR‚< <ˆ4=25?A[!E>R‚Z3<œRT< <>Rw25RTyT?AJœE>LŽE>/W4’LA[148LA 9?N[1XWRw[‘ƒ$`}M ?N[1XSR‚<<>ywRTiA/!EHywF‰cd43EˆEH43JEHV/1?N[SEH/W4Lj[W4YLN* ;  >{š <>Rw[1Z34Y@W[C€LjyTXCRT[WiD?5JH4=Z3@WJP<ˆRT}A4’}?NJHRT?AcWyT4YRT<U4OBCVWyTRTZ3R“E#ƒ1‹œ4£XCL[WLAE /d?`}A4U/143JH4E>L)V$43J>€LAJH2 ?£E>4#<GEœ€LAJ XC43†1[W4=XW[W4=<H<œLN‘EH/W4?j<><>LCZOR‚?EH4=XV$LART[!E>43J#Œ,. L)43}?NyT@1?NE>48?A[D43B|V1J>4#<><>RwLj[ M ƒ|‹ 4’<GEP?NJ>E ‹ RwE>/”EH/W4RT[WR“EHRT?Ay_ZOLj[C†1iA@1JH?NE>RTLA[ M ) Œ. /W443}?Ayw@1?NE>RTLA[”LN M iA43EH<Y<ˆE>@1 Z 3 R“œE>/143JH4)R‚<?S<>4=–!@W43[dZO45LNœE>JP?N[1<>RwE>RTLA[1< €JHLA2tE>/W4YRT[WRwE>R‚?Ny Z3LA[C†1ij@WJP?E>RTLA[DE>(∅, L? e

(27) ]iU Z3LA[C†1ij@WJP?E>RTLA[ ƒjEH/1?ER‚<=š ‹ /W43JH4 ` 6∈ dom(S) ∗ (∅, M ) → (S, E[(unfold `)]) b1LAJRw[d<GEP?N[1Z34Aƒ$E>/WR‚<8RT<UE>/W45Z3?j<ˆ4Ž‹ R“EH/ ŒY. /W4EP?AH< 3SLNKE>/14£EGF|V$4Ž<>F|<ˆE>4=2 ‹ RwyTy,cd4£E>L‰J>@WyT4Lj@CE43BCVWJ>4#<><>RTLA[1< ‹ /1Lj<>4 43}?Ayw@1?NE>RTLA[2?`FJ>4#<ˆ@1y“ERw[)<ˆ@1ZP/Ž(fix ?JH@Wunfold) [Cz{E>RT2)4 43JHJ>LjJ=£Œ 1 [LAJPXC43J E>LVWJHL}A4,E>/14 EGF|V$4œ<H?€43EGFV1J>LjVd4=JˆEGFjƒ3EH/W4 €LjywyTL‹ RT[Wi JH4=<>@WywE ‹ RwyTy‘c$4Y@1<ˆ43€@Wy{KŒ 1~EU<GEP?E>4#<œE>/1?NE R“K?)ywLCZ3?NE>RTLA[ /1?j< cd4=43[ZOJH4=?NE>4#Xƒ|€J>Lj2•E>/144=}?NyT@1?EHRwLj[LA,?)JH4=ZO@1JH<>RwLj[‘ƒjE>/W4=[ EH/W4Y2?N(J 3 (set `) J>4=25?ARw[d< Rw[‰E>/14Y43}?NyT@1?EHRwLj[‰Z3LA[!E>43`B|E ?j< ywLj[Wi5?A< [WL}?NyT@W4’/1?j< cd4=43[?A<H<ˆRTiA[14=XEHL ` Œ ¥Q C C B eCŒT6AŒ  !  !  &! # %  "!$# (S, P ) . . . .

(28) .  . . ` ∈ loc(P ) − dom(S) ⇒ ∃E, ∃Q. P = E[((set `)Q)].     $$'.  . .   #   "!$#  . . . 1š?A<H<ˆ@12)4ŽE>/d?E P ) <H?EHRT<ˆ†14#<EH/WRT<’V1J>LjVd4=JˆEGFjƒ‘?N[1XaE>/1?NE (S, P ) → (S 0, P 0) ‹ R“EH/ ` ∈ loc(P 0 ) − dom(S 0 ) Œ s 4£V1J>LCZO4=4=X‰c|F‰?Z=?A<>4(S, ?N[1?AywFC<>RT<=Œt1~ ƒ ?N[1X P 0 = E[{x7→V }M ] ƒWE>/143[ loc(P 0) ⊆ loc(P ) ƒ V )] S 0 = S ?A[1XSEH/W43JH4O€LjJ>4 P = E0[((set `)R)] ŒJ7|PRT[1=ZO4 E[(λxM 3 Z A ? W [ W [ N L  E C L 3 Z O Z 1 @ U J RT[ (λxM V ) ƒ‹œ4/1?`}A4 E = E0[((set `)E00)] Œ. /14 (set `) LAE>/W4=JZ3?j<ˆ4#< ?NJH4<>Rw25RTyT?AJ=Œ @ DDªB aeCŒ eCŒ  M   #   ! # * &  loc(M ) = ∅ (∅, M ) →∗ (S, P ) # ' ` ∈loc(P ) − dom(S) . . !. #".  # P = E[((set `)Q)] !   !     ª$ . (. .

(29) . *),+. .-/). . . '&. . . . $%. Q. ,0. Š8JH43FA4=J_RT[jEHJ>LCXC@dZO4=<_Rw: [ ; Ee>+?EGF!V$4U<>FC<GEH432SƒA‹ /WR‚ZP/R‚<_RT[5 ?AZEœ?EGF!V$4U?A[1X54O+4=ZOE <ˆFC<ˆE>4=2‰ƒ!‹ RwE>/LA[1ywFŽLA[W4x3|RT[1X5LN+4O+4=ZOE=ƒ [d?N2543yTF5E>/W4YXC4=J>43€43JH43[1Z3Rw[1i£LN,?£JH4=Z3@WJP<ˆRT}A48}`?AJ>R‚?Nc1yw4jŒ21 [‰LAJPXC43J E>L)RT[jEHJ>LCXC@dZO4LA@WJ L‹ [EGF|V$4’<>FC<GEH432SƒCyT4OE @1< J>4=}|Rw4=‹„? <>RT2)V1ywRw†14=X€LAJH2 LA ŠUJH43Fj43 J  <KLj[W4AŒ,. /W‘4 SG[1?A254=< p @1<>4=Xc!F5Š8J>4=FA43J_E>L£JH4=Z3LAJPXŽE>/W4UZ3J>4#?EHRwLj[LN‘?YyTL|Z=?EHRwLj[Z3?N[c$48<>434=[ ?j< H4hbšbj[ ƒ+E>/1?NE’?AJ>4Ž@1<>4=XaRT[43$4#ZE<>F|<ˆE>4=2<EHL/1?A[1XCyT4)?AJ>4#?A<URw[E>/W45<GEHLAJH4 ;T6~>~Œn7|RT[1Z34)?DywLCZ3?NE>RTLA[aR‚<’?A<H<ˆLCZ3RT?NE>4=X‘ƒ ?NE£JH@W[Cz{E>RT2)4jƒ,‹ R“EH/‡?JH4=ZO@1JH<>Rw}j45}`?AJ>R‚?Nc1yw4jƒ EH/W4EGF|V$4LN<>@1ZP/—?}?NJHRT?AcWyT4RT<ŽXC4=Z3LAJP?E>4#X”c!Fu?JH43ijRwLj[‘ƒRT[ ‹ /WR‚ZP/ E>/14 yTLCZ3?NE>RTLA[DR‚< <ˆ@1VWVdL!<ˆ4#XEHLŽc$4Z3J>4#?EH4=XŒK. /W4=[E>/14   U LN?£VWJHLAijJH?A2 R‚< ?Ž<>4OE LNJ>4=iARTLA[1<=ƒ!XW43[WLAE>4=X E ƒ F . . . ƒC‹ /WR‚ZP/ JH43V1J>4#<ˆ4=[jEP<EH/W45?NJH4=?A<URw[E>/W4<ˆE>LjJ>4ŽRw[ ‹ /WRTZP/E>/W4)VWJHLAijJH?A2 2?`FSVd4=Jˆ€LjJ>2 ?A[a@W[C€LjyTXWRw[WidŒ. /WR‚<8R‚<J>4#ZOLjJHXC4#XSRw[ E>/14 EGF|V$4=<’LA €@W[1ZOE>RTLA[1<=ƒ?j<8E>/Wk4 SˆyT?NE>4=[jE’4O+4=ZOE p ?D€@1[1ZEHRwLj[”2?`F/1?`}j4Aƒ‹ /W4=[”?AVWVWyTRw4#XaEHL?N[u?NJHiA@W2543[!E#ŒŽ. /1?NE’R‚<=ƒ‘E>/14 EGF|V$4=<?AJ>4jš ŒwŒ E τ, σ . . . t | τ rboxρ | (τ − → σ) ‹ /143JH4 t R‚<?A[!FEGF|Vd4}?NJHR‚?NcWyT4Aƒ?N[1X ρ R‚<?JH43ijRwLj[ 5 ?S[1?N254 6 q Œ 1 [ Š8J>4=FA4=J  <Y<ˆFC<ˆE>4=2‰ƒE>/143JH4RT<Ž?N[ ?AXWXWR“EHRwLj[1?Ny Z3LA[Cz <ˆE>JH@1ZOE>RTLA[‘ƒ‘[d?N2543yTFa@W[WRT}A4=JH<H?NyK–!@1?A[jEHR“†$Z3?EHRwLj[L}j43J’?JH43ijRwLj[ ∀ρ.τ Œ. /148MG@dXCiA4=2)4=[!EH<’LN E>/W4<>RT2)V1ywRw†14=X }A4=JH<>RTLA[LA Š8JH43FA4=J  <8EGF|Vd4<>FC<GEH432 /1?`}j4£EH/W45€LAJH2 Γ ` M : τ, E ‹ /143JH4 Γ R‚<E>/W45EGF|VWRT[WiZOLj[!E>4OB|E#ƒE>/W443BCVWJ>4#<><>RTLA[ M RT<YE>/W4 <>@WcCMG4#ZE LNE>/W4œMG@1XWiA43254=[jE#ƒW?N[1X R‚<œR“EP<œEGF|Vd4jƒC‹ /WRwyT4 R‚<œR“EP< 4O+4=ZE#Œ Rw}j43[E>/W4’RT[!E>@WRwE>RT}A4254=?N[1Rw[Wi)LNJ>4=iARTLA[1<œ?N[dX 43$4#ZEP<3ƒCEH/W4YJH@Wyw4#< LNE>/W4EGF|V$4<ˆFCτ<ˆE>432 <ˆ/1LA@Wy‚XDc$4ZOyT4=?AEJ=š 1. 32. Γ, x : τ ` M : σ, E Γ, x : τ ` x : τ, ∅. E. Γ ` λxM : (τ − → σ), ∅. {ρ}. Γ ` unfold : (τ rboxρ −−→ τ ), ∅. „ ¬ „.

(30)  

(31)    ~. Γ, x : τ rboxρ ` M : τ, E Γ ` %xM : τ, E. E. Γ ` M : (τ − → σ), F. ρ 6∈ E. Γ ` N : τ, G. Γ ` (M N ) : σ, E ∪ F ∪ G. s  4 [WLAE>R‚ZO45EH/1?EŽ?S}?Ayw@W4/d?A<?A[”4=25VCEGF 43$4#ZE#ƒ?A[1X E>/1?NEE>/W4DLA[WyTFLjVd4=JH?NE>RTLA[ E>/1?NE£Rw[!EHJ>LCXC@1Z34=<Y?A[”43$4#ZE£R‚<m; E>/14 ?AVWVWyTRTZ=?EHRwLj[LNo>_E>/W4 unfold €@1[1ZEHRwLj[‘Œ). /14ŽEGF|V$45LNœ?A[”?Ac1<ˆE>JP?AZEHRwLj[ λxM JH4=Z3LAJPXW<=ƒ+?j<‹ 4<H?NR‚XƒE>/14)43$4#ZEYLN M Œ 1 [™E>/14JH@WyT4D€LjJ)JH4=Z3@WJP<ˆRTLA[‘ƒEH/W4<ˆR‚XC4SZOLA[dXCR“EHRwLj[‡R‚<ŽE>/W4‰LA[W4E>/d?E43[1<>@WJH4=<£EGF|Vd4S<>?N€4OEGF+šDRwE<GEP?E>4#<ŽE>/1?NEŽEH/W4ScdLCXCF LA E>/W4‰JH4=ZO@1JH<>RwLj[ <ˆ/WLj@Wy‚X [WLNE)/1?`}A4E>/W44O+4=ZE5LN@1[C€LAy‚XCRT[WiRT[—EH/W4DJH43ijRwLj[ ‹ /W4=J>4EH/W4‰ywLCZ3?NE>RTLA[—?j<><>LCZOR‚?E>4#X M ‹ RwE>/—E>/W4JH4=Z3@WJP<ˆRT}A45}?NJHRT?AcWyT4 x RT<Ž<ˆ@1VWVdL!<ˆ4#X”E>Lac$4DZ3J>4#?E>4#XŒSbRT[1?AywyTFAƒK?N[ ?AVWVWyTRTρZ=?E>RTLA[ (M N ) /1?A<Ž?NyTyKE>/14D4O+4=ZOEH< LA RwEH<YZ3LA25VdLj[W43[!EP<3ƒ ?j<‹ 4=ywy_?j<UEH/W4y‚?E>4=[!E’43$4#ZEYLN E>/W45€@1[1ZEHRwLj[ M Œ5bWLjJRT[1<ˆEH?A[1ZO4jƒ‘‹ 45/1?`}j4AƒJH43i!?NJPXCRw[1iE>/14 fix Z3LA2ŽcWRw[d?E>LjJ=š V1J>L}|R‚XC4=XE>/1?NE ρ 6∈ E E E ` λf %y(f y) : (τ rboxρ − → τ) − → τ, ∅ ?A[1X E>/W4=J>43€LAJH4ŽLj[W4Z3?A[”<>434)E>/d?E (fix unfold) Z3?A[W[WLAE’c$45EGF|Vd4#XAŒ 1 [uŠUJH43Fj43 J  <’<>F|<ˆE>4=2Sƒ‘E>/145EGF!V$45LN fix SEH/1?ER‚<=ƒ DR‚< ƒ1‹ /W4=J>4 Œ S S λf rec(X . x : τ.f {X}x) . /14£EGF|V$4)?A[1Xa43$4#ZEY<ˆFC<ˆE>43(∀X.box 2 MG@d<GEXCX4#(τ<>Z3)J>RT−cd→4#Xaτ )R‚<8−→–!@WτRwE>4<>Rw25VWyT45X?N[16∈XS4O+4=ZEHRw}j4AšRwEY43[1<>@WJH4=<UEGF|Vd45<>?N€4OEGF‹ RwE>/WLj@CE=ƒ ?j<URwEY<ˆ4=432<3ƒ+JH4GMG4#ZE>RT[WiE>L|LD2Ž@1ZP/a43B|V1J>4#<><>RwLj[1< RT[aV1?NJ>E>R‚ZO@1yT?AJ8RwE’?jZ3Z343VCEP<EH/W4£†1B|V$LART[!E4#–!@1?EHRwLj[ (♥) ƒ+‹ RwE>/u<ˆLj254 Z3LA[1XWR“EHRwLj[1< Lj[E>/14U€@W[dZE>RTLA[D€J>Lj2 ‹ /WRTZP/D‹ 4UEHb? 3j4EH/W4U†1B|V$LART[!E=KŒ FL‹œ43}j43J#ƒAc$4=Z=?N@1<>4ULAE>/W4[W43i!?EHRw}j4U<ˆR‚XC4ZOLA[dXCR“EHRwLj[ RT[E>/W4EGF|VWRT[Wi5J>@WyT48€LAJ JH4=ZO@1JH<>RwLj[‘ƒ!R“E R‚< [WLNE }A4=J>FZ3yw4#?NJ /WL‹„‹œ43yTyR“E<>@WVWV$LAJ>EH< E>/14RT25VWyTRTZ3R“E EGF|VWRT[Wi5XCRT<HZORTVWyTRw[14AŒ_. /1?NE R‚<=ƒAZ3?A[£‹œ4œZ3LA25VW@CEH4œ?UEGF|Vd4œ€LAJK?A[!FEGF|V1?AcWyw4œ4OBCVWJH4=<H<>RwLj[ s /d?EKZOLA@1yTX£cd4œE>/14œ[1LNE>RTLA[ŽLNd?8VWJHRw[dZORTV1?Ny!EGF|Vd4 l9‘L|ªL 3|RT[Wi ?NE E>/W4EGF!V$4YLN €LjJ Rw[d<GEP?N[1Z34AƒWRwE8<>43432< EH/1?ELj[W4<>/WLA@Wy‚X‰Rw[dZOLAJHV$LAJP?E>4Y–!@1?A[jEHR“†$Z3?EHRwLj[RT[‰EGF|Vd4#<3ƒ$?A< Š8J>4=FA43JXWL!4#<3ƒ c1@CE8RwEUR‚<LAE8ZOyTfix 4=?AJ E>/1?NEE>/14£JH4=<>@Wy“EHRw[1i<ˆFC<ˆE>432 <>@WVWV$LAJ>EH< EGF|V$4Rw[W€43JH43[1Z34 <>43m 4 ; E>€LAJU?DXCRT<HZO@d<><>RwLj[ Œ s 4£<ˆ/d?NyTy [WLAE RT[|}A4#<GEHRwi!?E>4£E>/W4#<ˆ4–!@W4#<GEHRwLj[1<U/143JH4AaŒ 1 [1<ˆE>4#?AXƒ‹œ45<ˆ/1?AywyKXC4=J>RT}A4Ž€JHLA2 E>/14ŽEGF|5 V$4)?A[1Xa43$4#ZE<>F|<ˆE>4=2 ?N6 c$L}A4)?<>Rw25VWyT43J <>FC<GEH432Sƒ ‹ /1RTZP/”RT<’yT4=<H<’4OBCVWJH4=<H<>Rw}j4ŽcW@WE43[MGLFC<E>/14iAL|LCXaVWJHLAV$43J>E>RT4=<’JH4=–!@WRTJ>4#X€LjJ?N[”Rw25VWyTRTZ3R“EHywFjƒ<ˆEH?NE>R‚Z3?AywyTFEGF|Vd4#X y‚?N[1iA@1?AiA4AŒ . /14R‚XC4=?1ƒKRw[d<ˆVWRTJH4=X—c|FuEH/W4[1LNE>RTLA[‡LN8< ? Sˆ<H?€4=[W4=<H<£XW43iAJH434 €J>Lj2 ; ee >{ƒ_R‚<ŽE>L”ZOLA[d<ˆR‚XC43J5? YjOe LjJŽc$L|LAyT4=?N[ }j43JP<ˆRTLA[LNE>/W4Y43$4#ZEH<=š,E>/1443$4#ZEP<?NJH48JH4=XW@1ZO4#XEHL 1 iAL|LCXƒC[Wp L543$4#ZEU?E?Aywy D?N[dX 0 c1?AXƒC2?`F|c$4’5 <>LA2544O+4=ZOE=6 Œ 1 [E>/WR‚<’<ˆ43EˆEHRw[Widƒ$E>/W4)LA[WyTFSVdL!<><>RTcWRwyTRwEGFSE>LD43BCVWJ>4#<><UE>/14Ž<>RTXC45ZOLj[1XCRwE>RTLA[aLj[aEGF|VWRT[WiDJH4=Z3@WJP<ˆRTLA[R‚<EHL‰?j<><>@W254EH/1?EE>/14 c$LCXCFuLN E>/14DJH4=ZO@1JH<>RwLj[u/1?A<Ž?N[ 4325VCEGF <>4OE£LA4O+4=ZOEH<=ƒEH/1?E)RT<=ƒ,R“E)/1?A< SˆXW43iAJH434 p 1 Œ 5 s 4D2?`Fu?NyT<>LaXCR‚<GEHRw[1iA@WR‚<ˆ/—? <>V$4=ZOR‚?NyZ3?A<>4Aƒ1‹ /W43JH4’E>/W4£J>4#ZO@WJP<ˆRT}A4}?NJHRT?AcWyT4’XWL!4#< [WLAEULCZ3ZO@1J €J>4=4YRw[‰EH/W4c$L|XWFLAEH/W4JH4=ZO@1JH<>RwLj[‘Œ 1 [EH/WR‚<‹ ?`FAƒC‹œ4 [1L‰yTLA[1iA43J[W4=4=XE>/W45JH43iARTLA[d<3aŒ 1~E<>/WLA@1yTXcd4ZOyT4=?AJ’/WL‹\E>LSLjcCEH?ARw[E>/W45JH@Wyw4#<LN EH/Wa4 SGc1Rw[1?AJ>FS43$4#Z6 EH< p <>FC<GEH432 €JHLA2 EH/W4)VWJ>4=}|RwLj@1< LA[14=<=š ?A[a4O+4=ZOE8‹ /WR‚ZP/aR‚ < 3|[WL‹ [SEHLDc$4£[WLj[Cz~4325VCEGFSRT<UE>JP?N[d<ˆy‚?EH4=X‰E>L 0 ƒ+‹ /W43JH4=?j<?N[4O+4=ZE‹ /WRTZP/RT< 3|[WL‹ [aE>LDc$4)4325VCEGFAƒLjJUR‚<J>4#–j@1RwJH4=XS[WLAEUEHL‰Z3LA[!EH?ARw[a<>LA254£43$4#ZE’RT<’?AVWVWJHL`B|RT2?EH4=XS?A< Œ’. /W43[ ƒR“ ‹œ4ŽXW43[WLNEH4£c|F ƒ cWRw[d?NJHF4O+4=ZEP<3ƒC?A[1Xc|F α ∧ β EH/W43RTJ ZOLA[NMG@W[1ZEHRwLj[‘ƒCZOLjJ>JH4=<>VdLj[1XCRT[WiYEHL)<>4OE @W[WRTLA[‘ƒ|1‹ RwE>/ 1 ∧ 1 = 1 ƒ 0 ∧ 1 = 0 ƒ α β... 43EHZAŒwƒCEH/W4YJH@Wyw4#< ?NJH4Aš Γ, x : τ ` M : σ, α Γ, x : τ ` x : τ, 1. α. Γ, x : τ rbox ` M : τ, 1. b1LAJ RT[1<ˆEH?N[dZO4AƒC‹œ4Y/1?`}j4. 0. Γ ` λxM : (τ − → σ), 1. Γ ` %xM : τ, 1. Γ ` unfold : (τ rbox − → τ ), 1 α. Γ ` M : (τ − → σ), β. Γ ` N : τ, γ. Γ ` (M N ) : σ, α ∧ β ∧ γ 1. 1. ` λf %y(f y) : (τ rbox − → τ) − → τ, 1. ?A[1X RT<<GEHRwyTyU[1LNEDEGF|V1?AcWyT4AŒ w €@W[dZE>RTLA[vLAYEGF|Vd4 ƒ‹ RwE>/v[1L—yT?NE>4=[jE‰4O+4=ZOE=ƒ 2?`F™c$4Z=?NyTyw4#X 1 SˆVWJHLNEH(fix 4=ZEHRw}junfold) 4 p ƒj?j< RT[ ; ez>~ƒ|?A[1XEH/W48EGF!V1Rw[WiŽLN fix <>?`FC<_E>/1?NEœLj[W48Z=?N[D(θ<H?−→ €4=ywF)σ)EH?ª3A4 EH/W48†WBCVdLjRw[!E LN ?V1J>LAE>4=ZOE>RT}A4 €@1[1ZEHRwLj[ ?a<>43[1<>Rwc1yw4JH4=<ˆE>JHR‚ZE>RTLA[ Lj[uE>/W4D†WBCVdLjRw[!E)4=–!@1?EHRwLj[ Œr7|RT[1ZO4DE>/W4=J>4R‚<ŽLA[WyTF Lj[W4JH43ijRwLj[ Rw[ EH/W4Dc1Rw[1?AJ>F”4O+4=ZOEH<. >< FC<GEH432Sƒ RwE<ˆ/1LA@Wy‚X—c$4ZOyT4=?NJŽE>/d?E5E>/WR‚<<>F|<ˆE>4=2 Z3?A[W[W(♥) LNE5c$4S?j<)VWJ>4#ZOR‚<ˆ4‰?A<ŽE>/14‰43$4#ZE<>F|<ˆE>4=2SŒ‡bWLjJ)RT[1<ˆEH?A[1ZO4jƒ_E>/14 43BCVWJ>4#<><>RTLA[ %y(unfold(Kxy)) ƒ$‹ /W4=J>4 K = λxλy x ƒ$RT< [1LNE EGF|V1?Nc1yw4Y‹ RwE>/cWRT[1?AJ>F4O+4=ZEP<3ƒd‹ /W43JH4=?j< R“E8RT<8?AZ3Z343VCEH4=X‰RT[ EH/W4œ€@WyTyW4O+4=ZOEK<>FC<GEH432SƒNVWJHL}|RTXW4=X’EH/1?E,E>/14œ}?AJ>R‚?NcWyT4=< x ?N[dX y /1?`}j4_EGF|Vd4#<K?N[W[1LNEH?NE>4#X‹ RwE>/5XCRT<ˆE>RT[1ZOE,JH43ijRwLj[1<=Œ2w˜25LAJH4 <>43JHRTLA@1< 4OBW?N25VWyT4R‚<_EH/W4€LjywyTL‹ Rw[1i1š‹ 42?`F5XC4O†d[W4 7WQ 9aJH4=ZO@1JH<>RwLj[ rec f = λxM ?A< f = %f λxM ƒ!LAJ 4#–!@WRw}?Ayw4=[jEHywF ?j< Œ FUL‹ 4=}A4=J=ƒ`Rw Z3LA[!EH?ARw[1<JH4=ZO@1JH<>Rw}j4 Z=?NyTyT< E>L ‹ /WR‚ZP/)?AJ>4 [WLNERSˆVWJ>LAE>4#ZE>4#X Y‹ /WRTZP/ŽRT<,ij43[W4=JH?AywyTF % EH/W4fZ3=?j<ˆ4 (Y $ƒNλfE>/1λxM ?NE,R‚<,)Rw M /d?A<,4O+4=ZOE M0 ƒE>/143[?N[|F?NV1VWywR‚Z3?NE>RTLA[ (f N )f ‹ RTywyC/1?`}j4 43$4#ZE 0 ƒj?N[1X£E>/WR‚<,p R‚<,@W[C€LAJ>E>@1[1?EH4 <>RT[1ZO4 ‹œ4’E>/143[Z3?A[W[WLNE @1<>4<>@1ZP/?N[‰4OBCVWJH4=<H<ˆRTLA[‰@W[WVWJHLNEH4=ZOE>4=XRT[S?A[WLNEH/W43J JH4=Z3@WJP<ˆRTLA[‘ŒK. /W4=J>43€LAJH4E>/W4YJH4=Z3@WJH<>RTLA[SZOLA[d<GEHJ>@1ZOE E>LjiA4OEH/W43J ‹ RwE>/‰E>/14YcWRw[d?NJHF4O+4=ZOEU<ˆFC<ˆE>432 RT< [1LNE }A4=J>F‹œ43yTy“z <>@WR“EH4=X€LAJXW4=?NyTRT[WiŽ‹ RwE>/SJH4=Z3@WJH<>RT}A48€@W[1ZEHRwLj[1<=Œ 8[ %xM. ¬2¬ †e­d®z¯¯o®.

(32)   b

(33) ªe] = C u Γ ` M : τ, α. C`β6α. C u Γ ` M : τ, β. C u Γ, x : τ ` x : τ, 1 C u Γ ` M : (τ − → σ), α. C u Γ, x : τ ` M : σ, a. C u Γ ` N : τ, β. a. C u Γ ` (M N ) : σ, a ∧ α ∧ β. C u Γ ` λxM : (τ − → σ), 1 a. C u Γ, x : τ rbox ` M : τ, 1 C u Γ ` %xM : τ, 1. C u Γ ` unfold : (τ rbox − → τ ), 1 0. Figure 1: The Type and Binary Effect System. HE /W4’LNEH/W43J /1?A[1Xƒ!E>/W4’cWRT[1?AJ>F43$4#ZE <ˆFC<ˆE>432t?jZ3Z343VCEP< 43BCVWJ>4#<><>RTLA[1< E>/1?NE Z3LA@Wy‚X[WLNE cd4EGF|V$4=X‹ RwE>/E>/14’<>FC<GEH432•LA¥; ee>{Œ b1LAJœRw[d<GEP?N[1Z34Aƒ R‚< ?jZ3ZO4=VCE>4#Xƒ!VWJ>L}|R‚XC4=X)EH/1?E /1?j<_[WLŽ4O+4=ZE ?A[1X?AVWVWJHLAVWJHRT?NE>4 EGF|VWRT[Wi Œ_QSLAJH43L}j43J#ƒ EH/W4URT[!E>@WRwE>RT}A4825%f.(λxλyM 4=?N[1Rw[WiYLA‘cW)N RT[1?NJHF£43$4#ZEH< R‚<_25LAJH4UZOyT4=?AJKE>/d?N[NEH/W4ULj[W4LN+EH/W4tS>5 <>?N€43[W4#<>< XC43ijJ>4=4=< p Œ21 [J>43E>6 JHLj<>Vd4#ZE#ƒNE>/14 EGF|V$4£<>F|<ˆE>4=2 LA* ; ee >?NV1Vd4#?NJP< E>Lc$4£?A[a?EˆEH4325VCE8E>LcW@1Rwy‚X?5EGF|Vd4Ž?N[1XS43$4#ZE<>FC<GEH432 Rw[?aSˆ/WL!<GEHRwyT4£ZOLj[!E>4OB|E p ƒd‹ /W43JH4 EH/W4Y4O+4=ZOEH< ‹œ43JH48/1RTXWXW43[‰€J>Lj2•E>/14<ˆF|[!EH?NB+ƒC?A[1XZ3LA@Wy‚XLA[WyTFc$4’XW4OE>4#ZEH4=XE>/WJHLA@1iA/‰43}?NyT@1?EHRwLj[Z3LA[!E>43B!EP<3ƒCyTR03A4 ([] V ) LjJ [].m JŒ w XCR‚<H?`}`?A[!EH?Nij4YLN 43BCVWywR‚ZORwE>yTFScdL`BC4#XJ>4#ZO@WJP<>Rw}j4}?NyT@W4=<=ƒ+‹ R“EH/JH4=<>Vd4#ZEUEHLEH/W4£†1B|V$LART[!E@d<ˆ4#XRw[ ; ee >{ƒ+R‚<8E>/1?NE Lj[W4£/d?A<UE>LS?N[!E>R‚ZORTV1?EH4Ž?EGF!V$4)LNKE>/14£€LjJ>2 €LAJ’?N[”?NJHiA@W2543[!EEH/1?E’‹ RTywy,c$4Ž@1<>4=X?A<?†WBCV$LART[jE#ŒY. F|VWR‚Z3?AywyTFAƒ ‹œ45Z3?N[1[WLNE’?NVWVWyTFSE>/14 fix ZOLj2£cWRT[1?NE>LAJ8E>LS?τ€@1rbox [1ZEHRwLj[ LA_EGF|Vd4 (τ −→ ƒ?A<8LA[W45ZOLj@WyTX‹ RT<>/aEHL‰XWL 3 Œ. /W4=J>43€LAJH4 α EH/W4DZ3LA[1<ˆE>JH@1ZE %xM ƒ‹ /WRwyT4c$43RT[Wi?AXW4=–!@1?EH4)€LAJ£<>Vd4#ZORw†dZ5VW@WJHV$Lj<>4=<=ƒ‘τyw0R )3A4LjcCMG4=ZOEH<?j<’J>4#ZO@WJP<>Rw}j4)JH4=Z3LA5 JP6 XW<=ƒ‘2?`Fa[WLNE ?jZEH@1?NyTywF–!@1?AywRw€F?A<œ?ij43[W4=JH?AydJH4=Z3@WJH<>RTLA[ZOLj[1<ˆE>JH@1ZE#Œ s 425?`F<ˆE>RTywy+[W4=4=XD2)LjJ>4UE>JP?AXCRwE>RTLA[d?Nyd€LAJH25< LNJ>4#ZO@WJP<ˆRTLA[ ƒAyT^R 3j4 EH/W4YLA[14RT[|}A4#<GEHRwi!?E>4#XDRTM [ ;w6`e >~Œ . /14 EGF!V$4U?A[1X 5 cWRT[1?NJHF 6 4O+4=ZOE <ˆFC<ˆE>4=2 ‹œ4<ˆ/d?NyTyC€LAJH2?NyTywF£<ˆE>@dXCFŽ/143JH4 RT<_<>yTRwij/jEHywFŽ25LAJH4 43y‚?Nc$LAJP?E>4#XEH/1?N[5EH/W4 LA[14 ‹œ4,MG@1<ˆE RT[jEHJ>LCXC@dZO4=X‘šRT[LAJPXC43J,EHLYVd4=Jˆ€LjJ>2EGF|Vd4RT[C€4=J>4=[1ZO4jƒA‹œ4 [W434#XŽ43$4#ZE }?AJ>R‚?NcWyT4=<=Œb1LAJ_RT[1<ˆEH?A[1ZO4jƒNE>JHF|Rw[1i’E>LYcW@WRTy‚X ?DEGF|Vd4)€LjJ ƒ ‹ 45<ˆ4=4£EH/1?E 2Ž@1<ˆE’/d?`}A4Ž?DEGF|Vd45LA_E>/W4)€LjJ>2 ƒ cW@CE’E>/W4=J>4)R‚<’[WL‰Z3LA[1<ˆE>JP?NRT[!E8RT25VdL!<ˆ4#X α Lj[ α ƒd‹ /WRTZP/(f<>x)/WLA@1yTXE>/143[Scd4Ž?Nf[‰4O+4=ZE8}`?AJ>R‚?Nc1yw4jKŒ 1 [LAJPXC43JœE>L/d?`}A(τ4’LA−[W→yTFσ)<>RT2)V1yw4Z3LA[1<ˆE>JP?NRT[!EH<œE>L<>LAyT}A4RT[Rw[C€4=J>JHRT[Wi EGF|V$4=<=ƒ+‹ 45XCR‚<GEHRw[Wij@WR‚<ˆq / Sˆ4O+4=ZOEH< ƒ$EH/1?EY?NJH443RwE>/143J’ZOLA[d<GEP?N[!EH< LjJ ƒ+LAJ}?NJHRT?AcWyT4=<=ƒ1€JHLA2 Sˆ4O+4=ZE’4OBCVWJH4=<H<>RwLj[1< ƒWEH/1?E ?AJ>4£cW@WRTyTXS€JHLA2 4O+4=ZOEH<U@1<ˆRT[WiEHp /W4ŽZ3LA[MG@1[1ZEHRwLj[LAV$43JP?E>RTLA[ Œ K0$4#ZE’14OBCVWJH4=<H<ˆRTLA[1< ?AJ>4£[WLNE8<>@WVWV$Lj<>4=X‰EHLLCZ3Z3@WJUp RT[E>/14 ?AJ>JHL‹xEGF|Vd4#< cW@CE’E>/1RT<’R‚<[WLNEY?D<>43JHRwLj@1<8J>4#<GEHJ>R‚ZEHRwLj[ Œ. /W4=[‘ƒ‘?A<H<>@W25Rw[WiiART}A4=[?XW43[|@W2543JP?NcWyT4Ž<>4OE EVar LNœ4O+4=ZE }?AJ>R‚?NcWyT4=<=ƒ|E>/14’5 <>F|[!EH?BLNEGF!V$4=< ?A[1X4O+4=ZEP< R‚<?A<œ€Ljyw6 yTL‹<3š p, q . . .. ∈.  $&    "   &   $&      ! #   . EVar. . . wŒ ∈Œ {0, 1} ∪ EVar α, β, γ . . . a | (α ∧ β) w Œ Œ a τ, σ . . . t | (τ − → σ) | τ rbox . /14SEGF!V1Rw[WiMG@1XCij432543[!EP</1?`}A4E>/14€LjJ>2 u ƒœ‹ /W43JH4 R‚<? (bj[U#HejTU ƒ E>/1?NERT<? †1[WRwE>4a<>4OELA RT[W4#–j@d?E>RTLA[d< p1 6 α1, . . . , pn 6 αn Œ LAE>R‚ZO4CEH/1?ΓE `<ˆ@dZPM/?: ZOτ,Lj[1α<GEHJH?ARw[!E_R‚< ?ACyw‹ ?`FC<K<>?NE>R‚<G†$?NcWyT4Aƒ!c|F)?j<><>Rwij[WRT[Wi 0 E>L£43}A4=J>F 43$4#ZEU}?AJ>R‚?NcWyT4’€LAJURw[1<ˆEH?A[1ZO4jŒ1 [SEH/W4YEGF|VWRT[WiJH@Wyw4£‹ 4Y@1<>4 MG@1XCij432543[!EP<LN,EH/W4Y€LAJH2 C ` β 6 α ƒd‹ /WRTZP/a?AJ>4YV1J>L}j4=X c|F2)4#?N[1< LA?A[RT[C€43JH43[dZO4<>F|<ˆE>4=2t‹ /WR‚ZP/<ˆ/WLj@Wy‚XDc$4YLAc|}|RwLj@1<=ƒ![d?N2543yTF+š a, b, c . . .. . . . C `α6γ C`06α. C `α61. C`α6α. C `γ6β. C`α6β C `γ6α C `γ6β. p 6 α, C ` p 6 α. C ` (α ∧ β) 6 α. C ` (α ∧ β) 6 β. C ` γ 6 (α ∧ β). . /143[ E>/14EGF|VWRw[1i—<ˆFC<ˆE>432 RT<iART}A43[ RT[„bRwij@WJ>4 6jŒ'. /W4S†dJH<ˆEJ>@1yw4R‚<D?A[˜43$4#ZED‹œ4=?ª3A4=[WRw[1i”JH@WyT4Aƒ <ˆEH?EHRw[1iuE>/1?NED? SˆiAL|LCX 43$4#ZEZ3?A[‰?Ayw‹ ?`FC< c$4<H?€43yTFXCL‹ [WijJH?jXC4=X‘Œ21 [E>/W4YJH@WyT4€LAJœEGF|VWRw[1i5?Ac1<ˆE>JP?AZEHRwLj[1<=ƒjEH/W4’J>4#<GEHJ>R‚ZEHRwLj[EH/1?E LA[1ywF 43$4#ZEP<p Z3?N[™LCZ3ZO@1J)RT[™EGF!V$4=<)R‚<5[WLNE5}A4=J>F—<>43JHRTLA@1<=šRw8‹œ4‰Z=?N[‡RT[C€4=J C u Γ, x : τ ` M : σ, α ƒ ‹œ4‰Z=?N[ ?Ny‚<ˆL Rw[W€43J ‹ /143JH4 p R‚<U?€J>4#<ˆ/4O+4=ZE}?NJHRT?AcWyw4jƒ1EH/1?N[[3C<E>LEH/W4)4O+4=ZE‹ 4#?b3j43[WRT[WiJH@Wyw4jƒ?N[1XS‹œ4 p 6 α, C u Γ, x : τ ` M : σ, p ‚ 3 ƒ%†%ˆo‡ †*•\™#‡ †z¦^ ™š”zŒx‡¡Š†˜x  ¦ ‹`žŸe‡ †—\¡Š †”e‡ †x`žzŸz™\—#—\¡Š †   ¦ •#–z¡Š—O•zŸb-¡Š†•# ‡ †x`žzŸ™š—#—\¡Š †_  ¦ •zŸb η M  ”  Œ z “ • o ˆ. ‡  † z †.   % • b Œ . ‡  Ÿ  Ÿ Š ‰ Š ¡  . ˜ # • t   \ •  –  c ‰ ( ‡ š • # •    ™ e ” 2 ¢ z – Š ¡ 4 ˆ  – Š ¡  —  †.   •2Ÿ™š  •#ˆ`•\¡ ¤« λx.M (unfold x) fix. 0. (τ rbox − → τ). ”†e‡ *‰ . „ ¬ „.

(34)  

(35)    . 2?`F)[WL‹v?NVWV1ywFŽE>/W4UJ>@WyT4 €LjJ_EGF|VWRT[Wi£?Ncd<GEHJH?jZE>RTLA[d<3Œ s 4ZOLA@1yTX?AyT<>LY/1?`}A4UJ>4#<GEHJ>R‚ZEH4=X)4O+4=ZOE ‹œ4=?b3j43[WRT[Wi’EHLYEH?ª3A4 VWy‚?AZ34 Lj[WyTF‹ /W43[‰EGF|VWRT[Wi?N[?Ncd<GEHJH?jZE>RTLA[ š C u Γ, x : τ ` M : σ, α. C `a6α. C u Γ ` λxM : (τ − → σ), 1 a.  . 1. ),+.  $ -. ). [ LjJHXW43JE>LVWJHL}A4)EGF|V$4<>?N€4OEGFAƒ‹ 45†dJH<ˆE4OB|E>4=[1X E>/W4EGF!V$4<>F|<ˆE>4=2 EHLSE>/W4JH@W[Cz{E>RT254yT?A[WiA@1?AiA4jŒ. LSEH/WRT<£43[1X‘ƒ ‹œ4 ?j<><>@W254’E>/d?EEH/W4YEGF|VWRT[WiZOLj[jEH4OB|EH<UZOLA[!EP?NRT[[WLAEULA[1ywF‰?A<H<ˆ@W25VCEHRwLj[1< ?Nc$LA@WEE>/W4EGF!V$4YLNK}?NJHR‚?NcWyT4=<=ƒCcW@CE8?AyT<>L<>Rw25RTyT?AJ ?j<><>@W25VCEHRwLj[1< ?Nc$LA@CE yTLCZ3?EHRwLj[1<=Œ,. /143[S‹ 4’/1?`}j4E>/W4YJH@WyT4=<=š C u Γ, ` : τ ` P : τ, 1 C u Γ, ` : τ ` ` : τ rbox, 1. C u Γ, ` : τ ` ((set `)P ) : τ, 1. . /14YJ>@WyT4=<œ€LjJ EGF|VWRw[1i (P N ) ?N[1X (V Q) ?NJH4E>/W4<H?N254Y?A< E>/14YLA[W4’€LjJ (M N ) ƒW?N[1XS?NJH4LA25R“E>E>4#XŒ w Z3LA[C†1ij@WJP?E>RTLA[RT< ?A@Wy“EGFR“œE>/W4Z3L|XW4ŽEHLScd4ZOLj25VW@CE>4#X Z=?NyTyT<€LjJY?}?Ayw@W45LAœ?ywLCZ3?NE>RTLA[ €JHLA2 EH/W4<GEHLAJH4 ƒ c1@CEE>/WR‚<yTLCZ3?EHRwLj[™/d?A<)[WL }?NyT@W4SRw[ S Œv. /1?NERT<=ƒœ? b

(36) ]cU Z3LA[C†diA@WJP?EHRwLj[‡/1?j<£EH/W4S€LAJH2 (S,`E[(unfold `)]) ‹ R“EHS/ Œ œFEH/Wn4 € LAJHLAyTy‚?NJHFeWŒ eWƒCR“_<>@1ZP/S?)Z3LA[C†diA@WJP?EHRwLj[DR‚< J>4#?AZP/W4#XDXC@1J>RT[Wi)E>/W4Y4=}?NyT@1?EHRwLj[LA,?A[43B|V1J>4#<><>RwLj[‘ƒ  ` 6∈ dom(S) EH/1?ER‚< ‹ RwE>/ ` 6∈ dom(S) ∗ (∅, M ) → (S, E[(unfold `)]) ‹œ4’/1?`}A4 E = E0[((set `)E1)] Œ 1~E R‚< 4=?j<ˆFE>LZP/W4= Z 3E>/1?NE <>@1ZP/?N[‰4OBCVWJH4=<H<>RwLj[DR‚< [WLNE EGF|V1?AcWyw4jš ¥Q C C B g1ŒT6AŒ       ! #  !  !  E0[((set `)E1[(unfold `)])]   # !   " 1š5EH/W4‰4OBCVWJH4=<H<ˆRTLA[ (unfold `) /d?A<Ž4O+4=ZE 0 Œ QSLAJH4DV1J>4#ZOR‚<ˆ4=ywFjƒRw C u Γ, ` : τ ` (unfold `) : τ, α R‚<)?}?NyTRTX MG@dXCiA4=2)4=[!E=ƒœE>/W4=[v‹ 4S/1?`}j4 C ` α 6 0 ! Œ 1~EDR‚<4=?j<ˆF—E>L—ZP/W4# Z 3$ƒ c|F‡RT[1XC@1ZOE>RTLA[vLA[™E>/14<GEHJ>@dZE>@1J>4jƒ EH/1?E€LjJD?N[|F 4=}?NyT@1?EHRwLj[DZOLj[jEH4OB|E E ƒ|Rw M /1?A<œ43$4#ZE 0 ƒ|Rw[DE>/W4VWJH43}|RTLA@1<œ<ˆ4=[1<>4Aƒ!E>/W4=[ E[M ] ?Ny‚<>L£/1?j< 43$4#ZE 0 ƒ|LAJœR‚< [WLAE EGF|V1?AcWyT4AŒ . /143[ ((set `)E1[(unfold `)]) RT<LNE EGF|V1?Nc1yw4jƒ1<ˆRT[1Z34 set JH4=–!@WRTJH4=< RwEH< <>4=ZOLj[1X‰?NJHiA@W2543[!E E>L5/1?`}j4843$4#ZE 1 Œ . /143[E>L54=<ˆEH?AcWywR‚<>/DEGF|V$4’<H?€43EGFAƒ|RwELA[WyTFJ>4=2?NRT[1< E>L<ˆ/1L‹vE>/W4Y<ˆEH?A[1XW?NJPXD<>@WcCMG4#ZE JH4=XC@1ZOE>RTLA[‰VWJHLAV$43J>EGFAŒ,. L)E>/1RT< 4=[1X ‹œ4’VWJHL}A4AƒC?j< @1<ˆ@d?Ny{ƒ1?5<ˆ@Wcd<GEHR“EH@CE>RTLA[SyT43252?Wš ¥Q C C B g1Œ eCŒ  # C u Γ ` {x7→V }M : σ, α C u Γ, x : τ ` M : σ, α  # ' C u Γ ` V : τ, β 1šŽR“E)RT<£4=?j<ˆFE>L<>434EH/1?EŽ}`?Ayw@14=</d?`}A44O+4=ZOE 1 ƒEH/1?E£R‚<=ƒRw C u Γ ` V : τ, β R‚<£?S}?AywR‚X‰MG@1XCij432543[!E=ƒEH/W43[ RT<8}?NyTRTXaE>L|L c!FRT[1XC@dZE>RTLA[ LA[EH/W4)VWJ>L|LA_LNKE>/14£†1JP<ˆE MG@1XCij432543[!E Œ. /W4=[a‹ 45<>/WL‹xE>/W4 9‘4=2)2? C u Γ ` V : τ, 1 c|FRT[1XC@dZE>RTLA[‰LA[E>/14YVWJ>L|LA LN 5 C u Γ, x : τ ` M : σ, α ƒ1?A[1XDc|FDZ=?A<>48Lj[DEH/W4Yy‚?A<ˆEœJH@WyT6 4@d<ˆ4#XDRT[‰E>/WR‚< VWJHL!LAG-Œ 1~EH/WRT< R‚< ?A[?BCRwLj2SƒC‹ R“EH/ ƒ ?A[1X ƒ|E>/W4=[S‹ 4Y@1<>4’E>/14’ ?AZE EH/1?E /d?A< 4O+4=ZOE E>LZ3LA[1Z3yw@1XW4AKŒ 1~E>/WR‚<R‚< ?N[ ?NBCRwLj2 ‹ RwE>/ M 6=Mx=ƒ1EH/Wx43[σ ‹œ=4Yτ@1<>4’E>/Wα4 =?AZ1E#ƒ1‹ /WR‚ZP/SRT<U4=?j<ˆFEHLVWJHL}A4jƒ|E>/1?NVER“ C u Γ, x :1 τ ` M : σ, α ?N[1X x RT< [1LNE €JH434’RT[ M ƒ|EH/W43[ C u Γ ` M : σ, α Œ wyTyE>/W4’LAE>/W4=J Z=?A<>4=< ?NJH4Rw25254=XCR‚?EH4 5 25LCXC@WyTL αz ZOLA[|}j43JP<ˆRTLA[RT[E>/W4YZ3?j<ˆ4’‹ /W4=J>4 R‚< ?N[S?Nc1<ˆE>JP?AZOE>RTLA[DLjJ?)J>4#ZO@WJP<ˆRTLA[ 6 Œ M L‹„EHLVWJ>L}j4<>@WcCMG4#ZE JH4=XC@1ZOE>RTLA[‘ƒC‹œ4Y4OB|EH43[1XDE>/W4’EGF|VWRT[Wi5EHLŽEH/W4<ˆE>LAJH4Aš . . .

(37) . . . . &. /. . '. . . $%. . . . . C u Γ, ` : τ ` S C u Γ`∅. C u Γ, ` : τ ` S[`. ?A[1XE>/W4=[‰E>LZOLj[C†1iA@1JH?NE>RTLA[1<=š. ¥Q C C B L

(38) QdN

(39) JQ£N

(40)    g1Œ  Œ  0 0 u 0 Γ0 = Γ   C Γ ` (S , P ) : τ . . ¬2¬ †e­d®z¯¯o®. # '. C u Γ, ` : τ ` V : τ, α. C u Γ`S. Œ. V]. C u Γ ` P : τ, α. C u Γ ` (S, P ) : τ. !$. $%.  # ' (S, P ) → (S , P )  #      !   !  `  # ' σ. C u Γ ` (S, P ) : τ Γ0 = Γ, ` : σ '&. . 0. 0. . . . . . Γ0. * & .

(41) 6#f.   b

(42) ªe]. 1šE>/1RT< RT<œ?<ˆEH?N[dXW?NJPX)J>4#<ˆ@WywE š £; ejez> ƒC?N[1X5‹œ4Lj[WywF5<H3A4OEPZP/5E>/W4UVWJ>L|LAGŒ%1~ P ) → (S 0, P 0) EH/W43[ P = E[R] €LjJ‰<>LA254”43}?NyT@1?NE>RTLA[ Z3LA[!E>43B!E E ?A5 [1X <>LA256 4 J>4#XC4OB R ƒ8?N[dX P 0 = E[Q] Œ•. /W(S, 4=[„EH/W4 V1J>L|LNLAE>/14DMG@1XWiA43254=[jE 1 / A ? œ < H E W / ’ 4 €  A L T y w y  L. ‹ T R W [ Ž i €  A L H J S 2 š C u Γ ` (S, P ) : τ ŒŒŒ . C u ∆ ` R : σ, β. ŒŒŒ. ŒŒŒ C u Γ`S. C u Γ ` E[R] : τ, α. Π. C u Γ ` (S, E[R]) : τ. ‹ /143JH4‹ 4?AZOE>@1?AywyTFa/1?`}j4 ƒ<ˆRT[1Z34 RT<Y?A[u43}?NyT@1?EHRwLj[”Z3LA[!E>43B|E=ƒ ‹ /1RTZP/ XCL|4=<’[1LNERT[!}jLAyT}A4?N[|Fac1Rw[1XW43J#Œ s 4 43BW?N25Rw[148EH/W4YV$Lj<H<ˆRTcWyT4’Z=?A<>∆4=< €=LAJ ΓR ƒW?A[1X‰RwE[‰4=?jZP/‰Z=?A<>48‹œ4’VWJ>LCZ3434=Xc|FRT[1XC@1ZOE>RTLA[SLA[E>/W4YV1J>L|LNLN C u Γ ` R : σ, β ƒ ?A[1X‰E>/143[ac|FSZ3?A<>4=<LA[SE>/14£y‚?A<ˆEUJ>@1yw4@d<ˆ4#XSRw[EH/W4£V1J>L|LNGƒdRw[LAJPXC43J EHL<>/WL‹ EH/1?E8E>/WR‚<V1J>L|LN_Z=?N[c$4£JH43VWy‚?AZ34=X‰Rw[ c|F”?SVWJ>L|LAœLA C u Γ0 ` Q : σ, β 5 ?A[1X <ˆRT2£@1y“EP?N[W4=LA@1<>ywFaE>/W4V1J>L|LNœLN C u Γ ` S Z=?N[uc$4J>4=VWy‚?AZO4#Xc|F”?SVWJ>L|LAœLAΠ Œ8. /143JH4£?NJH4YEG‹œLDZ3?j<ˆ4#<3šœ43RwE>/W4=JEH/W4£y‚?A<ˆEUJH@Wyw4ŽRw[ 0 ƒ1EHL†1[d?NyTywF‰LAcCEP?NRT[a?VWJHL|LNKLN 0 u 0 u 0 C V1J>L}|ΓRT[W`i CS 6u Γ ` R : σ, β RT<E>/W443$4#ZE‹ 4#b? 3AC4=[WRTΓ[Wi5`J>@W(SyT4Aƒ$, RTE[Q]) [‹ /WRTZP:/aτ Z=?A<>4Y‹ 4Ž<ˆRT25VWywF‰@1<>4YE>/14Rw[dXC@1ZEHRwLj[/|F!V$LNEH/W4=<>R‚<3ƒ LjJ R“ER‚< ?5JH@Wyw4YXC4=Vd4=[1XCRT[WiLA[E>/14<ˆF|[!EH?NBLNE>/W4Y43B|V1J>4#<><>RwLj[‘Œ 1~ ?A[1X Q = {x7→V }M E>/W4=[‰E>/W4YVWJHL|LNJ>4=VWyT?jZO4=2)4=[!E R‚< ?A<œ€LjywyTL‹<=ƒ|E>/1?A[[ 3C<œE>L)E>/Wa4 9 43252?5g1Œ eCš • R = (λxM V ) ŒŒŒ C u Γ, x : θ ` M : σ, γ. ŒŒŒ. C u Γ ` λxM : θ − → σ, δ0 a. ŒŒŒ ŒŒŒ. ŒŒŒ. C u Γ ` V : θ, δ1. C u Γ ` {x7→V }M : σ, γ. C`β6γ. C u Γ ` (λxM V ) : σ, β. C u Γ ` {x7→V }M : σ, β. ‹ /143JH4 C ` a 6 γ ?A[1X β = a ∧ δ0 ∧ δ1 Œ 1~ ?N[dX Q = V = S(`) ƒC‹œ4’2£@1<ˆEœ/d?`}A4 Γ = Γ0, ` : σ 5 ?N[1X C ` β 6 06 <>Rw[dZO4 C u Γ ` (unfold `) : • R = (unfold `) Œ ƒ!‹ 4U/1?`}A4 u W ƒ N ? d [  X ! ƒ > < T R 1 [ O Z 4 Œ s 48?AywJH4=?jXCF£Ljc1<ˆ4=J>}j4=XŽE>/d?E u R‚<_EH/W43JH4O€LjJ>4 σ, β S = S[` V ] }?AywR‚XƒW/W4=[1ZO4 C u Γ ` V : σ, β c!FDE>/W4Y43$4#CZE‹œΓ4=`?ª3AV43[1:Rw[Wσ,i5γJH@WyT4AŒ s 4’E>/W4=[‰JH43V1yT?jZO4E>/W4YV1J>CL|LNΓLN`EGF|VVWRw:[1σ,i1LN R Rw[ Π c|F ?)VWJHL|LNLNE>/WR‚< y‚?EˆEH43J,MG@1XWiA43254=[jE#Œ 1~ ?N[1X Q = ((set `){x7→`}M ) ‹ /W4=J>4 ` 6∈ dom(S) ∪ loc(E[R]) E>/143[aEH/W4£V1J>L|LN_JH43V1yT?jZO43254=[jE8RT<?A< • €LjywyTL‹R<=ƒWE>=/d?N%xM [[ 3C< EHLE>/Wn 4 9‘43252?gdŒ eWƒ1@1<>Rw[1i?‹ 4#b? 3j43[WRT[Wi5VWJHLAV$43J>EGFAƒW[1?A2543yTFDEH/1?EULj[W4£Z=?N[?AXWXS/|F|V$LNE>/14=<>4=< RT[E>/14 EGF|VWRT[Wi‰ZOLA[!EH4OB|E8VWJHL}|RTXW4=X‰E>/d?EE>/W4=FaXCLD[WLAEZ3LA[1Z343JH8 [ ; ?D}`?AJ>R‚?Nc1yw4ŽLAHJ >?yTLCZ3?NE>RTLA[aLCZ3Z3@WJHJ>RT[WiRT[E>/14)<>@WcCMG4#ZE8LA_E>/14 MG@dXCiA4=2)4=[!E 5 E>/1RT< R‚< 4#?A<>F5E>LVWJHL}A4 6 š ŒŒŒ ŒŒŒ C u Γ, x : σ rbox ` M : σ, 1. C u Γ, ` : σ ` {x7→`}M : σ, 1. C u Γ ` %xM : σ, β. C u Γ, ` : σ ` ((set `){x7→`}M ) : σ, β. ‹ R“EH/ β = 16 Œ 8[W4’E>/W4=[S@1<ˆ4#<œE>/W4Y‹œ4=?ª3A4=[WRw[1iŽVWJHLAV$43J>EGF5E>LZ3LA[1Z3yw@1XW4AŒ bRT[1?NyTyTFRw R = ((set `)V ) ?A[1X Q = V ?N[dX S 0 = S[` Œ V ] ƒ$‹œ4Y/1?`}A4 •V$43J>€LAJH2tRT[ ?NJH4’?j<œ€LAyTywL‹<=Œ,bRTJP<GE#ƒWJ>4=ij?AJHXCRT[Wi R š Π ŒŒŒ 5. Γ = Γ0 , ` : σ. C u Γ ` V : σ, 1. ŒŒŒ. C u Γ ` ((set `)V ) : σ, 1. C u Γ ` V : σ, 1. ƒ$?A[1X‰E>/W4£J>4=VWyT?jZO4=2)4=[!EH< EHL. „ ¬ „.

(43) 6j6.  

(44)   . ?A[1XƒWJH43i!?NJPXCRT[Wi S š ŒŒŒ. ŒŒŒ. ŒŒŒ. C u Γ`S. C u Γ ` V : σ, 1. C u Γ`S. C u Γ ` S0. . /1RT<Z3LA[1Z3yw@dXC4=<œEH/W4YVWJHL!LALA<>@WcCMG4=ZOEJ>4#XC@1ZOE>RTLA[‘Œ I_@CEˆEHRw[WiE>LAij4OEH/W43JœE>/1a4 9‘43252?A< gdŒ  ?A[1XDgdŒw6jƒC‹ 4’LjcCEH?ARw[‘š  |     [QlL B XQ gdŒ gdŒ  M        "!$# ! . ∅. . . (. . .  #       #. M.  .  . . ".

(45) . . . . '! # !    #    &! # %  "!$# . . .  . . .   ! *&   #   (  %  loc(M ) =     (∅, M ) → (S, P ) # (S, P )   # !. . ' . . . .

(46) . . ∗. . . . . . KB!EH43[1XWRw[WiE>/14)[1LNE>RTLA[LN ? ?N@WywEGFaZOLj[C†1iA@1JH?NE>RTLA[SE>L‰XC4=?Ay,‹ R“EH/aE>/14Ž@1<>@1?Ay EGF|V$4Ž4=J>JHLAJP<3ƒ1E>/1?NER‚< (S, E[(` V )]) ?N[1X ‹ /W43JH4 R‚<‘[WLAE? yTL|Z=?EHRwLj[‘ƒ=‹œ4_ZOLj@Wy‚XY?Ny‚<ˆL VWJHL}A4EH/W4_@1<>@1?NyzSGVWJHLAijJ>4#<>< VWJHLAV$43J>EGFAƒ#c|F8<>/WL‹ RT[Wi E>/1?NE (S, E[(unfold V )]) €LjJœ?A[|F5Z3LA[C†diA@WJP?EHRwLj[ (S,VP ) JH4=?AZP/d?NcWyT4 €LAJ (∅, M ) ‹ /W43JH4 M R‚< ZOyTLj<>4=Xƒ!43RwE>/W4=J P R‚< ?p }?NyT@W4jƒ!LjJ (S, P ) → (S 0 , P 0) €LjJ<ˆLj254 (S 0 , P 0) ƒWLjJ (S, P ) R‚<  ?A@Wy“EGFjŒ ),+. .   . #" K& K"K,. [)LAJPXC4=J EHLV$43J>€LAJH2 EGF|Vd4 RT[C€43JH43[dZO4Aƒ‹œ4 [W434#XYEHL’<>LAyT}A4 EGF|Vd4 4=–!@1?NE>RTLA[1<=ƒN?A<@1<>@1?Ay›ƒN?A[1XEH/WR‚<,Rw[ŽE>@WJH[£RT[|}ALjyw}j4=<<ˆLjyw}|RT[Wi 43$4#ZE)4=–!@1?EHRwLj[1<=Œ‰. F|VWRTZ=?NyTywFjƒ?A[ 4=–!@1?NE>RTLA[ (τ0 −→a σ0) = (τ1 → RT<Ž<ˆLjyw}j4=X”c|F”<>LAyT}|Rw[Wi τ0 = τ1 ƒ a = b ?N[dX b − σ1 ) Œ % 1 ) [ H E W /. 4 G E | F d V U 4 w R C [ €  = 4 > J = 4 1 [ O Z U 4 W V > J C L 3 Z = 4 H < 3 < N ƒ œ ‹  4 > < 1 / N ? T y › y j ƒ w R 5 [ H E W / U 4 = Z A ? > <. 4 N L ‘  N ?  [ ?Ncd<GEHJH?jZE>RTLA[ ƒNRw[!EHJ>LCXC@1Z34U?N[543$4#ZE }?NJHR‚?NcWyT4 σ0 = σ 1 5 4 6 ‹ RwE>/ ?ZOLj[1<GEHJH?ARw[!E p 6 α Œ_7CRw[1Z34 p 2?`Fc$4£4#–!@1?EH4=X‰E>L<ˆLj2)4Y43$4#ZE a ƒ$‹œ42?`FD/1?`}j4’E>LD43BW?N25Rw[14YRw[W4#–!@1?EHRwLj[1<LA EH/W4 €LjJ>2 a 6 α ŒK. /W43JH4O€LjJ>4jƒN‹ /1?NE_‹ 4/d?`}A4œE>L<>LAyT}A4 R‚< ?†1[WRwE>48<ˆ43E A LN‘?A<H<ˆ4=JˆEHRwLj[1<E>/d?E ?NJH4 43RwE>/143JKEGF|V$44=–!@1?NE>RTLA[1< ƒ!LjJ 43$4#ZE 4=–!@1?NE>RTLA[1< ƒ|LAJœRw[W4#–!@1?NyTR“EHRw4#< Œ w b]c

(47) U#šej LN RT< ?£V1?NRTJ S) LA?£Z3LA[1<ˆE>JP?NRT[!E C ?A[1X τ =σ ?EGF|Vd4£?A[1X43$4#ZE<>@Wc1<ˆE>RwE>@WE>aRTLA=[ bS <>@1ZP/EH/1?E C ` aSA6ƒ$αE>/1?NE8R‚< C ` Sτ =ASσ €LjJ8?NyTy‘(C, EGF|V$4£4#–j@d?E>RTLA[d< τ = σ Rw[ A ƒ €  A L  J N ? T y ‘ y 3 4 $  # 4  Z U E # 4 j – d @  ? > E T R A L d [ < w R [ A ? 1 [ X €  j L U J N ? T y ‘ y T R W [ = 4 ! – 1 @ A ? w y w R E>RT4=< a 6 α RT[ A Œ w <>LAyT@CEHRwLj[ C ` Sa = Sb V bH*hjOHb] a=b A C ` Sa 6 Sα N L  T R < > E 1 / A ? D [ N ? 1 [ N L > E 1 / 3 4 J j L W [ 4 w R   > E 1 / 3 4 H J U 4 O 4 C B ‚ R G < P E <  ? > < W @ 1 c ˆ < > E w R > E W @ > E T R A L [ ?A[1X 0 00 <>@1ZP/5E>/1?NE (C, S) AJ (C ,‹ SRT0yw)yKZ3LA[1<>RT<ˆE8RT[aEHJH?A[1<ˆ€LAJH2)RT[Wi SL S[!0  = SEH00/1S?E’R‚<3ƒ Œ U w  < 1 @ > < 1 @ A ? › y + ƒ ˆ < j L w y | } T R W [  i  ? ˆ < 3 4 8 E A L  A ? H < ˆ < = 4 ˆ J H E w R j L 1 [. < w R ! [ H E N ?  [ = 4 ! – W @ T R ` } A ? w y = 4 E C 0 ` S00 C /d?`}!RT[WiDE>/W45<>?A254Ž<>LAyT@CE>RTLA[1< a<ˆ43ELA ?A<H<ˆ4=JˆEHRwLj[1< B ‹ /WR‚ZPl / SˆRT< p ?<>LAyT@CEHRwLj[‘ƒ+LAJ2)LjJ>A4ŽVWJH4=ZOR‚<>43yTF‰/d?A<UE>/W45<ˆ/d?NV$4ŽLA ? <>LAyT@CEHRwLj[‘ Œ w <ˆ43E B LN?j<><>43J>E>RTLA[d< R‚< RT[  b]c

(48) _eV R“ 1. B = {t1 = τ1 , . . . , tn = τn } ∪ {p1 = a1 , . . . , pk = ak } ∪ {q1 6 α1 , . . . , qm 6 αm }. ‹ /143JH4 R E>/W4’EGF|V$4Y}`?AJ>R‚?Nc1yw4 ti LA[WyTFLCZ3Z3@WJP< Rw[ B ?A<œEH/W4YyT4O E25432Žcd4=J LNE>/W4Y4#–j@d?E>RTLA[ ti = τi. 5 6 RwR EH/W4Y4O+4=ZOE}`?AJ>R‚?Nc1yw4 pj LA[WyTFLCZ3Z3@WJP< Rw[ B ?A<œEH/W4Yyw43 E25432£c$43JULN EH/W4Y4=–!@1?NE>RTLA[ pj = aj Œ 5 6 1~EY<>/WLA@Wy‚Xc$4)Z3yw4#?NJUE>/1?NERw R‚<?D<>LAyT}A4=X‰€LjJ>2Sƒ$E>/143[aEH/W4£Vd?NRTJ (C, S) ‹ /W43JH4 C = {q1 6 α1 , . . . , qm 6 αm} ?A[1X B R‚< ?525Lj<ˆE ij43[W4=JH?Ay<ˆLjyw@CEHRwLj[LA Œ S = {t1 7→τ1 , . . . , tn 7→τn } ∪ {p1 7→a1 , . . . , pk 7→ak } . /14EHJH?A[1<G€LjJ>2?NE>RTLA[ LNŽ<>4OEP<‰LN£?A<H<>43J>E>RTLA[1<ZOLA[d<ˆR‚<GEP<3ƒ8?A<@1<ˆ@d?Ny{ƒURT['XC4#ZOLA25V$LjB<>Rw[1i™?A<H<>43J>E>RTLA[1<?N[1XvJH43V1yT?jZORT[Wi }?AJ>R‚?NcWyT4=< c|F)E>/W4=RwJœ}?NyT@W4AŒ s 4Z=?NyTy1EH/WR‚< V1J>LCZO4#<><_E>/W4’XC4#ZOLA25V$Lj<>R“EHRwLj[JH43y‚?E>RTLA[ A B A0 KŒ 1~E RT<œXC4#<>Z3J>RTcd4#XRT[bRwij@WJH4eCƒ ‹ /143JH4 e <ˆEH?N[dXW< €LAJU43RwE>/W4=JU?)EGF|Vd4LjJ?N[43$4#ZE=ƒ$?N[1X x R‚<?)EGF|V$4LAJ 43$4#ZEU}?NJHR‚?NcWyT4AŒ s 4Y‹ JHR“EH4 (C, S) = Sol(A) R“ RT<E>/W4ŽZ3?N[1LA[WR‚Z3?Ay <ˆLjyw@WE>RTLA[a?A<H<>L|Z3RT?NE>4#X‹ RwE>/ ?<ˆLjyw}j4=X€LAJH2 B <ˆ@dZP/SE>/1?NE A B∗ B Œ. /WR‚<R‚<KMG@1<ˆE>Rw†14=Xac!FE>/14 (C, S) €LjywyTL‹ RT[Wi5VWJ>LjVd4=JˆEGF+š  |    ^WŒw6jŒ R  ' &!  !  "!$# B    #%  5 6 RwR 5 6 A B A0  # A  # ' A0  $    !$  "!$#% RwRTR 5 6 A     '  &  

(49)    $& ! B  # A   # !   !   ' !$   # ' ! #(   &! #   #  #     ! # . . . .

(50) &. $%. . /$%. . . . . . . *. . . . . !&. /. . . . . . &. . . !$     &    "!$#!$ t = τ         t !(& &   # τ  !$ 1 6 0  !$ wR }    &    "!$# 5 6 A    $'  & "      & ! B  #    !$   ! #  # ' $! #(       !$ $$' ! . θ rbox = (τ − → σ)  a. . &. . &. &. $%.

(51) . &. . . . . . &. '. . . . . . . . . . . . . . ‚ 4 ƒ  –¡Š—%`žŸ‰c‡ ¡Š†—%•\–™\—\•\™š¡Šˆ•\¡Š †a¢¡Š*Ÿb —\o˜ †J©ªˆ`•#—K¡Š†_•zŸb—2–e‡o¤¡Š†’*•\ _—\ ‰ ¤ “e‡(•#¡Š †z— ˆo™ •4‡ ¡Š†z‰ ŒbK* ™šK˜¡ *ˆ“‰ ••\–e‡ †—# ‰ ¤¡Š†’ a = b ”¢2–z¡Šˆ4–¡Š—•\™\¡ ¤¡c‡ ‰Ž«. ¬2¬ †e­d®z¯¯o®. α=β. &. . 0=1. !. .  †J©ªˆ`• `žzŸ™š—#—\¡Š †a¢O “‰Š˜.

(52) 6`e.   b

(53) ªe] {e = e} ∪ A B A. R‚< [WLNE?5}?NJHR‚?NcWyT4 L|Z=ZO@WJP< RT[ A ?A[1X[WLNERT[ x. {e = x} ∪ A B {x = e} ∪ A. e. {x = e} ∪ A B {x = e} ∪ {x7→e}A. e. {0 6 α} ∪ A B A {1 6 (α ∧ β)} ∪ A B {1 6 α, 1 6 β} ∪ A {a 6 1} ∪ A B A {1 6 p} ∪ A B {p = 1} ∪ A a. b. → σ0 ) = (τ1 → − σ1 )} ∪ A B {τ0 = τ1 , a = b, σ0 = σ1 } ∪ A {(τ0 − {τ rbox = σ rbox} ∪ A B {τ = σ} ∪ A Figure 2: Decomposition of Assertions. . /14£VWJHL|LN,RT<8<ˆRT25Rwy‚?NJUE>LEH/W4£Lj[W4YiART}A4=[Rw[8; e>~ƒ$?A[1XS43}j43[a<>Rw25VWyT43J8<ˆRT[1ZO4£‹ 4£XWL[WLNE/1?`}A4’EHLEH?ª3A4Z=?NJH4Y/W43JH4£?Nc$LA@WE EH/W4lSˆ‹œ43yTy“z{€LAJH254=XC[W4#<>< p LN’EGF|Vd4#<3Œ943ij?AJHXWRw[WiuEH/W4aEGF|V$4=<=ƒ E>/1RT<RT<?AZOE>@1?AywyTF˜?‡<GEP?N[1XW?AJHX JH4=<>@WywE=Œ QLAJH43L}A4=J=ƒ E>/14 XW4=ZOLj25VdL!<ˆRwE>RTLA[‰VWJHL|Z34=<H<œJ>4=ij?NJPXCRT[Wi)4O+4=ZEP< R‚< Rw[1XW434=X‰}j43JHF<ˆRT25VWyw4jŒ @ DDªB ^CŒ eC Œ !$  #  !    "!$# A     A   !  #    !  "!$# !   '$&! !    ! # ! . A. !.      . . . . A B ∗ A0. . .

(54) . '. A0. . . .     !      # !

(55) ' &!  ! " # ' # !  !$ $ ' !$  . . .  '. . *&.  .

(56) &. . . . . &.

Figure

Figure 2: Decomposition of Assertions

Références

Documents relatifs

Cette approche a l’avantage d’induire directement, et de façon transitoire (pendant 7 à 10 jours), l’expression dans l’épithé- lium pulmonaire et alvéolaire de cette

De ce point de vue, il est possible d’affirmer que la mission est accomplie : les projets de renouvellement urbain (GPV et ORU) élaborés depuis 1998 dans une centaine de villes

cosinus (en bleu à gauche) et d’une droite (en noir à droite) sur les données simulées pour 4 années à une température de 45°C, avec un bruit de fond interne réduit de 100,

Florence CARRÉ ~ Réoccupations funéraires de sépultures collectives néolithiques dans la boucle du

2 Vue plus en détails dans le chapitre 1... 2 phénomène d’agrégation des protéines amyloïdes en fibres et d’autres facteurs impor- tants doivent être pris en compte comme

In this chapter, we prove an a posteriori error estimates for the generalized overlapping domain decomposition method with Dirichlet boundary conditions on the boundaries for

Revue française d’héraldique et de sigillographie – Études en ligne – 2020-10 © Société française d’héraldique et de sigillographie, Paris,

Dans ce cas, comme les coulées du Bras de Sainte-Suzanne appartiennent au massif de La Montagne daté à plus de 2 Ma (McDougall, 1971), l’ensemble des coulées pahoehoe