1 | initial version |
Sage implements booleans,and answers to a"logical" query either by True
, which means that Sage can compute an equality, or False
, meaning that Sage cannot compute this equality. This does not mean that the result is false, only that Sage cannot prove it.
Contrast this with Maxima:
(%i8) declare(x,real,y,real,z,real);
(%o8) done
(%i9) is(abs(x-y)+abs(y-z)>=abs(x-z));
(%o9) unknown
Maxima implements "trinary logicals", i. e. a logical value can be true
(i. e. the result can be computed true), false
(the result can be cimputed false) or unknown
(the result cannot be computed).
HTH,
2 | No.2 Revision |
Sage implements booleans,and answers to a"logical" query either by True
, which means that Sage can compute an equality, or False
, meaning that Sage cannot compute this equality. This does not mean that the result is false, only that Sage cannot prove it.
Mathematica does the same:
sage: %%mathematica
....: P = Abs[x - y] + Abs[y - z] >= Abs[x - z]
....: Assuming[x \[Element] Reals && y \[Element] Reals && z \[Element] Reals, Re
....: duce[P]]
....:
Abs[x - y] + Abs[y - z] >= Abs[x - z]
Out[3]= Abs[y - z] >= -Abs[x - y] + Abs[x - z]
Contrast this with Maxima:
(%i8) sage: %%maxima
....: declare(x,real,y,real,z,real);
(%o8) ....: is(abs(x-y)+abs(y-z)>=abs(x-z));
....:
done
(%i9) is(abs(x-y)+abs(y-z)>=abs(x-z));
(%o9) unknown
Maxima implements "trinary logicals", i. e. a logical value can be true
(i. e. the result can be computed true), false
(the result can be cimputed false) or unknown
(the result cannot be computed).
HTH,