Thanks to Eric in the previous post, I found that I could use Simplify along with Equal to find when two symbolic expressions are equal.
ie, Mathematica returns "True" when Mathematica considers them equal,
and returns a "function" when Mathematica considers them different.
I tested all of the following examples in Wolfram Cloud: Wolfram Mathematica.
Here are four examples where Mathematica returns expected results:
// Desired result: True, Mathematica result: True
Simplify[Equal[ToExpression["(a+b)-c"],ToExpression["(a-c)+b"]]]
// Desired result: False, Mathematica result: "b == c"
Simplify[Equal[ToExpression["(a-b)+c"],ToExpression["(a-c)+b"]]]
// Desired result: True, Mathematica result: True
Simplify[Equal[ToExpression["(a-b)/((c-d)^(d-e))"], ToExpression["(a-b)\*((c-d)^(e-d))"]]]
// Desired result: False, Mathematica result: "(a-b)*((c-d)^(-d+e)-(-c+d)^(-d+e)) == 0"
Simplify[Equal[ToExpression["(a-b)/((c-d)^(d-e))"], ToExpression["(a-b)\*((d-c)^(e-d))"]]]
However, I have found examples where Mathematica fails to correctly identify two symbolic expressions as equivalent.
Here are two such examples:
// Desired result: True, Mathematica result: "(a^b)^c == (a^c)^b"
Simplify[Equal[ToExpression["(a^b)^c"],ToExpression["(a^c)^b"]]]
// Desired result: True, Mathematica result: "(a^(b*c) == (a^b)^c"
Simplify[Equal[ToExpression["(a^b)^c"],ToExpression["(a^(b\*c)"]]]
1) Is there any way to get Mathematica to correctly interpret these inputs as equivalent?
2) Is there some mathematical assumption that I can adjust to fix the Equal check?
3) Is this a bug in Mathemtaica?
Thanks for any help anyone can provide.