KTUGFaq
KTUG FAQ
The person you rejected yesterday could make you happy, if you say yes.
FrontPage › LambdaCalculusInTeX
[ÆíÁý]
1.1 Áø¸®°ª°ú ±× ¿¬»êÀÚµé ¶
°£´ÜÇÏÁö¸¸ À¯¿ëÇÑ ¸ÅÅ©·ÎºÎÅÍ Á¤ÀÇÇÑ´Ù.
»ç¿ë·Ê
À§ÀÇ Á¤ÀÇ´ë·Î¶ó¸é, Âü(\True)Àº µÎ°³ÀÇ ÀÎÀÚÁß Ã¹¹ø° ÀÎÀÚÀÇ °ªÀÌ°í, °ÅÁþ(\False)Àº µÎ¹ø° ÀÎÀÚÀÇ °ªÀÌ´Ù. ÀÌ°ÍÀÌ Àǹ̰¡ ÀÖÀ¸·Á¸é, ±× µÎ°³ÀÇ ÀÎÀÚ´Â T¿Í F À̾î¾ß ÇÑ´Ù. Áï \True¿Í \False°¡ ¶æÇÏ´Â Àǹ̴ ´ÙÀ½°ú °°´Ù.
µû¶ó¼ ¾ÕÀ¸·Î ³ª¿À´Â ¸ðµç ³í¸®¹® ´ÙÀ½¿¡´Â ¾ðÁ¦³ª µÎ°³ÀÇ ÀÎÀÚ TF°¡ ÀÖ´Â °ÍÀ¸·Î °£ÁÖÇÑ´Ù.
\def\Ignore#1{} \def\Identity#1{#1} \def\First#1#2{#1} \def\Second#1#2{#2}
Taking first argument: input : \First {first}{second} output : first Taking second argument: input : \Second {first}{second} output : secondÁø¸®°ªÀ» Á¤ÀÇÇÑ´Ù.
\let\True=\First \let\False=\Second
input : \True TF output: T input : \False TF output: F
³í¸® ¿¬»êÀÚµéÀ» Á¤ÀÇÇÑ´Ù.
¼³¸í: \And x y ÀÇ °ªÀº x°¡ ÂüÀ̸é, yÀÇ °ªÀÌ°í, x°¡ °ÅÁþÀ̸é, y °ª¿¡ °ü°è¾øÀÌ °ÅÁþÀÌ´Ù.
Áï ÂüÀº ù¹ø° ÀÎÀÚ¸¦ °ÅÁþÀ» µÎ¹ø° ÀÎÀÚ¸¦ ÃëÇÑ´Ù´Â °Í¿¡ Âø¾ÈÇϸé \AndÀÇ Á¤ÀÇ´Â À§¿Í °°Àº °ÍÀÌ°í, \Orµµ ¸¶Âù°¡ÁöÀÌ´Ù.
\def\And#1#2{#1{#2}\False} \def\Or#1#2{#1\True{#2}} \def\Twiddle#1#2#3{#1{#3}{#2}} \let\Not=\Twiddle
Áø¸®°ªµé°ú ¿¬»êÀÚµéÀ» Å×½ºÆ® Çغ¸ÀÚ.
True takes first of TF: input : \True TF output : T False takes second of TF: input : \False TF output : F Not true is false: input : \Not \True TF output : F And truth table TrueTrue: input : \And \True \True TF output : T And truth table TrueFalse: input : \And \True \False TF output : F And truth table FalseTrue: input : \And \False \True TF output : F And truth table FalseFalse: input : \And \False \False TF output : F Or truth table TrueTrue: input : \Or \True \True TF output : T Or truth table TrueFalse: input : \Or \True \False TF output : T Or truth table FalseTrue: input : \Or \False \True TF output : T Or truth table FalseFalse: input : \Or \False \False TF output : F¿¹)
- \And \True \False TF, \ANDÀÇ Á¤ÀÇ´ë·Î Àü°³Çϸé,
\And \True \False TF ==> \True{\False}\False TF ==> \False TF ==> F
- \Not \True TF, \NOTÀÇ Á¤ÀÇ´ë·Î Àü°³Çϸé,
\Not \True TF ==> \True{F}{T} ==> F
[ÆíÁý]
1.2 Á¶°Ç¹® ¶
±âº» ¸ÅÅ©·ÎµéÀ» Á¤ÀÇÇÑ´Ù.
»ç¿ë ¹®¹ý
Å×½ºÆ® ÇÑ´Ù:
\def\gobblefalse\else\gobbletrue\fi#1#2{\fi#1} \def\gobbletrue\fi#1#2{\fi#2} \def\TeXIf#1#2{#1#2 \gobblefalse\else\gobbletrue\fi}
\TeXIf <test> <arg>
\def\IfIsPositive{\TeXIf{\ifnum0<}} Numerical test: input : \IfIsPositive {3} TF output : T Numerical test: input : \IfIsPositive {-2} TF output : F¼³¸í)
- \IfIsPositive { 3 } TF¸¦ Á¤ÀÇ´ë·Î Àü°³Çϸé,
\IfIsPositive {3} TF ==> \TeXIf{\ifnum0<}{3}TF ==> \ifnum0<3\gobblefalse\else\gobbletrue\fi TF ==> \ifnum0<3\fi T ==> T
[ÆíÁý]
2 ¸®½ºÆ® ¶
¸®½ºÆ®´Â ¸Ó¸®(head)¿Í ²¿¸®(tail)·Î Á¤ÀÇ µÇ´Âµ¥, ¸Ó¸®´Â ÇÑ ±¸¼º¿ä¼Ò(element) ÀÌ°í, ²¿¸®´Â ¶Ç´Ù¸¥ ¸®½ºÆ®ÀÌ´Ù. Áï ¸®½ºÆ®´Â ±× Á¤ÀÇ°¡ Àç±ÍÀûÀÌ´Ù. ºó ¸®½ºÆ®(empty list)¸¦ Nil·Î Ç¥±âÇÑ´Ù.
À§ÀÇ ¸®½ºÆ®ÀÇ Á¤ÀǸ¦ µÎ°³ÀÇ ÀÎÀÚ¸¦ °¡Áø ¿¬»êÀÚ·Î ±¸ÇöÇÑ´Ù:
\let\Nil=\False
- ¸¸¾à ¸®½ºÆ®°¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é, ù¹ø° ÀÎÀÚ´Â ¸Ó¸®¿¡ Àû¿ëµÇ°í, ²¿¸®°¡ ±× ¸®½ºÆ®ÀÇ °ªÀÌ µÈ´Ù.
- ¸¸¾à ¸®½ºÆ®°¡ ºñ¾îÀÖ´Ù¸é, µÎ¹ø° ÀÎÀÚ°¡ ¸®½ºÆ®ÀÌ °ªÀÌ µÈ´Ù.
DeleteMe. ÆäÀÌÁö À̸§À» ¹Ù²Ù¾ú½À´Ï´Ù.