Gross Bug in Simplify
- To: mathgroup at smc.vnet.net
- Subject: [mg32585] Gross Bug in Simplify
- From: "Alan Mason" <swt at austin.rr.com>
- Date: Wed, 30 Jan 2002 03:19:02 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
There is a destructive bug in Mathematica (v4.1, win2000) in which Simplify
misparses expressions m + n f[__], where m and n are numeric, as (m+n)
f[__]. One can only wonder how many other rule combinations, with or
without Simplify, are also faulty.
The following example is a stripped-down version of some rules for f =
Kronecker delta, which explains why the upvalue rule is needed. It is
specifically this rule that seems to be causing the problem with Simplify.
However, it's not the upvalue itself -- the problem remains if Power is
Unprotected and the rule is replaced by Power[f[u__], v_] :> f[u].
In[1]:=
Clear[f];
Simplify[1-f[4]]
f[u__]^v_ ^:= f[u];
Simplify[{1-f[4], 1 - 7 f[4], 1 + f[4], 1 - x f[4]}]
Out[2]=
1-f[4]
Out[4]=
{0,-6 f[4],2 f[4],1-x f[4]}
Doesn't WRI test all its built-in functions by running special diagnostic
code on them round the clock? It's hard to imagine how a bug like this
could have gone undetected!
Alan