Redefining the minus operator

• To: mathgroup at smc.vnet.net
• Subject: [mg52004] Redefining the minus operator
• From: Ben Kovitz <bkovitz at acm.org>
• Date: Sun, 7 Nov 2004 01:03:19 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```Is there a way in Mathematica to redefine the minus sign to stand for a

For example, I'd like to be able to do something like this:

In[1]:= Subtract[a_, b_] := MINUS[a, b]

In[2]:= FullForm[x - y]
Out[2]:= MINUS[x, y]

In[3]:= 1 - 0
Out[3]:= MINUS[1, 0]

What actually happens is:

In[2]:= FullForm[x - y]
Out[2]:= PLUS[x, Times[-1, y]]

In[3]:= 1 - 0
Out[3]:= 1

Naturally, I'd also like to redefine the plus sign, too.  When Plus[a_,
b_] is redefined as PLUS[a,b], then x + y indeed evaluates as PLUS[x,
y].  But Mathematica still simplifies if there are numbers in the
expression: FullForm[1 + 0] comes out as 1.

Ben Kovitz
Humboldt State University

```

• Prev by Date: Re: NotebookWrite[] question
• Next by Date: Re: Notebook output write to a different file