expand before simplification?



for a start, a rule tellsimp(a.b, ....)    cannot be used to match any 
dot product of 3 or more items.

next, turning simplification off around rule definitions is generally a 
bad idea, even though you will see examples of this,
when the "pattern" being defined either simplifies away to something 
else, or triggers an error.

If you want to define an operation that works for exactly and only 2 
arguments, you can define a new operator, say Dot( )
that does exactly that.  You may be able to use the built-in ".", but 
not if you ever use a.b.c  etc.


You can also experiment with tellsimpafter.

Good luck

RJF