4

I'm working through the exercises of the first chapter of Thompson's Type Theory and Functional Programming and have gotten stuck on exercise 1.7 on page 28(marked as page 15):

1.7. Show that the three characterizations of classical logic (as an extension of the intuitionistic system above) are equivalent.

The three characterizations are roughly:

  1. $\implies \lnot A \lor A$
  2. $\lnot \lnot A \implies A$
  3. Given a proof of $\lnot A \implies B$ and $\lnot A \implies \lnot B$, one can infer $A$

To go about this, I am attempting $\#1 \implies \#2$, $\#2 \implies \#1$, $\#1 \implies \#3$ and so forth. I was able to prove $\#1 \implies \#2$ but I'm stuck on proving that $\#2 \implies \#1$.

Edit: Originally I wrote #1 as $\lnot A \lor A$, changed to the correct value: $\implies \lnot A \lor A$

redfish64
  • 143
  • 1
    It suffices to prove $#1\vdash #2$, $#2\vdash #3$, $#3\vdash #1$, or any other cyclic triad, – Graham Kemp Oct 12 '16 at 04:19
  • 1
    @GrahamKemp $(#3 \vdash #1)$ is not provable, neither is $(#2 \vdash #1)$. You have to prove something like $(\vdash #2) \implies (\vdash #1)$. (where $\vdash$ refers to a constructive proof, and $\implies$ refers to any kind of proof that you trust). See http://math.stackexchange.com/a/913019/97045 – DanielV Oct 12 '16 at 22:55

3 Answers3

2

Using this proof wiki as a reference, it seems an indirect approach to $\#2 \implies \#1$ is to inutitionistically establish

$$ \vdash \lnot \lnot (A \lor \lnot A)$$

without using $\#2$ or $\#3$, then use that to establish $\#2 \implies \#1$. In detail:

$$\begin{array} {rll} 1 & \quad \quad \lnot (A \lor \lnot A) & \text{New Premise} \\ 2 & \quad \quad \quad \quad A & \text{New Premise} \\ 3 & \quad \quad \quad \quad A \lor \lnot A & \text{Or Intro of 2} \\ 4 & \quad \quad \quad \quad \bot & \text{Contradiction of 1 and 3} \\ 5 & \quad \quad \lnot A & \text{Not Intro of 2 through 4} \\ 6 & \quad \quad A \lor \lnot A & \text{Or Intro of 5} \\ 7 & \quad \quad \bot & \text{Contradiction of 1 and 6} \\ 8 & \lnot \lnot (A \lor \lnot A) & \text{Not Intro of 1 through 7} \\ \end{array}$$

There is a bit of a problem with this approach is that you are really establishing

$$\lnot \lnot A_1 \implies A_1 \vdash A_2 \lor \lnot A_2$$

where $A_1$ and $A_2$ are different propositional variables, which does answer the question being asked, to establish the equivalence of the axioms, but it leaves behind the more interesting question of whether

$$\lnot \lnot A \implies A \vdash A \lor \lnot A$$

can be established. All of the pairings $\#M \implies \#N$ for $N \ne 1$ can be established without resorting to separate propositional variables.

Edit: Nevermind, Mauro Allegranza writes in another answer that it is not possible to establish $\lnot \lnot A \implies A \vdash A \lor \lnot A$.


Edit: Reponse to question in comments :

First, there is a difference between an inference an a theorem. An inference is procedural concept, it is an algorithm. It has inputs (possibly zero) and outputs.

When the book writes $A \lor \lnot A$, they are describing an inference, not a theorem. It has 1 input: a true/false expression for $A$, such as $X \land Y$. It has 1 output: a disjunction, such as $(X \land Y) \lor \lnot (X \land Y)$. Even though it is written $A \lor \lnot A$, that is a just a mnemonic, a bit of a lie, a complete description of an inference requires a programming language.

Let $C$ be the set of inferences of constructive logic, $E$ is the inference of the excluded middle, and $D$ is the inference of double negation. Let $E_T$ be the theorem $A \lor \lnot A$ and let $D_T$ be the theorem $\lnot \lnot A \implies A$ (for simplicity we'll ignore #3). Let $[A := V]$ be use to denote replacing the propositional variable $A$ with propositional expression $V$.

The book is asking you to establish that the theorems of $C \cup E$ equal to the theorems of $C \cup D$. We can prove $\vdash_{C} E_T \implies D_T$. Therefore $\vdash_{C \cup E} D_T$. Therefore any proof $\vdash_{C \cup D} Z$ can be converted to a proof $\vdash_{C \cup E} Z$ by replacing every use of $D[A := V]$ with $(\vdash_{C + E} D_T)[A := V]$. Therefore, if a thereom is in $C \cup D$, it is also in $C \cup E$.

However, we cannot prove $\vdash_C D_T \implies E_T$ because it isn't a theorem of constructive logic. But we can still prove $\vdash_{C \cup D} E_T$. From which it follows that any proof $\vdash_{C \cup E} Z$ can be converted into a proof $\vdash_{C \cup D} Z$ by replacing every use of $E[A := V]$ with $(\vdash_{C \cup D} E_T)[A := V]$. Therefore every theorem in $C \cup E$ is also in $C \cup D$.

In short, #1 and #2 are equivalent inferences (they produce the same theorems when added to constructive logic), but they are not equivalent theorems (they do not imply each other in constructive logic).

DanielV
  • 23,556
  • so basically, 4 and 7 establish 1 from p and $\lnot$ p, respectively. – RJM Oct 12 '16 at 03:53
  • @RobertJMcGinness No, that's not a correct summary. (1) is never being established, and (4)/(7) never establish anything. You may be used to a view of logic where you only infer new theorems from previously established theorems. But in actuality, most logics allow you to infer theorems from previously established proofs as well, not just the theorem. For example, a rule of inference is "From $(X \vdash Y)$ infer $X \implies Y$", another is "From $(X \vdash \bot)$ infer $\lnot X$". Note that the $\bot$ isn't the input to the inference, but the entire $(X \vdash \bot)$ is. – DanielV Oct 12 '16 at 04:02
  • That is pretty cool. Is it correct, then, to look at it as you are building the theorem of "classical logic" with the theorems of intuitional? Does that make it equivalent to the theorem in classical in terms of how it functions? – RJM Oct 12 '16 at 04:13
  • @RobertJMcGinness Is English your native language? – DanielV Oct 12 '16 at 04:31
  • Ganz klar, nicht? – RJM Oct 12 '16 at 04:32
  • Warum fragen Sie das? Koennen Sie mir das erklaeren? Diese Frage scheint ein bisschen merkwuerdig. – RJM Oct 12 '16 at 04:37
  • @RobertJMcGinness I'm unclear what your question was asking, but if you are not a native English speaker then it's cool. A lot of Americans and other native speakers are very lazy, and when they ask unclear questions I just ignore them. But, I will have to ask you for clarification of what you mean. – DanielV Oct 12 '16 at 04:41
  • Gute Nacht, Herr Daniel. Jetzt muss ich schlafen. Wenn Sie antworten wuerden, wurede es mir sehr gefallen. Ich glaube noch immer, dass die Frage um klassische Logik geht. Vielen Dank und Viel Glueck. – RJM Oct 12 '16 at 04:43
  • Very logical. Hopefully, you do not miss something interesting by not following up. – RJM Oct 12 '16 at 04:49
  • If #2 => #1 cannot be proved, then does that mean the characterizations are not equivalent? ie is the book is asking to prove something that isn't true? – redfish64 Oct 12 '16 at 07:16
  • @redfish64 No. And "equivalent" means different things in different contexts. In short, #1 and #2 are equivalent inferences (they produce the same theorems when added to constructive logic), but they are not equivalent theorems (they do not imply each other in constructive logic). I edited my response to give a more detailed explanation. – DanielV Oct 12 '16 at 08:34
  • Did you mean mnemonic instead of pneumonic? Or does (A $\lor$ $\lnot$A) have something to do with the lungs? Also, didn't several authors prove something like (A $\lor$ $\lnot$ A) before modern computers? So, how can something like that require a programming language? Or do programming languages exist without computers? Also, isn't (A $\lor$ $\lnot$ A) a well-formed formula? But, rules of inference do NOT have the type well-formed formula... at least NOT without formation rules for rules of inference. So, isn't (A $\lor$ $\not$ A) a tautology or theorem, and NOT an inference? – Doug Spoonwood Oct 12 '16 at 18:06
  • Oh, I see... his text talks about rules of inference, but not formulas. You might have gotten downvoted here, because the A, (A$\implies$$\bot$) rule, which you called "contradiction" says that both "A" and (A$\implies$$\bot$) have to belong to the same domain (in other words, they have the same scope or context). That rule also, is unnecessary for this system. – Doug Spoonwood Oct 12 '16 at 21:06
  • His assumption is that ((A$\implies$$\bot$)$\implies$$\bot$) $\vdash$ A. If we are given that (which isn't a constructive rule of inference, but supposing that it was), then we can certainly establish that (((A$\implies$$\bot$)$\implies$$\bot$) $\implies$A) $\vdash$ ((A$\implies$$\bot$)$\lor$A). See my proof above. – Doug Spoonwood Oct 12 '16 at 21:46
  • @DougSpoonwood The proof in your answer is the exact same proof as the one in my answer, only with the premise $A$ replaced by the premise $\lnot A$. The reason this question is hard is that it is possible to establish $(\vdash \lnot \lnot A \implies A) \implies (\vdash A \lor \lnot A)$, but it is not possible to establish $\vdash ((\lnot \lnot A \implies A) \implies (\vdash A \lor \lnot A))$. I used contradiction instead of modus ponens on $A \implies \bot$ because it is equivalent, but more common, and looks nicer. – DanielV Oct 12 '16 at 21:52
  • @DanielV Did you just assert modus ponens equivalent to a contradiction rule? The contradiction rule here says {A, $\lnot$A} $\vdash$ B. But, just because we have A, and (A $\implies$ $\bot$) and modus ponens, that doesn't imply that we necessarily have {A, $\lnot$A} $\vdash$ B. We do have that 1. [ [ {(A $\implies$ B), A} $\vdash$ B], [$\bot$ $\vdash$ C]] implies 2. [{A, (A$\implies$ $\bot$)} $\vdash$ B]. But, 2. does not imply 1. Though, I'm not sure what you meant to assert, if I have misunderstood what you said. Can contradiction, with the other rules here, get used to eliminate mp? – Doug Spoonwood Oct 12 '16 at 23:04
  • @DanielV Or if I ask a question on the site, can you show me how 2. above would imply 1. above? – Doug Spoonwood Oct 12 '16 at 23:07
  • @DougSpoonwood Obviously I wouldn't say that modus ponens is an equivalent rule of inference with contradiction. The proofs are equivalent, just using $\lnot$ the the inferences pertaining to that instead of using $\bot$ and the inferences pertaining to that. WRT negation in constructive logic, it is redundant to have the (a) the inferences pertaining to $\lnot$ and (b) the inference that $\lnot A$ is the same as $A \implies \bot$ and $\bot \implies B$. – DanielV Oct 12 '16 at 23:33
  • @DanielV Did you use the contradiction rule, by which I mean the $\not$E on p. 14., except in a different format? Do you agree that pertains to $\lnot$? At least as it reads in the book referenced, your proof particularizes the use of the contradiction rule by inferring $\bot$ instead of some capital letter not in the set of premisses (of course, that's permissible). When I used modus ponens I just wrote down the consequent, and didn't select something particular constant in the same way, did I? I would only regard two proofs as equivalent if every step of the proofs are equivalent. – Doug Spoonwood Oct 13 '16 at 00:10
  • @DanielV Though maybe you weren't using the contradiction rule of that book, so I may have assumed too much. In any case, your proof is still valid. – Doug Spoonwood Oct 13 '16 at 00:11
  • @DanielV By "No" you mean they are equivalent? Also, in your edited answer you say that "We can prove given C (E sub T) => (D sub T)" but above this you say that "Mauro Allegranza writes in another answer that it is not possible to establish ¬¬A⟹A⊢A∨¬A." Also, I was able to prove (D sub T) => (E sub T), but you claim it is impossible. (D sub T) is "A∨¬A" and (E sub T) is "¬¬A⟹A", right? – redfish64 Oct 13 '16 at 02:07
  • @redfish64 Sorry that was a typo. Mean meant for $E_T$ to refer to $A \lor \lnot A$, that is, an instance of the law of the excluded middle. – DanielV Oct 13 '16 at 02:33
0

You're trying to prove something too strong. Letting $B$ be $A \vee \neg A$, it suffices to show that $\neg \neg B$ holds intuitionistically (whence if 2 holds for any $A$, then $B$ holds).

  • How do you establish $\lnot \lnot B$ from #3, even given $B = A \lor \lnot A$ ? – DanielV Oct 12 '16 at 03:30
  • 1
    I was just looking at characterization #2 implying characterization #1. Substituting $\bot$ for $B$ would work when trying to show #2 from #3. – Stephen A. Meigs Oct 12 '16 at 04:14
  • Actually, I mistyped #1. I just fixed it. In this light, I don't see how showing that given #2, and ~~(A / ~A) == (A / ~A) given #2 proves #1. – redfish64 Oct 12 '16 at 06:57
0

Applying the definition ($\alpha$$\implies$$\bot$) to $\lnot$A in ($\lnot$$\lnot$A$\implies$A) we obtain:

  1. ($\lnot$(A$\implies$$\bot$)$\implies$A).

And applying the definition ($\alpha$$\implies$$\bot$) to 1. we obtain

  1. (((A $\implies$ $\bot$) $\implies$ $\bot$) $\implies$ A).

Which I find a bit strange for an axiom, but I digress. Actually, your text talks about a rule of inference, not an axiom, but I still find such a rule a bit strange to lie at the basis of a system, but I have digressed again.

The rule, which I'll call Wajsb., would go:

(($\alpha$ $\implies$ $\bot$) $\implies$ $\bot$)


$\alpha$

End of rule.

The following doesn't follow the same style as your book, but perhaps might help you construct a proof in that style.

hypothe. 1 | (((A$\implies$$\bot$) $\lor$ A)$\implies$ $\bot$)

hypothe. 2 || (A $\implies$ $\bot$)

2 A-intro 3 || ((A$\implies$$\bot$) $\lor$ A)

3, 1 mo.p 4 || $\bot$

2-4 ar. in 5 | ((A$\implies$$\bot$)$\implies$$\bot$)

5, Wajsb. 6 | A

6 A-intro 7 | ((A$\implies$$\bot$) $\lor$ A)

7, 1. mo.p 8 | $\bot$

1-8 ar. in 9 ((((A$\implies$$\bot$)$\lor$A)$\implies$$\bot$)$\implies$$\bot$)

9, Wajsb. ((A$\implies$$\bot$)$\lor$A)

  • 1
    It is a strange thing for an axiom schema, but the reason it is considered is because it constructive plus any of the equivalent formulations in the question makes the propositional part of constructive logic equivalent to 2 valued propositional logic (aka truth tables); – DanielV Oct 12 '16 at 22:00
  • @DanielV I might have a different reason for considering it strange as an axiom schema than you. And, of course, you are correct about how joining it to constructive logic yields 2 valued propositional logic. Why do you find it strange? – Doug Spoonwood Oct 12 '16 at 22:42
  • 1
    I have 2 reasons for disliking this as an axiom. The first is that I'm from the old style of philosophy that believes built in axioms/inferences should be self evident, or at least vacuous. The second is that I take the position that true means provable wrt a logic, always, no exceptions. So on matters of falseness, I take it to mean "provable that no proof exists" (or at least "if it's provable" that no proof exists), consequently, that inference $A \lor \lnot A$ means is that assumption that for every statement, it must either be provable or there must be a proof that it isn't provable... – DanielV Oct 13 '16 at 01:00
  • 1
    ...and that's a pretty absurd thing to assume to me, I'd even go far enough to call that kind of axiom "arrogant". – DanielV Oct 13 '16 at 01:01
  • @DanielV Interesting. I find 0. (((A $\implies$ $\bot$) $\implies$ $\bot$) $\implies$ A) strange, because from what I've seen most axioms used for classical logic and intuitionistic logic aren't particular in that if we can only change the variables, we will not find anything more general which is also a tautology. But, with just one substitution, from the tautology 1. (((A $\implies$ B) $\implies$ $\bot$) $\implies$ A) we can get the above axiom. The set of all four substitutions using $\top$ and $\bot$ of 1. contain the two subset of similar substitutions of 0. – Doug Spoonwood Oct 13 '16 at 02:12