// laws and rules · Logical equivalence
Material implication_
The material implication law says the conditional p ⇒ q is equivalent to the disjunction ¬p ∨ q: “if p then q” is the same as “not p, or q”. This equivalence, a tautology, lets you eliminate the ⇒ operator from any formula and explains why an implication with a false antecedent is true.
Example
(p ⇒ q) ⇔ (¬p ∨ q)
What the variables mean
- ▸ p: “You order the set menu”
- ▸ q: “Dessert is included”
In plain words
“If you order the set menu, dessert is included” is equivalent to “either you don't order the set menu, or dessert is included”.
Truth table
| p | q | p ⇒ q | ¬p | ¬p ∨ q | (p ⇒ q) ⇔ (¬p ∨ q)★ |
|---|---|---|---|---|---|
| T | T | T | F | T | T |
| T | F | F | F | F | T |
| F | T | T | T | T | T |
| F | F | T | T | T | T |
Classification: Tautology · 4 rows
Statement
(p ⇒ q) ⇔ (¬p ∨ q). The conditional only promises something when p is true; if p is false the promise is not broken. That is exactly what ¬p ∨ q says: either p does not happen, or q holds.
It is called “material” because the classical conditional only looks at truth values, not at any causal or relevance link between p and q.
Why it is a tautology: reading the table
Row p = T, q = F: p ⇒ q is F (the promise is broken). ¬p is F and q is F, so ¬p ∨ q is F. They agree.
In the other three rows p ⇒ q is T. If p = F then ¬p = T and the disjunction is T; if p = T and q = T the disjunction is T thanks to q. The two columns are identical.
How it is used in proofs
It is the standard step for converting formulas to normal form: every ⇒ is replaced by ¬… ∨ …, then De Morgan and distributivity are applied.
It also proves the contrapositive and lets you view modus ponens as a disjunctive syllogism.
Examples
Programming: the rule “if the user is an admin they must have 2FA” is checked with `!isAdmin || has2FA`. Most languages have no implication operator, and this is how you write one.
Everyday: the rule “if there is class, attendance is taken” holds trivially during holidays: there is no class, so ¬p is true and nobody breaks the rule.
Relation to other laws
Negating both sides and applying De Morgan gives ¬(p ⇒ q) ⇔ (p ∧ ¬q): the negation of a conditional is “p and not q”, which is exactly the ⇏ operator.
Together with the definition of the biconditional it lets any formula be expressed using only ¬, ∧ and ∨.
Try it yourself
Edit the expression in the calculator and watch how every step of the table changes.
Open in the calculator →Related operators
Frequently asked questions
Why is an implication with a false antecedent true? ▼
Because p ⇒ q is equivalent to ¬p ∨ q, and if p is false then ¬p is true, which makes the disjunction true. A rule is not broken if it never fires.
Is material implication the same as causation? ▼
No. It only relates truth values. “If 2 + 2 = 5, then the Moon is made of cheese” is true in classical logic because the antecedent is false.
How do I write p ⇒ q in a programming language? ▼
As `!p || q`. It is the direct translation of this law.
