# The Representation of Equations and Solutions

*Mathematica* treats equations as logical statements. If you type in an equation like , *Mathematica* interprets this as a logical statement that asserts that is equal to . If you have assigned an explicit value to , say , then *Mathematica* can explicitly determine that the logical statement is False.

If you have not assigned any explicit value to , however, *Mathematica* cannot work out whether is True or False. As a result, it leaves the equation in the symbolic form .

You can manipulate symbolic equations in *Mathematica* in many ways. One common goal is to rearrange the equations so as to "solve" for a particular set of variables.

Here is a symbolic equation.

Out[1]= | |

You can use the function

Reduce to reduce the equation so as to give "solutions" for

. The result, like the original equation, can be viewed as a logical statement.

Out[2]= | |

The quadratic equation can be thought of as an implicit statement about the value of . As shown in the example above, you can use the function Reduce to get a more explicit statement about the value of . The expression produced by Reduce has the form . This expression is again a logical statement, which asserts that either is equal to , or is equal to . The values of that are consistent with this statement are exactly the same as the ones that are consistent with the original quadratic equation. For many purposes, however, the form that Reduce gives is much more useful than the original equation.

You can combine and manipulate equations just like other logical statements. You can use logical connectives such as and to specify alternative or simultaneous conditions. You can use functions like LogicalExpand, as well as FullSimplify, to simplify collections of equations.

For many purposes, you will find it convenient to manipulate equations simply as logical statements. Sometimes, however, you will actually want to use explicit solutions to equations in other calculations. In such cases, it is convenient to convert equations that are stated in the form into transformation rules of the form . Once you have the solutions to an equation in the form of explicit transformation rules, you can substitute the solutions into expressions by using the operator.

Reduce produces a logical statement about the values of

corresponding to the roots of the quadratic equation.

Out[3]= | |

ToRules converts the logical statement into an explicit list of transformation rules.

Out[4]= | |

You can now use the transformation rules to substitute the solutions for

into expressions involving

.

Out[5]= | |

The function

Solve produces transformation rules for solutions directly.

Out[6]= | |