NONCOM INDEX

NONCOM _ _ _ _ _ _ _ _ _ _ _ _ declaration

noncomdeclares that already-declared operators are noncommutative under multiplication.

syntax:

noncom<operator>{,<operator>}*

<operator> must have been declared an operator, or a warning message is given.

examples:


operator f,h; 

noncom f; 

f(a)*f(b) - f(b)*f(a); 

  F(A)*F(B) - F(B)*F(A) 


h(a)*h(b) - h(b)*h(a); 

  0 


operator comm; 

for all x,y such that x neq y and ordp(x,y)
        let f(x)*f(y) = f(y)*f(x) + comm(x,y);


f(1)*f(2); 

  F(1)*F(2) 


f(2)*f(1); 

  COMM(2,1) + F(1)*F(2)

The last example introduces the commutator of f(x) and f(y) for all x and y. The equality check is to prevent an infinite loop. The operator f can have other functionality attached to it if desired, or it can remain an indeterminate operator.