An Example: Defining Your Own Integration Function
Now that we have introduced the basic features of patterns in
Mathematica, we can use them to give a more or less complete example. We will show how you could define your own simple integration function in
Mathematica.
From a mathematical point of view, the integration function is defined by a sequence of mathematical relations. By setting up transformation rules for patterns, you can implement these mathematical relations quite directly in
Mathematica.
| mathematical form | Mathematica definition |
 | integrate[y_+z_,x_]:=integrate[y,x]+integrate[z,x] |
( independent of ) | integrate[c_y_,x_]:=c integrate[y,x]/;FreeQ[c,x] |
 | integrate[c_,x_]:=cx/;FreeQ[c,x] |
,  | integrate[x_^n_.,x_]:=x^(n+1)/(n+1)/;FreeQ[n,x]&&n!=-1 |
 | integrate[1/(a_.x_+b_.),x_]:=Log[ax+b]/a/;FreeQ[{a,b},x] |
 | integrate[Exp[a_.x_+b_.],x_]:=Exp[ax+b]/a/;FreeQ[{a,b},x] |
Definitions for an integration function.
This implements the linearity relation for integrals:

.
The associativity of
Plus makes the linearity relation work with any number of terms in the sum.
| Out[2]= |  |
This makes

pull out factors that are independent of the integration variable

.
Mathematica tests each term in each product to see whether it satisfies the
FreeQ condition, and so can be pulled out.
| Out[4]= |  |
This gives the integral

of a constant.
Now the constant term in the sum can be integrated.
| Out[6]= |  |
This gives the standard formula for the integral of

. By using the pattern

, rather than

, we include the case of

.
Now this integral can be done completely.
| Out[8]= |  |
Of course, the built-in integration function
Integrate (with a capital
I) could have done the integral anyway.
| Out[9]= |  |
Here is the rule for integrating the reciprocal of a linear function. The pattern

stands for any linear function of

.
Here both

and

take on their default values.
| Out[11]= |  |
Here is a more complicated case. The symbol

now matches

.
| Out[12]= |  |
You can go on and add many more rules for integration. Here is a rule for integrating exponentials.