pattern matching



Hello,

I hope I can find an answer to a problem I am having.
I want to parse an expression looking for the pattern 'diff(func,t)' for a 
generic function 'func'.
I did the following:
(%i1) matchdeclare([arg,t],all);
(%o1) done

(%i2) defmatch(check,diff(arg,t));
(%o2) check

(%i3) depends(N,t);
(%o3) [N(t)]

(%i3) check(diff(N,t));
(%o3) false

so, my function check fails to recognize the pattern diff. however, with a 
generic function instead of diff, i get

(%i4) defmatch(check,function(arg,t));
(%o4) check

(%i4) check(function(N,t));
(%o4) [t=i,arg=N]

here it works, like with any other function i tried except idiff.
so, what's special with diff (and idiff)?

thanks for any suggestion, i am really stuck.

     Marcello

************************************************
*  Marcello Musso                              *
*  University of Texas at Austin               *
*  Department of Physics - Theory group        *
*  1, University Station C1608                 *
*  Austin, TX 78712-0269 - USA                 *
*  office phone: (512)-471-4108                *
*  VoIP phone: +39-02-303129852                *
************************************************