"Values for Symbols"
discussed how you can use transformation rules of the form
to replace symbols by values. The notion of transformation rules in Mathematica
is, however, quite general. You can set up transformation rules not only for symbols, but for any Mathematica
Probably the most powerful aspect of transformation rules in Mathematica
is that they can involve not only literal expressions, but also patterns
. A pattern is an expression such as
which contains a blank (underscore). The blank can stand for any expression. Thus, a transformation rule for
specifies how the function
argument should be transformed. Notice that, in contrast, a transformation rule for
without a blank, specifies only how the literal expression
should be transformed, and does not, for example, say anything about the transformation of
When you give a function definition such as
, all you are doing is telling Mathematica
to automatically apply the transformation rule
and "Transformation Rules and Definitions"
will explain in detail how to set up patterns and transformation rules for any kind of expression. Suffice it to say here that in Mathematica
all expressions have a definite symbolic structure; transformation rules allow you to transform parts of that structure.