# [Maxima] bug in is()?

Stavros Macrakis macrakis at alum.mit.edu
Sun Jan 8 13:22:45 CST 2012

```No, is(equal(A,B)) compares for equality of *value*, while is(A=B) compares
for equality of *form*.

Some examples:

(%i25) apply('matrix,makelist([is(i[1]=i[2]),is(equal(i[1],i[2])),
i[1],i[2]],
i,
[[1,1.0],
[.5,1/2],
[(x-1)/x,1-1/x],
[(x-1)*(x+1),x^2-1],
[x,rat(x)],
[1+x,taylor(1+x,x,0,3)],
[1+x,taylor(1+x,x,1,3)]]));

(%o25) matrix([false,true,1,1.0],
[false,true,0.5,1/2],
[false,true,(x-1)/x,1-1/x],
[false,true,(x-1)*(x+1),x^2-1],
[true,true,x,x],                  << rat(x) is first
ratdisrep'ed
[true,true,x+1,1+x],              << taylor(x,...) is first
ratdisrep'ed
[true,true,x+1,2+(x-1)])          << general simplifier
converts 2+(x-1) to x+1 after ratdisrep

On Sun, Jan 8, 2012 at 14:08, Jan Hendrik Müller <
jan.mueller at math.uni-dortmund.de> wrote:

> Hi,
> the commands is() and is(equal()) evaluate differently:
> expand((x+1)*(x+2)*(x+3));
> -> x^3+6*x^2+11*x+6
> is(equal(x^3+6*x^2+11*x+6,(x+**1)*(x+2)*(x+3)));
> -> true
> is(x^3+6*x^2+11*x+6=(x+1)*(x+**2)*(x+3));
> -> false
> is this a bug in is()?
> Jan
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.math.utexas.edu/pipermail/maxima/attachments/20120108/d3658937/attachment.html>
```