=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/cmo-basic1.tex,v retrieving revision 1.5 retrieving revision 1.10 diff -u -p -r1.5 -r1.10 --- OpenXM/doc/OpenXM-specs/cmo-basic1.tex 2000/01/24 07:36:35 1.5 +++ OpenXM/doc/OpenXM-specs/cmo-basic1.tex 2001/04/10 11:56:29 1.10 @@ -1,4 +1,4 @@ -%% $OpenXM: OpenXM/doc/OpenXM-specs/cmo-basic1.tex,v 1.4 2000/01/24 02:48:24 noro Exp $ +%% $OpenXM: OpenXM/doc/OpenXM-specs/cmo-basic1.tex,v 1.9 2000/09/12 23:09:18 noro Exp $ //&jp \section{ 数, 多項式 の CMO 表現 } //&eg \section{ CMOexpressions for numbers and polynomials } \label{sec:basic1} @@ -64,9 +64,11 @@ ZZ, QQ, Zero, Rational, Indeterminate,$\in$ CMObject/B \mbox{Zero} &:& ({\tt CMO\_ZERO}) \\ & & \mbox{ --- ユニバーサルな ゼロを表す. } \\ \mbox{ZZ} &:& ({\tt CMO\_ZZ},{\sl int32}\, {\rm f}, {\sl byte}\, \mbox{a[1]}, \ldots -{\sl byte}\, \mbox{a[m]} ) \\ +{\sl byte}\, \mbox{a[$|$f$|$]} ) \\ &:& \mbox{ --- bignum をあらわす. a[i] についてはあとで説明}\\ -\mbox{QQ} &:& ({\tt CMO\_QQ}, {\sl ZZ}\, {\rm a}, {\sl ZZ}\, {\rm b}) \\ +\mbox{QQ} &:& ({\tt CMO\_QQ}, + {\sl int32}\, {\rm m}, {\sl byte}\, \mbox{a[1]}, \ldots, {\sl byte}\, \mbox{a[$|$m$|$]}, + {\sl int32}\, {\rm n}, {\sl byte}\, \mbox{b[1]}, \ldots, {\sl byte}\, \mbox{b[$|$n$|$]})\\ & & \mbox{ --- 有理数 $a/b$ を表す. } \\ \mbox{Rational} &:& ({\tt CMO\_RATIONAL}, {\sl CMObject}\, {\rm a}, {\sl CMObject}\, {\rm b}) \\ & & \mbox{ --- $a/b$ を表す. } \\ @@ -84,9 +86,11 @@ ZZ, QQ, Zero, Rational, Indeterminate,$\in$ CMObject/B \mbox{Zero} &:& ({\tt CMO\_ZERO}) \\ & & \mbox{ --- Universal zero } \\ \mbox{ZZ} &:& ({\tt CMO\_ZZ},{\sl int32}\, {\rm f}, {\sl byte}\, \mbox{a[1]}, \ldots -{\sl byte}\, \mbox{a[m]} ) \\ +{\sl byte}\, \mbox{a[$|$m$|$]} ) \\ &:& \mbox{ --- bignum. The meaning of a[i] will be explained later.}\\ -\mbox{QQ} &:& ({\tt CMO\_QQ}, {\sl ZZ}\, {\rm a}, {\sl ZZ}\, {\rm b}) \\ +\mbox{QQ} &:& ({\tt CMO\_QQ}, + {\sl int32}\, {\rm m}, {\sl byte}\, \mbox{a[1]}, \ldots, {\sl byte}\, \mbox{a[$|$m$|$]}, + {\sl int32}\, {\rm n}, {\sl byte}\, \mbox{b[1]}, \ldots, {\sl byte}\, \mbox{b[$|$n$|$]})\\ & & \mbox{ --- Rational number $a/b$. } \\ \mbox{Rational} &:& ({\tt CMO\_RATIONAL}, {\sl CMObject}\, {\rm a}, {\sl CMObject}\, {\rm b}) \\ & & \mbox{ --- Rational expression $a/b$. } \\ @@ -185,7 +189,7 @@ stack machine commands for delayed evaluation. However it makes the implementation of stack machines complicated. It is desirable that CMObject is independent of OX stack machine. Therefore we introduce an OpenMath like tree representation for CMO -tree object. +Tree object. This method allows us to implement tree structure easily on individual OpenXM systems. Note that CMO Tree corresponds to Symbol and Application in OpenMath. @@ -212,19 +216,21 @@ It is the same as the Lambda expression in Lisp. (CMO_LIST,[size=]1, (CMO_TREE, (CMO_STRING, "plus"), (CMO_STRING, "basic"), (CMO_LIST,[size=]2, (CMO_INDETERMINATE,"x"), -//&jp (CMO_TREE,(CMO_STRING, "e"), 自然対数の底 -//&eg (CMO_TREE,(CMO_STRING, "e"), Napier's number - (CMO_STRING, "basic")) +//&jp (CMO_TREE,(CMO_STRING, "e"), 自然対数の底 +//&eg (CMO_TREE,(CMO_STRING, "e"), the base of natural logarithms + (CMO_STRING, "basic")) )) ) ) \end{verbatim} +//&jp Leave の成分には, 多項式を含む任意のオブジェクトがきてよい. +//&eg Elements of the leave may be any objects including polynomials. \noindent Example: \begin{verbatim} sm1> [(plus) (Basic) [(123).. (345)..]] [(class) (tree)] dc :: -Class.tree [ $plus$ , $Basic$ , [ 123 , 345 ] ] +Class.tree [ $plus$ , $basic$ , [ 123 , 345 ] ] \end{verbatim} @@ -551,7 +557,7 @@ $\in$ CMObject/RecursivePolynomial \\ \mbox{ Polynomial in 1 variable}\, | \, \mbox{Coefficient} \\ \mbox{RringDefinition} & : & \mbox{ {\sl List} v } \\ -& & \quad \mbox{ --- v は, 変数名(indeterminate) のリスト. } \\ +& & \quad \mbox{ --- v は, 変数名(indeterminate) または Tree のリスト. } \\ & & \quad \mbox{ --- 順序の高い順. } \\ \end{eqnarray*} */ @@ -581,7 +587,7 @@ $\in$ CMObject/RecursivePolynomial \\ \mbox{ Polynomial in 1 variable}\, | \, \mbox{Coefficient} \\ \mbox{RringDefinition} & : & \mbox{ {\sl List} v } \\ -& & \quad \mbox{ --- v is a list of names of indeterminates. } \\ +& & \quad \mbox{ --- v is a list of names of indeterminates or trees. } \\ & & \quad \mbox{ --- It is sorted in the decreasing order. } \\ \end{eqnarray*} */