Bug in pattern parsing?

*To*: mathgroup at smc.vnet.net*Subject*: [mg61996] Bug in pattern parsing?*From*: Kristjan Kannike <kkannike at physic.ut.ee>*Date*: Tue, 8 Nov 2005 03:41:36 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Hello, I may have discovered a bug in pattern parsing or applying transformation rules. The following two rules should be equivalent: rule1 = c_.*X_.Y_ -> X.Y with c an optional variable, and rule2 = c_.*Dot[X_, Y_] -> X.Y Yet applying rule1 on a.b as a.b/.rule1 gives 1.a.b (the same result obtains for the optional factor actually present as in const a.b), but a.b/.rule2 gives a.b as it should. I think that it has to do with the dot in c_., but curiously I get the same result when writing the LHS of rule1 as Optional[c]*Y.Z and that confuses me... Any thoughts? Kristjan Kannike <http://www.physic.ut.ee/~kkannike/english/>

**Follow-Ups**:**Re: Bug in pattern parsing?***From:*<bsyehuda@gmail.com>

**Re: Bug in pattern parsing?***From:*Andrzej Kozlowski <akoz@mimuw.edu.pl>