Skip to main content

Subsection 3.3.10 A Tool for Checking Natural Deduction Proofs

Video cover image

Video cover image

We have built an interactive proof checker that you can use to check your proofs as you are writing them. We can begin using it now, for simplification proofs. Later we’ll see that it can also be used for proof that exploit additional inference rules.

The checker needs to be initialized with a particular problem to solve.  There isn't a simple interface that lets you create problems and feed them to the checker.  But we have created a collection of them that you can work with.

When it's time to do a proof, either as an example in one of our slides, or as part of a problem, you'll see the proof checker show up on your screen.

You can create your proof with very little typing.  You can cut an paste from previous lines or from the symbol list at the bottom of the proof area.

To create a proof step, begin by choosing one or two statements from the list of available ones.  Initially, there will just be premises.  But, as you create new lines in the proof, they too will be available.

Then select a rule from the rule selection tool bar.

Finally enter the line that results from applying the chosen rule to the chosen input(s).  Click the green check mark and the checker will test whether your step is valid.

If you click on the funnel (at the left of the rule selection tool bar), the checker will filter the rules and only show you the ones that can be applied to the statement(s) you've selected.

If you have selected a rule, you can click on the wrench (on the right of the rule selection bar) and you'll see what will happen if you apply that rule to the statement(s) you've selected.

Exercises Exercises

Exercise Group.

1.

1. Prove that ( pq ) → ( pq ) is a tautology by using Boolean identities to prove that it is equivalent to T .

Answer.
Solution.
  1. \(\displaystyle (p \wedge q) \rightarrow (p \vee q)\)

  2. \(\neg (p \wedge q) \vee (p \vee q)\) Conditional Disjunction

  3. \((\neg p \vee \neg q) \vee (p \vee q)\) De Morgan

  4. \((\neg q \vee \neg p)\vee (p \vee q)\) Commutativity of or

  5. \(\neg q \vee ((\neg p \vee p) \vee q)\) Associativity of or

  6. \(\neg q \vee (T \vee q)\) Computation

  7. \(\neg q \vee q \) Computation

  8. \(T \) Computation

2.

2. Simplify: ¬( rq ) → ¬( p ∧ ( qs )) to T .

Answer.
Solution.
  1. \(\displaystyle \neg (r \vee q) \rightarrow \neg (p \wedge (q \wedge s)) \)

  2. \(\neg (r \vee q) \rightarrow (\neg p \vee \neg ( q \wedge s)) \) De Morgan

  3. \(\neg (r \vee q) \rightarrow (\neg p \vee (\neg q \vee \neg s)) \) De Morgan

  4. \(\neg (r \vee q) \rightarrow ((\neg q \vee \neg s) \vee \neg p) \) Commutativity of or

  5. \(\neg \neg (r \vee q) \vee ((\neg q \vee \neg s) \vee \neg p) \) Conditional Disjunction

  6. \((r \vee q) \vee ((\neg q \vee \neg s) \vee \neg p) \) Double Negation

  7. \(( (r \vee q) \vee (\neg q \vee \neg s)) \vee \neg p \) Associativity of or

  8. \(((( r \vee q) \vee \neg q) \vee \neg s) \vee \neg p \) Associativity of or

  9. \(( (r \vee (q \vee \neg q)) \vee \neg s) \vee \neg p \) Associativity of or

  10. \(( (r \vee T) \vee \neg s) \vee \neg p \) Computation

  11. \((T \vee \neg s) \vee \neg p \) Computation

  12. \(T \wedge \neg p \) Computation

  13. \(T\) Computation

3.

3. Prove that these two expressions are equivalent:

  • \(\displaystyle p \vee \neg (q \wedge r) \)

  • \(\displaystyle q \rightarrow (r \rightarrow p) \)

Answer.
Solution.
  1. \(\displaystyle p \vee \neg (q \wedge r) \)

  2. \(p \vee (\neg q \vee \neg r) \) De Morgan

  3. \((\neg q \vee \neg r) \vee p \) Commutativity

  4. \(\neg q \vee (\neg r \vee p) \) Associativity

  5. \(q \rightarrow (\neg r \vee p) \) Conditional Disjunction

  6. \(q \rightarrow (r \rightarrow p) \) Conditional Disjunction

Exercises Exercises

Exercise Group.

In these problems, we’ll explore the relationship between equivalent English sentences and the corresponding equivalent Boolean expressions.

1.

1. Consider the sentence: He was not unaware that she was a student.

Which of the following gives an equivalent sentence and explains the equivalence with one of our identities:

  1. He was aware that she was a student. Contrapositive.

  2. He was aware that she was a student. Double Negation.

  3. He was unaware that she was a student. Double Negation.

  4. She was a student. Idempotence.

  5. He was aware that she wasn’t a student. Conditional Disjunction.

Answer.
Correct answer is B.
Solution.
Explanation: Double Negation lets us remove the two negatives (the word “not” and the prefix “un” to “unaware” to get, “He was aware that she was a student.”
2.

2. Consider the sentence: The Astros and the Phillies can’t both win.

Which of the following gives an equivalent sentence and explains the equivalence with one of our identities:

  1. The Astros and the Phillies can both win. Contrapositive.

  2. The Astros or the Phillies can win. De Morgan.

  3. The Astros or the Phillies must lose. De Morgan.

  4. The Astros and the Phillies must lose. Contrapositive.

  5. The Astros and the Phillies must lose. De Morgan.

Answer.
Correct answer is C.
Solution.

Explanation: The easiest way to see this is to write the original sentence in logic. Assign symbols as follows:

\(\neg (A \wedge P) \)

If we apply De Morgan to this, we get:

\(\neg A \vee \neg P \)

In English, this becomes, “At least one of these must be the case: The Astros cannot win or the Phillies cannot win.” Since not winning is losing, we can rephrase that clunky sentence as, “The Astros must lose or the Phillies must lose.” Another rephrasing gives us, “The Astros or the Phillies must lose.”

3.

3. Consider the sentence: The kitten stays or I’m outta here.

Which of the following gives an equivalent sentence and explains the equivalence with one of our identities:

  1. The kitten and I are leaving. De Morgan.

  2. If the kitten leaves, I go too. Conditional Disjunction.

  3. The kitten and I are both staying. Conditional Disjunction.

  4. If the kitten stays, so do I. Commutativity of or .

  5. If the kitten leaves, I go too. De Morgan.

Answer.
Correct answer is 2.
Solution.

Explanation: The easiest way to see this is to write the original sentence in logic. Assign symbols as follows:

K: The kitten leaves.

L: I leave.

Then (assuming that staying means not leaving) our sentence corresponds to the statement:

\(\neg K \vee L\)

If we apply Conditional Disjunction to this, we get:

\(K \rightarrow L \)

We can render that in English as, “If the kitten leaves, then I leave too.”
4.

4. Consider the sentence: Take your umbrella or it will rain.

Which of the following gives an equivalent sentence and explains the equivalence with one of our identities:

  1. If you don’t take your umbrella, it will rain. Conditional Disjunction.

  2. If you take your umbrella, it will rain. Conditional Disjunction.

  3. If you take your umbrella, it won’t rain. Conditional Disjunction.

  4. If it rains, you didn’t take your umbrella. Conditional Disjunction.

  5. If you don’t take your umbrella, it will rain. De Morgan.

Answer.
Correct answer is A.
Solution.

Explanation: The easiest way to see this is to write the original sentence in logic. Assign symbols as follows:

U: You take your umbrella.

R: It will rain.

Then our sentence corresponds to the statement:

\(U  R \)

We can apply Conditional Disjunction to this. The one slightly tricky thing is that the right hand side of conditional disjunction is (p  q). We don’t have a not in our disjunction. But we can let p correspond to U. Then p is U and now the right hand side matches what we’ve got. Then we apply the identity and we get:

\(\neg U \rightarrow R \)

We can render that in English as, “If you don’t take your umbrella, it will rain.”