MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Why is NonCommutativeMultiply Protected?

  • To: mathgroup at
  • Subject: [mg82668] Why is NonCommutativeMultiply Protected?
  • From: Szabolcs Horvát <szhorvat at>
  • Date: Sun, 28 Oct 2007 03:56:58 -0500 (EST)

Why is NonCommutativeMultiply Protected?

Is it safe to redefine NonCommutativeMultiply?  Does it have any special 
built-in properties (apart from being Flat and OneIdentity)?  Is it used 
by any of the built-in functions?

NonCommutativeMultiply certainly does not evaluate to anything, but the 
same can be said about Rule[], which is not at all safe to redefine 
because: 1. It has some special properties (it affects scoping, it does 
not like Unevaluated[], etc.)  2. It is used together with functions 
such as Replace, and (most probably) built-in functions use it internally.

So is it safe to Unprotect[NonCommutativeMultiply] and attach 
definitions to it?  (I know that in certain situations one can use 
UpValues, but I would like to know the answer to this question.)


  • Prev by Date: Re: Default font does not look good
  • Next by Date: Re: Ordering function weird?
  • Previous by thread: how to draw a huffman tree
  • Next by thread: Re: Why is NonCommutativeMultiply Protected?