If you’re interested in logic, you’ve probably heard of the soundness and completeness theorems. They’re the first major results proved in a logic class. Their proofs can get messy and technical, especially the proof of completeness. What the theorems are really supposed to *tell us* and why it’s interesting often gets lost in all that technicality. So let’s take a step back and see what these theorems are all about.

**What is logic about?**

Logic can be thought of as the study of some very special words: *not*, *and*, *or*, *if-then*, *all*, and *some*. The *logical form* of a sentence is its structure with respect to these unique words. Consider, for example, the sentences “If Kumi went to the park and didn’t bring an umbrella, then she got stuck in the rain” and “If Phil was at the house and awake, then he saw it happen.” Though different in important ways, they both have the logical form: *If A and B, then C*.

A sentence is *valid* if it is true solely in virtue of its logical form. “Irene is hungry or Irene is not hungry” is valid, because we don’t need to know anything about Irene, or about hunger, to know whether it is true. All we need to know is that it has the logical form *A or not A*. All sentences with this form are true, no matter what *A* is. “Batman is Bruce Wayne and Spiderman is Peter Parker”, while certainly true, is not valid. Not every sentence with its form, *A and B*, is true.

**Validity**

How do we check if a sentence is valid? Let’s look at the sentence about Irene again. For the purposes of logic, it doesn’t matter what “Irene” and “hungry” mean. For all we care, “Irene” could be the name of Wilson the volleyball; and “hungry” could actually mean *elated*. If we substituted these changes, we would get: “Wilson is elated or not elated.” What logicians do is consider *every possible way* of changing the meaning of every word in the sentence *except the logical words*. Each of these possible ways is called a *model*. So there’s a model where “Irene” is the name of a particular rock in Iceland and “hungry” means *12.3 meters long*; another where “Irene” is the name of my cat and “hungry” actually means *hungry*. But in all these models, “not” still means *not* and “or” still means *or*.

To find out if a sentence is valid, we check if it is true *in every single model*. If it is, then it’s valid.

**Provability**

Another important logical concept is *provability*. A *proof system* is a kind of procedure for writing down sentences, one after the other. A proof system is sort of like chess: there are clear rules for what moves are allowed and what moves are not allowed. So long as a move is allowed, you can play it.

Proof systems are defined by two things: their *axioms* and their *rules of inference*. The axioms are the sentences that the proof system gives you for free. For example, a proof system might have every sentence of the form *If A, then A* as axioms. In that case, I am always allowed to write down, say, “If I am a judge, then I am judge”, or “If the ball is red, then the ball is red” at any point in my sequence of sentences.

A rule of inference is a rule that tells you that *if* you’ve already written down sentences of certain forms, then you’re allowed to write down certain other sentences. For example, a typical inference rule is one that says: If you’ve already written down a sentence *A* and a sentence *B*, you’re allowed to write down the sentence *A and B*. For example, if I’ve written down the two example axioms I listed above, then this rule says I can now write down the (very weird) sentence “If the ball is red, then the ball is red AND if I am a judge, then I am judge.”

A sentence is called *provable* in a proof system if, following the rules of the system, the system ever allows you to write it down.

**Soundness and completeness**

Given a certain proof system, the soundness theorem says that *only* valid sentences are provable in it. The completeness theorem says that *every* valid sentence is provable in it. Together, they tell us that provability in that proof system exactly coincides with validity. The provable sentences and the valid ones are exactly the same sentences.

Why do logicians care about this? Well, in a nutshell, validity and provability represent the two main ways logicians have for thinking about logic. The concept of validity is designed to capture the *meaning* of the special logical words, and how those meanings contribute to the truth or falsity of sentences. The concept of provability, on the other hand, captures how we *reason* with these special words. What soundness shows is that ideal logical reasoning does not lead us astray. When we prove something logically, the actual meaning of the logical words agrees with what we’ve proved. Meanwhile, completeness shows that ideal logical reasoning allows us to prove *everything that really is true by the meaning of logical words alone*. In other words, there’s nothing reasoning misses out on. Together, they tell us that, as far as logic goes, proof and meaning are two paths to the same destination—the purely logical truths.

Comments