Hi all,

I will use the following dummy example.

with function,f

f:=(xid,yid)->sum(x[i],i=1..xid)*sum(y[i],i=1..yid);

and a complicated term, myterm

myterm:=(f(3,4)+f(2,2))*f(1,1):

myterm:=expand(myterm);

'if' i have some previous knowledge, or know a bit of the term, i can find the structure by doing this

repar:=[f(1,1),f(2,2),f(3,4)]; # Or with more f(xid,yid) terms

tmp:=seq(repar[i]=ff[i],i=1..3);

simplify(myterm,{tmp}); # This is fine, gives me what i want

But, can we go further, and more 'obvious'

Given the fucntion f, same as before, and the same 'myterm'

can I have this

restart:

iwant:=(f(3,4)+f(2,2))*f(1,1); # as a result, straightforward

so I dont have to go back to 'repar' and find that the terms exactly are.

Thanks,