RE:

*To*: mathgroup at smc.vnet.net*Subject*: [mg46412] RE:*From*: "David Park" <djmp at earthlink.net>*Date*: Tue, 17 Feb 2004 07:05:45 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Sasha, Definitely not a bug because pattern matching, not algebra, is involved. a + b // FullForm Plus[a, b] -1(a + b) // FullForm Plus[Times[-1, a], Times[-1, b]] -2(a + b) // FullForm Times[-2, Plus[a, b]] You could get something more to your liking by using the pattern (a + b) | Expand[k_.(a + b) testlist = {a + b, 2(a + b), 2(a + b) // Expand, -(a + b), -2(a + b), -2(a + b) // Expand, k(a + b), k(a + b) // Expand, k1 a + k2 b} {a + b, 2 (a + b), 2 a + 2 b, -a - b, -2 (a + b), -2 a - 2 b, (a + b) k, a k + b k, a k1 + b k2} FreeQ[#, (a + b) | Expand[k_.(a + b)]] & /@ testlist {False, False, False, False, False, False, False, False, True} David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ From: Oleksandr Pavlyk [mailto:pavlyk at phys.psu.edu] To: mathgroup at smc.vnet.net Just curious, is it to be considered a bug that In[1]:= FreeQ[-1 (a+b), a+b ] Out[1]= True and at the same time In[2]:=FreeQ[ -2 (a+b), a+b ] Out[2]= False I would appereciate community's opinion on the issue. Thank you, Sasha