Implication (→, if–then): truth table and why a false antecedent makes it true
Implication, A -> B, read “if A then B”, is FALSE in exactly one case: A TRUE and B FALSE. When A is FALSE the implication is TRUE whatever B is, which is the part that surprises everyone once.
The table has three TRUE rows and one FALSE row, A = TRUE, B = FALSE. The second table below is NOT A OR B, and its column is identical: an implication is a promise, and a promise is broken only when its condition is met and its consequence fails. On the rows where A is FALSE the promise was never put to the test, so it stands; logicians call those cases vacuously true.
The parser accepts -> and →; the fat arrow => is rejected with a repair, because it means different things in different tools. Implication binds looser than AND, XOR and OR, so A OR B -> C is (A OR B) -> C, and a chain associates to the right: A -> B -> C is A -> (B -> C). A is the antecedent and B the consequent.
Three related implications are easy to confuse. The contrapositive NOT B -> NOT A is equivalent to A -> B; the converse B -> A and the inverse NOT A -> NOT B are not, and the worked examples show the rows on which they differ. In plain language, “A only if B” is A -> B (B is necessary for A) while “A if B” is B -> A (B is sufficient); the lesson on necessary and sufficient conditions drills the distinction, and the argument forms modus ponens and modus tollens are the valid ways to use an implication.
Accepted spellings
-> →
a -> ba -> ba → ba → bA → B: A -> B
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | TRUE |
| 1 | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
Beginnerf is true exactly when the following holds: if A is true, then B is true.
In every other case, f is false.
About the operators:
- An “if … then” condition only constrains the case where its “if” part holds: when the “if” part is false, the condition is satisfied whatever the “then” part is. It does not say the reverse.
Intermediatef is true exactly when the following holds: if A is true, then B is true.
In every other case, f is false.
Advancedf is true exactly when the following holds: if A is true, then B is true [material implication →].
In every other case, f is false.
Formal notation: A → B
Rewritten as NOT A OR B: NOT A OR B
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | TRUE |
| 1 | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
Beginnerf is true exactly when A is false or B is true (or both).
In every other case, f is false.
About the operators:
- OR is inclusive: it is true when at least one part is true, including when several are.
- NOT reverses a value: true becomes false and false becomes true.
Intermediatef is true exactly when A is false or B is true (or both).
In every other case, f is false.
Advancedf is true exactly when A is false or B is true (or both) [inclusive disjunction ∨].
In every other case, f is false.
Formal notation: ¬A ∨ B
The common slip
Reading A -> B as “A and B” or as “B causes A”. The table says only that the case A TRUE, B FALSE is excluded. Nothing is claimed when A is FALSE, and nothing is claimed about B being true for any reason other than A.
Questions
Why is an implication with a false antecedent true?
Because the alternative is worse. If A -> B were FALSE whenever A is FALSE, then “if it rains the ground is wet” would be false on a dry day. The truth table of NOT A OR B is the one that makes the usual rules of reasoning, such as modus ponens, come out valid.
How do I write “A only if B”?
As A -> B: A can hold only when B does, so B is a necessary condition. “A if B” is the converse, B -> A. The equivalence checker shows that the two differ on the row A = TRUE, B = FALSE.
Related
Guides
Worked examples that use it
- Implication as NOT A OR B, verified
- Contrapositive: A → B is equivalent to NOT B → NOT A
- The converse slip: A → B is not B → A
- The inverse slip: A → B is not NOT A → NOT B
- Modus ponens: A → B, A, therefore B (valid)
- Modus tollens: A → B, NOT B, therefore NOT A (valid)
Laws
- Implication elimination: A → B = NOT A OR B, and the →E rule
- Biconditional elimination: the A ↔ B rewrite and the ↔E rule
- XNOR elimination: XNOR(A, B) = A ↔ B
Tools
- Truth table generator: any Boolean expression, up to 12 variables, with intermediate columns
- Logic circuit generator: Boolean expression to gate diagram (SVG)
See also
- Implication elimination: A → B = NOT A OR B, and the →E rule
- Biconditional (↔, if and only if): truth table and examples
- Implication as NOT A OR B, verified
- Contrapositive: A → B is equivalent to NOT B → NOT A
- The converse slip: A → B is not B → A
- The inverse slip: A → B is not NOT A → NOT B
- Modus ponens: A → B, A, therefore B (valid)
- A → B does not give B → A
- Necessary vs sufficient: “only if” is not “if”
- Arrow variants: => and <=> vs → and ↔, which means what
Operators and gates
Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.