例:独自の積分関数の定義
Mathematica におけるパターンの基本的な機能が導入されたので,これをほぼ完璧な例題に使ってみる.簡単な積分関数を Mathematica でどのように定義するかを見てみることにする.
数学的な見地からすると,積分関数は一連の数学的な関係によって定義される.パターンに関する変形規則を設定することで,これらの数学的な関係をきわめて直接的に Mathematica に実装することができる.
| 数学形式 | Mathematica における定義 |
 | integrate[y_+z_,x_]:=integrate[y,x]+integrate[z,x] |
( は に独立) | 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] |
積分関数の定義
以下で積分に線形性の関係

を実装する.
Plusの結合性により,総和の中にいくつの項があろうとも線形性の関係が機能する.
| Out[2]= |  |
これは,

が積分変数

に依存しない因子を取り出すようにする.
Mathematica は各積の各項が
FreeQの条件を満足するかどうか,すなわち取り出せるかどうかをテストする.
| Out[4]= |  |
これは,定数の積分

を与える.
| Out[6]= |  |
これは,

の積分の標準的な形式を与える.

ではなく

というパターンを使うことで,

という場合を含むようにする.
| Out[8]= |  |
| Out[9]= |  |
次は,線形関数の逆数の積分規則である.

いうパターンは,

の任意の線形関数を表す.
ここでは

も

もデフォルト値を取っている.
| Out[11]= |  |
次は,より複雑な例である.ここでは,

という記号が

にマッチしている.
| Out[12]= |  |
さらに多くの積分規則を加えることもできる.次は指数積分の規則である.