Hello there, I've tried the following in Maxima 5.9.0rc3: (C1) matchdeclare(u,freeof(x))$ (C2) matchdeclare(v,freeof(t))$ (C3) defmatch(pat1, u*v)$ v u partitions PRODUCT (C4) pat1(exp(x+t)); (D4) FALSE I'd expect [u=%E^t, v=%E^x] instead. -- A.Z.