Summary: Using inference rules (formal proofs) for determining whether a propositional formula is true.
Note: Your browser may not currently support MathML. See our browser support page for additional details. You can always view the correct math in the PDF version.
Truth tables and equivalences are useful and powerful tools,
but they do not correspond to how we usually reason about things.
What we will do now is look at more familiar reasoning and how
to formalize that.
For example, with Boolean algebra it is awkward to prove that
Given the following piece of a WaterWorld board,
how would you conclude that
![]() |
Since
| 1 |
WaterWorld domain axiom,
i.e., definition of |
|
| 2 | Premise (by inspection of this particular board) | |
| 3 | One of the following is true:
( | lines 1,2 |
| 4 | not | Premise (by inspection) |
| 5 | ( | lines 3,4 |
| 6 | line 5 |
Whew! A lot of small steps are involved in even this small deduction. It's apparent we'd want to automate this as much as possible! Let's look at some other short examples, which we'll formalize in a moment.
How do you know that
Intuitively, this is straightforward.
Since
| 1 | Premise | |
| 2 |
WaterWorld domain axiom,
i.e., definition of |
|
| 3 | lines 1,2 | |
| 4 | line 3 |
Similarly, how do you reason that
Again a similar idea, if
| 1 | WaterWorld domain axiom | |
| 2 | Premise | |
| 3 | lines 1,2 | |
| 4 | Premise | |
| 5 | lines 3,4 | |
| 6 | line 5 |
In the above examples, we relied on common sense to know what new true formulas could be derived from previous ones. Unfortunately, common sense is imprecise and sometimes wrong. So, we need to formalize how we form proofs.
We now define a formal proof of
We can formalize the above examples to show each of the following:
Stating an axiom, a simple assumed truth, is a rather trivial, boring way of coming up with a true formula. Some axioms are domain axioms: they pertain only to the domain you are considering, such as WaterWorld. In our case, we don't have any axioms that aren't domain axioms. If our domain were arithmetic, our axioms would describe how multiplication distributes over addition, etc.
Just using axioms is not enough, however. The interesting part is to deduce new true formulas from axioms and the results of previous deductions.
First, let's look at some simple examples, using the simpler inference rules.
We'll formalize a
previous exercise to show
| 1 | Premise | |
| 2 | WaterWorld domain axiom | |
| 3 |
|
|
| 4 |
|
What we mean in line 3, for example, is that we are
using the domain axiom
That's almost exactly like the steps we took in the previous informal proof, but now we're a bit pickier about our justifications for each step.
Formally, when using a domain axiom, the justification is a combination of the name of that inference rule, the line numbers of which previous WFFs are being used, and a description of how those WFFs are used in that inference rule in this particular step. Later, we'll often omit the description of exactly how the specific inference rule is used, since in many cases, that information is painfully obvious.
In this system, commutativity of
| 1 | Premise | |
| 2 |
|
|
| 3 |
|
|
| 4 |
|
Does
this example also show that
Generalized
| 1 | Premise | |
| 2 |
|
|
| 3 |
|
|
| 4 |
|
Similarly, associativity of
Here, we'll show only
| 1 | Premise | |
| 2 |
|
|
| 3 |
|
|
| 4 |
|
|
| 5 |
|
|
| 6 |
|
|
| 7 |
|
Note that we omitted the detailed explanation of how each rule applies, since this should be clear in each of these steps.
These deductions are straightforward and should be unsurprising, but perhaps not too interesting. These simple rules can carry us far and will be used commonly in other examples.
The case-elimination rule is easy enough for a dog! Rico has a vocabulary of over 200 words, and if asked to fetch an unknown toy, he can pick it out of a group of known toys by process-of-elimination. (It's almost enough to make you wonder whether dogs know calculus.)
![]() |
There is a subtle difference between implication (
Show that,
First, if we know
If we know
Note how this proof is about other proofs! (However, while we reason about this particular inference system, we're not using this system while proving things about it — this proof is necessarily outside the inference system.