random

Bruce Sass bsass at freenet.edmonton.ab.ca
Mon Jun 4 15:33:46 EDT 2001


On Mon, 4 Jun 2001, Alex Martelli wrote:
> > A: (P implies (not D))
> > "Given a powerful army, I could not defeat Napolean"
> >
> > B: (not (P implies D))
> > "Having a powerful army would not ensure that I could..."
<...>
> > The difference is that statement A is true if P is false,

Nope. You can not say anything if P is false.  If you know D is one
thing or the other you can transpose (Q->R == ~R->~Q) the relationship
and deduce something of P.

> > whereas statement B can only be true if P is true.

ditto

> > Therefore, statement B implies that P is false.

Try this instead...

Q implies R == not Q or R
not (Q or R) == not Q and not R
not not Q == Q
therefore B says...
not (P implies D) == not (not P or D) == P and not D

> I think I'm getting confused.  From the truth table above,
> AND for the immediately preceding statement, I would
> deduce the _opposite_ conclusion than yours, i.e., "B
> implies that P is _true_".  How do you get the "implies
> that P is _false_" instead?

A: P->~D == ~PvD == P&~D
B: P&~D

A and B say the same thing, namely...
P if, an only if, not D
i.e., P <-> not D
or, less succinctly,
P implies not D and not D implies P

So, neither statement implies anything about the other.
All you can deduce is that it takes a powerful army to defeat Napolean.


- Bruce





More information about the Python-list mailing list