[prev in list] [next in list] [prev in thread] [next in thread] 

List:       spamassassin-users
Subject:    Re: OR NOT Logic
From:       Dan <a () patnode ! net>
Date:       2006-05-02 23:10:29
Message-ID: 42AAA10F-64BF-4DF4-B033-77D2A183A520 () patnode ! net
[Download RAW message or body]

Wow,

I must be confusing this with any/all is/isn't.  In various software  
(mail scripts, iTunes smart playlists, etc):

	any IS IS IS IS

	equals

	all NOT NOT NOT NOT


Dan



On May 2, 2006, at 15:11, Matt Kettler wrote:

> Russell Miller wrote:
>> On Tuesday 02 May 2006 14:59, Dan wrote:
>>> Is:
>>>
>>> A && (B || C || D || E || F)
>>>
>>> equivalent to?:
>>>
>>> A && (!B && !C && !D && !E && !F)
>
> No the two are NOT equivalent.
>
> The first statement will be true if A and any one of B-F is true.
>
> The second statement will be true if A and all of B-F are false.
>
> It would be true if you modified the second rule to be:
>
> A && !(!B && !C && !D && !E && !F)
>
>>>
>> I believe that's a fundamental logic rule, so yes.
>>
>> A && B == ~A || ~B
>
> No, that is not a fundamental logic rule. It is not even true, they  
> are in fact
> exact opposites of each other.
>
> I'm going to change the use of ~ to !, just to match the OP's  
> syntax of the NOT
> operation. ( A && B == !A || !B )
>
>
> Truth tables:
>
> A  B  (A && B) ( !A || !B)
> 0  0     0          1
> 0  1     0          1
> 1  0     0          1
> 1  1     1          0
>
>
>
> The correct rule is:
>
> !( A && B) == !A || !B
>
> It's called DeMorgan's theorem. Note the difference being that  
> there's negation
> on both sides.
>
> A  B  !(A && B) ( !A || !B)
> 0  0     1          1
> 0  1     1          1
> 1  0     1          1
> 1  1     0          0

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic