What does it mean for two propositions to be logically equivalent? When two propositions are equivalent, we can swap out one for the other without changing any of the formal properties of an argument in which they appear. For example, consider the argument:
1. If Eddie Vedder is not the greatest vocalist in rock, then Chris Cornell is.
2. Eddie Vedder is not the greatest vocalist in rock.
Therefore, Chris Cornell is the greatest vocalist in rock.
This argument formalises, in truth-functional logic, to:
1. ¬p → q
2. ¬p
Therefore, q
But couldn’t we have equally expressed the argument in another way? What’s the difference between this argument and the following formulation:
1. Either Eddie Vedder or Chris Cornell is the greatest vocalist in rock.
2. Eddie Vedder is not the greatest vocalist in rock.
Therefore, Chris Cornell is the greatest vocalist in rock.
This has a different logical formalisation:
1. p ∨ q
2. ¬p
Therefore, q
Both arguments are logically valid. But when we see the sentence “If Eddie Vedder is not the greatest vocalist in rock, then Chris Cornell is“, can we always replace this with the alternative “Either Eddie Vedder or Chris Cornell is the greatest vocalist in rock” without changing the meaning of our argument? In other words, while the two sentences clearly have different logical formalisations, are they different yet equivalent formalisations?
We can find this out by asking whether ‘¬p → q’ is logically equivalent to ‘p ∨ q’. This can be a very powerful tool in proving theorems and rewriting arguments for clarity. Using the machinery of logical equivalence, we can replace a disjunction with a conditional (or vice versa), turn a conjunction of conditionals into a bi-conditional, a negated conjunction into disjunction of negations, and so on. We can even take very complex-looking and confusing claims and turn them into simpler ones. For instance, consider the formalisation:
¬(p ∨ ¬q) ∨ (¬p ∧ ¬q)
It will turn out that this convoluted expression is logically equivalent to (and so can be replaced by) ‘¬p’. Much neater.
Using the method of Truth Tables, we can formalise a way to discover whether two propositions are logically equivalent, and deploy this method to transform our claims into the most useful form to deploy them in arguments.
This guide will rely on concepts from the guides to logical formalisation, validity and soundness, and truth tables, so do read those and master the concepts involved first.
Defining truth-functional equivalence
We saw that we can use truth tables to work out the truth values of any proposition, for each possible allocation of truth values to its atomic propositions. Here’s the truth table for one such proposition, ¬(p → q):
p | q | (p → q) | ¬(p → q) |
T | T | T | F |
T | F | F | T |
F | T | T | F |
F | F | T | F |
This proposition claims that it’s not the case that p implies q. We know that the only circumstance where (p → q) is false is the case where p is true but q is false. So ¬(p → q) is true in just that case, as the truth table bears out. But notice what we’ve just said. Saying “It’s not the case that p implies q” is the same as saying “p is true and q is false”, because those two claims are true under precisely the same circumstances. We can make the truth table for “p is true and q is false” – or to formalise it, (p & ¬q):
p | q | (p & ¬q) |
T | T | F |
T | F | T |
F | T | F |
F | F | F |
Unsurprisingly, the truth table for (p & ¬q) is the same as for ¬(p → q). We can say that the two statements are equivalent: they are true under exactly and only the same circumstances. Their truth values are the same in every row of the truth table.
This could come in very handy. Suppose we have an argument which includes a premise like: “It’s not the case that if scientific realism is true, then the success of scientific theories is a miracle.” It might not be obvious what that means – it’s a little complex. But the logical form of that sentence is ¬(p → q), where p = “Scientific realism is true” and q = “The success of scientific theories is a miracle.” So, we know that the premise is equivalent to a proposition of the form (p & ¬q), as long as the values of p and q are kept the same. So our premise is equivalent to: “Scientific realism is true and the success of scientific theories is not a miracle.” This probably wasn’t obvious from the original statement of the premise! Now, if we want to demonstrate that our premise is true, we know we need to demonstrate (i) that scientific realism is true, and (ii) that the success of scientific theories is not a miracle. We know that because those are the only circumstances under which (p & ¬q) is true, and (p & ¬q) is equivalent to ¬(p → q), which is the logical form of our premise. So those are the only circumstances under which “It’s not the case that if scientific realism is true, then the success of scientific theories is a miracle” would be true, too.
Let’s formally define logical equivalence using truth tables:
It’s worth pausing to notice that we’re concerned with the atomic propositions in P or Q. Two propositions could be equivalent even if one of them includes an atomic propositions which isn’t included in the other! For example, it might be obvious that the proposition “I went to the pub” is logically equivalent to the proposition “I went to the pub and I either had a pint or I didn’t”. They formalise as ‘p’ and ‘p & (q ∨ ¬q)’ respectively. The latter propositions involves the atomic proposition q, which doesn’t appear in the former. But the two are demonstrably equivalent:
p | q | (q ∨ ¬q) | p & (q ∨ ¬q) |
T | T | T | T |
T | F | T | T |
F | T | T | F |
F | F | T | F |
As we can see from the first and last columns of this truth table, the truth table for ‘p’ is the same as that for ‘p & (q ∨ ¬q)’. So we know that the two are equivalent, even though ‘p & (q ∨ ¬q)’ includes an atomic proposition that ‘p’ doesn’t. This might make an argument involving ‘p & (q ∨ ¬q)’ much simpler, because we could replace that claim with simply ‘p’ and do the same job.
So, it’s easy to test whether two propositions are logically equivalent. Simply construct a truth table with a column for each, and compare those columns. If the columns have the same truth value in every row, they’re equivalent!
Some interesting consequences fall out of this definition straightaway. First, all tautologies are logically equivalent to one another. We defined a tautology as a proposition which takes the truth value ‘T’ in every line. So, since every tautology has ‘T’ in every line, they all have the same truth table and so are equivalent. The same goes for contradictions, which take ‘F’ in every line, so are all equivalent to one another.
Second, this means that we can easily swap between connectives. We saw above that the proposition ‘¬(p → q)’ is equivalent to ‘(p & ¬q)’. So, we could remove the ‘→’ connective here in favour of using ‘&’, by moving the ‘¬’ connective around. Similarly, we could go the other way. If we had a proposition of the form ‘(p & ¬q)’, we could introduce a conditional to replace it of the form ‘¬(p → q)’.
Rules of Equivalence
It turns out that there are a great many useful, simple equivalences which we can use in a range of circumstances. Most philosophers who handle logic will have these committed to memory, but it’s not a case of rote memorisation. Once you understand how logical equivalence works, it becomes quite simple to derive the rules in your head.
De Morgan’s Laws: Between Conjunction and Disjunction
Suppose I have a conjunction, ‘P & Q’, where P and Q could be any proposition (simple or complex). I want to express this instead as a disjunction or a conditional. I’ve got a few options available. Remember that the truth table for conjunction is:
P | Q | P & Q |
T | T | T |
T | F | F |
F | T | F |
F | F | F |
So, any proposition involving P and Q which has the same truth table will be equivalent to ‘P & Q’. We know that P & Q is true where both P and Q take the truth value T and false otherwise. How could we express this through disjunction instead? To phrase this in terms of ‘or’, we might say that it’s not the case that P or Q are false. To formalise that: ‘¬(¬P ∨ ¬Q)’. Let’s see the truth table:
P | Q | P & Q | ¬P ∨ ¬ Q | ¬(¬P ∨ ¬Q) |
T | T | T | F | T |
T | F | F | T | F |
F | T | F | T | F |
F | F | F | T | F |
We can see from columns 3 and 5 that these two propositions are indeed equivalent. So, any time we see a proposition of the form (P & Q), we can exchange it for ¬(¬P ∨ ¬Q), no matter what stands in for P and Q. We can also go the other way to introduce a conjunction, replacing any proposition of the form ¬(¬P ∨ ¬Q) with the proposition (P & Q).
We could also do the same thing with conjunctions where one or both of the conjuncts are negated. For example, suppose we had: (¬P & Q). Now, we know that P could stand for any proposition. So instead of deriving a new rule here, we can just replace ‘¬P’ in this conjunction with a new proposition, call it R, which is just ‘¬P’. So now we have (R & Q). We apply the rule, and get: ¬(¬R ∨ ¬Q). Because we know that ‘R’ is ‘¬P’, we can substitute that back in, and get: ¬(¬¬P ∨ ¬Q). We could do the same thing with (P & ¬Q) or (¬P & ¬Q).
Let’s do the same thing, but start with disjunction. We have the proposition: (P ∨ Q). Let’s express this as a conjunction. We know that P ∨ Q says that at least one of P or Q is true. In other words, they can’t both be false: “It’s not the case that P is false and Q is false”. That formalises as: ¬(¬P & ¬Q). Notice the symmetry with our previous rule! We can prove this in a truth table:
P | Q | P ∨ Q | ¬P & ¬ Q | ¬(¬P & ¬Q) |
T | T | T | F | T |
T | F | T | F | T |
F | T | T | F | T |
F | F | F | T | F |
This pair of laws are sometimes called De Morgan’s Laws, after the British mathematician Augustus De Morgan. These rules state:
For any pair of propositions P and Q:
(P & Q) ≡ ¬(¬P ∨ ¬Q)
(P ∨ Q) ≡ ¬(¬P & ¬Q)
We’ll use the symbol ‘≡’ to denote that two propositions are equivalent.
Symmetry of Conjunction, Disjunction and Bi-conditional
Three of our binary connectives are symmetric. A connective if symmetric if and only if it doesn’t matter which way round you place the propositions. So:
(P & Q) ≡ (Q & P)
(P ∨ Q) ≡ (Q ∨ P)
(P ↔ Q) ≡ (Q ↔ P)
You can check this with a simple set of truth tables for each.
Contraposition
But conditionals are not symmetric in this way. We know that for a conditional P → Q to be true, P is false or Q is true. The conditional says different things about P and Q, so we can’t simply reverse the order. But this analysis of the conditional should immediately suggest that we could create an equivalence between ‘P → Q’ and ‘¬P ∨ Q’, because we know that those are the two possibilities which make a conditional true. Sketching out the truth table proves this intuition correct:
P | Q | P → Q | ¬P ∨ Q |
T | T | T | T |
T | F | F | F |
F | T | T | T |
F | F | T | T |
Suppose we know that (P → Q). By this equivalence, we therefore know that (¬P ∨ Q) is also true. We then find out that Q is false, i.e. ¬Q! From (¬P ∨ Q), the only possibility left is that ¬P. So it follows from Q being false that P must also be false. In other words, if we know (P → Q), then we also know that (¬Q → ¬P).
Philosophers refer to this as the contrapositive of (P → Q). Contraposition should make sense intuitively. Suppose we know: “If Pearl Jam are the greatest band in rock, then Eddie Vedder is the greatest singer.” Then we also know: “If Eddie Vedder is not the greatest singer, then Pearl Jam are not the greatest band in rock.” If we now discover that Chris Cornell is the greatest singer, then we know that Pearl Jam are not the greatest band.
So we’ve deduced the following rules:
(P → Q) ≡ (¬P ∨ Q)
(P → Q) ≡ (¬Q → ¬P)
Material Implication
We just found a way to replace a conditional with a disjunction, through the rule (P → Q) ≡ (¬P ∨ Q). Saying ‘If P then Q’ is the same as saying that ‘¬P or Q’. But we could also go the other way, and deduce a conditional from a disjunction. Suppose we know (P ∨ Q). We know that one of P or Q must be true. So, if we know that P is false, we know that Q must be true. That’s a simple conditional, which formalises as: (¬P → Q). But equally, we know that if Q is false, P must be true. So we can also formalise this as: (¬Q → P). We have two more equivalences:
(P ∨ Q) ≡ (¬P → Q)
(P ∨ Q) ≡ (¬Q → P)
Remember that if A has the same truth table as B, then A and B are equivalent. This means that if A is equivalent to B, and B is equivalent to C, then A must be equivalent to C, too! They all have the same truth table. So since both (¬P → Q) and (¬Q → P) are equivalent to (P ∨ Q), we’ve also learned a rule for reversing conditionals:
(¬P → Q) ≡ (¬Q → P)
Again, this makes sense intuitively. Suppose I know that “If Eddie Vedder is not the greatest singer in rock, then Chris Cornell is.” It follows that: “If Chris Cornell is not the greatest singer in rock, then Eddie Vedder is.” This works, because both sentences are equivalent to saying: “Eddie Vedder or Chris Cornell is the greatest singer in rock”.
Double negatives
We’re often told that in English, a double negative equals a positive. Whether or not that’s true in ordinary language, it’s certainly the case in logic! Negation simply inverts the truth value, so negating twice flips it back again. We have:
¬¬P ≡ P
This means that when we applied De Morgan’s law to (¬P & Q) earlier and got ¬(¬¬P & ¬Q), we can simplify this to: ¬(P & ¬Q). This proves very useful in keeping our logical formulae simple.
Multiple conditionals
Suppose I say: “If Eddie Vedder is the greatest singer in rock music, then if Eddie Vedder is the lead singer of Pearl Jam, then Pearl Jam are the greatest band in rock music.” I have two conditionals here, which gets formalised as: P → (Q → R). But it seems that, intuitively, this means the same thing as: “If Eddie Vedder is the greatest singer in rock music and Eddie Vedder is the lead singer of Pearl Jam, then Pearl Jam are the greatest band in rock music.” This formalises as: (P & Q) → R. This turns out to be correct. We can show it in a truth table quite simply:
P | Q | R | Q → R | P → (Q → R) | (P & Q) | (P & Q) → R |
T | T | T | T | T | T | T |
T | T | F | F | F | T | F |
T | F | T | T | T | F | T |
T | F | F | T | T | F | T |
F | T | T | T | T | F | T |
F | T | F | F | T | F | T |
F | F | T | T | T | F | T |
F | F | F | T | T | F | T |
The fifth and final columns show us the equivalence between the two. So we know:
P → (Q → R) ≡ (P & Q) → R
We can do this with any number of conditionals, or any number of conjuncts. So the propositions “P → (Q → (R → (S → T)))” and “(P & Q & R & S) → T” are equivalent.
“If and only if”
The bi-conditional captures the phrase “if and only if”. It signifies that the two sides of the bi-conditional have the same truth value. From the phrase “if and only if”, we might already suspect that the bi-conditional is equivalent to the conjunction of two ‘if’ statements. This turns out right on the mark:
P ↔ Q ≡ (P → Q) & (Q → P)
This becomes very important when we start to formulate definitions and proofs. To prove a claim like “An action is morally justified if and only if it increases net happiness”, we now see that we need to prove the conditionals in both directions. A common proof strategy is to prove one condition (P → Q), then prove the other (Q → P), which gives us ‘(P → Q) & (Q → P)’, and therefore ‘P ↔ Q’. So, to prove that “An action is morally justified if and only if it increases net happiness”, we’d need to prove that if an action increases net happiness, then it is morally justified, and that if an action is morally justified, then it increases net happiness.
Equivalence and Tautology
There are some simple connections between equivalence, tautology and validity which can help us to interchange between the three. We already stated that two propositions P and Q are equivalent if and only if they have the exact same truth values in every row of their truth table. We already have a connective, the bi-conditional ‘↔’, which has exactly this property. A bi-conditional is true exactly when the propositions on either side of it have the same truth value. So, if P and Q are equivalent, then the bi-conditional P ↔ Q will always be true. In other words:
Going the other way, this also means that if we replace the equivalence symbol ‘≡’ with ‘↔’ in any of the equivalences above, we’ll get a tautology.
This can make it even simpler to show that two propositions are equivalent. Rather than creating a truth table for each and comparing them, we can just create the truth table for P ↔ Q and check if it is a tautology.
Latest edit: 28/11/2022 by CJ Blunt