I'm trying out Mathematica as a replacement for LaTeX for typesetting math. It works very well, but I would like to take advantage of Mathematica's computer algebra capabilities as well. Specifically, instead of manually figuring out and typing the result of a transformation to an expression, I would like Mathematica to do it.
For example, suppose I am trying to prove that associativity of multiplication holds in the complex numbers. The first step might be the following:
(a+bi)((c+di)(e+fi)) = (a+bi)(ce + cfi + edi - df)
How can I automate this using transformation rules? I can do the following:
In: (a+bi)((c+di)(e+fi)) /. x_*(y_*z_)->x+y+z
Out: a + bi + c + di + e + fi
which works as expected, so the pattern is matching properly (I've tried various other simple transformations as well). However, the following does not work as expected:
In: (a+bi)((c+di)(e+fi)) /. x_*(y_*z_)->x*(Expand[y*z])
Out: (a+bi)(c+di)(e+fi)
What am I missing? Am I even on the right track, or is there a better way to accomplish this?
parenandmultthat look like parentheses and multiplication, but will not be treated as such by Mathematica. Then you can build up whatever transformations you want. – Xerxes Feb 26 at 1:24