\documentstyle[a4j,jtwocolumn]{jarticle}
\title{$BNX9V;qNA(B\\
  $BJBNs=hM}8@8l(B}
\author{$B>.@n(B $BIR0l(B}
\date{$BJ?@.(B8$BG/(B4$B7n(B25$BF|(B}
\begin{document}
\maketitle


\section*{$B$O$8$a$K(B}

$B6aG/!"%O!<%I%&%'%"$N5;=Q$N?JJb$K$h$C$F7W;;5!$NB.EY$O$^$9$^$9B.$/$J$C$F$$$k!#0lJ}!"=hM}$7$?$$LdBj$bBg5,LO$J$b$N$K$J$C$F$-$F$$$k!#$=$N$?$a!"JBNs7W;;5!$dJBNs8@8l$N8&5f3+H/$,@9$s$K$J$C$F$$$k!#=>Mh$3$NJ,Ln$N8&5f$O!"?tCM7W;;MQ$K3+H/$5$l$?C`<!8@8l$G$"$k(BFORTRAN$B$rCf?4$K9T$J$o$l$F$-$?!#$=$3$G$O!"(BDO$BJ8$r%3%s%Q%$%i$G%Y%/%H%kL?Na$KJQ49$7!"%Y%/%H%k7W;;5!$G<B9T$9$k$H$$$&J}<0$,0lHLE*$G$"$k!#$7$+$7!":G6a$G$O?tCM7W;;$P$+$j$G$J$/!"?M9)CNG=$NJ,Ln$GBg5,LO%=%U%H%&%'%"$r9bB.$K=hM}$9$k$3$H$,MW5a$5$l$F$-$F$$$k!#$3$N<o$N%=%U%H%&%'%"$G$O!"5-9f=hM}E*$J7W;;$,B?$/8=$l!"$"$i$+$8$a%W%m%0%i%`$N$I$NItJ,$N7W;;$K$I$N$/$i$$$N<j4V$,$+$+$k$+$,!"M=A[$7$K$/$$$3$H$,B?$$!#=>$C$F!"$3$l$i$r5-=R$9$k8@8l$H$7$F$O!"$$$m$$$m$J%"%k%4%j%:%`$r4JC1$K;n$9$3$H$,$G$-!"$=$N=$@5!"JQ99$,MF0W$G$"$kI,MW$,$"$k!#$^$?!"9bB.<B9T$N$?$a$K$O!"JBNs2=$70W$$$3$H$b=EMW$G$"$k!#$3$NMM$JMW5a$K1~$($k$?$a$K$O!"!J?tCM7W;;MQ$N!KC`<!8@8l$rMQ$$!"$=$l$G=q$+$l$?%W%m%0%i%`$N0lIt$rJBNs<B9T$9$k$H$$$&:#$^$G$N%"%W%m!<%A$G$OIT2DG=$G$"$k!#(B

\section{$BJBNs=hM}8@8l(B}

$BJBNs=hM}8@8l$KI,MW$J5!G=$O!"@x:_E*$JJBNs@-$rI=8=$G$-$k$3$H!"$=$N7k2L$H$7$F@8$8$kF14|$HDL?.$NLdBj$r2r7h$9$k<jCJ!"$=$7$FHs7hDj@-$G$"$k!#0J2<!"$=$l$>$l$K$D$$$F4JC1$K$G$O$"$k$,@bL@$9$k!#(B

\subsection{$BJBNs@-(B}

$BJBNs@-$rL@<($9$k$K$O!"Bg$-$/J,$1$FFs$D$NJ}K!$,$"$k!#0l$D$O3F%W%m%;%9$r0l$D$N%b%8%e!<%k$H$7$F@k8@$7!"JBNsJ,4t$K$h$C$F5-=R$9$kJ}K!!#$b$&0l$D$O!"0l$D$N%b%8%e!<%kFb$GJBNs<B9T2DG=$JItJ,$r;XDj$9$kJ}K!$G$"$k!#$^$?!"$3$NFs$D$NJ,N`$NCf$G$b%W%m%;%9$N5/F0J}K!$K$h$C$FJ,N`$9$k$3$H$,$G$-$k!#$3$l$O!"%W%m%;%9$rF0E*$K5/F0$G$-$k!"$D$^$j5/F0$5$l$k%W%m%;%9$N?t$,F~NO%G!<%?$K$h$C$FJQ2=$7F@$k>l9g$H!"@EE*$K$7$+5/F0$G$-$J$$!"$D$^$j5/F0$5$l$k%W%m%;%9$N?t$,8GDj$5$l$F$$$k>l9g$H$G$"$k!#(B

$B0l%W%m%;%9$r0l%b%8%e!<%k$H$7$F@k8@$9$kJ}K!$K$O!"(Bcobegin/coend$B9=J8$H!"(Bfork/join$B9=J8$,$"$k(B(\pageref{kijutu}$B%Z!<%8?^(B\ref{kijutu})$B!#$7$+$7!"$3$l$i$N9=J8$rMQ$$$F%W%m%;%9$r5-=R$9$k$H!"LdBj$,@8$8$k$3$H$,$"$k!#$=$l$O!"JBNs$KF0:n$9$k$Y$-%W%m%;%9$,!"%*!<%P!<%i%C%W$9$k%G!<%?$r;}$A!"$7$+$b$3$N%G!<%?$,JQ2=$9$k;~$K:.Mp$,@8$8$k$H$$$&$b$N$G$"$k!#$3$l$O!"%W%m%;%9$NAjBPE*$JB.EY$K0MB8$7$F$$$k!J%l!<%9>r7o$,$"$k!K$?$a$K4|BT$7$F$$$k7k2L$,=P$F$/$k$H$O8B$i$J$$!#(B

$B$3$l$KBP$7!"3F%W%m%;%9$r0l$D$N%b%8%e!<%k$H$7$F5-=R$9$kJ}K!$O!"%W%m%0%i%`$N3,AXE*J,3d$,2DG=$G!"JQ?t$N4IM}$bMF0W$G$"$k!#$7$+$7!"JBNsF0:nIt$r$9$Y$F%b%8%e!<%k2=$9$kI,MW$,$"$k$?$a!":Y$+$$JBNsF0:n$N5-=R$K$OIT8~$-$G$"$k!#(B

$B%W%m%;%9$r0l$D$N%b%8%e!<%k$H$7$F5-=R$9$k>l9g!"$=$N5/F0J}K!$K$b@EE*$J>l9g$HF0E*$J>l9g$H$,$"$k!#%W%m%;%9$NDj5A$r4^$`%b%8%e!<%k$,<B9T$r3+;O$7$?;~E@$G!"<+F0E*$K$=$N%W%m%;%9$,5/F0$5$l$k$N$,@EE*$J5/F0$G$"$j!"5/F0$5$l$k$Y$-%W%m%;%9$NDj5A$r;2>H$G$-$k%b%8%e!<%kFb$G5/F0L?Na$rM[$K<B9T$9$k$N$,F0E*$J5/F0$G$"$k!#(B
\begin{figure}[h]
\begin{list}{}{\setlength{\itemsep}{0pt}\setlength{\topsep}{0pt}}
\item \verb|cobegin                .....|
\item \verb|   Stmt1               FORK |
\item \verb|   Stmt2               .....|
\item \verb|   Stmt3               JOIN |
\item \verb|   ....                .....|
\item \verb|   StmtN        label: Stmt |
\item \verb|coend                  .....|
\item \verb|                       QUIT | 
\end{list}
\caption[cobegin/coend,fork/join]{cobegin/coend$B5Z$S(Bfork/join$B$N5-=R(B}
\label{kijutu}
\end{figure}
\subsection{$BF14|(B}

$BJBNs$KF0:n$9$k%W%m%;%9$,6(NO$7$F=hM}$r?J$a$k$?$a$K$O!"%W%m%;%94V$GI,MW$J>pJs$r8r49$9$kI,MW$,$"$k$H$H$b$K!"%W%m%;%9$N<B9T$rD4@0$7$F@5$7$$7k2L$H$J$k<B9T=g=x$rJ]>Z$7$J$1$l$P$J$i$J$$!#(B

$B@)8f>pJs$N8r?.!"$9$J$o$AF14|$O!"@5$7$$7k2L$K$J$k$h$&$K<B9T$N=g=x$rJ]>Z$9$k!#F14|$N;H$o$lJ}$K$O!">r7oF14|$HAj8_GS=|$,$"$k!#>r7oF14|$H$O!"$"$k%W%m%;%9$,B>$N%W%m%;%9$K$h$C$F$"$k>r7o$rK~$?$5$l$k$^$GBT$D$3$H$G$"$k!#0lJ}Aj8_GS=|$H$O!"$"$k%W%m%;%9$,6&M-%G!<%?$KBP$7$FA`:n$7$F$$$k:GCf$K!"B>$N%W%m%;%9$,$=$N6&M-%G!<%?$KBP$7$FF1;~$KA`:n$7$J$$$h$&$K@)8f$9$k$3$H$G$"$k!#6&M-%G!<%?$KBP$9$k99?7A`:n$N$h$&$KIT2DJ,$K<B9T$5$l$J$1$l$P$J$i$J$$%W%m%0%i%`ItJ,$r$-$o$I$$6h4V$H$$$&$,!"Aj8_GS=|$O!"$3$N$-$o$I$$6h4V$,IT2DJ,$K<B9T$5$l$k$3$H$rJ]>Z$9$k!#JQ?t$r6&M-$9$k%?%$%W$N%W%m%;%94V$NDL?.$G$O!"F1;~$K%"%/%;%9$5$l$k6&M-JQ?t$,B8:_$9$k$?$a!">r7oF14|$HAj8_GS=|$r$H$b$K2r7h$9$k$?$a$N5!G=$,I,MW$K$J$k!#0lJ}%a%C%;!<%8E>Aw%?%$%W$N%W%m%;%94VDL?.$G$O6&M-$9$kJQ?t$,B8:_$;$:!"D>@\%W%m%;%94V$G%G!<%?$r0\F0$5$;$k$N$GAj8_GS=|$NLdBj$O@8$8$J$$!#(B

\subsection{$BHs7hDj@-(B}

$BHs7hDj@-$H$O<B9T2DG=$JL?Na7ONs$,J#?tB8:_$9$k$3$H$G$"$k!#$3$l$K$OFs$D$N2r<a$,2DG=$G$"$j!"0l$D$O!"8D!9$NL?Na7ONs$,=P$97k2L$NCf$GM?$($i$l$?>r7o$rK~$?$9$b$N$rA4BN$NEz$H$9$k>l9g$G$"$j!"$b$&0l$D$O!"8D!9$NL?Na7ONs$+$i@8$8$k7k2L$NCf$G$I$l$rA4BN$NEz$H$7$F$bNI$$>l9g$G$"$k!#(B

$BHs7hDj@-$N9M$($r?J$a$?$b$N$K%,!<%IIU%3%^%s%I!J(B\pageref{guarded com}$B%Z!<%8?^(B\ref{guarded com}$B!K$,$"$k!#<!$K<B9T$9$Y$-J8$NA*Br$r$9$k$?$a$K3FJ8$NA0$KO@M}<0$r$*$-!"$=$NO@M}<0$,??$N;~$@$18e$m$NL?Na$,<B9T$5$l$k!#0lHL$N>r7oJ8$H0c$&$N$O!"$=$l$>$l$N>r7o$,8_$$$KGSB>E*$G$"$kI,MW$,$J$$$H$$$&E@$G$"$k!#(B

\begin{figure}[h]
  \begin{list}{}{\setlength{\itemsep}{0pt}\setlength{\topsep}{0pt}}
    \item \verb|$B!c%,!<%I(B1$B!d(B->$B!c<B9TJ8!d(B|
    \item \verb|$B!c%,!<%I(B2$B!d(B->$B!c<B9TJ8!d(B|
    \item \verb|$B!c%,!<%I(B3$B!d(B->$B!c<B9TJ8!d(B|
    \item \verb| .................... |
    \item \verb|$B!c%,!<%I(BN$B!d(B->$B!c<B9TJ8!d(B|
  \end{list}
\caption[guarded command]{$B%,!<%IIU%3%^%s%I$N7A<0(B}
\label{guarded com}
\end{figure}

$BHs7hDjE*5-=R$r0l$D$N%W%m%;%9Fb$@$1$G$J$/B>$N%W%m%;%9$H$N4X78$KMQ$$$k$3$H$,$G$-$k$H!"Aj<j$N1~BP$K1~$8$F<+J,$NBVEY$rJQ$($k$h$&$J5-=R$,$G$-$k$h$&$K$J$j>pJs8r49$K$h$k(Bdeadlock$B$N4m81$O8:>/$9$k!#(B

\section{$B%W%m%;%94VDL?.(B}

$B8D!9$N%W%m%;%94V$G9T$J$o$l$k>pJs8r49$r%W%m%;%94VDL?.$H$$$&!#$3$l$O0lHL$K6&M-JQ?t$H%a%C%;!<%8E>Aw$H$$$&Fs<oN`$NDL?.%b%G%k$KJ,N`$5$l$k!#$3$3$G$O!"$=$l$>$l$NDL?.%b%G%k$K4p$E$/DL?.5!9=$K$D$$$F=R$Y$k!#(B
\subsection{$B6&M-JQ?t$K$h$kDL?.5!9=(B}

$B6&M-JQ?t$r2p$7$?%W%m%;%94VDL?.$O!"Aw?.%W%m%;%9$,%G!<%?$rFCDj$N6&M-JQ?t$K=q$-9~$_!"<u?.%W%m%;%9$,$=$N6&M-JQ?t$rFI$_=P$9$H$$$&6q9g$K4JC1$K9T$J$&$3$H$,$G$-$k!#$?$@$7!"$3$l$i$NF0:n$OHsF14|$K5/$-$k$?$a!"Aw?.%W%m%;%9$N=q$-9~$_=*N;A0$K<u?.%W%m%;%9$,FI$_=P$7$?$j$9$k2DG=@-$,$"$k!#$=$3$G!"F14|A`:n$rL@<(E*$K9T$J$o$J$1$l$P$J$i$J$$$,!"$=$N$?$a$K$O!"%;%^%U%)!"%b%K%?$J$I$NF14|%W%j%_%F%#%V$rMQ$$$l$PNI$$!#0J2<!"%;%^%U%)5Z$S%b%K%?$K$D$$$F4JC1$K?($l$k!#(B

\subsubsection{$B%;%^%U%)(B}

$B%;%^%U%)(Bs$B$O!"Ii$G$J$$CM$r$H$k$3$H$,$G$-$k@0?tJQ?t$G$"$k!#$3$N(Bs$B$KBP$7$F<!$N$h$&$KDj5A$5$l$k(B2$B$D$NA`:n$N$_$,5v$5$l$F$$$k!#(B
\begin{list}{}{\setlength{\itemsep}{0pt}\setlength{\topsep}{0pt}}
\item \verb|P(s):  s>0$B$J$i$P(Bs:=s-1$B$r<B9T$7!"$=$&(B|
\item \verb|       $B$G$J$1$l$P!"(BP(s)$B$r8F$S=P$7$?%W(B|
\item \verb|       $B%m%;%9$N<B9T$r0l;~Dd;_$9$k!#(B|
\item \verb|V(s):  $BBT$A>uBV$K$"$k%W%m%;%9$,B8:_$9(B|
\item \verb|       $B$l$P!"$=$N%W%m%;%9$r<B9T>uBV$K(B|
\item \verb|       $B0\$7!"B8:_$7$J$1$l$P!"(Bs:=s+1$B!#(B|
\end{list}

$B$3$N$H$-!"%;%^%U%)$NCM$O;HMQ$5$l$F$$$J$$;q8;$N?t$rI=$9!#$D$^$j=i4|CM$H$7$F$O!";q8;$N?t$rBeF~$7$J$1$l$P$J$i$J$$$3$H$K$J$k!#$^$?!"(BP$B!"(BV$BA`:n$O!"$=$l$>$lIT2DJ,$K<B9T$5$l$J$1$l$P$J$i$J$$!#%;%^%U%)$rMQ$$$k$H!"F14|$HAj8_GS=|$NN>J}$r4JC1$K5-=R$G$-$k$,!"(Bdeadlock$B$K4Y$j0W$$$H$$$&7gE@$,$"$k!#(B
\subsubsection{$B%b%K%?(B}

$B%b%K%?$O!"Aj8_GS=|$HF1;~$K%G!<%?$NCj>]2=$N35G0$r4^$_!"6&M-;q8;$N=i4|2=A`:n$r$^$H$a$F5-=R$7$?$b$N$G$"$k!#$3$N$?$a!"6&M-;q8;$r;HMQ$9$k:]$K$O$=$NFbIt$N>\:Y$rCN$kI,MW$,$J$/$J$k!#$h$j@53N$K$$$&$H!"%b%K%?$H$O$G(B\pageref{monitor}$B%Z!<%8?^(B\ref{monitor}$B$K<($9$h$&$J(Bmonitor$B7?$NDj5A$G$"$j!"$3$N(Bmonitor$B7?$NJQ?t$,<B:]$N6&M-;q8;$H$J$k!#(B

$B%b%K%?$O$7$P$7$P!"Aj8_GS=|$5$l$k$Y$-6&M-;q8;$r<h$j0O$s$@J=$HI=8=$5$l$k!#6&M-;q8;$OJ=$N30$+$iD>@\%"%/%;%9$9$k$3$H$O$G$-$:!"%b%K%?$N<jB3$-$r2p$7$F$N$_%"%/%;%92DG=$G$"$k!#J=$K$OF~8}$,$D$$$F$*$j!"6&M-;q8;$K%"%/%;%9$7$?$$%W%m%;%9$OC1$K<jB3$-$KBP1~$9$k%(%s%H%j$r8F$S=P$9$@$1$G$h$$!#$^$?!"6&M-;q8;$X$NAj8_GS=|%"%/%;%9$O%b%K%?$,J]>Z$9$k!#$D$^$j!"%b%K%?$N<jB3$-$N$&$A$I$l$+0l$D$G$bB>$N%W%m%;%9$K8F$S=P$5$l$F<B9T$5$l$F$$$k4V$O!"%b%K%?Fb$KF~$k$3$H$O$G$-$J$$!#$7$+$7!">r7oF14|$N5!G=$O4^$^$l$F$$$J$$!#(B
\begin{figure}
\begin{list}{}{\setlength{\itemsep}{0pt}\setlength{\topsep}{0pt}}
\item \verb|$B%b%K%?L>(B:monitor;|
\item \verb|   begin|
\item \verb|     <$BJQ?t@k8@(B>|
\item \verb|     procedure<$B<jB3$-L>(B>(<$B2>0z?t(B>)|
\item \verb|     begin|
\item \verb|       <$B<jB3$-K\BN(B>|
\item \verb|     end;|
\item \verb|     <$BB>$N<jB3$-$NDj5A(B>|
\item \verb|           ......      |
\item \verb|     <$BB>$N<jB3$-$NDj5A(B>|
\item \verb|     <$B=i4|2=A`:n$NDj5A(B>|
\item \verb|     end;|
\end{list}
\caption[monitor]{$B%b%K%?$NDj5A(B}
\label{monitor}
\end{figure}

\subsection{$B%a%C%;!<%8E>Aw$K$h$kDL?.5!9=(B}

$B6&M-JQ?t$,B8:_$7$J$$;~!"%W%m%;%94V$G>pJs8r49$r$9$k$?$a$NJ}K!$H$7$F!"%a%C%;!<%8E>Aw$,$"$k!#%a%C%;!<%8E>Aw$G$O!"%G!<%?$b@)8f>pJs$b$9$Y$FF10l7PO)$rDL$7$FF1$8J}K!$GEO$5$l$k!#$3$l$r<B8=$9$kBeI=E*$JDL?.%W%j%_%F%#%V$,(Bsend/receive$B$G!"0lHL$K(B\pageref{send/receive}$B%Z!<%8?^(B\ref{send/receive}$B$N7A<0$r$7$F$$$k!#(B
\begin{figure}[h]
\begin{list}{}{\setlength{\itemsep}{0pt}\setlength{\topsep}{0pt}}
\item \verb|send <$B<0$NJB$S(B>to <$B<u?.B&;XDj;R(B>|
\item \verb|receive <$BJQ?t$NJB$S(B>from<$BAw?.B&;XDj;R(B>|
\end{list}
\caption[send/receive]{send/receive$B$N7A<0(B}
\label{send/receive}
\end{figure}

$B!cAw?.B&;XDj;R!d$H!c<u?.B&;XDj;R!d$NAH!JDL?.%A%c%M%k!K$O!"$*8_$$$KAj<j$r;XDj$7$J$$8B$j3NN)$5$l$:!"@5$7$/%a%C%;!<%8$r<u$1EO$9$3$H$,$G$-$J$$!#$3$N$?$a!"DL?.%W%j%_%F%#%V$N@_7W$G$ODL?.%A%c%M%k$N;XDjJ}K!$,=EMW$H$J$k!#$3$NDL?.%A%c%M%k$N;XDjJ}K!$rJ,N`$9$k$H$-!"Fs$D$NJ,N`K!$,9M$($i$l$k!#0l$D$ODL?.%A%c%M%k$H$7$F2?$r;XDj$9$k$+$H$$$&J,N`$G$"$j!"$b$&0l$D$O!"DL?.%A%c%M%k$r;XDj$9$k;~E@$K$h$kJ,N`$G$"$k!#0J2<$=$l$>$l$K$D$$$F@bL@$9$k!#(B
\begin{enumerate}
  \item $BDL?.%A%c%M%k$H$7$F2?$r;XDj$9$k$+!#(B\\
    \begin{enumerate}
      \item $BAj<j%W%m%;%9$rD>@\;XDj$9$kJ}K!!#(B
        $B0lBP0lDL?.$KE,$7$F$$$k!#<B8=$,MF0W$G$"$j!"%W%m%;%9$OB>$N%W%m%;%9$+$i$N%a%C%;!<%8$r0LCV<u?.$9$k$+@)8f$9$k$3$H$,$G$-$k!#$7$+$7!"0lBPB?!"B?BPB?$NDL?.$K$OE,$5$J$$!#(B
      \item $B%]!<%H$rMQ$$$kJ}K!!#(B\\
        $B0lBPB?$dB?BPB?$NDL?.$KBP1~$9$k$?$a!"Aw?.B&;XDj;R5Z$S<u?.B&;XDj;R$H$7$FBg0hE*$JDL?.%A%c%M%kL>$r$D$1$kJ}K!$G$"$k!#$3$NJ}K!$O!"DL?.Aj<j$r4V@\E*$K;XL>$G$-$k$N$G!"=@Fp@-$,$"$k!#$7$+$7!"4V@\;XDj$J$N$GDL?.Aj<j$rFCDj$G$-$:8m$j$N860x$H$J$k$*$=$l$,$"$k!#(B
    \end{enumerate}
  \item $BDL?.%A%c%M%k$r$I$N;~E@$G;XDj$9$k$+!#(B
    \begin{enumerate}
      \item $B@EE*%A%c%M%k;XDj!#(B
        $B%3%s%Q%$%k;~$KDL?.%A%c%M%k$,3NDj$7!"<B9T8zN($,$h$$$,!"<B9T;~$KDL?.%A%c%M%k$NA*Br$,$G$-$:!"=@Fp@-$K7g$1$k!#(B
      \item $BF0E*%A%c%M%k;XDj!#(B
        $B<B9T;~$KDL?.%A%c%M%k$r7hDj$9$k$3$H$,$G$-!"$7$+$b<B9T$N>u67$K1~$8$FDL?.%A%c%M%kA*Br$,9T$J$($k!#$7$+$7!"8zN(E*$J<B8=$,Fq$7$$!#(B
    \end{enumerate}
\end{enumerate}

\section{$BJBNsO@M}7?8@8l(BKL1}

$B$3$l$^$G$K=R$Y$F$-$?!"JBNs=hM}8@8l$N5!G=$r9M$($J$,$iJBNsO@M}7?8@8l(BKL1$B$K$D$$$F=R$Y$k!#(B
\subsection{$B%7%s%?%C%/%9(B}

KL1$B%W%m%0%i%`$O<!$N$h$&$J<!$N$h$&$J%7%s%?%C%/%9$r;}$D!#(B
\[
\matrix{
  H_1 :-G_{11},....G_{1m_1} | B_{11},...,B_{1n_1}.\cr
                      ............\cr
  H_l :-G_{l1},....G_{lm_l} | B_{l1},...,B_{ln_l}.}
\]

$B$3$3$G!"3F9T$O%/%m!<%:!J@a!K!"(BH$B!"(BG$B!"(BB$B$O!"3F!9%/%m!<%:%X%C%I!"%,!<%I%4!<%k!"%\%G%#%4!<%k$H8F$P$l$k!#%*%Z%l!<%?(B''$B!C!I$O!"%3%_%C%H%a%s%H%P!<$H8F$P$l!"%/%m!<%:Cf$G!"$3$l$h$jA0$K$"$kItJ,$r%,!<%IIt!"B3$/ItJ,$r%\%G%#It$H8F$V!#$3$3$G%,!<%I%4!<%k$OAH$_9~$_=R8l$7$+=q$1$J$$$H$$$&@)8B$,$"$k!#$^$?!"%\%G%#%4!<%k$K$OAH$_9~$_=R8l$H%f!<%6Dj5A=R8l$NFs$D$N<oN`$,=q$1$k!#$3$N7A<0$O!"(B1.3$B$G=R$Y$?!"%,!<%IIUL?Na$r3HD%$7$?$b$N$G$"$k!#(B

\subsection{$B%W%m%0%i%`$N<B9T5,B'(B}

$B<!$K!"(BKL1$B$N%W%m%0%i%`$,$I$N$h$&$K$7$F<B9T$5$l$k$+$K$D$$$F@bL@$9$k!#:#!"$"$k%4!<%k(BH$B$,M?$($i$l$?$H$9$k!#$3$N;~!"%4!<%k(BH$B$N<B9T$O0J2<$N5,B'$KB'$C$F9T$J$o$l$k!#(B
\begin{enumerate}
  \item $B%3%_%C%H%a%s%H%P!<$N:8$K=q$$$F$"$k$3$H!"$;$$$+$/$K$O!"(B
    \begin{itemize}
      \item $B8uJd$K>e$,$C$F$$$k%/%m!<%:$N%X%C%@$H!"$=$N%/%m!<%:$r8F$S=P$7$?%4!<%k(BH$B$NF10l2=(B(Unification)
      \item $B%,!<%I%4!<%k$N<B9T(B
    \end{itemize}
$B$O!"J#?t$N8uJd%/%m!<%:$KBP$7$FJBNs$K<B9T$7$F$h$$!#$7$+$7!"$=$l$i$O(BH$B$r6qBN2=$7$F$O$J$i$J$$!#6qBN2=$7$h$&$H$7$?$i!"$=$N6qBN2=$N860x$H$J$kF10l2=$,CfCG$5$;$i$l$k!#(B    
  \item $B%3%_%C%H%a%s%H%P!<(B $B$N:8$K=q$$$F$"$k$3$H!"$D$^$j%/%m!<%:$N%\%G%#%4!<%k$O!"$=$N%/%m!<%:$r8F$S=P$7$?%4!<%k(BH$B$r6qBN2=$7$F$h$$$,!"$=$l$,$G$-$k$N$O!"(BH$B$,J#?t$N8uJd%/%m!<%:$NCf$+$i$?$@0l$DA*$P$l$?%/%m!<%:$K8B$i$l$k!#(B
\end{enumerate}

\subsection{KL1$B$K$h$k%W%m%0%i%_%s%0(B}

KL1$B$N%W%m%0%i%`$O!"%W%m%;%9$H8F$P$l$k<B9T$N4pK\MWAG$r!"%9%H%j!<%`$H8F$P$l$k%W%m%;%94VDL?.$N$?$a$N7PO)$rMQ$$$FAH$_9g$o$;$k$3$H$K$h$C$F9=@.$5$l$k$3$H$,B?$$!#(B

$B%W%m%;%9$NF0:n$O!"(BKL1$B$G$O0l$D$N=R8l$H$7$FI=$5$l$k!#%W%m%;%9$rI=$9=R8l$O!"FbIt>uBV$NJ];}$N$?$a$KB>$N%W%m%;%9$+$i;2>H$5$l$J$$6I=jJQ?t$rMQ$$!"%W%m%;%9$H$7$FB8:_$9$k$?$a$K!":F5"8F$S=P$7$rMQ$$$k!#%9%H%j!<%`$O!"%j%9%H$r;H$C$F<B8=$5$l$k!#(B

$B%9%H%j!<%`$H$7$FO@M}JQ?t$=$N$b$N$G$O$J$/$F%j%9%H$rMQ$$$k$N$O<!$NM}M3$K$h$k!#$D$^$j!"(BKL1$B$N$h$&$JO@M}7?8@8l$G$O!"0lEY$"$kCM$K6qBN2=$5$l$?O@M}JQ?t$O!"JL$NCM$K:F$S6qBN2=$9$k$3$H$,$G$-$J$$(B($BC10lBeF~5,B'(B)$B!#$7$?$,$C$F0l$D$NO@M}JQ?t$rMQ$$$?DL?.$O0l2s$7$+$G$-$J$$!#$3$N$h$&$JITET9g$r2r>C$9$k$?$a$K!"(B
\[
\matrix{
  [<$B%a%C%;!<%8(B>|<$B?7$7$$L$6qBN2=JQ?t(B>]}
\]
$B$N$h$&$J(BCar$BIt$KEA$($?$$%a%C%;!<%8!"(BCdr$BIt$K?7$7$$O@M}JQ?t$r;}$D$h$&$J%j%9%H9=B$$G6qBN2=$9$k!#(B

$B$^$?!"(BKL1$B$O!"%4!<%k$4$H$K<B9T$9$k%W%m%;%C%5$r;XDj$9$k$3$H$,$G$-$k!#(B
\begin{figure}[h]
\begin{verbatim}
:- module main.

(1)    main:- prod(3,L),
              cons(L,K)@node(1),
              io:outstream([print(K),nl]).
(2a)   prod(T,L):- T > 0 | 
              L = [T|NewL],
              NewT := T - 1,
              prod(NewT,NewL).
(2b)   prod(T,L):- T = 0 | 
              L = [].
(3a)   cons(J,K):- J = [N|NewJ] | 
              cons(NewJ,NewK),
              append(NewK,[N],K).
(3b)   cons(J,K):- J = [] | 
              K = [].
(4a)   append(X,Y,Z):- X = [] | 
              Y = Z.
(4b)   append(X,Y,Z):- X = [W|NewX] | 
              Z =[W|NewZ],
              append(NewX, Y, NewZ).
\end{verbatim}
\caption[program]{KL1$B$N%W%m%0%i%`Nc(B}
\label{program}
\end{figure}

$B$3$3$G!"?^(B\ref{program}$B$N%W%m%0%i%`Nc$rMQ$$$F<B9T$NMM;R$r@bL@$9$k!#?^$N%W%m%0%i%`$O!"@0?t$N9_=g$K@8@.$5$l$?@~7A%j%9%H$r>:=g$KJB$YBX$($FI=<($9$k%W%m%0%i%`$G$"$k!#$3$N%W%m%0%i%`$O!"@0?t$N@~7A%j%9%H$r@8@.$9$k%W%m%;%9(B(prod/2)$B!"$=$N%j%9%H$r>:=g$KJB$YBX$($k%W%m%;%9(B(cons/2)$B!"JB$YBX$($N:]$KMxMQ$9$k%W%m%;%9(B(append/3)$B$+$i9=@.$5$l$F$$$k!#:#%H%C%W%l%Y%k$N%4!<%k$H$7$F!"(Bprod(3,L)$B!"(Bcons(L,K)$B!"(Bio:outstream([print(k),nl])$B$,M?$($i$l$k$H!"$3$l$O(B3$B$^$G$N@~7A%j%9%H$r>:=g$KI=<($9$k$3$H$r0UL#$7!"<B9T8e(B[1,2,3]$B$H$$$&%j%9%H$,I=<($5$l$k!#$3$N7W;;2aDx$r0J2<$K@bL@$9$k!#(B

$B$^$:!"$3$N%H%C%W%l%Y%k$N%4!<%k$,M?$($i$l$k$H!"%/%m!<%:(B(2a)$B$N%,!<%IIt$N<B9T$K@.8y$7!"%\%G%#It$,<B9T$5$l$k!#$3$N;~?7$?$K(Bprod(NewT,NewL)$B$H$$$&%4!<%k$,@8@.$5$lF1MM$K%/%m!<%:(B(2a)$B$,<B9T$5$l$F9T$/!#$=$N$&$A!"(Bprod/2$B$NBh0l0z?t$N6qBNCM$,(B0$B$K$J$jBhFs0z?t$,%j%9%H(B[3,2,1]$B$H$J$j!"%/%m!<%:(B(2b)$B$,<B9T$5$l$3$N%W%m%;%9$O=*N;$9$k!#$^$?!"%/%m!<%:(B(2a)$B$N%\%G%#It$r<B9T$K$h$C$F%j%9%H$N(BCar$BIt$,6qBN2=$5$l$kEY$K!"%/%m!<%:(B(3a)$B$N%,!<%IIt$N<B9T$K@.8y$7!"%\%G%#It$,>e$G=R$Y$?%W%m%;%9$KJBNs$K<B9T$5$l$k!#0J2<!"%,!<%IIt$N<B9T$K@.8y$7$?%/%m!<%:$O$=$N$?$S$K%\%G%#It$r<B9T$5$;$F9T$-!"$=$&$G$J$$$b$N$OCfCG$7$FBT$A>uBV$K$"$k!#(B

      
\begin{thebibliography}{9}
  \item
    M.$B%Y%s(B-$B%"%j(B $BCx(B. $BEOJU(B $B1I0l(B $BLu(B.
     $BJBNs%W%m%0%i%_%s%0$N86M}(B -$B%W%m%;%94VDL?.$HF14|$X$N35G0E*%"%W%m!<%A(B-.
     $B7<3X=PHG(B,1986.
  \item
    $B%j%A%c!<%I(B.C.$B%[%k%H(B $BCx(B. $BBgLn(B $BK-(B $B4FLu(B. $B0KF#(B $B7i(B,$B9-ED(B $BK-I'(B $BLu(B. $BJB9T=hM}$H(BUNIX.$B7<3X=PHG(B,1985.
  \item
    $BIYEDbC<#(B,$BKv5HIRB'(B. $BJBNs=hM}%^%7%s(B. $B%*!<%`<R(B,1989.
    \item 
      $BLZB<(B $B9/B'(B. $BJBNsO@M}8@8l(BKL1$B$N=hM}7O$K4X$9$k8&5f(B. 
\end{thebibliography}
\end{document}











