以äžã¯ãç§ã®æèŠã§ã¯ãçéå
¥ãã®ããã°ã©ãã³ã°æ¹æ³ã«ã€ããŠã®è©±ã§ãã
æçš¿ã®äž»é¡ã¯ç°¡åã§ã¯ãããŸããããã¹ã¯é·ããªããŸããæåŸã«CookieãšããŠãUnlambdaã§ãã£ããããæ°ãæ°ããæ¹æ³ã説æããŸãã
ç®å©ãã®å ŽåïŒèšäºã¯ãå³å¯ã«æ£åŒãªèª¬æããããããããã®ä»çµã¿ã説æããå¯èœæ§ãé«ããªããŸãã
λ-calculusã¯ãã¢ã«ãŽãªãºã ãšèšç®å¯èœæ§ã®æŠå¿µã圢åŒåããããã«Alonzo Churchã«ãã£ãŠçºæãããŸããã λèšç®ã®é¢æ°ã¯ããã®ããã«çè§£ããå¿
èŠããããŸã-å
¥åããŒã¿ãåŠçããç¹å®ã®ã¢ã«ãŽãªãºã ãšããŠã
åãªãã®Î»èšç®
åäžã®åŒæ°ã®é¢æ°ããããšããŸãã ããã«ãåŒæ°ãšæ»ãå€ã®äž¡æ¹ã1ã€ã®åŒæ°ã®é¢æ°ã§ããããŸãã
ããã§ãæ°åŠè
ã¯ç°è°ãå±ããŸãïŒããèªäœããããèªäœãžã®é¢æ°ã®ã»ãããšäžèŽããã»ãããååŸããŸããããã¯ã»ããçè«ã«ã¯ãããŸããïŒç¡éã»ããã®å Žåã§ãã颿°ã®ã»ããã¯å³å¯ã«å€§ããã§ãïŒã ããããããã¯ã¢ã¡ãªã«ã®ã¹ã³ãããéšåçã«é åºä»ããããã»ããã«ç¹å¥ãªããããžãŒãå°å
¥ããããšã§ãã«ã«ãéã«ããŽãªãŒãæ§ç¯ããããšã劚ããŸããã§ããã æç€ºããããªããžã§ã¯ãã¯ååšããŸãããããã¯ãŸã£ããå¥ã®è©±ã§ãããããã£ãŠãæå
ã«ãããã®ãããªæœè±¡çã§ç¡éã®å¥åŠãªé¢æ°ã®ã»ããã ãã§äœãã§ããã®ã§ããããïŒ ããããããããã®é¢æ°ã®æžãæ¹ã決ããŠãããšããã§ãããã λèšç®ã§ã¯ã次ã®èŠåãæ¡çšãããŸãã
- fãšaãããã€ãã®é¢æ°ãšããŸãã æ¬¡ã«ã faã¯ã颿°fã®é¢æ°aãžã®é©çšããŸãã¯Î»èšç®ã®çšèªã§ã¯ã¢ããªã±ãŒã·ã§ã³ã§ã ã
- Fã ã倿°xãèªç±ã«å«ãåŒããŸãã¯ãŸã£ããå«ãŸãªãåŒãšããŸãã λx.Fã¯ãå€ãåŒFã§äžãããã倿°xã®é¢æ°ã衚ããããã¯Î»æœè±¡åãšåŒã°ããŸãã
次ã«ããã®é¢æ°ã¯åŒæ°
xãåããå€
fxãè¿ãããã
λx.fx= fã§ããããã¯ã颿°
fèªäœãè¡ãããšã§ãã ããã¯
Î·å€æãšåŒã°ããŸãã
ããšãã°ã
λx.x2ã¯2ä¹é¢æ°ã§ããã
ïŒÎ»x.x2ïŒ3ã¯ãã®é¢æ°ã®åŒæ°3ãžã®é©çšã§ããçŽèгã§ã¯ããã®åŒã®å€ã¯9ã§ãããããã¯Î»èšç®ã®å¯äžã®å
¬çã§ããã
β-åæž ïŒ
- ïŒÎ»x.FïŒa = F [xïŒ= a]
ããã§ã
F [xïŒ= a]ã¯åŒFãæå³ãã
xã®ä»£ããã«aã䜿çšãããŸãã ãã®å
¬çãšãšãã«ã
λèšç®ã¯ãã¥ãŒãªã³ã°å®å
šãªããã°ã©ãã³ã°èšèªã«ãªããŸãã ä»»æã®ã¢ã«ãŽãªãºã ãå®è£
ã§ããŸãïŒã¢ã«ãŽãªãºã ãäœã§ãããã®åççãªæå³ã§ïŒã èªç¶ãªçåãçããŸã-ã©ããã£ãŠïŒ
åŒæ°ãåã«è¿ãã¢ã€ãã³ãã£ãã£é¢æ°ãã¹ã±ããããã®ã¯ç°¡åã§ãïŒ
λx.x宿°é¢æ°ãè€éããåŒãèµ·ãããŸããïŒ
λx.c ãããã§
cã¯
xããç¬ç«ããŠããŸãã å®éãã©ã®åŒæ°ã«å¯ŸããŠãã颿°ã¯
cãè¿ã
ãŸã ã
ããããã¹ãŠã®ããã§ãã ããã€ãã®åŒæ°ã®é¢æ°ãäœæããæ¹æ³ããç¥ããªãïŒ ããããã§ããŸãããŸã ç¥ããŸããã
次ã®äŸãèããŠã¿ãŸãããïŒ
λx.λy.x+ y ã ããããããããããã«ãæ¬åŒ§ãä»ããŸãïŒ
λxãïŒÎyãïŒX + yïŒïŒã¯ãåèšãè¿ãå¥ã®é¢æ°ãè¿ã颿°ã§ãã ã©ã®ããã«æ©èœããŸããïŒ ãããããã€ãã®åŒæ°ã«é©çšããŠã¿ãŸãããïŒ
ïŒÎ»xãïŒÎyãïŒX + yïŒïŒïŒa =λyãïŒA + yïŒ ã çµæã®é¢æ°ã¯ãå¥ã®åŒæ°
ïŒÎ»yãïŒA + yïŒïŒb = a + bã«é©çšã§ããŸãã ãã®ææ³ã¯
currying ããŸãã¯
currying ïŒHaskell Curryã®åŸïŒãšåŒã°ããä»»æã®æ°ã®åŒæ°ã«å¯ŸããŠæ©èœããŸãã 颿°ã®åœ¢åŒã
λxãïŒÎyãïŒÎzãïŒFïŒïŒïŒã®å Žåã
λxyz.Fãšæžãããšã«
åæããŸãã ãŸãã
ïŒfabcïŒã¯
ïŒïŒïŒfaïŒbïŒcïŒ ã ããã§ãå€ãã®åŒæ°ã®é¢æ°ã¯éåžžã«ç°¡åã«èšè¿°ãããŸãïŒ
λxy.x+ y ãããã³ãããã®ã¢ããªã±ãŒã·ã§ã³ã¯
ïŒfabïŒã§ãã
ã¡ãã£ãšããäœè«ïŒãã®èšäºã¯åã®ãªãλèšç®ã«é¢ãããã®ã§ããã«ãããããããæ°å€ãšç®è¡æŒç®ãç¹°ãè¿ã䜿çšããŸããããæ£åŒã«ã¯ãŸã æ°å€ãšæŒç®ã«ã€ããŠã¯ç¥ããŸããã ããã¯çè§£ãæ·±ããããã«è¡ãããããã«äž¡æ¹ãλèšç®ã§å®çŸã§ããããšãããããŸããå¶åŸ¡æ§é
ããã§ãλèšç®ã§ãµã€ã¯ã«ãäœæããæ¹æ³ã®è³ªåã«çããŸãã 颿°ã®ã¿ãæ±ã£ãŠãããããæããã«ãååž°ã¡ã«ããºã ã䜿çšããŠããŸãã ããããλèšç®ã§ã¯ã颿°ãèªåã®äžããåŒã³åºãããšã¯ã§ããªããããå°ãç°ãªãã¢ãããŒãã䜿çšãããŸãã颿°ã¯åŒæ°ãšããŠèªèº«ã«æž¡ãããŸãã
次ã®é¢æ°ãèããŠãã ããïŒ
w =λx.xxã 圌女ã¯åœŒå¥³ã«å¯äžã®è°è«ãé©çšããŸãïŒç§ãã¡ã«ãšã£ãŠãããªããåããã®ã¯ãã¹ãŠé¢æ°ã§ããããšãå¿ããªãã§ãã ããïŒã ãã®é¢æ°ãèªåèªèº«ã«é©çšããŠã¿ãŸãããïŒ
ww =ïŒÎ»x.xxïŒw =ïŒxxïŒ[xïŒ= w] = ww ãã£ãšãβ-éå
ã䜿çšããŠãç§ãã¡ã¯å§ãããšããã«æ¥ãŸããã ããã¯ãλèšç®ã«ãããç¡éã«ãŒãã®æãåçŽãªäŸã®1ã€ã§ããã絶察ã«äœãããªããšããç¹ã§æ³šç®ã«å€ããŸãã
å¥ã®éèŠãªè³ªåïŒæ¡ä»¶ä»ãã¹ããŒãã¡ã³ããå®è£
ããæ¹æ³ïŒ ããã§ã¯ãelseãã©ã³ããååšããªãããšãçè§£ããããšãéèŠã§ãã ãã¹ãŠã®ãªããžã§ã¯ããã€ãŸãå€ãè¿ãããã«å¿
èŠãªé¢æ°ãããããäœãããªããããšã¯ã§ããŸããã æ¬¡ã®ãªããžã§ã¯ããå®çŸ©ããŸãã
- true =λxy.x
- false =λxy.y
ããã§ã
boolããããã®å®çŸ©ã®æå³ã§è«çå€ã§ãã
å Žå ã
ïŒboolã®å Žåã¯
boolïŒããŸãã«å¿
èŠãªæ§é ã§ãã
bool = trueã®å Žåãçµæã¯
ifã¹ããŒãã¡ã³ãã«ãªã ãããã§ãªãå Žåã¯
elseã¹ããŒãã¡ã³ãã«ãªããŸãã
ããã§ãã«ãŒããšååž°ã®å€å
žçãªåé¡-éä¹ã®èšç®ã解決ããŠã¿ãŸãããã ãã§ã«æ°åãç®è¡æŒç®ïŒæ¥é èŸè¡šèšã§Î»èšç®ã®ã¹ã¿ã€ã«ã§èšè¿°ããŸãïŒãåŒæ°ã1æžãã
dec颿°ãããã³
ãŒããšçãããã©ããã確èªã§ãã
ãŒã颿°ãçšæããŸãããã
g =λrnãïŒãŒãnïŒ1ïŒ* nïŒrrïŒdec nïŒïŒïŒããèŠãŠã¿ãŸãããïŒé¢æ°ã¯
nã0ã«çãããã©ããããã§ãã¯ããæåããå Žåã¯1ãè¿ããããã§ãªãå Žåã¯
ïŒ* nïŒrrïŒdec nïŒïŒïŒ -
nãšããèªäœãš
n-1ããã®é¢æ°
rã®å€ã®ç©ãè¿ããŸã 颿°
rãšã¯äœã§ããïŒ ããã¯ååž°ãè¡ãããã®äžçš®ã®ããã¯ã§ã
-rã¯é¢æ°
gèªäœãæž¡ãã®ã§ãæžãããåŒã¯å®éã«éä¹ãèšç®ããŸãïŒ
gïŒnïŒ= n * gïŒn-1ïŒ ã æ¯å颿°ãèªåèªèº«ã«æž¡ãã®ã¯äžäŸ¿ãªã®ã§ãéä¹ã®æçµçãªå®è£
ãè¡ããŸãã
f = ggãããã£ãŠã
gã¯æåã®åŒæ°
ã ãèšæ¶ãããæ®ãã¯èšç®ã«å¿
èŠãªæ°ãæž¡ãã ãã§ãã
ããã«æªããåºå®å°æ°ç¹ã³ã³ãããŒã¿ãŒ
颿°
fã®ã©ã ãèšç®ã§ã¯ã
fx = xã®ãããªåŒæ°
xãååšããããšã
ããããŸãã ããã«ããã®
xã¯åžžã«èŠã€ãããŸãïŒ ãã®äœæ¥ã¯ããããã
åºå®å°æ°ç¹ã³ã³ãããŒã¿ãŒã«ãã£ãŠè¡ãããŸãã ç§ãã¡ã®ææã®Haskell Curryã«ãã£ãŠçºæããããã®ãªãã·ã§ã³ã®1ã€ïŒ
Y =λfãïŒÎx.fïŒxxïŒïŒïŒÎ»x.fïŒxxïŒïŒä»çµã¿ãèŠãŠã¿ãŸãããã
Y f =ïŒÎ»x.fïŒxxïŒïŒïŒÎ»x.fïŒxxïŒïŒ= fïŒïŒÎ»x.fïŒxxïŒïŒïŒÎ»x.fïŒxxïŒïŒïŒ= fïŒY fïŒãããã£ãŠã
fïŒY fïŒ= Y fã§ããããã
Y fã¯å®éã«ã¯é¢æ°
fã®åºå®å°æ°ç¹ã§ãã
æ°åãšç®è¡
ãæ³åã®ãšãããäžèšã®å¿
èŠãªãªããžã§ã¯ããšæ§é ã®å®è£
ã¯ãã¹ãŠäžæã§ã¯ãããŸãããλèšç®ã®é
åã¯ãå¿
èŠãªåºæ¬çãªãã®ã®å®è£
æ¹æ³ã決å®ã§ããããšã§ãã ãããããµã€ã¯ã«ãšæ¡ä»¶ã«é¢ããŠãæãåçŽãªå®è£
ãç¹å®ãããŠããããã«æããå Žåã¯ãæ°åã«ãã£ãŠç©äºãç°ãªããŸã-æ°åã®å®çšçãªå®è£
ã¯ãããããããŸããã¿ã¹ã¯ããšã«ç¬èªã®ç¹å®ã®ãªãã·ã§ã³ãèãåºãããšãã§ããŸãã ããã«ãããããããã¢ãã³ãŸæäŒã«ãã£ãŠçºæãããæ°å-æäŒã®æ°åã®äžè¬çã«åãå
¥ããããå®è£
ããããŸãã
éè² ã®æ°Nãã颿°
f ãåŒæ°
x ãããã³
xãã
fã®å€ãèšç®ããNåãåã颿°ãšããŠå®çŸ©ããŸãã
- 0ïŒ x
- 1ïŒ fïŒxïŒ
- 2ïŒ fïŒfïŒxïŒïŒ
- 3ïŒ fïŒfïŒfïŒxïŒïŒïŒïŒ
ãããã£ãŠãλèšç®ã§ã¯ãæ°å€ã¯æ¬¡ã®ããã«ãªããŸãã
- 0ïŒ Î»fx.x
- 1ïŒ Î»fx.fx
- 2ïŒ Î»fx.fïŒfxïŒ
- 3ïŒ Î»fx.fïŒfïŒfxïŒïŒ
Inc颿°ïŒ
inc =λnfx.fïŒnfxïŒé¢æ°ã
nåé©çšããããäžåºŠé©çšããŠ
n + 1ãååŸããŸããã
mãš
nã远å ããæ¹æ³ã¯ïŒ
fãæåã«
xã«é©çšããæ¬¡ã«
nåå®è¡ããå¿
èŠããããŸãã
add =λmnfx.mfïŒnfxïŒä¹ç®ãç°¡åã«ãªããŸã
ãxã« ïŒnfïŒåé©çšããå¿
èŠããããŸãã
mult =λmnf.mïŒnfïŒãã¯ãŒã¢ãã-ããã«ç°¡åïŒ
pow =λmn.nmåŒæ°ããŒããã©ããããã§ãã¯ãã颿°ãäœæããŸãã
λn.nïŒÎ»x.falseïŒtrueåŒæ°ããŒãã®å ŽåãïŒå®çŸ©ããèŠããŠããããã«ïŒ2çªç®ã®åŒæ°ãè¿ãã ãã§ãã
true ãããã§ãªãå Žåã颿°
λx.falseãããã«ãããã®ã«äœåºŠãïŒãŸããå°ãªããšã1åïŒé©çšããŸãã ãã®ãããå
ã»ã©èª¬æãã宿°ã
圹ã«ç«ã¡ãŸãã ãæ»ãå€ã¯
falseã«ãªã
ãŸã ã
ä»ããã£ãšé£ããã®ã¯æžç®ã§ãã æåã«ã1ããå°ããæ°å€ïŒãŸãã¯åŒæ°ã0ã®å Žåã¯äœãïŒãè¿ã颿°ãäœæããŸãã ããã«ãããŸãïŒ
dec =λnfx.nïŒÎ»gh.hïŒgfïŒïŒïŒÎ»u.xïŒïŒÎ»u.uïŒãå°çã¯ã©ã®ããã«æ©èœããã®ãïŒããšãã質åã«é¢é£ããŠãä»ã§ã¯æãæ°žç¶çãªãã®ã§ããç¥çµã倱ã£ãŠãããšæããŸãã çè§£ããŠã¿ãŸãããã
ãŸããããŒã¹
nïŒÎ»gh.hïŒgfïŒïŒïŒÎ»u.xïŒãèŠãŠã¿ãŸããã-æªç¥ã®äœãã
n ïŒÎ»u.xïŒ nåé©çšãããŸãã æäŒã®çªå·ã®ããã«ãªããé©çšããŠã¿ãŸãããã
- ååïŒ ïŒÎ»gh.hïŒgfïŒïŒïŒÎ»u.xïŒ=λh.hïŒïŒÎ»u.xïŒfïŒ=λh.hx=λh.hïŒ0 fxïŒ ïŒãŒãã®å®çŸ©ã«ããïŒ
- 2åç®ïŒ ïŒÎ»gh.hïŒgfïŒïŒïŒÎ»h.hxïŒ=λh.hïŒïŒÎ»h.hxïŒfïŒ=λh.hïŒfxïŒ=λh.hïŒ1 fxïŒ ïŒããã§ã häžæ¬åŒ§ãšhå€åŽ-ç°ãªã倿°ïŒ
- 3åç®ïŒ ïŒÎ»gh.hïŒgfïŒïŒïŒÎ»h.hïŒfxïŒïŒ=λh.hïŒïŒÎ»h.hïŒfxïŒïŒfïŒ=λh.hïŒfïŒfxïŒïŒ=λh.hïŒ2 fxïŒ
ãããã£ãŠã
nåã®ã¢ããªã±ãŒã·ã§ã³ã®åŸãåŒã¯æ¬¡ã®åœ¢åŒã«ãªããŸãã
dec n =λfxãïŒÎ»h.hïŒïŒn-1ïŒfxïŒïŒïŒïŒÎ»u.uïŒïŒ=λfxãïŒÎ»u.uïŒïŒïŒn-1ïŒfxïŒ=λfxãïŒn-1ïŒfx =ïŒn-1ïŒå©çïŒ
ãããããŒãã®å Žåã颿°ã¯äœãè¿ããŸããïŒ
dec 0 =λfxãïŒÎ»u.xïŒïŒÎ»u.uïŒ=λfx.x= 0å®çŸ©ã®0ãš
falseã¯åãã§ããããšã«æ³šæããŠãã ããã
ããã§ãç°¡åã«èšè¿°ããã³æžç®ã§ããŸãã
sub =λmnãïŒn decïŒmã³ã³ãããŒã¿ãŒ
ã³ã³ãããŒã¿ã¯ãèªç±å€æ°ãå«ãŸãªãÎ»é¢æ°ã§ãã ãããã®å€æ°ã¯ãã¹ãŠãλ-æœè±¡åã«ãã£ãŠæ¥ç¶ãããŸãã
éã³ã³ã
ããŒã¿ãŒã®äŸïŒ
ã³ã³ãããŒã¿ãŒã®äŸïŒ
- I =λx.x-åŒæ°ãè¿ã颿°
- K =λxy.x-宿°ãžã§ãã¬ãŒã¿ãŒ
- S =λxyzãïŒXzïŒïŒyzïŒ
- Y =λfãïŒÎx.fïŒxxïŒïŒïŒÎ»x.fïŒxxïŒïŒ -ããã§ã³ã³ãããŒã¿ãŒãšåŒã°ããçç±ãããããŸãã
- B =λxyz.xïŒyzïŒ
- C =λxyz.xzy
- W =λxy.xyy
ãããŠãã1ã€ã®è峿·±ãäºå®ïŒä»ã®Î»é¢æ°ã衚çŸã§ããæéã®çµã¿åããã®çµã¿åãããéžæããããšãã§ããŸãïŒ ãã®ãããªãããã¯ãããšãã°ã
SKIããã³
BCKWã§ãã
ãŠã³ã©ã ã
Unlambdaã¯ãçµã¿åããããžãã¯ã䜿çšããçŽç²ãªé¢æ°åããã°ã©ãã³ã°èšèªã§ãã ã€ãŸãã颿°ãäœæããããã«ãSKIã»ããã䜿çšããŸãã 颿°
Fã颿°
Gã«é©çšããããš
㯠`FGãšããŠæžãããŠããã
äžå¿
èŠãªæ¬åŒ§ããç§ãã¡ãæããŸãã è€æ°ã®åŒæ°ãé£ç¶ããŠé©çšããïŒ
`` fxyz ã çµã¿èŸŒã¿é¢æ°
sãkãiã«å ããŠãèšèªã«ã¯ç»é¢ã«è¡šç€ºããæ©èœããããŸãïŒ
.xã¯
iãšåæ§ã®æ©èœã瀺ããŸãããå¯äœçšãšããŠæå
xãç»é¢ã«è¡šç€ºãããŸãïŒããŸããå
¥åããã³ä¿çäžã®èšç®ã®ã¡ã«ããºã ããããŸããè¡ããªã
ãããããããé ããé ãã®éæ²³ã§ã次ã®ãããªãã®ã§çµããã¢ã³ã©ã ããã¥ãŒããªã¢ã«ãèŠã€ããŸããã
ä»ãç§ã¯ãã®èšèªã§ãã£ããããæ°ãèšç®ãããµã€ã¯ã«ãæžãããšãã§ããæ¹æ³ã説æãããã£ãã®ã§ããããã§ã«ããã§ç§ã¯ç¡åã§ãïŒ
`` `s``s``sii`ki
`kã*` `s``s`ks
`` s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk
`k``s`ksk
ããŠã詊ããŠã¿ãŸãããã
ã¡ãªã¿ã«ãããã°ã©ã ã¯ãç»é¢ã«ãã£ããããæ°ãæã®å¯Ÿå¿ããæ°ã®åœ¢ã§è¡šç€ºããŸãã
ãµã€ã¯ã«ã«ã€ããŠèª¬æããŸãã
- Nåã®æã衚瀺
- ç¿»èš³ãæ°ããè¡ã«åºåããŸãïŒublambdaã§ã¯ã r颿°ããããè¡ããŸãïŒ
- èšæ¶ãããŠãã以åã®ãã£ããããæ°ã«Nã远å ããŸã
ãšãããããç§ãã¡ã¯ïŒãã§ã«ïŒéŠŽæã¿ã®ããλèšç®ã®ã¹ã¿ã€ã«ã§ãã¹ãŠãæžããŸãã
Nåã®æã
å°å· ïŒ
Nåã®å°å·i-åã颿°ã«å°å·ãNåé©çšããåæã«Nåã®æãå°å·ããŸãã ãã®çµæãåäžã®æ©èœãåŸãããŸãã ãããäœãã«é©çšããŸãããïŒ
ïŒïŒN print iïŒnewlineïŒïŒcycleïŒ+ NMïŒNïŒ ãããã§Mã¯åã®ãã£ããããæ°ã§ãã ãã®ããããµã€ã¯ã«ã®1ãã¹ã®é¢æ°ãååŸããŸããã
cycle =λcnmãïŒïŒn print iïŒnewlineïŒïŒcïŒ+ nmïŒnïŒãã©ã¡ãŒã¿ãšããŠã«ãŒãã«èªåèªèº«ãæž¡ãã1ãš0ã§åæåããŸãã
fib =ãµã€ã¯ã«ãµã€ã¯ã«1 0ç§ãçŽæããããã«ããããunlambdaã«å€æããããšã¯æ®ã£ãŠããŸãã ãã
åŒãλèšç®ããSKIã»ããã«å€æããããã®ã¢ã«ãŽãªãºã ãèªè
ã«ç޹ä»ããŠããã ããã°å¹žãã§ãïŒå¶ç¶ãä»»æã®é¢æ°ãSKIã§è¡šçŸã§ããããšã瀺ããŠããŸãïŒã ãããã£ãŠãã¢ã«ãŽãªãºã èªäœïŒ
- λx.F ãããã§Fã¯xããç¬ç«ããŠããŸã-Fã®å€ãæã€å®æ°é¢æ°ãå¿
èŠã§ããããã¯ã KFã§ããããšãæå³ããŸã
- λx.xã¯å®çŸ©ã«ããI
- λx.FGãããã§ã FãšGã¯ïŒããããïŒ xãèªç±ã«å«ãåŒã§ãã äž¡æ¹ã®åŒã§xã®å€ã眮ãæããŠãããæåã®å€ã2çªç®ã®åŒã«é©çšããå¿
èŠããããŸãã ããã¯ã S ïŒ SFGã³ã³ãããŒã¿ãŒãè¡ãããšã§ãã
æåŸãé€ããŠããã¹ãŠãå€ããå°ãªããæçœã§ãã ã³ã³ããããªã¢ã«
Sã®å®çŸ©ãèŠãŠã¿ãŸãããã
S =λxyzãïŒXzïŒïŒyzïŒFã«é©çšããæ¬¡ã«
Gã«é©çšããŸãã
SFG =ïŒÎ»yzãïŒF zïŒïŒyzïŒïŒG =λzãïŒF zïŒïŒG zïŒå®éããããå¿
èŠãªãã®ã§ãã
倿ã¢ã«ãŽãªãºã
λx.Fã¯ã次ã®ã¢ã¯ã·ã§ã³ã«ãªããŸãã
- `眮æãã` `s
- xã¯iã«çœ®ãæããŸã
- Xã¯xã«äŸåããã `kGã«çœ®ãæããŸã
次ã«ãå¿
èŠãªãããªãã¯ããã¢ã³ã©ã ãã«å€æããŸãã
0 = `ki1 = i远å ïŒ`` s''s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk`k
s``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk`
ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk
`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks `` s``s`ks``s`kk`ks``
s''s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s` ks``s``s`ks``s`kk`ks`
`s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s `ks``s`kk`kk``s`kk`kk
`` s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk `kk``s``s`ks``s`kk`k
k`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk`` s''s`ks``s`kk`kk``s`
kki
ãµã€ã¯ã«ïŒ`` s''s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk`k
s``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk`
ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s''s`ks``s`kk`kk``s`k
k`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk`` s''ks`s`kk`kk`ki`
`s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s `ks``s`kk`kk``s`kk`kã*
`` s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`` s`ks``s`kk`kk``s`kk`k
i``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s` `s`ks``s`kk`kk``s`kk`
kr``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s''s`ks``s`kk`kk``s`k
k`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks`` s``s`ks``s``s`ks``s`
kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks` `s``s`ks``s`kk`kk``
s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk `` s`kk`kk``s``s`s`
`s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s` kk`kk``s``s`ks``s`kk
ãkkãsãkkiãsãsãksãsãsãksãsãkkãksãsãsãksãsãkkãkkãsãkk `kk``s``s`ks``s`kk`
ã£ã£ã£ããŒ
ãããŠã宿ããããã°ã©ã ïŒ
`` ``
`` s''s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk`k
s``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk`
ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s''s`ks``s`kk`kk``s`k
k`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk`` s''ks`s`kk`kk`ki`
`s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s `ks``s`kk`kk``s`kk`kã*
`` s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`` s`ks``s`kk`kk``s`kk`k
i``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s` `s`ks``s`kk`kk``s`kk`
kr``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s''s`ks``s`kk`kk``s`k
k`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks`` s``s`ks``s``s`ks``s`
kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks` `s``s`ks``s`kk`kk``
s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk `` s`kk`kk``s``s`s`
`s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s` kk`kk``s``s`ks``s`kk
ãkkãsãkkiãsãsãksãsãsãksãsãkkãksãsãsãksãsãkkãkkãsãkk `kk``s``s`ks``s`kk`kk`ki
`` s''s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk`k
s``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk`
ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s''s`ks``s`kk`kk``s`k
k`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk`` s''ks`s`kk`kk`ki`
`s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s `ks``s`kk`kk``s`kk`kã*
`` s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`` s`ks``s`kk`kk``s`kk`k
i``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s` `s`ks``s`kk`kk``s`kk`
kr``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s''s`ks``s`kk`kk``s`k
k`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks`` s``s`ks``s``s`ks``s`
kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks`` s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks` `s``s`ks``s`kk`kk``
s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk `` s`kk`kk``s``s`s`
`s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s` kk`kk``s``s`ks``s`kk
ãkkãsãkkiãsãsãksãsãsãksãsãkkãksãsãsãksãsãkkãkkãsãkk `kk``s``s`ks``s`kk`kk`ki
`` s''s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk`k
s``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s `` s`ks``s`kk`kk``s`kk`
ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s` `s`ks``s`kk`kk``s`kk
`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks `` s``s`ks``s`kk`ks``
s''s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s` ks``s``s`ks``s`kk`ks`
`s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s `ks``s`kk`kk``s`kk`kk
`` s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk `kk``s``s`ks``s`kk`k
k`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk`` s''s`ks``s`kk`kk``s`kki
ç§ã¯
ã¯ããã¯ããç§èªèº«ã¯ãšãŠãæãã§ãã ã¡ãªã¿ã«ãããã°ã©ã ã®ã¢ã³ã©ã ãã³ã¬ã¯ã·ã§ã³ã§ã¯ã
åæ§ã®ã³ãŒãã¯ããã»ã©å€ãã®ã¹ããŒã¹ãå¿
èŠãšããŸããã ã©ããããèšèªã®äœè
ã¯ã極å°ã§æé©åãããλèšç®ããunlambdaãžã®ç¿»èš³ã®ç§å¯ã®å€ä»£æè¡ãææããŠããŸãã ããã«ãããããããç§ã¯çŽæãå®ã£ãã æåŸãŸã§èªãã§ãããäººã«æè¬ããŸãã