# [PL13] Soundness and completeness

## §1. Metalogic

Our MPL natural deduction system is sound. You can verify this for yourself, by examining each of the rules to ensure that the rules only permit you to write down well-formed wffs which are entailed by their dependencies. That the system as a whole is sound means:

For any MPL wff φ, if ⊢ φ, then ⊨ φ,

and

For any MPL wff φ, and list of MPL wffs X, if X ⊢ φ then X ⊨ φ.

The system is also good for a further reason; it is complete. That the system is complete means:

For any MPL wff φ, if ⊨ φ then ⊢ φ.

and

For any MPL wff φ, and list of MPL wffs X, if X ⊨ φ then X ⊢ φ.

We won't prove the completeness of our MPL system in this introductory course. But it is useful to know that the system is complete. In SL you can use the truth table method to determine whether or not a particular SL wff is valid. But in MPL you cannot rely on the truth table method to determine whether or not an MPL wff is valid. You need some other method. Since the natural deduction is system for MPL is complete, if an MPL wff is valid, there is a derivation of the wff using the system.

When we are carrying out derivations using the rules of MPL, we are working "within" the system. But when we describe and try to show whether MPL is sound and complete, we are using not just MPL, but also English, to talk about the system. The study of the these higher-level properties of a system of logic is known as "metalogic".

Show that "∀x(Fx→Fx)" is valid in two different ways.

Suppose you try to find a derivation of a certain MPL wff, but you do not succeed in finding a derivation. Does it follow that that wff is not valid?

Show the following:

1. ∀xHx ⊢ Ha
2. ∀xHx, (Hc → ∃xGx) ⊢ ∃xGx
3. ∀x(Hx→Mx), ∀xHx ⊢ ∀xMx
4. Ha ⊢ ∃yHy
5. (Ab → Dc) ⊢ (Ab → ∃xDx)
6. ∃x(Fx & Gx) ⊢ ∃xFx
7. ∀x(Fx→∀yGy) ⊢ ∀x∀y(Fx→Gy)
8. ∀x(Px→Qx), ∀x(Qx→Px) ⊢ ∀x(Px↔Qx)
9. ∃x~Px ⊢ ~∀xPx
10. (∃xPx→∀x(Qx→Rx)), (Pa&Qa) ⊢ Ra
11. (∀x(Px→Qx)→∃x(Rx&Sx)), (∀x(Px→Sx)&∀x(Sx→Qx)) ⊢ ∃xSx
12. (∀x(Px&~Qx)→∃xRx), ~∃x(Qx∨Rx) ⊢ ~∀xPx
13. (∃x~Px→∀x~Qx), (∃x~Px→∃xQx), ∀x(Px→Rx) ⊢ ∀xRx
14. ~∃x(Px∨Qx), (∃xRx→∃xPx), (∃xSx→∃xQx) ⊢ ~∃x(Rx∨Sx)

## §2. A final word

MPL is a subset of what is known as first-order predicate logic. In MPL, our predicates are all "one-place" predicates which can be combined with only one variable or name. In standard predicate logic, we can have "two-place" or "multi-place" predicates, e.g. Pxy, Qabc. This allows for a system with higher expressive power. So for example, we can use Lbc to mean "b loves c", and then prove "something loves something", which we cannot do in MPL.

A bit of history and metalogic: It was the mathematician and logician Kurt Gödel who first succeeded in proving the completeness of predicate logic in 1929. His proof is known as Gödel's completeness theorem.

But there is also another famous proof he has made, which is Gödel's incompleteness theorem! Roughly, what it says is that in any consistent formal system of logic that is powerful enough to include basic arithmetic, there will be valid wff that cannot be proven (these are systems more powerful than MPL). Think for a moment: it doesn't matter how powerful your mathematical rules are. There will always be true theorems that CANNOT be proven, and it is not because you are not smart enough! This is one of the most amazing and important results in modern logic and the foundations of mathematics.

We have come to the end of the tutorials on formal logic. There is a lot more you can learn from here onwards. The next step would be to study first-order predicate logic in full. Afterwards, you can start learning about second-order logic, which include quantifying over properties. In addition, you can study the connections between set theory and logic, and see how they help us formalize arithmetic and other branches of mathematics. Furthermore, there are lots of interesting connections between computation and logic. There are also all sorts of systems of so-called non-classical logic which you can learn about. Have fun!