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: [mg62142] Re: ((a&&b)||c)==((a||c)&&(b||c))
  • From: "Steven T. Hatton" <hattons at globalsymmetry.com>
  • Date: Sat, 12 Nov 2005 03:32:39 -0500 (EST)
  • References: <200511090845.DAA17387@smc.vnet.net> <43721D94.9050307@wolfram.com> <dkv013$7ts$1@smc.vnet.net> <dl1juo$25$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

John Doty wrote:

> Steven T. Hatton wrote:
> 
>> On Wednesday 09 November 2005 11:02 am, Daniel Lichtblau wrote:
> 
>>>Equal does not do logical manipulations on its operands.
>> 
>> 
>> That's part of what I'm trying to understand. Mathamatica AFAIK takes
>> expressions and transforms them into the simplest form possible, and then
>> does pattern patching.
> 
> No, that's not what it does. There are a few transformations it does
> automatically, but they don't add up to anything like a transformation
> to "simplest form possible". 

I should have said "most specific form available".  That is, a symbol has
downvalues, and upvalues associated with it.  These are listed in
descending order of specificity according to some mechanism for determining
specificity which I do not understand.  The user can override this ordering
and assert the order of transformation rules if desired.  I acknowledge
that specificity and simplicity are not necessarily the same thing.

> The main difference is that Simplify[] won't apply LogicalExpand[]
> automatically. I suppose this would be hazardous if some symbols didn't
> represent booleans. However:
> 
> In[10]:= Simplify[((a && b) || c) == ((a || c) && (b || c)),
>    TransformationFunctions -> {Automatic, LogicalExpand}]
> 
> Out[10]= True
> 
> -jpd

That looks useful, but following what Daniel Lichtblau posted, it looks like
LogicalExpand isn't the whole answer either.  I believe I need a function
that performs Quine-McCluskey minimization in order to get a
'deterministic' biconditional.
-- 
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: Re: Plot Angle between Vectors
  • Next by Date: Re: Re: Re: integer solution
  • Previous by thread: Re: ((a&&b)||c)==((a||c)&&(b||c))
  • Next by thread: Re: ((a&&b)||c)==((a||c)&&(b||c))