Modus tollens: A → B, NOT B, therefore NOT A (valid)
Modus tollens: from A -> B and NOT B, conclude NOT A. The validity check holds on all four rows, with the premises jointly true only when both A and B are false.
If A then B; not B; therefore not A. This is the contrapositive put to work: an implication plus the failure of its consequent rules out its antecedent. The model has the premises p1, A -> B, and p2, NOT B, and the conclusion NOT A. The engine's reading of the conclusion is “A is false”. On the four-row table p1 is false only on row 2 and p2 is true only on rows 0 and 2.
The validity check holds: no admissible assignment makes every premise true and the conclusion false. The only row where both premises are true is row 0, A = FALSE, B = FALSE, and there the conclusion NOT A is true. The premise-consistency check holds with that same witness, A = FALSE, B = FALSE, so the argument is valid for a real reason and not vacuously. No counterexample exists, and the engine reports none.
Modus tollens is the shape of every diagnosis by elimination: if the disk were full the write would fail; the write succeeded; so the disk is not full. In testing it is the logic of a failing assertion: if the code were correct the test would pass; it did not; so the code is not correct. The thing to watch is the direction of the negation. Denying the antecedent instead, from A -> B and NOT A to NOT B, is invalid, and its page shows the row that refutes it.
p1 — A -> B · premisep2 — NOT B · premiseconclusion — NOT A · conclusion
Exact checks
Truth table (4 rows)
| # | A | B | p1 | p2 | conclusion |
|---|---|---|---|---|---|
| 0 | FALSE | FALSE | TRUE | TRUE | TRUE |
| 1 | FALSE | TRUE | TRUE | FALSE | TRUE |
| 2 | TRUE | FALSE | FALSE | TRUE | FALSE |
| 3 | TRUE | TRUE | TRUE | FALSE | FALSE |
Plain-language reading
BeginnerConclusion: A is false.
About the operators:
- NOT reverses a value: true becomes false and false becomes true.
IntermediateConclusion: A is false.
AdvancedConclusion: A is false [negation ¬].
Formal notation: ¬A
Logic diagram
The common slip
Confusing modus tollens with denying the antecedent. Both start from A -> B and a negation, but only negating the consequent licenses a conclusion. From NOT A nothing follows about B: the row A = FALSE, B = TRUE makes A -> B and NOT A true while NOT B is false.
Questions
Is modus tollens just modus ponens on the contrapositive?
Yes. A -> B is equivalent to NOT B -> NOT A, as the contrapositive page checks on all four rows, and applying modus ponens to that implication with the premise NOT B yields NOT A. The validity checker does not need the rewrite; it searches the table directly.
Related
Guides
Operators and gates
- NOT gate (inverter): truth table, symbol and the NOT operator
- Implication (→, if–then): truth table and why a false antecedent makes it true
Tools
- Truth table generator: any Boolean expression, up to 12 variables, with intermediate columns
- Argument validity checker: premises, conclusion, counterexample or proof
- Karnaugh map solver: 2 to 4 variables, groups, SOP and POS, don’t-cares from assumptions
See also
- Modus ponens: A → B, A, therefore B (valid)
- Denying the antecedent: A → B, NOT A, therefore NOT B (invalid)
- Contrapositive: A → B is equivalent to NOT B → NOT A
- Argument validity checker: premises, conclusion, counterexample or proof
- Valid argument in logic: meaning and examples
- Argument validity exercises with answers
Worked examples
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.