Skip to content

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

Does the conclusion follow from the premises? Yes · Exhaustively checked and solver cross-checked · 4 rows
Can all premises be true together? Yes Example assignment: A = F, B = F · Exhaustively checked and solver cross-checked · 1 rows

Truth table (4 rows)

Modus tollens: A → B, NOT B, therefore NOT A (valid)
#ABp1p2conclusion
0FALSEFALSETRUETRUETRUE
1FALSETRUETRUEFALSETRUE
2TRUEFALSEFALSETRUEFALSE
3TRUETRUETRUEFALSEFALSE

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

Modus tollens: A → B, NOT B, therefore NOT A (valid) Modus tollens: A → B, NOT B, therefore NOT A (valid) A B p1 p2 conclusion → NOT NOT
Modus tollens: A → B, NOT B, therefore NOT A (valid) Modus tollens: A → B, NOT B, therefore NOT A (valid) A B p1 p2 conclusion → NOT NOT

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

Tools

See also

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.