I should have mentioned that for what Jose needed, declare(F, additive)
works:
(%i9) declare(gg,additive)$
(%i10) gg(a+b,x);
(%o10) gg(b,x)+gg(a,x)
(%i11) gg(a,x+y);
(%o11) gg(a,y+x)
Barton
"Robert Dodier" <robert.dodier at gmail.com> wrote on 01/31/2008 09:56:01 AM:
> On 1/31/08, Barton Willis <willisb at unk.edu> wrote:
>
> > (%i42) declare(g,multiadditive)$
> >
> > (%i43) g(x+y,a+b);
> > (%o43) g(y,b)+g(y,a)+g(x,b)+g(x,a)
> >
> > (%i44) g(x+y+z,a+b);
> > (%o44) g(z,b)+g(z,a)+g(y,b)+g(y,a)+g(x,b)+g(x,a)
>
> Good heavens! Where is this hidden? ... Oh, it's in share/contrib.
> load(multiadditive) finds it. Thanks, Barton!
>
> Robert