Equivalence

In this section, we will revisit the notion of equivalence. In chapter 2, we saw how we could use truth tables to show that two logical formulae are equivalent. Here, we will see that we can also show they are equivalent using our natural deduction proof rules.

Semantic equivalence

We saw in section 2.4 that two (or more) logical statements S1 and S2 were said to be semantically equivalent if and only if:

S1 ⊨ S2

and

S2 ⊨ S1

As a reminder, the S1 ⊨ S2 means S1 semantically entails S2, which means that every truth assignment that satisfies S1 also satisfies S2.

Semantic equivalence between S1 and S2 means that each proposition semantically entails the other – that S1 and S2 have the same truth value for every truth assignment; i.e., their truth tables evaluate exactly the same.

Showing semantic equivalence with two truth tables

For example, if we wished to show that the propositions p → ¬q and ¬ (p ∧ q) were semantically equivalent, then we could create truth tables for each proposition:

        *
--------------
p q # p →: ¬q
--------------
T T #   F  F
T F #   T  T
F T #   T  F
F F #   T  T
--------------

Contingent
T: [T F] [F T] [F F]
F: [T T]
      *
----------------
p q # ¬(p ∧ q)
----------------
T T # F   T
T F # T   F
F T # T   F
F F # T   F
----------------

Contingent
T: [T F] [F T] [F F]
F: [T T]

We see that the same set of truth assignments, [T F] [F T] [F F], satisfies both p →: ¬q and ¬(p ∧ q).

Showing semantic equivalence with one truth table

To show that propositions S1 and S2 are semantically equivalent, we need to show that if S1 is true, then so is S2, and that if S2 is true, then so is S1. Instead of comparing the truth tables of both S1 and S2, we could instead express our requirements as a bi-implication: S1 ↔ S2. To express a bi-implication operator, we can use a conjunction of two implications: (S1 → S2) ∧ (S2 → S1). If this conjunction is a tautology, then we know that if one proposition is true, then the other one is too – that S1 and S2 are semantically equivalent.

Below, we show that p →: ¬q and ¬(p ∧ q) are semantically equivalent using one truth table:

                              *
-------------------------------------------------------
p q # ((p →: ¬q) →: ¬(p ∧ q)) ∧ (¬(p ∧ q) →: (p →: ¬q))
-------------------------------------------------------
T T #     F  F    T F   T     T  F   T    T     F  F 
T F #     T  T    T T   F     T  T   F    T     T  T
F T #     T  F    T T   F     T  T   F    T     T  F
F F #     T  T    T T   F     T  T   F    T     T  T
-------------------------------------------------------
Tautology

Provable equivalence

Two propositional logic statements S1 and S2 are provably equivalent if and only if we can prove both of the following sequents:

(S1) ⊢ (S2)

and

(S2) ⊢ (S1)

We can also write:

(S2) ⟛ (S1)

For example, suppose we wish to show that the propositions p → ¬q and ¬(p ∧ q) are provably equivalent. We must prove the following sequents:

(p → ¬q) ⊢ (¬(p ∧ q))

and

(¬(p ∧ q)) ⊢ (p → ¬q)

We complete both proofs below:

(p → ¬q) ⊢ (¬(p ∧ q))
    Proof(
        1 (     p → ¬q      )   by Premise,

        2 SubProof(
            3 Assume(  p ∧ q  ),
            4 (     p       )   by AndE1(3),
            5 (     q       )   by AndE2(3),
            6 (     ¬q      )   by ImplyE(1, 4),
            7 (     F       )   by NegE(5, 6)
        ),
        8 (     ¬(p ∧ q)    )   by NegI(2)
    )
(¬(p ∧ q)) ⊢ (p → ¬q)
    Proof(
        1 (     ¬(p ∧ q)            )   by Premise,

        2 SubProof(
            3 Assume (  p  ),

            4 SubProof(
                5 Assume(  q  ),
                6 (     p ∧ q       )   by AndI(3, 5),
                7 (     F           )   by NegE(6, 1)
            ),
            8 (     ¬q              )   by NegI(4)
        ),
        9 (     p → ¬q              )   by ImplyI(2)
    )