`subst', `psubst'
-----------------

subst(RAT[,VARN,RATN]*)

psubst(RAT[,VAR,RAT]*)
     :: RAT の VARN に RATN を代入 (N=1,2,... で左から右に順次代入する).

RETURN
     有理式

RAT RATN
     有理式

VARN
     不定元

   * 有理式の特定の不定元に, 定数あるいは多項式,
     有理式などを代入するのに用いる.

   * subst(RAT,VAR1,RAT1,VAR2,RAT2,...) は,
     subst(subst(RAT,VAR1,RAT1),VAR2,RAT2,...)  と同じ意味である.

   * 入力の左側から順に代入を繰り返すために,
     入力の順によって結果が変わることがある.

   * `subst()' は, `sin()' などの函数の引数に対しても代入を行う.
     `psubst()' は, このような函数を一つの独立した不定元と見なして, そ
     の引数には代入は行わない. (partial substitution のつもり)

   * Asir では, 有理式の約分は自動的には行わないため, 有理式の代入は,
     思わぬ計算時間の増大を引き起こす場合がある.
     有理式を代入する場合には, 問題に応じた独自の函数を書いて,
     なるべく分母,
     分子が大きくならないように配慮することもしばしば必要となる.

   * 分数を代入する場合も同様である.

     [0] subst(x^3-3*y*x^2+3*y^2*x-y^3,y,2);
     x^3-6*x^2+12*x-8
     [1] subst(@@,x,-1);
     -27
     [2] subst(x^3-3*y*x^2+3*y^2*x-y^3,y,2,x,-1);
     -27
     [3] subst(x*y^3,x,y,y,x);
     x^4
     [4] subst(x*y^3,y,x,x,y);
     y^4
     [5] subst(x*y^3,x,t,y,x,t,y);
     y*x^3
     [6] subst(x*sin(x),x,t);
     sint(t)*t
     [7] psubst(x*sin(x),x,t);
     sin(x)*t

