Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Recipe

Classify a formula as a tautology, contradiction, or contingency

Use when: you have a compound proposition and need to know whether it's always true, always false, or true on some rows and false on others

Goal: one of the three labels, backed by the formula's full truth table

Taught in Tautologies, contradictions, and contingencies

  1. 1

    Build the full truth table for the formula: count the atoms, list every row, then evaluate the formula on each one, following the truth-table recipe from the earlier section.

    Example

    For p \wedge \neg p, there's one atom, so two rows: at p=T, p \wedge \neg p = T \wedge F = F; at p=F, p \wedge \neg p = F \wedge T = F.

    Why: every row has to be checked, since a single untested row could contradict a guess made from only part of the table.

  2. 2

    Read down the finished column of results, watching for the moment a true and a false both appear somewhere in it.

    • a true row and a false row both appear — the formula is a contingency; the remaining rows can't change that.
    • every row checked so far shares the same value — keep reading until the last row, to confirm the value never changes.

    ⚡ Shortcut

    The instant the result column shows both a true and a false, stop reading immediately: the formula is already confirmed as a contingency.

    Why: finding one row of each value is already enough to rule out both tautology and contradiction, whatever the untested rows hold.

  3. 3

    Give the formula the label that matches its column: every value true, every value false, or a mix of both.

    Example

    The column for p \wedge \neg p from Step 1 is F, F, the same value on both rows, so it's a contradiction.

    • every row is true — the formula is a tautology.
    • every row is false — the formula is a contradiction.

    Why: this is exactly how the three categories are defined, so no check beyond the finished column is needed.

Common mistakes

  • Declaring a tautology after checking only some rows, missing a later row that comes out false.
  • Treating "true on most rows" as the same thing as "true on every row."
  • Confusing which label goes with always-true and which goes with always-false.
  • Continuing to read the whole table after already finding both a true and a false row.