Let "r" mean "it's raining" and "s" mean "it's snowing."
"->" is "implies"; "V" is "or" (inclusive); "~" is "not"; "^" is "and"

Here's the "proof":
(1) (r->s)V(s->r) is true because it's a tautology (truth tables say it's always true)
Now say it happens to be raining and not snowing today:
(2) r^~s
(3) ~(r->s) from (2) by truth table
(4) s->r from (1) and (3)

But it's not true that "if it's snowing, it's raining," as (4) says; there are days in winter where it snows but does not rain. So where have I gone wrong?

closed as off-topic by Joseph Weissman Feb 11 '16 at 21:45

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "While this question may be related to philosophy or occur in a philosophical context, the question itself doesn't seem to be about philosophy, and is therefore not a good fit for our site." – Joseph Weissman
If this question can be reworded to fit the rules in the help center, please edit the question.


You have observed that there are days in which it snows, but does not rain — where ~r&s, in direct contradiction (twice!) with the axiom (2). We can only conclude that those days are not modelled by that axiom, or any system of axioms which include it.

On days conforming to (2), it is not snowing, and so s→r holds vacuously. (See towards the end of a related post on conditional propositions in sentential logic).


We are "working" with classical logic, when we assume that r ∧ ~s is equivalent to : ~(r → s) [and so : (r → s) is equivalent to : ~(r ∧ ~s)].

Also the tautology : (r → s) ∨ (s → r) (called : Dummett's law) is valid in classical logic only.

Now, if we apply the equivalence above to the premise (1), we can rewrite it as :

~(r ∧ ~s) ∨ ~(s ∧ ~r).

Having assumed : (r ∧ ~s) as premise (2), by Disjunctive syllogism we are "forced" to conclude with :

~(s ∧ ~r)

which is exactly :

(s → r).


Assuming the "context" of classical logic, there are no steps in your argument "where you have gone wrong".

Assuming the tautology (1), you have assumed the disjunction between the two alternatives :

"not (rain without snow)" , "not (snow without rain)".

This is a tautology, i.e. a logical truth; thus, it must be true in every "situation".

Then we have premise (2) :

"today it's raining but not snowing"

that is not a logical truth; it is "contingent" proposition, describing an actual situation : today we have rain without snow.

By logical steps we have concluded with (4) :

"if it's snowing, then it's raining".

But we have to refrain to committ a fallacy : (4) is a logical consequence of (1) and (2). This means that it must be true whenever (1) and (2) are.

But (2) is not a logical truth, i.e. it is not true in every possible situation; thus also the conclusion of the (valid) argument is not a logical law, i.e. it is not true in every possible situation.

We can conclude that (4) is true in the situation "described" by (2) [(1) is ininfluent, due to the fact that is true "everywhere]; not that in every possible situation it is true : you have noted that "there are days in winter where it snows but does not rain".

This is the "solution" of the puzzle.

In assuming (2) we are committing ourselves to the falsity of s, because the only way to satisfy (r ∧ ~s) is when both r and ~s are true, i.e. when r is true and s is false.

Having assumed classical logic, the fact that s is false licences us - by the truth conditions for the conditional - to assert that (s → r) is true.

  • [ (r → s) ∨ (s → r) ] is a special case of the more general tautology [(r → s) ∨ (q → r)] . Demonstration: Suppose [(r → s) ∨ (q → r)] is not a tautology. Then both (r → s) and (q → r) are false in some interpretation. In that interpretation, r is true in (r→s) and false in (q → r). But that is a contradiction, and thus [(r → s) ∨ (q → r)] is a tautology. – Doug Spoonwood Oct 17 '14 at 5:56
  • This happens in plenty of other logics than classical logic. The Law of Dummett has nothing to do with this. Note that Wajsberg-Lukasiewicz logic, Lukasiewicz infinite-valued logic, and intuitionistic logic all have CNaCab as a tautology. Thus, if KrNs is true, we get Ns by right-conjunction elimination. Then substituting "a" with "s", and "b" with "r" in CNaCab we obtain CNsCsr. Since we have Ns also, we detach Csr. – Doug Spoonwood Oct 17 '14 at 6:02

You have incorrectly introduced the element of time into your argument, and are confusing statements of the type it is snowing now with statements of the type every time it snows.

Your "R" statement should really be it is raining now and "S" is it is snowing now.

Either it is raining now -> it is snowing now or it is snowing now -> it is raining now. Why? Because all things imply a true statement and a false statement implies all things. If it is raining now is true then any other statement will imply it. If it is false, then it implies any other statement (including it is snowing now).

In neither case, however, have we established any essential connection between raining and snowing. R -> S does NOT mean every time it rains, it snows.

  • (R -> S) means that "if it is raining, then it is snowing." Now suppose we have an arbitrary time where it is raining. If detachment holds as a rule of inference, then at the same arbitrary times it follows that it is raining. Since both times were arbitrary, it follows that every time it rains, it snows. It looks like detachment fails as a rule of inference for temporal reasoning. – Doug Spoonwood Oct 17 '14 at 6:21

To put it briefly, you have told the logical system it is not snowing. Your statement (4) is just the principle of explosion in action: if it is snowing (and, as you have already told the system, it is also not snowing) then black is white, I am pope and, yes, it is also raining.

If 'A is false' is taken as a premise then 'A-> whatever the heck you like' is a theorem, because the conditional is never satisfied.

Edit: Here's a proof

(1) ~A

(2) ~A v Whatever the hell you like (By disjunction introduction)

(3) A-> Whatever the hell you like (By material implication)

  • 1
    There is no explosion going on here. First, that r is true is already in premise (2) of the argument. Second, suppose that (4) was, instead, "s -> Tom is the pope". You would not be able to conclude that Tom is the pope, because s is not entailed by the argument. – Schiphol Mar 14 '13 at 18:45
  • 1
    @Schiphol There is no explosion in the logical proof, but the OP asks: "Why", to paraphrase, "when it is snowing, does the conclusion of my argument posit an absurdity?" this is explosion in action. Technically, of course, the conclusion of the argument is not explosive, and merely, as your answer says, a vacuous conditional: but the reason it is absurd is manifestly POEish. – Tom Boardman Mar 14 '13 at 19:02
  • No, I think your point is essentially correct, of course. I was merely inviting you to maybe explain in a bit more detail what ex falso quodlibet is and how the OP's argument is related :) – Schiphol Mar 14 '13 at 19:19

There's a simpler argument that leads to the same difficult.

Suppose that it is not snowing today "~s". Then given "if not s, then if s, then r" [~s->(s->r)] as an axiom or theorem (thesis), and detachment or "modus ponens", then it follows that "if it is snowing today, then it is raining today." That leads to the same difficult, right? Well, the inferred statement here occurs under the scope of the assumption ~s. More formally:

axiom             1 [~s->(s->r)]
assumption        2 | ~s
detachment (2, 1) 3 | (s->r)

Or you could get there this way:

axiom             1 [r->(s->r)]
assumption        2 | r
detachment (2, 1) 3 | (s->r)

But notice that that conclusions here only hold under the scope of some assumption. They don't hold outside the scope of some assumption. When you wrote this "But it's not true that "if it's snowing (today), it's raining (today),"" you were speaking outside the scope of assumptions about whether it's snowing (today) or raining (today). You went wrong by forgetting about the scope of inferences made.


Remember that, contrary to popular (mis)usage, implication has nothing to do with cause and effect.

Raining => Cloudy

"It's raining implies it's cloudy" does not mean that rain causes cloudiness or that cloudiness (by itself) causes rain.

It just means that it is never the case that it is both raining and not cloudy. Every other possibility is allowed: raining and cloudy, not raining and not cloudy, or not raining and cloudy.

Alternatively, we can say that raining is a sufficient condition for cloudiness, or that cloudiness is a necessary condition for rain.

We define A => B to mean simply ~[A and ~B], or equivalently, ~A or B.

Thus, we can rewrite [R => S] or [S => R] more intuitively as [R and ~S] => [~S or R].

A single implication of this form is usually easier to read.

  • The "paradox" can arise without any of the definitions here. – Doug Spoonwood Oct 17 '14 at 6:10
  • But your point about "if ... then" as not involving causality is correct, and probably indicates how the confusion arises. – Doug Spoonwood Oct 17 '14 at 6:43

I believe that your argument is perfectly correct as formal (classical) logic.

You wish to prove a disjunction A V B.

You do it by assuming not(A) and concluding B.

Your confusion is arising because you are assigning meaning to the statements A ( = r-> s ) and B ( = s -> r ).

From a logical point of view, it does not matter if rain implies snow or snow implies rain. Indeed, both of those statements are obviously false in their common usage.


The conditional you are dealing with here is the material conditional. Its truth table is as follows

s    r     s->r
T    T     T
T    F     F
F    T     T
F    F     T

So, sure enough, (4) is true: it's a material conditional with a false antecedent; nothing in s not being the case can make it false that if s then r. The puzzlement over this line of the truth table of the material conditional is recurrent at Philosophy SE. Look around and you'll find other related questions.

  • This argument can get made without the material conditional. See my comment to Mauro's answer. – Doug Spoonwood Oct 17 '14 at 6:09

Not the answer you're looking for? Browse other questions tagged or ask your own question.