14

The following is a classically valid deduction for any propositions $A,B,C$. $\def\imp{\rightarrow}$

$A \imp B \lor C \vdash ( A \imp B ) \lor ( A \imp C )$.

But I'm quite sure it isn't intuitionistically valid, although I don't know how to prove it, which is my first question.

If my conjecture is true, my next question is what happens if we add this rule to intuitionistic logic. I do not think we will get classical logic. Is my guess right?

[Edit: The user who came to close and downvote this 4 years after I asked this presumably did not see my comment: "The BHK interpretation suggests to me that it isn't intuitionistically valid, but that's just my intuition...". If you are not familiar with Kripke frames (and I was not at that time), good luck trying to figure out what to try!]

user21820
  • 57,693
  • 9
  • 98
  • 256
  • I'd say it is intuitionistically valid. To show the left hand side we have to deduce a disjunction and this can only be done by showing one of the components. – Henno Brandsma May 29 '16 at 09:57
  • @HennoBrandsma But whether you get a proof of $B$ or one of $C$ may depend on which proof of $A$ you started, no? – Hanno May 29 '16 at 09:59
  • @Hanno I'm not quite sure of this, as I did some intuitionistic logic quite a while ago. – Henno Brandsma May 29 '16 at 10:01
  • 1
    @HennoBrandsma: To claim it is intuitionistically valid, you must provide a formal proof of it. You can use either the sequent-style LJ or the tree-style presentation. I'm quite sure it isn't. The BHK interpretation suggests to me that it isn't intuitionistically valid, but that's just my intuition... – user21820 May 29 '16 at 10:05

4 Answers4

16

Are you familiar with Kripke semantic of intuitionistic logic (see Semantics of intuitionistic logic here)?$\def\imp{\rightarrow}$

Intuitively, a proposition is not interpreted as globally truth or false, but rather as the set of 'knowledge states' in which it is 'known'. Knowledge states may evolve, and the only restriction to the interpretation of propositions is that knowledge cannot be revoked.

Formally, you pick a Kripke frame, i.e. a set $W$ equipped with a preorder $\leq$, and interpret any propositional variable as a subset of $W$ that is closed under passing to $\leq$-greater elements. With the interpretations of the propositional variables fixed, you interpret $\lor$ and $\land$ as union and intersection, respectively. Also, you interpret $\bot$ as none of $W$ (the empty set) and $\top$ as all of $W$. The interesting part is the interpretation of implication: If $\psi$ and $\phi$ are interpreted as $A,B\subset W$, then $\psi\imp\phi$ is interpreted as the set of states $w\in W$ such that for any $v\in W$ with $w\leq v$ and $v\in A$, you also have $v\in B$. Appealing to the intuition again, it means that however knowledge evolves, whenever $\psi$ is known then so is $\phi$. For example, $\neg\neg\phi \equiv ( \phi \imp \bot ) \imp \bot$ is known at $w$ precisely if for any $v\in W$ with $w\leq v$ there is $z\in W$ with $w\leq z$ such that $\phi$ holds at $z$ - in other words, you can never refute $\phi$. This is much weaker than asserting that $\phi$ holds for all of $W$, as you can see e.g. from the example at the end of the post, where $W = \{0\to 1\}$.

Anyway, the Kripke semantics is sound for intuitionistic logic, so to prove that a formula is not an intuitionistic tautology, it suffices to provide some Kripke frame with an interpretation of the formulas' propositional variables such that the associated interpretation is not true in the whole Kripke frame.

Let's do this for $(A\imp (B\lor C))\imp ((A\imp B)\lor (A\imp C))$: Consider the frame $1\leftarrow 0\rightarrow 2$ and interpret $A$ as known only at $1,2$, $B$ as known only at $1$ and $C$ as known only at $2$. Then $A\imp B$ and $A\imp C$ are both not known at $0$ since there is an evolution which validates $A$ but does not validate $B$ (similarly $C$). However, $A\imp (B\lor C)$ is valid at $0$, since for any evolution from $0$ to either $1$ or $2$, either $B$ or $C$ is valid in the new state.

Concerning your second question: An example like the above can only exist if the frame $W$ under consideration has branches; if, in contrast, evolution is unique - meaning formally that for any three elements $u,v,w$ in the frame satisfying $u\leq v$ and $u\leq w$, we have either $v\leq w$ or $w\leq v$ - the formula $(A\imp (B\lor C))\imp ((A\imp B)\lor (A\imp C))$ does indeed hold under any interpretation.

Therefore, if you add $(A\imp (B\lor C))\imp ((A\imp B)\lor (A\imp C))$ as an axiom to intuitionistic logic, you will still have sound Kripke semantics when restricting to frames with unique evolution. Hence, to check that a formula is not a tautology with respect to this stronger calculus, it suffices to find an interpretation in such a uniquely evolving frame which does not validate the formula. For $\neg \neg A$, you can pick the frame $W = \{0\to 1\}$ and interpret $A$ as known at $1$ but unknown at $0$: Then $\neg\neg A$ is globally known (see above), but $A$ is not. Hence, $\neg \neg A \imp A$ is not a tautology in the enhanced calculus, and therefore the enhanced calculus is still strictly contained in classical propositional logic.

Hanno
  • 19,510
  • I'm not familiar with Kripke semantics. (Everything I know about intuitionistic logic was gleaned from Wikipedia and other places.) The description of Kripke frames on wikipedia doesn't seem to have a 'time' element to it, so I'll be glad if you can explain a bit or point me to a good explanation. – user21820 May 29 '16 at 10:59
  • 1
    Ok so what you meant is that you are providing a single Kripke interpretation, in which the world accessibility relation is interpreted as 'time' evolution. Hmm then I guess the key point is that intuitionistic Kripke models satisfy the inference rules of intuitionistic logic and so we can pick special ones that do not satisfy the formula we want to show is not intuitionistically valid. As for my second question, I don't see how your answer resolves it. – user21820 May 29 '16 at 11:56
  • @user21820 Now I expanded things, I hope it's clearer now. – Hanno May 29 '16 at 12:14
  • On a brief read through, it's much clearer now, but I'll have to think through it very carefully again tomorrow. Thanks a lot! – user21820 May 29 '16 at 15:38
  • Okay I've proven to myself that Kripke semantics is sound, though I'm now intrigued by the claim on wikipedia that it is complete too, which implies that if a sentence is not provable intuitionistically then there is a Kripke frame that does not satisfy it. This isn't used in your answer but it would mean that your kind of answer is always possible. I'm going to edit your answer to make it clearer to me but feel free to revert if you don't like it. Thanks again! – user21820 May 30 '16 at 03:59
  • 1
    @user21820 Sure, thanks for the suggestions and improvements! Maybe some other people can now profit from this question in the future, too. – Hanno May 30 '16 at 06:05
  • 1
    @Hanno Nice explanation! +1 – Henno Brandsma May 30 '16 at 18:47
  • @HennoBrandsma Thank you, I'm happy you like it! – Hanno May 30 '16 at 18:52
  • 6
    +1 It might be useful for some readers to note that adding the inference rule in the question to intuitionistic logic is equivalent to adding the axiom schema $(B\to C)\lor(C\to B)$. I believe the latter extension of intuitionistic logic has been studied fairly extensively. – Andreas Blass Jun 28 '17 at 17:17
3

Here is an answer that builds on the intuition I had 4 years ago when asking this question. The idea is to use the BHK interpretation where a witness of $P→Q$ is a program that given any witness of $P$ as input will produce a witness of $Q$ as output. Intuitionistic logic proves only sentences that have such a witness.

Then to answer the first question, it suffices to find $A,B,C$ such that we can computably convert any given witness of $A$ into a witness of $B∨C$, but such that we cannot construct a witness for $A→B$ nor a witness for $A→C$. To do so, consider $A :≡ X∨Y$ and $B :≡ X$ and $C :≡ Y$ where $X,Y$ are distinct propositional variables. Then clearly $A→B∨C$ has a witness, and hence is intuitionistically provable. However, $A→B ≡ X∨Y→X$ has no witness, since a witness of $X∨Y$ may be a witness of $Y$ rather than $X$. Similarly, $A→C$ has no witness. Thus there is no witness of $(A→B)∨(A→C)$, and hence it is intuitionistically unprovable. Therefore the rule cannot be intuitionistically valid.

I do not see an obvious way to address the second question using the BHK interpretation, so for that please refer to Hanno's answer using Kripke frames. =)

user21820
  • 57,693
  • 9
  • 98
  • 256
  • That doesn't seem right at all. Since we were supposedly given a witness of $A$, that is, of $X\lor Y$, then we have either a witness of $X$ or of $Y$. If that turns out to be $X$, we can construct a witness for $A\to B$. Otherwise, if that turns out to be $Y$, we can construct a witness for $A\to C$. Either way, we can construct a witness for $(A\to B)\lor (A\to C)$. In fact, the rule you are considering is admissible in intuitionistic logic. That is, if we have a closed proof (witness) of the $A\to (B\lor C)$, then we have a closed proof (witness) of $(A\to B)\lor (A\to C)$. – Hermógenes Oliveira Aug 09 '20 at 19:00
  • 1
    @HermógenesOliveira: It's your comment that is not right. The given (A⇒B∨C) only gives you a witness for (X∨Y⇒X∨Y), which is a trivial witness, and from that you are completely unable to extract either a witness for (X∨Y⇒X) or (X∨Y⇒Y). So the rule is not valid in intuitionistic logic. Besides, the other answer already conclusively disproved your claim of admissibility, so I am unsure why you would claim so. – user21820 Aug 09 '20 at 19:28
  • 1
    You must apply the same interpretation for the implication in $A\to (B\lor C)$ that you did for the outermost implication in $((A\to (B\lor C))\to ((A\to B)\lor (A\to C))$. If we are indeed strictly following BHK, then a witness for $(X\lor Y)\to (X\lor Y)$ is not trivial at all, since we must apply the corresponding BHK clauses to the logical constants there. I am not claiming that the rule is derivable or valid. I am claiming it is admissible. – Hermógenes Oliveira Aug 09 '20 at 20:29
  • To elaborate a little more: We were given a construction proving $A\to (B\lor C)$. Now, let's apply BHK to see what this construction entails. Well, it entails that, given a construction of $A$, we have a construction of $(B\lor C)$. However, since $A=X\lor Y$, $B=X$ and $C=Y$, in any case we must be handed a construction of either $X$ or $Y$. – Hermógenes Oliveira Aug 09 '20 at 20:37
  • 1
    @HermógenesOliveira: Look, you are just plain wrong, because you simply do not understand BHK. (X∨Y⇒X∨Y) is trivially provable in intuitionistic logic, which is sound under BHK. If you cannot understand that, read a rigorous definition of BHK and then think slowly and carefully about what it means here. – user21820 Aug 10 '20 at 04:05
  • And no that rule is not admissible, as Hanno already showed, by proving that the rule is unsound for Kripke frames, which are complete for intuitionistic logic. What both Hanno and I said is further corroborated by Andreas Blass. – user21820 Aug 10 '20 at 04:14
  • Well, yes. The rule is not strictly speaking admissible. Only certain instances of it are admissible, like Mint's rule, where $A=A\to B$, or Harrop's rule, where $A=\lnot A$. Basically, my issue with your answer is that it seems to conflate validity with admissibility. If we apply your test to Mint's or Harrop's rule, they come out valid even though they are not. Hannno and Andreas are right, of course, and I am not implying otherwise. – Hermógenes Oliveira Aug 10 '20 at 08:20
  • BHK is an informal "semantics" and people tend to read the clause for implication as something similar to admissibility, which can lead to problems. Kripke semantics is a proper formal semantics and don't have this disadvantage. – Hermógenes Oliveira Aug 10 '20 at 08:34
  • And your claim that my answer can be applied to Mint's rule or Harrop's rule is simply false. For instance, you cannot find $A,B,C$ for which my argument will work against ( $¬A⇒B∨C ⊢ (¬A⇒B)∨(¬A⇒C)$ ), since my argument is correct. (The same choice of $A,B,C$ obviously fails.) This is not an invitation for you to continue, but for the sake of future readers. – user21820 Aug 10 '20 at 17:44
  • So, another way of stating the argument would be: if the statement were intuitionistically valid, then it would follow that $((B \vee C) \rightarrow B) \vee ((B \vee C) \rightarrow C)$ would be an IL tautology. But there is a general result that if $\phi \vee \psi$ is an IL tautology, then either $\phi$ is an IL tautology then $\psi$ is an IL tautology. (Proof overview: in a cut-free sequent calculus proof of $\phi \vee \psi$, the root of the derivation tree would have to use ${\vee}I$.) But since neither $(B \vee C) \rightarrow B$ nor $(B \vee C) \rightarrow C$ is an IL tautology... – Daniel Schepler Oct 24 '20 at 20:09
  • 1
    @DanielSchepler: Yes that is correct, though it is a proof-theoretic argument (via cut-free sequent calculus) rather than a model-theoretic argument (via the BHK interpretation). In terms of complexity, BHK is much simpler. Though of course Kripke frames are even better, as Hanno's answer demonstrates. =) – user21820 Oct 25 '20 at 03:19
3

It's interesting to me that different people's intuitions were so different on this. Different models are helpful with different examples, and nobody in the thread mentioned the connection between intuitionistic logic and programming language semantics, which for this example I found very helpful.

In the programming language model, $$(A\to(B\lor C))\to((A\to B)\lor(A\to C))$$ is the type of a function $f$ which is given a value $in$ of type $$A\to(B\lor C)$$ and which transforms it into a value $out$ of type $$(A\to B)\lor(A\to C).$$ How might we implement such a function $f$?

An experienced computer programmer will think something like this:

I would need to produce a function that turns $A$ into $B$. I can't do that because all I have is a function that turns $A$ into $B\lor C$ and it might not give me the $B$ I need.

That's the intuition. The intuition is a shortcut for the following thought process.

In code, our function $f$ will look like this:

def f in = out   where    -- `in` has type A → (B ∨ C)
   out = ???              -- `out` should have type (A → B) ∨ (A → C)

$\def\lt{\mathtt{Left}\ }\def\rt{\mathtt{Right}\ }$ A value of type $(A\to B)\lor(A\to C)$ must have the form $\lt out_L$ where $out_L$ has type $A\to B$, or $\rt out_R$ where $out_R$ has type $A\to C$. Those are the only two choices. Let's try the first one:

def f in = out   where      -- `in` has type A → (B ∨ C)
   out        = Left outL   -- `outL` should have type A → B

Since outL has type $A\to B$, it is a function that takes a value of type $A$ and turns it into a value of type $B$:

def f in = out   where    -- `in` has type A → (B ∨ C)
   out        = Left outL 
   outL a     = ???       -- we want to produce a value of type B

Where is $out_L$ going to get a value of type $B$? The only tools it has available are $in$ (of type $A\to(B\lor C)$) and $a$ (of type $A$) and there is only one thing it can do with these: it must give the argument $a$ to the function $in$, producing a result of type $B\lor C$:

def f in = out where      -- `in` has type A → (B ∨ C)
   out        = Left outL 
   outL a     = ?? in a ??  -- `in a` has type B ∨ C
                            --  we want to produce a value of type B

The in a expression produces a value of type $B\lor C$. A value of type $B\lor C$ looks either like $\lt b$ or like $\rt c$, so we need a case expression to handle the two cases.

def f in = out where      -- `in` has type A → (B ∨ C)
   out        = Left outL 
   outL a     = case  in a  of    -- we want to produce a value of type B
                   Left b  -> ???
                   Right c -> ???

In the $\lt b$ case it's easy to see how to proceed: just return the $b$:

def f in = out where      -- `in` has type A → (B ∨ C)
   out        = Left outL 
   outL a     = case  in a  of      -- we want to produce a value of type B
                   Left b  -> b   -- … and we did!
                   Right c -> ???

In the $\rt c$ case there's no way to proceed, because $out_L$ has available a value $c$ of type $C$, but it still needs to produce a value of type $B$ and it has no way to get one. There is no way to complete the implementation.

Perhaps we made a mistake back at the beginning when we chose to define out = Left outL? Would out = Right outR work better? No, the problem will be exactly the same:

def f in = out where      -- `in` has type A → (B ∨ C)
   out        = Right outR 
   outR a     = case  in a  of      -- we want to produce a value of type C
                   Left b  -> ??? -- … but we don't have one 
                   Right c -> c  

This exhausts the possibilities. There is no way to implement $f$.

The points I want to make here are not only that programmers can and do acquire this sort of intuition for what can't be implemented and why not, but also that they can convert the intuition into an argument that doesn't rely on the intuition alone. Once the intuition is turned a detailed argument, the Curry-Howard correspondence can be used to convert the failed implementation directly to an LJ sequent calculus proof or analytic tableau proof that the statement is invalid.

[ Addendum: Note by the way that the reverse implication, which is intuitionistically valid, is easy to prove and just as easy to construct a program:

def fINV out a =   -- fINV has type ((A→B)∨(A→C))→(A→(B∨C))
  case out of Left  outL -> Left  (outL a)  -- outL has type A→B
              Right outR -> Right (outR a)  -- outR has type A→C

and again the Curry-Howard correspondence converts the program into a proof or vice-versa. ]

MJD
  • 65,394
  • 39
  • 298
  • 580
  • I've to go, so I'll come back and read your answer later, thanks! – user21820 Mar 06 '22 at 18:26
  • I'm certainly not going to complain if you don't drop everything to immediately study my answer to your question from 2016. If you read it before 2028, I'll be more than satisfied. – MJD Mar 06 '22 at 18:28
  • I've now read it! I actually had this intuition, but (last time) I didn't realize that it can be turned into a proof. Now I get it. But you made me have 2 new questions: (1) Can you use programming language semantics to address the second half of my old question, namely whether intuitionistic logic plus the stated rule yields classical logic? (2) What do you mean at the end by "LJ sequent calculus proof [...] that the statement is invalid"? (I thought the inadmissability of the rule is necessarily a meta-theorem?) – user21820 Mar 07 '22 at 06:40
  • (1) it can be done but not by me today. It's known that there are programming language analogues of classical logic. For example, if one takes a pure functional language adds a feature known as “call-with-current-continuation”, the logic becomes classical because CWCC corresponds to Peirce's Law in the CH correspondence. Adding double-negation elimination is very similar. My intuition says that adding your law is not enough to produce classical logic, because it seems to me to be weaker than this sort of feature. But I could easily be wrong. – MJD Mar 07 '22 at 15:30
  • For (2) you are correct, it is a metatheorem. Consider the way a tableau proof works: if $P$ was provable you would be able to close all the branches; when you can't, that shows that $P$ was never provable. LJ sequent calculus proofs are similar. (J-Y. Girard says “tableaux are the poor mans sequents”.) Gentzen's cut-elimination theorem shows that, if there is a proof of $P$, the proof will require only specific kinds of steps out of a can, and never a wild leap of intuition where you invent and prove some unrelated $Q$ and then use that to prove $P$. (…) – MJD Mar 07 '22 at 15:32
  • (…) In the programming language world this means that to write a function $f$ with a certain type, you do not have to define some completely new function $Q$ and then apply it to an argument; there is always a way to write $f$ without any such inventions. (This argument is hiding all through my post above, for example when I said “Where is $out_L$ going to get a value of type $B$? … there is only one thing it can do…”.) Once equipped with the cut-elimination theorem we can show that there is no LJ proof of $P$ by going through all the other proof rules and observing that none of them can work. – MJD Mar 07 '22 at 15:38
  • For (2), okay that's what I expected, thanks! – user21820 Mar 07 '22 at 17:28
2

That is G(Gödel–Dummett logic: https://en.wikipedia.org/wiki/Intermediate_logic#Properties_and_examples). $$ \forall A\forall B\forall C((A\to B\lor C)\to (A\to B)\lor (A\to C))\leftrightarrow \forall A\forall B((A\to B)\lor (B\to A)) $$ Let me do a tedious speech.
$\forall A\forall B\forall C((A\to B\lor C)\to (A\to B)\lor(A\to C))\vdash \forall A\forall B((A\to B)\lor(B\to A))$

$ \forall A\forall B,\\ \ \ \ \ A\lor B,\\ \ \ \ \ \ \ \ \ (i)A,\\ \ \ \ \ \ \ \ \ \ \ \ \ B\to A\\ \ \ \ \ \ \ \ \ \ \ \ \ \therefore(A\to B)\lor(B\to A)\\ \ \ \ \ \ \ \ \ (ii)B,\\ \ \ \ \ \ \ \ \ \ \ \ \ A\to B\\ \ \ \ \ \ \ \ \ \ \ \ \ \therefore(A\to B)\lor(B\to A)\\ \ \ \ \ \ \ \ \ \therefore (A\to B)\lor(B\to A)\\ \ \ \ \ A\lor B\to (A\to B)\lor(B\to A)\\ \ \ \ \ by\ Hypothesis\\ \ \ \ \ (A\lor B\to A\to B)\lor(A\lor B\to B\to A)\\ \ \ \ \ (i)A\lor B\to A\to B,\\ \ \ \ \ \ \ \ \ A,\\ \ \ \ \ \ \ \ \ \ \ \ \ A\lor B\\ \ \ \ \ \ \ \ \ \ \ \ \ A\to B\\ \ \ \ \ \ \ \ \ \ \ \ \ \therefore B\\ \ \ \ \ \ \ \ \ A\to B\\ \ \ \ \ \ \ \ \ \therefore (A\to B)\lor(B\to A)\\ \ \ \ \ (ii)A\lor B\to B\to A,\\ \ \ \ \ \ \ \ \ B,\\ \ \ \ \ \ \ \ \ \ \ \ \ A\lor B\\ \ \ \ \ \ \ \ \ \ \ \ \ B\to A\\ \ \ \ \ \ \ \ \ \ \ \ \ \therefore A\\ \ \ \ \ \ \ \ \ B\to A\\ \ \ \ \ \ \ \ \ \therefore (A\to B)\lor(B\to A)\\ \ \ \ \ \therefore (A\to B)\lor(B\to A)\\ \therefore \forall A\forall B((A\to B)\lor(B\to A)) $

Conversely,
$\forall A\forall B((A\to B)\lor(B\to A))\vdash \forall A\forall B\forall C((A \to B \lor C)\to (A\to B)\lor(A\to C))$

$ \forall A\forall B\forall C,\\ \ \ \ \ A\to B\lor C,\\ \ \ \ \ \ \ \ \ by\ Hypothersis\\ \ \ \ \ \ \ \ \ ((A\to B)\to A\to C)\lor((A\to C)\to A\to B)\\ \ \ \ \ \ \ \ \ (i)(A\to B)\to A\to C,\\ \ \ \ \ \ \ \ \ \ \ \ \ A,\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ B\lor C\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (i)B,\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A\to B\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A\to C\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \therefore C\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (ii)C,\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \therefore C\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \therefore C\\ \ \ \ \ \ \ \ \ \ \ \ \ A\to C\\ \ \ \ \ \ \ \ \ \ \ \ \ \therefore (A\to B)\lor (A\to C)\\ \ \ \ \ \ \ \ \ (ii)(A\to C)\to A\to B,\\ \ \ \ \ \ \ \ \ \ \ \ \ A,\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ B\lor C\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (i)B,\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \therefore B\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (ii)C,\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A\to C\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A\to B\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \therefore B\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \therefore B\\ \ \ \ \ \ \ \ \ \ \ \ \ A\to B\\ \ \ \ \ \ \ \ \ \ \ \ \ \therefore (A\to B)\lor (A\to C)\\ \ \ \ \ \ \ \ \ \therefore (A\to B)\lor (A\to C)\\ \ \ \ \ \therefore (A\to B\lor C)\to (A\to B)\lor (A\to C)\\ \therefore \forall A\forall B\forall C((A \to B \lor C)\to (A\to B)\lor (A\to C)) $

Paul
  • 51
  • Interesting! But you misspelled "Gödel–Dummett logic", and I don't understand your first half, because it is completely unnecessary since there is a trivial intuitionistic proof of ( ( A → B ) ∨ ( A → C ) ⊢ A → B∨C ). Would you mind fixing your answer? – user21820 Mar 06 '22 at 18:21
  • I've written as a next meaning. The first half means that IPC $+(\to \lor distribution)\to$ G . And the second half means that G $\to (\to \lor distribution)$. and I fixed the spelling. – Paul Mar 07 '22 at 05:09
  • And for you, $(\land \to distribution)\leftrightarrow$ G can also be proved in IPC. $(\land \to distribution)=\forall p \forall q \forall r((p\land q\to r)\to (p\to q)\lor (p\to r))$ – Paul Mar 07 '22 at 05:15
  • Ah okay thanks, I see now. Thank you! – user21820 Mar 07 '22 at 06:33