2

I am working through 'Notes on logic and set theory' by P.T. Johnstone. Exercise 2.2 reads

Write down a proof of ($\bot\Rightarrow q$) in the propositional calculus.

Here $q$ is an arbitrary primitive proposition and 'proof' means deduction from the axioms

(a) $(p \Rightarrow (q\Rightarrow p))$

(b) $((p \Rightarrow (q\Rightarrow r)) \Rightarrow ((p \Rightarrow q) \Rightarrow (p \Rightarrow r)))$

(c) $(\neg\neg p \Rightarrow p)$

and modus ponens. Here is my solution:

Instead of proving that $\,\,\vdash (\bot \Rightarrow q)$ we prove that $\{\bot\}\vdash q$. This is easy:

  1. $\bot$ ----- premiss

  2. $(\bot \Rightarrow ((q\Rightarrow \bot)\Rightarrow \bot))$ ----- instance of (a)

  3. $((q\Rightarrow \bot) \Rightarrow \bot)$----- modus ponens

  4. $(((q\Rightarrow \bot )\Rightarrow \bot) \Rightarrow q)$ ----- instance of (c)

  5. $q$ ----- modus ponens

Then the Deduction theorem finishes the job. (The Deduction theorem says that if $S$ is a set of propositions and $s,t$ are propositions then $S\vdash (s\Rightarrow t)$ if and only if $S\cup \{s\}\vdash t$.)

I am unsatisfied, however, since I did not explicitly write down the proof of $(\bot \Rightarrow q)$. I tried to do this by following the algorithm given in the proof of the Deduction theorem (see Theorem 2.4 in Johnstone's book) but it turned into a mess, so I gave up. My question:

Is there a short proof of $\,\,\vdash (\bot \Rightarrow q)$, like that of $\{\bot\}\vdash q$?

  • 1
    Following the algorithm given in the proof of the deduction theorem gives you a proof that's exactly 17 lines long, doesn't it? (3 lines for each instance of an axiom or modus ponens, and 5 lines for the proof of $\bot\to \bot$ at the beginning.) If 17 lines doesn't qualify as short, what does? Most formal proofs in a Hilbert system like the one you've written down will be many many lines long. – Alex Kruckman Aug 23 '23 at 19:02
  • @AlexKruckman Your comment encouraged me to try again, and I managed to write down the 17 lines. I'd still be interested in a shorter proof of this basic fact. – Hernán Ibarra Mejia Aug 23 '23 at 20:34
  • 2
    Note that a few exercises later, Johnstone asks for a proof of $p\land q$ from ${p,q}$. This is also a very basic fact, but the result is apparently such a mess that Johnstone labels the exercise "for masochists only". The moral is: no one should ever actually write down proofs in Hilbert systems. – Alex Kruckman Aug 23 '23 at 21:01
  • You are right. I just finished with that other exercise and though the proof is also 17 lines long, the lines are much longer! I didn't realize how long proofs of simple facts in Hilbert systems could be. – Hernán Ibarra Mejia Aug 23 '23 at 21:39
  • 1
    Here is a 21 line proof (slightly different axioms, but same idea) of $\neg \neg P \to P$: https://math.stackexchange.com/questions/3661388/proving-vdash-neg-neg-p-to-p-double-negation-elimination-in-first-order/3661726#3661726 So yeah, no short proofs, even for the simplest of results, in these kinds of systems. – Bram28 Aug 23 '23 at 22:34
  • @Bram28 Expanded out, (¬¬p⇒p) and converting to Polish notation becomes CCCp00p (I mean part of it looks like... makes it easy to remember). That's a special case of the more general CCCpq0p (which can get interpreted as: if you negate a conditional, then the antecedent is true). Given CCCpq0p, one can prove C0p in a single detachment! – Doug Spoonwood Aug 30 '23 at 22:56
  • @AlexKruckman CCCC0p00C0p is an instance of CCCpq0p with p substituted with C0p, and q with 0. CCC0p00 is an instance of CCCpq0p, with p substituted with 0, and q with p. C0p is consequence of CCCC0p00C0p and CCC0p00 by detachment. End of proof. I had 352 characters left. – Doug Spoonwood Aug 30 '23 at 23:03
  • @DougSpoonwood the only thing more miserable than using a Hilbert system is reading Polish notation. – Alex Kruckman Aug 30 '23 at 23:20

1 Answers1

5

To save us from parenthesis hell, let's follow the proof-theory convention of writing $P \rightarrow (Q \rightarrow R)$ as $P \rightarrow Q \rightarrow R$.

We can write down a short, seven-line proof as follows:

  1. $\neg\neg x \rightarrow x$ [axiom C]
  2. $(\neg\neg x \rightarrow x) \rightarrow \bot \rightarrow (\neg\neg x \rightarrow x)$ [axiom A]
  3. $\bot \rightarrow \neg\neg x \rightarrow x$ [MP 2,3]
  4. $(\bot \rightarrow \neg\neg x \rightarrow x) \rightarrow (\bot \rightarrow \neg\neg x) \rightarrow \bot \rightarrow x$ [axiom B]
  5. $(\bot \rightarrow \neg\neg x) \rightarrow \bot \rightarrow x$ [MP 3,4]
  6. $\bot \rightarrow \neg\neg x$ [axiom A]
  7. $\bot \rightarrow x$ [MP 6,5]

How can one find this proof? I first inspected your proof, which uses the deduction theorem, and took note of the key step: $\bot \rightarrow \neg\neg x$ constitutes instance of axiom A. I knew that one can get $(\bot \rightarrow \neg\neg x) \rightarrow \bot \rightarrow x$ cheaply from $\neg\neg x \rightarrow x$ using a standard trick coming from the proof of the deduction theorem: I use this trick with some frequency, see e.g. another Hilbert system question. This is where the first four lines come from.

This is certainly an improvement over the 17 lines obtained by naive use of the deduction theorem. I don't know whether one can get anything even shorter.

Z. A. K.
  • 13,310
  • If instead of having CCCp00p as an axiom, we use the more general 1 CCCpq0p as an axiom, if my memory serves me correctly, under condensed detachment, C0p follows as D1.1. I found it as suggested using Prover9 just playing with those axioms one day. In other words, there's some most general unifier of two instances CCpq0 and CCCab0a, where CCpq0 is a theorem. Figuring the substitutions out once again, one instance of CCCpq0p is CCCC0p00C0p, another is CCC0q00, so C0p follows in one detachment. – Doug Spoonwood Aug 30 '23 at 22:48
  • @DougSpoonwood Ok, I struggled through the Polish notation, and I understand your proof. But the OP does not have $(((p\to q)\to \bot)\to p$ as an axiom, so I don't see the relevance of your comment. In the particular system the OP asked about, I don't think you're going to do better than Z.A.K.'s 7-line proof. – Alex Kruckman Aug 31 '23 at 00:05
  • @AlexKruckman Axioms most often used for classical logic are the most general tautologies for their bracket type. (((p→⊥)→⊥)→p) is not a most general tautology for it's bracket type. It's a special case of (((p→q)→⊥)→p). (((p→⊥)→⊥)→p) can get obtained from another tautology purely by substitution. There are no other tautologies from which (((p→q)→⊥)→p) can get obtained purely by substitution. Like usual, there are no other tautologies from which a) and b) can get obtained purely by substitution. – Doug Spoonwood Aug 31 '23 at 16:52
  • How can ⊥→¬¬x in line 6 be an instance of (p→(q→p))? You seem to assume that ¬x is an alias for x→⊥, thus ⊥→¬¬x = ⊥→((x→⊥)→⊥), but it wasn't defined like that by the question. – xamid Aug 23 '24 at 23:18
  • @xamid: Nonsense. Both Johnstone's book (p7-p8) and the question itself (proof lines 2,4) regard $\neg x$ as an abbreviation for $x \rightarrow \bot$. – Z. A. K. Aug 24 '24 at 05:58
  • @Z.A.K. Not nonsense. But I now see that the question implied it by line 4 of the proof. – xamid Aug 25 '24 at 21:53