Recipe
Test validity with the short method
Use when: an argument has too many letters for a comfortable full table, or its conclusion is a conditional, a disjunction or a negation that forces values quickly
Goal: a verdict: a contradiction (valid) or a checked countermodel (invalid)
Taught in The short method
Quick recipe
-
1
Write F under the conclusion and T under every premise.
Example
For P \to Q,\ Q \to R\ \therefore\ P \to R: the conclusion P \to R gets F; P \to Q and Q \to R get T.
Why: you are asking whether a row with true premises and a false conclusion can exist.
-
2
Start with the lines whose assumed value forces their parts, usually the conclusion. Copy each letter's value into every place the letter occurs.
Example
P \to R is F, so P = T and R = F. Then P \to Q is T with P = T, so Q = T.
Why: a forced value is one every possible countermodel must share, so nothing is lost.
-
3
Check each line against the values you now have.
Example
Q \to R is now T → F, which is F, but you assumed it T. Clash: the argument is valid.
- some letter or line must be both T and F — stop; no countermodel exists, so the argument is valid.
- every letter has a value and every line matches its assumption — stop; you have a countermodel, so the argument is invalid.
- nothing is forced and nothing clashes — go to the next step.
Why: the assumption was a countermodel, so its failure means there is none.
-
4
Choose an unsettled line and list the ways it can take its assumed value. Run steps 2–3 on each way separately.
Example
For P \to Q,\ Q \to P\ \therefore\ P \leftrightarrow Q, a false biconditional has two ways: P = T, Q = F, or P = F, Q = T. The first makes P \to Q false; the second makes Q \to P false. Both clash: valid.
- every case ends in a clash — valid.
- any case ends in a countermodel — invalid.
Why: the cases together cover every row that could be a countermodel.
-
5
Plug the values into every premise and the conclusion, one row only.
Why: a slip in propagation can produce a "countermodel" that isn't one.
Common mistakes
- Reading a clash as "invalid." A clash means the countermodel you assumed can't exist, so the argument is valid.
- Stopping after one case when a split had two or three.
- Forgetting to copy a letter's value into every line where it appears.
- Treating a true disjunction or a true conditional as if it forced both letters.