Is McGee's counterexample to Modus Ponens accepted by the mathematical community?

In the mid 1980's Vann McGee proposed a counterexample to Modus Ponens:

(a) If a Republicans will win the election, then if Reagan will not win, Anderson will win. (b) A Republican will win the election. (c) So, if Reagan will not win, Anderson will win.

Christian Piller describes it here: "[McGee's] attempt to show that modus ponens is not a valid form of inference - and to show this by the help of a counterexample and not by envisaging an evil demon confusing us - is proof of the ingenuity of a philosopher's ability to doubt."

John MacFarlane here lists two additional statements of the same type:

(a) If that creature is a ﬁsh, then if it has lungs, it is a lungﬁsh. (b) That creature is a ﬁsh. (c) So, if it has lungs, it is a lungﬁsh.

(a) If Uncle Otto doesn’t ﬁnd gold, then if he strikes it rich, he will strike it rich by ﬁnding silver. (b) Uncle Otto won’t ﬁnd gold. (c) So, if Uncle Otto strikes it rich, he will strike it rich by ﬁnding silver.

Modus Ponens permeates all of mathematics yet the counterexample seems primarily discussed in the philosophical literature. Is it accepted in the mathematical community? Is there a precise, mathematical restatement (eg, in terms of set theory or categorical) - free of subject-matter - that everyone can agree on? Or does it lead to a no-mans land of disputed interpretations?

Recall, proof of the conditional A --> B doesn't require A to be true. But the detachment of B as a true consequence the only follows via Modus Ponens, which requires the antecedent of a conditional to be true.

Lawvere & Rosebrugh write in Sets for Mathematics that substitution, correctly objectified, is composition.

If McGee's counterexample is valid, it would seem that substitutions of the form A --> (B --> C) are a "transitivity trap" so to speak.

-
I honestly don't see the problem with any of these statements. What is the contradiction/paradox presented here? – Thomas Andrews May 9 '12 at 14:56
Yes, all these examples are perfectly logically sound, and are consistent Modus Ponens as far as I can tell. In Piller's discussion of the first example he seems to be suggesting that people don't fully believe (b). In other words, while it's true that people believed that if Reagan didn't win, then Carter would (rather than Anderson), if they also believe that a Republican will inevitably win then (c) is fine. It just happens that the case that Reagan doesn't win is (considered) impossible, so the statement is vacuous. – Matthew Pressland May 9 '12 at 15:01
Ah, after some search, the point is that the statement "if Reagan will not win, Anderson will win" is not obviously true. But modus ponens exists in a universe of facts, and it isn't false in a universe where you know (a) and (b) already. If you don't have the additional facts (a) and (b), then (c) isn't true, but that's the nature of deduction. (c) isn't true absent context, it is dedicble from (a) and (b). – Thomas Andrews May 9 '12 at 15:02
I am thoroughly baffled by how on earth that is supposed to be even mildly convincing 'counterexample'. – Tara B May 9 '12 at 16:01
@AsafKaragila To be fair, I don't think that is what MacFarlane (and, by inference, McGee) were doing. They were showing that attempting to carry out modus ponens (as understood mathematically) on certain natural seeming statements leads to counterintuitive results. The lesson is not that philosophers cannot do logic; it's that philosophers care about questions where naive attempts to formalize the reasoning seem problematic. – user16299 May 9 '12 at 22:09

In the first example, it seems like the problem is with an intuition of truth being "high likelihood." You can't start from

(a') If a Republican wins, then if Ronald Reagan doesn't win, Anderson will win
(b') It is highly likely that a Republican will win

and deduce:

(c') If Reagan doesn't win it is highly likely that Anderson will win

That certainly is not a valid statement, even if (a') and (b') are true. But it also isn't an application of Modus Ponens.

(For those not old enough to remember, in 1980, the US presidential election was between Reagan, a Republican, Carter, a Democrat, and Anderson, a Republican running as an independent. Anderson was not very likely to win - if Reagan did not win, then it was highly likely that Carter would be the winner. But, given that a Republican was going to win, if Reagan did not win, it was most likely that Anderson would have won.)

Vann McGee, then, appears to be unaware of the fact that the truths used in logic are absolute. Modus Ponens only works if you are careful about your language. If you are lazy about your language, as in all things, logical deduction is useless.

If you want to deal with degrees of likelihood, you want probability. If you want degrees of truth other than pure "true" and pure "false," you want fuzzy logic. Modus Ponens fails in these variants of logic, and it is worth exploring how it fails and what sorts of deductions you can do in these spaces, but it is hardly a failure of modus ponens - it is more a failure of lazy language.

The lungfish example is actually a different sort of error, fundamentally related to the difference between Propositional Logic, in which the only types are propositions, and First Order Logic, in which you can make propositions about things. In first order logic, you would write:

(a) For any thing, if the thing is a fish, then if the thing has lungs, then the thing is a lungfish.
(b) This thing is a fish
(c) Therefore, if this thing has lungs, then this thing is a lungfish.

(c) Is not the same as saying, "For any thing, if the thing has lungs, then the thing is a lungfish," but rather, a statement about a specific thing about which we have some (possibly incomplete) information.

(u) For all X, If X won the election, then X is a Republican.
(v) Y won the election

You can conclude:

(w) Y is a Republican

But that doesn't mean that (w) is true for all Y, it only means it is true given the statement (v).

One of the frequent flaws in elementary logic is that people think "implication" actually implicitly means "for all cases." It doesn't. Implication is always about individual instances. The only way you get a "for all" added to implication is by explicitly adding that phrase to the sentence. In common language, it often doesn't need to be there. But the meaning in hard logic of the "P implies Q" is always about an individual instance, and the only way to make it general is by adding a "for all" explicitly to the sentence and adding a variable to the expression.

Modus ponens is a purely Propositional Logic statement.

The symbol $\forall$ is used to represent "For all" in First Order Logic. What you are trying to do is start with the statements:

(a) $\forall X: P(X)\implies Q(X)$
(b) $P(Y)$

and conclude:

(c) $\forall Y: Q(Y)$

But that is not how modus ponens of First Order Logic works. You cannot add back the $\forall$ part of the sentence. What you can do, from (a), and (b) is conclude:

(a') $P(Y)\implies Q(Y)$ (by the substitution rule for $\forall$)
(d) $Q(Y)$ (By modus ponens)

$Q(Y)$ is not the same statement as $\forall Y: Q(Y)$. $Q(Y)$ is a conclusion given that you've already stated that you know $P(Y)$ is true.

-
The lungfish example is pure language error, having nothing to do with grades of truth. The reason (c) appears false in the first example is that it implicitly seems untrue, but that's only if you treat the premise (b) as a high likelihood, rather than as an actual hard truth. If (a) and (b) are absolutely true, then (c) is clearly absolutely true. @alancalvitti – Thomas Andrews May 9 '12 at 16:24
@alancalvitti You've lost me, and comments aren't a good place to chat. Modus ponens applies to absolutely truths in logic. If your computer system represents individual facts in an absolute sense, you can apply modus ponens to those facts, as long as they mean what you think they mean. If you are not talking about absolute truths, but mere likely truths or fuzzy truths, then you cannot simply apply modus ponens to your set of facts. – Thomas Andrews May 9 '12 at 16:46
@alancalvitti: Modus ponens is unequivocally valid in Heyting algebras, and in the intuitionistic logic that they algebraise. Intuitionistic logic is not fuzzy logic either. If you want to formalise the lungfish example, look up "conditional proof". – Zhen Lin May 9 '12 at 17:10
@alancalvitti: It does not fail MP, so it is not a counterexample. I can formalise it, but in order to appreciate it, you have to learn some formal logic first. – Zhen Lin May 9 '12 at 17:28
@alancalvitti Have you seen "A defense of modus ponens" by Sinnott-Armstrong et al.? It seems to concur with Thomas Andrews' analysis. – MJD May 10 '12 at 15:24

To put it briefly, McGee's "counterexample" is not accepted by the mathematical community because it is not, per se, a statement about mathematics. Modus ponens certainly holds in the context of logic, with its absolute interpretations of "true" and "false", and the references you give acknowledge that. But those authors (who are philosophers, not mathematicians) appear to be considering other possible notions of truth, different from those of logic, which they believe may better describe the way humans routinely think, and noting that modus ponens can fail to hold for those.

Some of those models make sense to describe mathematically, but mathematicians would not confuse those models with plain logical truth, and indeed would probably avoid using the words "true" and "false" to describe anything else.

-
Can natural language can be factored out of McGee's counterexample? Thomas's lungfish in particular seems to consist of binary-valued, "plain logical truth" statements amenable to conditional proof (thanks to Zhen Lin for the ref). Can you help formalize the lungfish using categories, objects, subobjects and part-of and is-a relations to see if the conditional proof holds? – alancalvitti May 9 '12 at 17:26
@alancalvitti: The proof obviously holds, and the statement (c) is obviously true (given the assumptions (a) and (b)). What is the contradiction/paradox/problem here? – ShreevatsaR May 9 '12 at 17:28
@ShreevatsaR: I'm confused about what the issue is, too. I think it's that they believe Modus Ponens implies that statement c is true in all cases, not just the cases where b is true. I get the impression that this is the result of philosophers trying to reason about mathematical logic, without first building up the underlying mathematical intuition that we all take for granted. – BlueRaja - Danny Pflughoeft May 9 '12 at 19:59
I respectfully disagree that philosophers are somehow deficient in logic. Skimming the link to Macfarlane's note, it seems more that they are discussing rules of inference in settings to which mathematical logic cannot always be applied consistently – user16299 May 9 '12 at 20:21
@BlueRaja-DannyPflughoeft: My opinion is the same as that of Yemon. These philosophers are not trying to reason about mathematical logic. They are reasoning about some other system which looks superficially similar to mathematical logic and uses similar terminology, but is actually very different. (Disclaimer: I know little of philosophy and do not claim to actually understand what they are doing, but this is my understanding so far.) – Nate Eldredge May 9 '12 at 21:19

Mc Gee's counterexample points one problematic application of classical propositionnal logic to natural language. In general mathematicians are not interested with it because they are happy with classical logic and consider that it gives a correct model of their way to reason. As far as I know, it is not possible to produce the same counterexample applied to mathematical objects. Perhaps it is due to the necessary relations between objects in mathematical sentences.

For those who do not see any interest in this kind of counterexample, I just want to point that the problematic application of classical logic to reasoning in natural language does not interest only philosophers but also computer scientists and many other researchers. This question concerns non-classical logics, a field perhaps not useful for mathematics but important to other areas as Artificial Intelligence.

-

It looks to me like McGee is making the following error.

Suppose, for a moment, that $A \to (B \to C)$ is a tautology.

Because of this, we know

$$A \vdash B \to C$$

which means, among other things, that

$$\mathcal{M} \models A \quad \text{implies} \quad \mathcal{M} \models B \to C$$

However, McGee seems to have fallen into a trap of some sort, and is concluding

$$\vdash B \to C$$

which is incorrect.

(the other answer does say this too, but in a more verbose language)

-