pattern recognition



Hello,
is there something like 'pattern recognition' implement in MAXIMA.
A simple example, I have the function DIFF(f,x), which knows the rules 
for the derivation of products and quotients. Is it possible, that 
MAXIMA identifys the typ of f (product, quotient, composite)? How is the 
MAXIMA internal design of a function?
Thanks for help,
Martin

P.S.: I hope "pattern recognition" is the right word/translation, in 
german it is "Mustererkennung"