% $OpenXM: OpenXM/doc/Papers/rims-2002-12-12-ja.tex,v 1.1 2002/12/02 02:17:50 takayama Exp $
% It was under misc-2002/12, 
%Id: rims-2003-12.tex,v 1.10 2002/12/02 02:14:55 taka Exp $
% Some .gif files are under misc-2002/12.
%% OpenXM/doc/Papers $B$X0\F0(B.  rims-2002-12-12.tex 
\documentclass{jarticle}
\title{\bf OpenXM 1.2.2 $B$N35MW(B}
\author{ OpenXM $B3+H/%0%k!<%W(B }
\date{2002$BG/(B12$B7n(B12$BF|(B}

%% Private macros
\newenvironment{FRAME}{\begin{trivlist}\item[]
  \hrule
  \hbox to \linewidth\bgroup
  \advance\linewidth by -30pt
  \hsize=\linewidth
  \vrule\hfill
  \vbox\bgroup
    \vskip15pt
    \def\thempfootnote{\arabic{mpfootnote}}
    \begin{minipage}{\linewidth}}{%
    \end{minipage}\vskip15pt
  \egroup\hfill\vrule
 \egroup\hrule
\end{trivlist}}

\begin{document}
\maketitle

OpenXM $B%W%m%8%'%/%H$G$O(B
$B?t3X$G$NJBNs7W;;(B, 
$B?t3X%=%U%H%&%(%"$NE}9g2=(B $B$^$?$O(B
Conglomerate $B2=(B\cite{solomon},
$B?t3XE*CN<1$N%^%M!<%8%a%s%H(B (Mathematical Knowledge Management)
$B$J$I$N=tLdBj$r9M;!$9$k$H$H$b$K(B,
$B<B:]$K?t3X$N8&5f$d?t3X$N1~MQ$K;H$($k%Q%C%1!<%8$N3+H/$r$*$3$J$C$F$$$k(B.

$B%Q%C%1!<%8$O2~D{$r(B 4 $B2s$*$3$J$C$?(B.
\begin{enumerate}
\item OpenXM 1.1.1 (January 24, 2000): $B:G=i$N<B83HG(B.
\item OpenXM 1.1.2 (March 20, 2000): $B$H$j$"$($:;H$($kHG(B.
\item OpenXM 1.1.3 (September 26, 2000): 1.1 $B7O$N:G=*HG(B. OpenXM RFC 100 $B7A<0(B
   $B$N%W%m%;%9LZ(B. 1077 $B8D$N?t3X4X?t$rDs6!(B. 
   $BDs6!$7$F$$$k%5!<%P$O(B {\tt ox\_asir}, {\tt ox\_sm1},
   {\tt ox\_phc}, {\tt ox\_gnuplot}, {\tt ox\_m2}, {\tt ox\_tigers},
   {\tt ox\_math}(ematica), {\tt OMproxy} \cite{rims-1199}.
\item OpenXM 1.2.1 (March 2, 2002): Cygwin (Windows) $B$X$NBP1~3+;O(B. 
       $B%^%K%e%"%k<+F0@8@.(B(gentexi)$B$J$I(B.
\end{enumerate}
$B$3$3$G$O$A$+$8$+M=Dj$7$F$$$k(B
1.2.2 $B7O$G$N?7$7$$5!G=$H@_7W$K$*$1$k=tLdBjE@$r5DO@$7$?$$(B.

\section{ oxd $B%9!<%Q!<%5!<%P(B }

OpenXM $B$G$O(B 1.2 $B7ONs$h$j(B Cygwin $B$rMQ$$$F(B Windows $B$K$bItJ,E*$KBP1~$7$F$-$?(B. 
$B$^$?(B 1.1 $B7ONs$+$i(B OpenXM $BBP1~$N(B Java $B%/%i%9$rDs6!$7$F$-$?(B.
$B$3$l$i$N3+H/$G7P83$7$?$3$H$O(B,
\underline{ $B%5!<%P$N5/F0$,HQ;((B }
$B$H$$$&$3$H$G$"$k(B.
$B$H$/$K(B C $B$H(B unix $B$NOHAH$r$O$:$l$k$H(B OpenXM $B%5!<%P$r%/%i%$%"%s%H$,5/F0(B
$B$9$k$N$,$H$F$bLLE]$K$J$k(B. 
$B$5$i$K%/%i%$%"%s%H$N%3!<%I$O(B OS $BKh$KJ,4t$5$;$kI,MW$,@8$8$k(B.
$B$3$NHQ;($5$rHr$1$k(B
$B2r7h:v$H$7$F$O0J2<$N$h$&$JJ}K!$,$"$k$G$"$m$&(B.
\begin{enumerate}
\item Corba $B$J$I$N(B Agent $B$N;EAH$_$rMQ$$$k(B.
\item ssh $B$H(B oxc $B$rMQ$$$k(B OpenXM RFC 101 ($B>.86(B) $B$rMQ$$$k(B.
\end{enumerate}
``$B<B:]$K;H$($k%Q%C%1!<%8$rG[I[$9$k(B'' $B$H$$$&N)>l$G$O(B,
Corba $BEy$N<B83E*%$%s%U%i%9%H%i%/%A%c$rMQ$$$k$N$O$J$k$Y$/Hr$1$?$$(B.
$B$^$?8zN(=E;k$N%Q%C%1!<%8$r:n@.$7$?$$$H$-$N<+M3EY$,$J$$(B.
OpenXM RFC 101 $B$rMQ$$$k$N$ONI$$J}K!$G$"$k$,(B, $B<B:]$K$O(B
$B%a%$%s$N%/%i%$%"%s%H$G$"$k(B asir $B$,(B OpenXM RFC 100 $B$K$7$+BP1~$7$F$$$J$$(B
$B$7(B, 100 $BBP1~$N$_$N%5!<%P$bB?$$(B.
$B$7$?$,$C$F(B, RFC 100, 101 $BN>J}$KBP1~$7$+$D(B, OpenXM $B%5!<%P$rMF0W$K5/F0(B
$B$G$-$k$h$&$J%9!<%Q%5!<%P$N3+H/$r;n$_$?(B.
$B$3$l$,(B oxd $B$G$"$k(B ($B%=!<%9$O(B {\tt OpenXM/src/kxx/oxd.c }).

%%Note: 2002, 10/20.
\noindent
$BMxMQNc(B:
%%%%%%%%%%  mini page template %%%%%%%%%%%%
\begin{flushleft}
\begin{minipage}[t]{5cm}
\begin{FRAME}
\noindent
$B%5!<%PB&$N%m%0(B:
{\tiny \begin{verbatim}
bash-2.03$ cd OpenXM/src/kxx
bash-2.03$ ./oxd
Hello from open. serverName is localhost 
                  and portnumber is 8089
Done the initialization. port =8089
    $B%G%U%)%k%H(B $B%]!<%H(B 8089 $B$GBT$D(B.
Waiting a connection
\end{verbatim} }
\end{FRAME}
\end{minipage} \quad
%
\begin{minipage}[t]{5cm}
\begin{FRAME}
\noindent
$B%/%i%$%"%s%HB&$N%m%0(B:
{\tiny \begin{verbatim}
bash-2.03$ cd OpenXM/src/OpenMath
bash-2.03$ java testclientr
  $B$?$H$($P(B java $B$G@\B3$7$F$_$k(B.
\end{verbatim} }
\end{FRAME}
\end{minipage} \\
\end{flushleft}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\noindent
oxd $B$H$NDL?.%3%^%s%I$O0J2<$N$h$&$K(B XML $B7A<0$G$"$k(B.
$B%H%C%W%N!<%I$O(B \verb@ <login> @ $B!A(B \verb@ </login> @  $B$G$"$k(B.

%%%%%%%%%%  mini page template %%%%%%%%%%%%
\begin{flushleft}
\begin{minipage}[t]{5cm}
\begin{FRAME}
\noindent $B%5!<%PB&(B:
{\tiny \begin{verbatim}
... Serial=0
Trying to accept from localhost... len= 16
Accepted.

Connected.    8089 $B$K%/%i%$%"%s%H$,$D$J$,$C$?(B.
Waiting a connection... Serial=1
Trying to accept from localhost... 
       Serial=1: command=<login method="file">
$B%/%i%$%s%H$h$jAw$i$l$FMh$?%3%^%s%I$O(B <login> 
Serial=1: command=<done/>

$B$3$A$i$h$jAwIU$7$?(B challenge $B$r@5$7$/=hM}(B
$B$G$-$?$N$G(B, $BG'>Z$,40N;(B.
Serial=1: command=<launch> ox -ox ox_asir 
                 -reverse   -control 3167 
                -data 3168 -finish </launch> 
$B%/%i%$%"%s%H$h$j(B ox $B%5!<%P$N5/F0%3%^%s%I$r(B
$B<u$1<h$k(B. $B%(%s%8%sL>$O%U%k%Q%9$G$OM?$($J$$(B.

Serial=1 : Executing command
  =/home/taka/OpenXM/bin/openxm  ox 
   -ox ox_asir -reverse -control 3167 
   -data 3168 -finish 
The server ox_asir was not found. 
Trying to find it  under OpenXM/bin
Starting OX server : 
 /home/taka/OpenXM/bin/ox_asir

resultCode=0
Serial=1: command=<login/>
oxd $B$X$N(B login $B$O=*N;(B.

Waiting the termination of 
 the child process (ox server).
1: The child process is terminated.

\end{verbatim} }
\end{FRAME}
\end{minipage} \quad
%
\begin{minipage}[t]{5cm}
\begin{FRAME}
\noindent $B%/%i%$%"%s%HB&(B:
{\tiny \begin{verbatim}
<login method="file"> 
$BG'>ZJ}K!$O(B file $B$rA*Br(B.

<challenge file="/home/taka/.oxd10793"/>
oxd $B$h$j(B $B%U%!%$%k(B /home/taka/.oxd10793 
$B$K(B touch $B$G$-$?$iG'>Z$9$k$h$HO"Mm$r$&$1$k(B.
?  
<done/>     touch $B$7$?$N$G(B <done/> $B$rAw$k(B.

Listenning...
<launch> ox -ox ox_asir -reverse -control 3167 
                   -data 3168 -finish </launch> 
oxd $B$X(B OpenXM $B%5!<%P$N5/F0%3%^%s%I$rAw$k(B.

<suceeded/>   oxd $B$h$j5/F0@.8y$N%a%C%;!<%8(B
              $B$r$b$i$&(B.
?
\end{verbatim} }
\end{FRAME}
Java $BB&$N@\B3%W%m%0%i%`$O4JC1$G(B,
localhost $B$N(B oxd $B$G5/F0$9$k$J$i(B
\begin{verbatim}
        asir = new OpenXM("ox_asir");
\end{verbatim}
$B$H(B OX $B%5!<%PL>$r0z?t$H$7$F(B OpenXM $B%3%s%9%H%i%/%?(B
$B$r8F$Y$P$h$$(B.
%%Note: sm1 $B$N%/%i%$%"%s%H%W%m%0%i%`$O(B oxd.sm1 $B$N(B asirconnectr.
\end{minipage} \\
\end{flushleft}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%  mini page template %%%%%%%%%%%%
\begin{flushleft}
\begin{minipage}[t]{5cm}
\begin{FRAME}
$B%(%s%8%sB&$N=PNO(B:
{\tiny \begin{verbatim}
controlByteOrder=0
OpenXM/Risa/Asir-Contrib(20020922), 
    Copyright 2000-2002, OpenXM.org
Loading ~/.asirrc
I'm an ox_asir, Version 20020802.
#0 Got OX_COMMAND SM_mathcap

$B0J2<N,(B.
\end{verbatim} }
\end{FRAME}
\end{minipage} \quad
%
\begin{minipage}[t]{5cm}
\begin{FRAME}
\noindent
$B%/%i%$%"%s%HB&$N%(%s%8%s$H$NDL?.>u67(B:
{\tiny \begin{verbatim}
Accepted the control port.
Accepted the data port.
start
CMO> (CMO_MATHCAP,(CMO_LIST,3,(CMO_LIST,2,
      (CMO_INT32,199901160),
      (CMO_STRING,7,ox_asir)),
      (CMO_LIST,18,(CMO_INT32,276), $B0J2<N,(B.
\end{verbatim} }
\end{FRAME}
\end{minipage} \\
\end{flushleft}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

$B$3$N$h$&$K(B oxd $B$r$b$A$$$k$3$H$K$h$j(B,
OS $B$d(B $B8@8l$K$h$k5/F0K!$N(B
$B0c$$$r5[<}2DG=$G$"$k(B. 
$B$5$i$K(B oxd $B$N<BAu$K(B agent $B$N;EAH$_$rAH$_9~$`$3$H$b(B
$B2DG=$G$"$k(B.

\rightline{$B3+H/(B: $B9b;3(B}

\section{$B$$$D$G$b$I$3$G$b(B ``$B0x?tJ,2r(B$\heartsuit$'' }

$B$$$D$G$b$I$3$G$b(B ``$B0x?tJ,2r(B$\heartsuit$'' $B$O(B,
OpenXM $B$N%9%m!<%,%s$G$"$k(B.
$B$3$N>O$G$O(B, PDA $B$d(B Web $B$X$NBP1~$r>R2p$9$k(B.

\subsection{ $B%6%&%k%9(B $BBP1~(B }

$B%7%c!<%W$N%6%&%k%9(B SL-A300 
$B$G(B Risa/Asir $B$,IT40A4$J$,$iF0:n$7$F$$$k(B.
SL-A300 $B$G$O(BEmbedix $B$H$$$&(B Linux $B$rEk:\$7$F$$$k(B.
GC $B$H@0?t7W;;$N$?$a$N%^%7%s8l%W%m%0%i%`$NItJ,$N0\?"$,LdBj$G$"$C$?$,(B,
GC $B$K$D$$$F$O$9$G$K3+H/%0%k!<%W(B (H-J. Boehm, A. J. Demers)
$B$,(B Xscale CPU $B$KBP1~$7$F$$$?(B.
$B@0?t7W;;$K$D$$$F$O%]!<%?%V%k@0?t7W;;(B
$B%3!<%I(B \\ 
{\tt OpenXM\_contrib2/asir2000/asm/asmalpha.c}
$B$rMQ$$$?(B.

\rightline{$B3+H/(B: $BF#K\(B}

\subsection{ OpenXM Online }

OpenXM $B$G$O(B HTTP $B%W%m%H%3%k$NItJ,=89g(B (GET $B$*$h$S(B POST $B$N0lIt(B) 
$B$r<BAu$7(B, Web$B%V%i%&%6$r(B OpenXM $B%(%s%8%s$N%U%m%s%H%(%s%I$H$7$FMxMQ$7$?$j(B,
OpenXM $B%(%s%8%s$KBP$9$k(B Remote Procedure Call $B$r$*$3$J$&$?$a$KMxMQ$7$F$$$k(B.
$B$3$N1~MQ$H$7$F(B,  
$B8=:_(B Asir Online  $B$r(B \\
{\tt http://fe.math.kobe-u.ac.jp:8090}
$B$G<B83E*$K1?MQ$7$F$$$k(B.
HTTP $B$rM}2r$9$k%5!<%P(B (httpd) $B$O(B, kan/sm1 $B$N%]%9%H%9%/%j%W%H8@8l(B
$B$G<BAu$5$l$F$$$k(B
({\tt OpenXM/src/kan96xx/Doc/httpd*.sm1}).

$B$3$N<B831?MQ$GLdBj$H$J$C$?$N$O(B,
\underline{$BCfCG$NEAGE$H%j%=!<%9$N@)8B(B}
$B$NLdBj$G$"$k(B.
OpenXM RFC 100 $B$G$O%(%s%8%s$N7W;;$rCfCG$9$k%m%P%9%H$J(B
$B%W%m%H%3%k$rDj$a$F$*$j(B, $B$3$l$,(B OpenXM RFC 100 $B$NFCD'$N0l$D$G$"$k(B
\cite{ascm2001}, \cite{openxm-rfc100}.
$B$7$+$7$J$,$i(B, $B%(%s%8%s4V$GCfCG$rEAGE$5$;$k;EAH$_$K$D$$$F$O(B,
$BI8=`$r$J$K$b7h$a$F$$$J$$(B.
Web $B$G7W;;$r%5!<%S%9$9$k$K$O$3$l$i$N;EAH$_$OIT2D7g$G$"$j(B,
$BCfCG$rEAGE$9$k;EAH$_$H%j%=!<%9$N@)8B$r<B83E*$K<BAu$7$?(B.

$BCfCG$K4X$7$F$O(B, $BCfCG$7$?$H$-$K<B9T$5$l$k4X?t$rEPO?$9$k;EAH$_$,(B
OpenXM $B%5!<%P$d%/%i%s%"%s%H$K$"$k(B.
$B@N$N(B Basic $BIw$J$i(B {\tt On stop goto ...}, $B:G6a$N(B Java $BIw$J$i(B
{\tt try \{ ... \} catch \{ ... \} } $B$_$?$$$J$b$N$G$"$k$,(B,
asir $B$G$O(B {\tt register\_handler} $B4X?t(B,
sm1 $B$G$O(B {\tt ctrlC-hook } $B4X?t$GEPO?$9$k(B.
$B$3$N4X?t$NCf$G<!$N>e0U2<C#$N=hM}$r$*$3$J$$CfCG$rEAGE$5$;$k(B. 

\begin{FRAME}
\noindent
$B>e0U2<C#$NCfCG=hM}(B:
\begin{enumerate}
\item $B<+J,$N;R6!%W%m%;%9$r$9$Y$F%j%9%H$9$k(B
  ($B$?$H$($P(B {\tt ox\_get\_serverinfo() }).
\item $B;R6!%W%m%;%9$K=gHV$K(B OpenXM-RFC 100 $B$NCfCG%a%C%;!<%8$rAw$k(B.
\end{enumerate}
\end{FRAME}

$B>e0U2<C#K!$GCfCG$O$-$A$s$HF0:n$9$k$,(B,
$B$3$NJ}K!$N7gE@$OCfCG$,C`<!E*$K$*$3$J$o$l$k$?$a(B, $BB??t$N%5!<%P$,4^$^$l$k(B
$BLZ9=B$$N>l9g$OF0:n$,CY$$$3$H$G$"$k(B.
$B:#8eI,MW$K1~$8$FCfCG%a%C%;!<%8$rF1Js$9$kJ}K!$r?7$7$$%W%m%H%3%k$H$7$F9M;!$9$Y$-$G$"$m$&(B.

$B%j%=!<%9@)8B$K4X$7$F$bN`;w$N>e0U2<C#J}<0$G%j%=!<%9NL$rJ];}$7$F$$$kBg0hJQ?t(B
$B$NCM$rEAC#$9$k$3$H$K$h$j(B OpenXM-RFC 100 $B$NOHFb$G(B
$B%3%^%s%IKh$N%j%=!<%9@)8B$,2DG=$G$"$k(B.
$B$7$+$7$J$,$i(B shared memory $B$N;EAH$_$,$"$l$P$h$j4JC1$G$"$m$&(B.

\rightline{$B3+H/(B: $B9b;3(B}

\section{OpenXM $B$N%U%m%s%H%(%s%I(B}

Infty Editor $B$O6e=#Bg3X$NNkLZ$i$,Cf?4$H$J$j3+H/$7$F$$$k(B
$B<j=q$-?t<0$NF~NO5!G=$b$b$D%(%G%#%?!<$G$"$k(B.
$B$3$N%(%G%#%?!<$+$i(B OpenXM $B%5!<%P$r$h$S$@$95!G=$,(B
$BF#K\$K$h$j@_7W<BAu$5$l$?(B.
$B>\$7$$Js9p$O(B \cite{fujimoto}.

\rightline{$B3+H/(B: $BF#K\(B}

\section{ OpenXM/Risa/Asir/Contrib }

OpenXM/Risa/Asir (OpenXM $BHG(B Risa/Asir) $B$O(B OpenXM $B%Q%C%1!<%8$N(B
$B%a%$%s$N%/%i%$%"%s%H$G$"$k(B.
OpenXM/Risa/Asir/Contrib $B%W%m%8%'%/%H$G$O(B, asir $B8@8l$G$+$+$l$?3F<o?t3X4X?t(B,
$B%f!<%F%#%j%#%F%#4X?t$*$h$S(B OpenXM $B%5!<%P$H$N%$%s%?%U%'!<%94X?t$r3+H/$7$F$$$k(B.
$BCf4|L\I8$H$7$F(B ``$BD64v2?4X?t$K4XO"$9$k7W;;$O$J$s$G$b$G$-$k$h$&$K(B'' $B$r(B
$B7G$2$F$$$k(B.
$BD64v2?4X?t$K4XO"$9$k7W;;$O(B, $B7W;;Be?t(B, $BB?LLBN4v2?(B, $B?tCM2r@O(B, 
$B%S%8%e%"%j%<!<%7%g%s$J$I$$$m$$$m$JJ,Ln$K4X78$7$F$$$k(B.

$B8=:_$N4X?t0lMw$O0J2<$N$H$*$j(B.
{\small
\begin{verbatim}
base_cancel             poly_factor
base_choose             poly_gcd
base_flatten            poly_grobner_basis
base_intersection       poly_hilbert_polynomial
base_memberq            poly_initial
base_permutation        poly_initial_coefficients
base_position           poly_initial_term
base_prune              poly_solve_linear
base_replace            print_dvi_form
base_set_minus          print_em
base_set_union          print_gif_form
base_subsetq            print_input_form
base_subsets_of_size    print_open_math_tfb_form
dsolv_dual              print_open_math_xml_form
dsolv_starting_term     print_output
glib_line               print_ox_rfc100_xml_form
glib_open               print_png_form
glib_plot               print_terminal_form
glib_print              print_tex_form
glib_putpixel           print_tfb_form
glib_tops               print_xdvi_form
glib_window             print_xv_form
gnuplot                 sm1
gnuplot_heat            sm1_ahg
gnuplot_output          sm1_appell1
gnuplot_plot_dots       sm1_appell4
gnuplot_plot_function   sm1_auto_reduce
gnuplot_start           sm1_bfunction
hilbert_polynomial      sm1_deRham
m_rtostr                sm1_distraction
m_start                 sm1_gb
m_tree_to_string        sm1_generalized_bfunction
matrix_clone            sm1_genericAnn
matrix_det              sm1_gkz
matrix_diagonal_matrix  sm1_hilbert
matrix_eigenavalues     sm1_mul
matrix_identity_matrix  sm1_push_int0
matrix_inner_product    sm1_rank
matrix_inverse          sm1_reduction
matrix_kernel           sm1_restriction
matrix_list_to_matrix   sm1_saturation
matrix_matrix_to_list   sm1_slope
matrix_rank             sm1_start
matrix_solve_linear     sm1_syz
matrix_submatrix        sm1_wTensor0
matrix_transpose        sm1_xml_tree_to_prefix_string
om_start                tigers
om_xml                  util_filter
om_xml_to_cmo           util_find_and_replace
ox_check_errors2        util_find_substr
ox_sm1_forAsir          util_load_file_as_a_string
phc                     util_part
phc_start               util_read_file_as_a_string
plucker_relation        util_remove_cr
poly_degree             util_write_string_to_a_file
poly_elimination_ideal
\end{verbatim}
}
$B3F4X?t$N%^%K%e%"%k$O(B \\
{\small \tt 
http://www.math.kobe-u.ac.jp/OpenXM/1.2.2/doc/asir-contrib/html-en/cman-en\_toc.html}


\rightline{$B3+H/(B: $BLnO$(B, $BCf;3(B, $B9b;3(B}

\section{$B%5!<%P$N?7$7$$?t3X4X?t(B}

1.2 $B7O$G$O$^$@?7$7$$%5!<%P$N@\B3:n6H$r$*$3$J$C$F$$$J$$(B.
$B6a$$$&$A$KB?LLBN$N4v2?(B (polymake, cdd), 
3D $B%0%i%U%#%C%/%94XO"$N%5!<%P(B (3D Java, JavaView)
$B$N@\B3$rM=Dj$7$F$$$k(B.

\noindent
{\tt ox\_asir} $B$K$O<!$N?7$7$$?t3XE*5!G=$,2C$o$C$?(B($BLnO$(B).
\begin{enumerate}
\item $BM-8BBN$G$N0x?tJ,2r(B ({\tt OpenXM\_contrib2/asir2000/engine/Fgfs.c}).
\end{enumerate}

\noindent
{\tt ox\_sm1} $B$K$O<!$N?7$7$$?t3XE*5!G=$,2C$o$C$?(B($B9b;3(B).
\begin{enumerate}
\item Granger-Oaku $B$N(B Tangent Cone $B%"%k%4%j%:%`$N<BAu$N$?$a(B
$B2r@OE*HyJ,:nMQAG4D$K$*$1$kF1<!2=$r<BAu(B
({ring\_of\_differential\_operators, weightHomogenization},
{\tt OpenXM/src/kan96xx/Kan/poly3.c}).
\item M.J.Ucha $B$N?7$7$$(B b-$B4X?t%"%k%4%j%:%`$N<BAu$N$?$a(B,
$B$"$kHyJ,:9J,:nMQAG4D$r<BAu(B
({\tt ring\_of\_differential\_difference\_operators}).
\end{enumerate}


\section{ fb --- $BD64v2?4X?t%G%8%?%k8x<0=8$H(B OpenMath }

OpenXM $B$G$O%3!<%I%M!<%`(B fb $B$G(B
$BD64v2?4X?t$N%G%8%?%k8x<0=8$r8&5f$7$F$$$k(B.
fb $B$O(B 1.2 $B7O$NL\6L$H$$$($k%b%8%e!<%k$G$"$k(B.
$B?t3X8x<0=8$N8&5f$O$?$H$($PF|K\$G$O(B, 1980 $BG/Be8eH>$N:4!9LZ$i$N8&5f(B
$B$,@h6nE*$G$"$k(B \cite{sasaki}. 
$B$3$N8&5f$G$O?t<0$N8!:wK!(B, $B?t<0$N8x<0=8$K$h$k=q$-49$((B,
$B$*$h$S$=$l$KE,$7$?%G!<%?9=B$$,8&5f$5$l$?(B.
$B$5$i$K4dGH8x<0=8$r$b$H$K<B:]$N%G%8%?%k8x<0=8$r:n@.$7$?$,(B, 
$BCx:n8"$NLdBj$,$"$j(B, $B8x3+$5$l$F$$$J$$(B.
$B$3$NN.$l$r$/$_(B, $B$5$i$K(B OpenMath $B$N(B XML $B$G8x<0$rI=8=$9$k8&5f$,(B
$B?91J(B, $BB<>e(B, $BLnED(B \cite{noda-murakami} $B$K$h$j:G6a?JE8$7$F$$$k(B.

OpenXM $B$N(B fb $B%W%m%8%'%/%H$G$O(B, 
$B<!$N;kE@$+$i%G%8%?%k8x<0=8$N@_7W<BAu$r$*$3$J$C$F$$$k(B.

\begin{enumerate}
\item Web $B%Y!<%9$N(B Interactive $B$J5!G=$NDs6!(B.
\item $B8x<0$N?t3XE*0UL#$d;29MJ88%$J$I$N>pJs$r5!3#2DFI7A<0$G(B
      $BJ];}$G$-$k8x<0=8(B.
\item $B$5$^$6$^$J?t3X35G0$K=@Fp$KBP1~$G$-$k8x<0=8(B.
\item XML $B$N5!G=$r%U%k$K@8$+$7$?8x<0=8(B.
\item $BCx:n8"$NLdBj$,$J$$8x<0=8(B.
\item $BF~NO%_%9$NH/8+$rJd=u$9$k5!G=(B.
\end{enumerate}

$B0J2<$K$o$l$o$l$N@_7W$N35MW$r5-$9(B.
\begin{enumerate}
\item A.Cohen $B$i$N(B Interactive Math Book $B$N%?%0(B(Eindhoven tag library)
      $B$rMQ$$$F(B, Interactive $B$J5!G=$r5-=R$9$k(B \cite{cohen}.
      Interactive $B5!G=$O8x<0=8$K$H$j=EMW$G(B, 
      $B$?$H$($P8x<0$r;2>H$9$k$H$-$KJQ?t$NCV$-49$($OJXMx$G$"$k(B.
\item DocBook \cite{docbook} $B$*$h$S(B OpenMath \cite{openmath}
     $B$N(B XML $B%?%0$r3HD%$7(B,
     formula $B$r(B $B%H%C%W%N!<%I$H$9$kFH<+$N%?%0$r$$$/$D$+Dj5A$7$?(B.
     $B$3$l$i$r$^$H$a$F(B fb XML $B%?%0%;%C%H$H$h$s$G$$$k(B.
     $BD64v2?4X?t$K4XO"$9$k(B OpenMath Content Dictionary $B$,B8:_$7$J$$$?$a(B,
     $B<+J,C#$G(B CD hypergeo0, hypergeo1, hypergeo2, hypergeon0, hypergeon1,
     hypergeon2, weylalgebra1 $B$r3+H/$7$?(B
     (OpenMath CD $B$N(B contrib $B$r;2>H(B \cite{openmath}).  
     $B$3$l$K$h$j(B, $B8x<0$N?t3XE*0UL#$d;29MJ88%$J$I$N>pJs$r5!3#2DFI7A<0$G(B
     $BJ];}$G$-$k$h$&$K$J$C$?(B.
     %A.Cohen $B$i$N(B Interactive Math Book $B$N%W%m%8%'%/%H$b(B
     %DocBook $B$H(B OpenMath $B$N%?%0$r3HD%$9$k7A$G(B
     %$B8&5f$7$F$$$k(B \cite{cohen}.
\item OpenMath $B$N(B XML $B$H(B Content Dictionary $B$O(B
      $B$5$^$6$^$J?t3X35G0$K=@Fp$KBP1~$G$-$k;EAH$_$G$"$k(B.
      $B$?$H$($PA05-$N(B
      $BD64v2?4X?t$K4XO"$9$k(B Content Dictionary $B$r$b$H$K9b;3$O(B
      1 $B<!85$N@QJ,O)$rI=8=$9$k(B Content Dictionary intpath1 
      $B$rDj5A$7(B, $B$3$N(B Content Dictionary $B$OG$0U$N(B 1 $B<!85$N@QJ,O)$r(B
      $BI=8=$G$-$k$3$H$r(B twisted (co)homology $B$NM}O@$rMQ$$$F>ZL@$7$?(B.
\item fb $B$G$O(B DOM $B$d(B XSL $B$J$I(B XML $B$N5!G=$r%U%k$K@8$+$7(B
      $B8x<0=8$r<BAu$7$?(B.  XML $B$N5!G=$,(B $B%G%8%?%k8x<0=8$K$b(B
      $BM-8z$G$"$k$3$H$r3NG'$7$?(B.  $B?^(B \ref{figure:fbcom} $B$N(B
      $B3F%3%^%s%I$O<g$K(B Java $B$G<BAu$5$l$F$$$k(B.
%%Comment: $B$G$b?t<0$N3g8L$N>JN,$N=hM}$OLLE](B.
\item fb $B$G$O(B 19$B@$5*(B, 20 $B@$5*$ND64v2?4X?t$N%*%j%8%J%kO@J8$r$b$H$K(B 
      tfb $B$H$$$&8@8l$r(B
      $B$b$A$$$FF~NO$r$*$3$J$C$F$*$j(B, $BCx:n8"$NLdBj$,$J$$(B.
      tfb $B$O(B OpenMath $B%*%V%8%'%/%H$rI=8=$9$k$?$a$N8@8l$G$"$k(B.
      OpenMath $B%W%m%8%'%/%H$G$O(B OpenMath $B%*%V%8%'%/%H(B $B$rF~NO$9$k$?$a$N(B
      RIACA CD Editor($B%*%i%s%@(B) $B$d(B STAR/MathWriter (Stilo Technology)
%%Pic: coq-starts.jpg 
      $B$J$I$N(BGUI $B7?$N%W%m%0%i%`$,8&5f$5$l$F$$$k(B.
      $B$3$N(B tfb $B$O(B
      OpenMath $B%*%V%8%'%/%H$N87L)$JF~NO$,MF0W$G$"$k$N$rFCD'$H$7$F$$$k(B.
\item $B8x<0$NF~NO$K$O%_%9$,$D$-$b$N$G$"$k(B.
      fb $B$G$O(B, $B?tCM7W;;$r$b$A$$$FL@$i$+$J8m$j$r8!=P$9$k;EAH$_$rDs6!$7$F$$$k(B.
      $B$3$N;EAH$_$G$O(B OpenXM $BHG$N(B mathematica $B$*$h$S(B asir $B%5!<%P(B
      $B$*$h$SA0=R$N(B OpenXM online $B$rMQ$$$F$$$k(B.
\end{enumerate}
$B$J$*(B, (2) $B!A(B (6) $B$O%G%8%?%k8x<0=8$H$7$F?7$7$$;n$_$G$"$k(B.

\begin{figure}[tb]
\begin{tabular}{|l|l|}
\hline
fb XML  & DocBook $B%?%0(B(Top), OpenMath $B%?%0(B, MathBook $B%?%0(B, 
              formula $B%?%0(B($BFH<+(B)  \\ \hline
fb (tfb) XML  & 
              DocBook $B%?%0(B(Top), tfb $B%?%0(B($BFH<+(B) , MathBook $B%?%0(B, 
              formula $B%?%0(B($BFH<+(B),         \\ \hline
fb (formula) XML  & 
              formula $B%?%0(B(Top, $BFH<+(B), OpenMath $B%?%0(B, 
              DocBook $B%?%0(B ($B0lIt(B) \\ \hline
fb (formula,tfb) XML  & 
              formula $B%?%0(B(Top, $BFH<+(B), tfb $B%?%0(B($BFH<+(B), 
              DocBook $B%?%0(B ($B0lIt(B) \\ \hline
\end{tabular}
\caption{ fb XML $BJ8=q$N%P%j%(!<%7%g%s(B}
\end{figure}

\begin{figure}[tb]
\begin{tabular}{|l|l|}
\hline
{\tt tfb2fb.sh}  &  fb (tfb) XML $BJ8=q(B 
                    $B$r(B fb XML $BJ8=q$XJQ49(B \\ \hline
                 &  fb (formula,tfb) XML $BJ8=q(B 
                    $B$r(B fb (formula) XML $BJ8=q$XJQ49(B \\ \hline
{\tt tfb2ocd.sh}  &  ($B8_49@-$N$?$a;D$7$F$"$k(B) \\ \hline
{\tt fb2tex.sh}  &  fb XML $BJ8=q$h$j(B LaTeX $B$X$NJQ49(B \\ \hline
{\tt ocd2tex.sh}  &  ($B8_49@-$N$?$a;D$7$F$"$k(B) \\ \hline
{\tt formula2tex.sh} & fb (formula) XML $BJ8=q$h$j(B LaTeX $B$X$NJQ49(B \\ \hline
{\tt asir2tfb.sh} &  asir $B7A<0$+$i(B tfb $B7A<0$X$NJQ49(B \\ \hline
{\tt tfb2asir-check*.sh} & fb (formula,tfb) XML $BJ8=q(B $B$h$j(B 
                           asir checker $B$X(B.\\ \hline
{\tt tfb2math-check.sh} &  fb (formula,tfb) XML $BJ8=q(B $B$h$j(B
                           Mathematica checker $B$X(B.\\ \hline
\end{tabular}
\caption{ fb $B$NJQ49%3%^%s%I(B($B0lIt(B)}
\label{figure:fbcom}
\end{figure}



$B<!$O(B fb (formula,tfb) XML$BJ8=q$NNc(B ({\tt fb/formula/h21-0060.tfb}).
{\small
\begin{verbatim}
<?xml version="1.0" encoding="ISO-2022-JP"?>
<?xml-stylesheet type="text/xsl" href="fb.xsl"?>
<formula>
  <tfb>
    2 ~arith1.times~ arith1.root(nums1.pi,2)
      ~arith1.times~ hypergeo0.gamma(a ~arith1.plus~ b ~arith1.plus~
        (1 ~arith1.divide~ 2))
      ~arith1.divide~ hypergeo0.gamma(a ~arith1.plus~ (1 ~arith1.divide~ 2))
      ~arith1.divide~ hypergeo0.gamma(b ~arith1.plus~ (1 ~arith1.divide~ 2))
      ~arith1.times~ hypergeo1.hypergeometric2F1(a,b,1 ~arith1.divide~ 2,x)
    ~relation1.eq~
    (hypergeo1.hypergeometric2F1(2 ~arith1.times~ a, 2 ~arith1.times~ b,
      a ~arith1.plus~ b ~arith1.plus~ (1 ~arith1.divide~ 2),
      1 ~arith1.plus~ arith1.root(x,2) ~arith1.divide~ 2)
      ~arith1.plus~
      hypergeo1.hypergeometric2F1(2 ~arith1.times~ a, 2 ~arith1.times~ b,
        a ~arith1.plus~ b ~arith1.plus~ (1 ~arith1.divide~ 2),
        1 ~arith1.minus~ arith1.root(x,2) ~arith1.divide~ 2));
  </tfb>

  <editor> Yasushi Tamura </editor>

  <description>
    Quadratic transformation of independent variable
  </description>

  <reference linkend="goursat1"  page="118"/>

  <evidence checker="Mathematica">
    @@ /. {a->1/2,b->3/5,c->-2/11,x->0.2}
  </evidence>

</formula>
\end{verbatim}
}

%% Prog:  tfb-addtex ../../formula/h21-0060.tfb
%%  tfb2fb.sh <../../formula/h21-0060.tfb-auto-tex.tfb | formula2tex.sh >t.tex
%%  platex t
$B$3$N8x<0$r(B
TeX $B$X$NJQ49%D!<%k$G%W%l%<%s%F!<%7%g%s7A<0$KJQ49$7$?$b$N$O(B
\begin{center}$ {\frac{2\,{\sqrt{\pi }}\,\Gamma ({\frac{1}{2}} + a + b)\,{}
_2 F_1 (a,b,{\frac{1}{2}},x)}{\Gamma ({\frac{1}{2}} + a)\,\Gamma ({\frac{1}{2}} 
+ b)}} = {}_2 F_1 (2\,a,2\,b,{\frac{1}{2}} + a + b,{\frac{1 - {\sqrt{x}}}{2}}) +
 {}_2 F_1 (2\,a,2\,b,{\frac{1}{2}} + a + b,{\frac{1 + {\sqrt{x}}}{2}}) $\end{center}
$B$3$N8x<0$O(B 1881 $BG/$N(B E.Goursat $B$NO@J8$K5-:\$5$l$F$$$k(B
$BD64v2?4X?t$NFHN)JQ?t$NJQ498x<0$G$"$k(B.


\rightline{$B3+H/%A!<%U(B: $BEDB<(B}
\rightline{$B3+H/(B: $BEDB<(B, $B9b;3(B}
\rightline{$B8x<0JT=8%a%s%P!<(B:$BEDB<(B, $B9b;3(B,$BCf;3(B,$BF#F2(B,$BD9C+@n(B}

\section{ OpenXM $B4XO"$N=PHGJ*(B }

OpenXM 1.2 $B0J9_$K=PHG$5$l$?;qNA$N%j%9%H(B:
\begin{enumerate}
\item \cite{noro} $B$G$O(B Risa/Asir $B$NFbIt9=B$$N35MW$d(B Risa/Asir $B$N(B OpenXM $B$X$N(B
$BBP1~>u67$,2r@b$7$F$"$k(B.
\item \cite{asir-book} $B$OF|K\8l$K$h$k(B Risa/Asir $B%W%m%0%i%_%s%0$NF~Lg=q$G$"$k(B.
OpenXM $B$rMQ$$$?4JC1$JJ,;67W;;$X$NF~Lg$N>O$,$"$k(B.
\item OpenXM $B$NCfCG5!G=(B, $B6%Ah7W;;(B, $B$J$I$K$D$$$F$NC;$$%S%G%*(B.
\end{enumerate}

\bigbreak

$B0J>e(B OpenXM 1.2.2 $B$N?75!G=$r35@b$7$?(B.
$B>\$7$/$O(B {\tt http://www.openxm.org} $B$N(B CVS-web $B$rMQ$$$F%=!<%9%3!<%I(B
$B$NJQ99MzNr(B
$B$*$h$S%3%_%C%H;~$N%3%a%s%H$r;2>H$5$l$?$$(B.

\begin{thebibliography}{99}
\bibitem{cohen}
A.Cohen, H.Cuypers, E.R.Barreiro, H. Sterk,
Interactive Mathematical Documents on the Web, 
edited by M.Joswig and N.Takayama:  
{\it Algebra, Geometry and Software Systems}, Springer,
289--308, 2003 (to appear).
%
\bibitem{docbook}
{\tt http://www.docbook.org}
%
\bibitem{fujimoto}
M.Fujimoto, M.Suzuki,
A Handwriting Interface to Various Computer Algebra Systems via
OpenXM Framework,  
Abstracts of
8th International Conference on Applications of Computer Algebra,
2002, Volos, Greece.
103--104.
%
\bibitem{openmath}
{\tt http://www.openmath.org}
%
\bibitem{openxm}
{\tt http://www.openxm.org}
%
\bibitem{rims-1199} $B>.86(B, $B9b;3(B, $BEDB<(B, $BLnO$(B, $BA0@n(B,
OpenXM 1.1.3 $B$N35MW(B,
$B?tM}8&9V5fO?(B 1199 (2001 $BG/(B 4 $B7n(B), 179--191.
%
\bibitem{ascm2001}
M.Maekawa, M.Noro, N.Takayama, Y.Tamura, K.Ohara, 
The Design and Implementation of OpenXM-RFC 100 and 101.
Computer Mathematics, Proceedings of the Fifth Asian Symposium
(ASCM 2001), edited by Shirayanagi and Yokoyama, World Scientific,
102--111, 2001.
%
\bibitem{noda-murakami}
$B?91J(B, $BB<>e(B, $BLnED(B, $B?t3X8x<0%G!<%?%Y!<%9$H(B G $B4X?t(B,
preprint.
%
\bibitem{noro}
M.Noro
Computer Algebra System: Risa/Asir,
edited by M.Joswig and N.Takayama:  
{\it Algebra, Geometry and Software Systems}, Springer,
147--162, 2003 (to appear).
%
\bibitem{openxm-rfc100}
M.Noro, N.Takayama,
Design and Implementation of OpenXM Client-Server Model 
and Common Mathematical Object Format (OpenXM-RFC 100). 1997, 2000. \\
{\tt http://www.math.sci.kobe-u.ac.jp/OpenXM/OpenXM-RFC.html} or
{\tt http://www.openxm.org}
%
\bibitem{asir-book}
$BLnO$(B, $B9b;3(B,  Risa/Asir $B%I%j%k(B,
{\tt http://www.math.kobe-u.ac.jp/Asir}
%%($BG[I[2A3J(B 1,000 $B1_(B ($BAwNAJL(B) or $BAwNA$N$_(B--- $B%"%s%1!<%H$K6(NO$N>l9g(B)
%
\bibitem{sasaki}
T.Sasaki, Y.Masunaga, Y.Saigusa, A.Abe, F.Motoyoshi, M.Sasaki,
Formula Database in Computer Algebra System GAL,
$B?tM}8&9V5fO?(B 663, $B72$HHyJ,J}Dx<0$N?t<0=hM}%7%9%F%`$N8&5f(B
(1988), 3--22.
%
\bibitem{solomon} A.Solomon, Distributed Computing for
Conglomerate Mathematical Systems,
edited by M.Joswig and N.Takayama:  
{\it Algebra, Geometry and Software Systems}, Springer,
309--326, 2003 (to appear).
\end{thebibliography}

\end{document}