1. A computer program product comprising: one or more computer-readable storage media having thereon computer-executable instructions that, when executed by one or more processors of a computing system, cause the computing system to perform the following to reduce and simplify symbolic expressions: access a data structure that represents a symbolic expression; access a representation of a match that represents a mathematical identity; determine whether the match meets each of the following constraints: (i) the match has an associative commutative operator; (ii) each variable in the match is used only once in the match, except for just one reaction variable that has a plurality of instances in the match, wherein a reaction variable is any variable that has a plurality of instances; and (iii) at least one instance in the match is not a direct argument of an associative commutative operator; invert the match around the reaction variable that has a plurality of instances in the match after accessing the data structure that represents the symbolic expression and in response to the act of determining, and only when each of constraints (i)-(iii) is satisfied; and apply the inverted match to the symbolic expression and thereby reducing the symbolic expression by reducing instances of only the reaction variable in the symbolic expression.