Re: ((a&&b)||c)==((a||c)&&(b||c))
- To: mathgroup at smc.vnet.net
- Subject: [mg62040] Re: [mg62015] ((a&&b)||c)==((a||c)&&(b||c))
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Wed, 9 Nov 2005 05:19:38 -0500 (EST)
- References: <200511090845.DAA17387@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 9 Nov 2005, at 17:45, Steven T. Hatton wrote:
> Why does Mathematica not determine that the following is true?
>
> ((a \[And] b) \[Or] c) == ((a \[Or] c) \[And] (b \[Or] c))
>
> This little function shows that the lhs and rhs have the same
> truth tables,
> and are therefore equivalent:
>
> TruthTable[s_, argc_] := Module[
> {tt = Tuples[{True, False}, argc]},
> {#, s @@ #} & /@ tt // TableForm
> ]
>
> --
> 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/
>
Because, (as I tried to explain in a reply to a recent posting of
yours) this is not the way == is used in Mathematica. The correct way
to show this is:
Implies[(a â?¨ c) â?§ (b â?¨ c),(a â?§ b) â?¨ c]//FullSimplify
True
Implies[(a â?§ b) â?¨ c,(a â?¨ c) â?§ (b â?¨ c)]//FullSimplify
True
Andrzej Kozlowski
- References:
- ((a&&b)||c)==((a||c)&&(b||c))
- From: "Steven T. Hatton" <hattons@globalsymmetry.com>
- ((a&&b)||c)==((a||c)&&(b||c))