[Math] Checking for validity using truth table (shortcut)

logicpropositional-calculus

I have the following:

p ⊃ (q ≡ r)

(q ≡ r) ⊃ p

∴ [(~p v q) · ( q ⊃ p) ≡ r

I'm trying to check for validity so I created a truth table to check:

Truth table

My understanding is that the argument is valid unless a single row has each of the premises true, but the conclusion false, then it is invalid. Given my table, I'm concluding that it is a valid argument. Is there a simpler way of doing this using truth tables (instead of having many columns)?

Best Answer

I don't know what people refer to when they speak of a "short method". For sure there are other methods to check the validity of an argument.

If you are in a logic that admits a completeness theorem (this is the case, for instance, of classical propositional and first-order logics, which are the logics used in our common reasoning and standard mathematics), then you can use a derivation system such as natural deduction or sequent calculus or Hilbert system to prove that an argument is valid, i.e. that the conclusion follows by necessity from the premises. A derivation system consists of a set of axioms and inference rules manipulating syntactically formulas in order to derive a conclusion from a given set of assumptions. The inconvenience of this syntactic approach is when you want to conclude that an argument is not valid: the fact that if you still haven't found a derivation from the premises to the conclusion doesn't guarantee that such a derivation doesn't exist, maybe it is just more tricky than you can imagine.


Another approach, equivalent to truth tables, to show that an argument is valid, is trying to find a situation where the premises are true and the conclusion is false: if there exists such a situation, then the argument is not valid; otherwise, the argument is valid. The inconvenience of this approach is that you have to consider all the possible situations (which amounts to check all the rows in a truth table), to conclude that an argument is valid. However, even though this method is strictly speaking the same as making truth tables, it can be "psychologically" more insightful and less boring.

Concretely, you start by setting the conclusion as false; this induces some truth values for the propositional variables occurring in the conclusion, which in turn can have consequences on truth values of the premises. Finally, you check if there is a case where all the premises are true. Let us see how does it work in your argument. The conclusion $((\lnot p \lor q) \land ( q \to p)) \leftrightarrow r$ is false if and only if

  1. either $((\lnot p \lor q) \land ( q \to p))$ is true and $r$ is false,

  2. or $((\lnot p \lor q) \land ( q \to p))$ is false and $r$ is true.

In case 1., $\lnot p \lor q$ and $q \to p$ are true, hence either $p$ and $q$ are both true, or $p$ and $q$ are both false. In the first sub-case, the first premise $p \to (q \leftrightarrow r)$ is false (since $r$ and hence $q \leftrightarrow r$ are false). In the second sub-case, the second premise $(q \leftrightarrow r)\to p$ is false (as $r$ is false and hence $q \to r$ is true).

In case 2., either $\lnot p \lor q $ or $q \to p$ is false, i.e. either $p$ is true and $q$ is false, or $p$ is false and $q$ is true. In the first sub-case, the first premise $p \to (q \leftrightarrow r)$ is false (as $r$ is true and hence $q \to r$ is false). In the second sub-case, the second premise $(q \leftrightarrow r)\to p$ is false (since $r$ and hence $q \leftrightarrow r$ are true).

We have considered all the cases where the conclusion $((\lnot p \lor q) \land ( q \to p)) \leftrightarrow r$ is true, and in all of them at least one premise is false. Therefore, it is impossible that all the premises are true and the conclusion is false, so the argument is valid. As you can see, this method is not always shorter or simpler than making truth tables (it depends on the argument), but it can be more enlightening and less boring.

Related Question