I need symbolic comparisons of mathematical expressions. Symbolically, b is not the same as c. And to be verbose, since this seems like a difficult concept:
- Symbolically a is the same as a
- Symbolically b is the same as b
- Symbolically c is the same as c
- Symbolically a is different from b
- Symbolically a is different from c
- Symbolically b is different from c
- etc for all other letters I use in an expression
So I need some function in Mathematica to return False when comparing
Function[(a - b) + c, (a - c) + b]
The following comparison already works fine in Wolfram Alpha, it doesn't need Simplify[ ]
Equal[(a - b)/(c - d), (b - a)/(d - c)]
This may be because they are the same symbolic mathematical expression. When I give two different symbolic mathematical expressions, Wolfram Alpha tries to "solve" it, which you can see with this example:
Equal[(a - b)/(c - d), (a - b)/(d - c)]
I don't know what the function ToExpression actually does, but when I give Wolfram Alpha the following code:
Equal[ToExpression["(a-b)+c"],ToExpression["(c-b)+a"]]
It gets confused and tells me the meaning of the word equal. And actually, giving it the same input for both sides of the comparison again just gives me the definition of the word equal, which you can see with this:
Equal[ToExpression["(a-b)+c"],ToExpression["(a-b)+c"]]
By the way do you, or anyone else reading this, have Mathematica? I'm curious what Mathematica returns with my set of test cases, ie:
- Equal[(a-b)+c,(c-b)+a] : Expecting True, Wolfram Alpha returns True
- Equal[(a-b)+c,(a-c)+b] : Expecting False, Wolfram Alpha returns forms and solutions
- Equal[(a-b)/(c-d),(b-a)/(d-c)] : Expecting True, Wolfram Alpha returns True
- Equal[(a-b)/(c-d),(b-a)/(c-d)] : Expecting False, Wolfram Alpha returns forms and solutions
- Equal[(a-b)/((c-d)^(d-e)), (a-b)*((c-d)^(e-d))] : Expecting True, Wolfram Alpha returns True
- Equal[(a-b)/((c-d)^(d-e)), (a-b)*((d-c)^(e-d))] : Expecting False, Wolfram Alpha returns forms and solutions
- Equal[ToExpression["(a-b)+c"],ToExpression["(c-b)+a"]] : Expecting True, Wolfram Alpha defines the word "equal"
- Equal[ToExpression["(a-b)+c"],ToExpression["(a-c)+b"]] : Expecting False, Wolfram Alpha defines the word "equal"