Skip to content

Logical Operators (3.4.3): Incorrect usage of converse and contrapositive? #1187

Open
@sujaldev

Description

@sujaldev

Nit-picking but 3.4.3 says:

The reason and and or are like control flow structures is that they short-circuit. Not only does and return the left operand if it is false, it doesn’t even evaluate the right one in that case. Conversely (contrapositively?), if the left operand of an or is true, the right is skipped.

If we define the propositions: $p$ as "left operand is true" and $q$ as "right operand is evaluated", then

left operand if it is false, it doesn’t even evaluate the right one in that case

can be written as $\neg p \rightarrow \neg q$ and

if the left operand of an or is true, the right is skipped

can be written as $p \rightarrow \neg q$, which is neither the converse nor the contrapositive of $\neg p \rightarrow \neg q$, or am I missing something?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions