in reply to Optimize a generic boolean expression

RESULT = Fred&Teddy&(Fred|Teddy)|(Fred)&(John) RESULT now should contain RESULT = (Fred&John)|(Teddy&Fred&John)
This does not seem right to me, or am I wrong? What kind of precedence rules are you using between your boolean operators?