Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ((a&&b)||c)==((a||c)&&(b||c))

  • To: mathgroup at smc.vnet.net
  • Subject: [mg62054] Re: ((a&&b)||c)==((a||c)&&(b||c))
  • From: "Steven T. Hatton" <hattons at globalsymmetry.com>
  • Date: Thu, 10 Nov 2005 02:50:36 -0500 (EST)
  • References: <dksdln$h87$1@smc.vnet.net> <dkshui$jki$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Peter Pein wrote:


> But Mathematica does:
> 
> In[1]:= expr = ((a && b) || c) == ((a || c) && (b || c))
> Out[1]= ((a && b) || c) == ((a || c) && (b || c))
> In[2]:= LogicalExpand /@ expr
> Out[2]= True

However:

In[1]:= expr = ((a && b) || c) == (a || c) && (b || c);
LogicalExpand /@ expr
Out[1]:= ((a && b) || c) == (a || c) && (b || c)

I believe the reason Mathematica is having a hard time with this is because
the rules of combining logical operators cannot be expressed in terms of a
strict precedence hierarchy.  I particular the distributive laws:

(P && (Q || R)) <=> ((P && Q) || (P && R))
(P || (Q && R)) <=> ((P || Q) && (P || R))
-- 
The Mathematica Wiki: http://www.mathematica-users.org/
Math for Comp Sci http://www.ifi.unizh.ch/math/bmwcs/master.html
Math for the WWW: http://www.w3.org/Math/


  • Prev by Date: Re: ((a&&b)||c)==((a||c)&&(b||c))
  • Next by Date: Re: To be or not to be...
  • Previous by thread: Re: ((a&&b)||c)==((a||c)&&(b||c))
  • Next by thread: Re: Re: ((a&&b)||c)==((a||c)&&(b||c))