Some Musings

Logical implication is a comparison operator

A note on notation

Ever notice that the notation for a ⇒ b looks awfully similar to a >= b, just with the symbols switched around? Well, they're the same thing. Let me explain.

The connection

Consider a statement x, like the weather is cloudy, and some other statement y, like it will rain. Now I claim that because it is cloudy it will rain, that is x ⇒ y.

So, with x ⇒ y, I'm saying if x is true, then y is also true. If we write this in boolean logic, we find all possible pairs of x and y to be valid except for x=1 and y=0. This means that only if x>y, then the statement is false. A simpler way to write this is that x ≤ y, which reveals the connection.

Implications

This is not just a gimmick. For example, it makes complex statements a lot easier to prove. Three examples:

Transitivity of implication

The statement if a implies b and b implies c then a implies c has a neat proof of boolean arithmetic by transitivity, taking a ≤ b and b ≤ c and concluding a ≤ c.

Denying the consequent

The statement if p implies q then not q implies not p can be rewritten into p ≤ q then 1-q ≤ 1-p which can be rewritten into the former (subtract 1, multiply by -1 which reorders the inequality)

Denying the antecedent

The false statement if p implies q then not p implies not q can be interpreted as p ≤ q then 1-p ≤ 1-q. In this framework, the statement can be more easily analysed to mean p ≤ q implies p ≥ q which is only true (by checking cases) if p = q or p > q, so the statement is equivalent to assuming the conclusion.

Errata

Thanks to Nicolas89 for raising an issue, the text read if p implies q then not p implies not q when it should have been if p implies q then not q implies not p in Denying the consequent.