The nary declaration appears to stomp other declarations. I don't
believe that this should be the case. Leo.
(%i2) declare(f,symmetric);
(%o2) done
(%i3) f(f(x,y),z)-f(z,f(y,x));
(%o3) 0
(%i4) f(x,y)-f(y,x);
(%o4) 0
(%i5) declare(f,nary);
(%i6) f(x,y)-f(y,x);
(%o6) f(x,y)-f(y,x)
(%i7) kill(f);
(%i8) f(x,y)-f(y,x);
(%o8) f(x,y)-f(y,x)
(%i9) declare(f,antisymmetric);
(%i10) properties(f);
(%o10) [antisymmetric,"database info",kind(f,antisymmetric),noun]
(%i11) f(x,y)-f(y,x);
(%o11) 2*f(x,y)
(%i12) declare(f,nary);
(%o12) done
(%i13) f(x,y)-f(y,x);
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.