Search code examples
mathlogicdiscrete-mathematicstruthtable

Can anybody explain the contrapositive


I'm trying to construct a contrapositive for the following statement: If A is 0 or B is 0, then A*B is 0.

Here is my attempt: If A*B is not 0, then A is not 0 or B is not 0.

The original statement is true, but the contrapositive is false since both A and B must be non-zero in order for A*B to be non-zero... am I doing something wrong?


Solution

  • Yes.

    The contrapositive of "If P then Q" is "If not Q, then not P".

    So the contrapositive of "If A is 0 or B is 0, then A*B is 0" is "If A*B is not 0, then not(A is 0 or B is 0)".

    And "not(A is 0 or B is 0)" is "A is not 0 and B is not 0", so the contrapositive should be "If A*B is not 0, then A is not 0 and B is not 0". Just what you expect :-)