現在のQEシステムが扱える
原始論理式(論理記号を含まない論理式)は基本的には多項式についての方程式と不等式であり,これはQEの処理原理から来る制約です.ただし,実際のCASでは幾つかの拡張が見られ,RedLogの場合,デフォルトでは
x>a/b;
*****(greaterp x (quotient a b)) invalid as atomic formul
のように叱られますが,分数の入力に対してその分母をnon-zeroと見做すよう
on rlnzden;
とすると
x>a/b;
-a*b+b**2*x>0
と答えてくれます.しかし,このままでは
x>=a/b;
-a*b+b**2*x>=0
と答えるので,同値を保たせるよう
on rladdcond;
とすると
x>=a/b;
b<>0 and -a*b+b**2*x>=0
と答えてくれます.もちろん最初から分母を払った式を入力すればよいのですが,例えば
rlgsn( rlqe(all(x,x*(x+1)*(x+2)<>0 impl a/x+b/(x+1)+c/(x+2)=1/(x*(x+1)*(x+2)))) );
2*a - 1 = 0 and b + 1 = 0 and 2*c - 1 = 0
といった場合には便利でしょう.
なお有理式に限らず,一般に,他の変数の多項式環上で代数的な項についての方程式,不等式も,これまでの例にもあったように
y^2=x+1 and y>=0;
として変数を増やせば扱えます.