(1) If A then B. (2) A is false.

Then B can be anything (true or false) and (1) remains true.

So B is true by __.

What's the word or words in the blank?

  • affirming the consequent? Surely what you've stated is fallacious, though. You're saying that A -> B iff ¬A -> B which is the same as saying B=T for all situations.
    – user5903
    Commented Apr 2, 2014 at 12:44
  • No the OP is actually not saying that. Instead, they are looking at the triviality of something true contingently on a antecedent that is unlikely to be true. (look at the truth table for implication -- if the antecedent is false, the conditional is always true)
    – virmaior
    Commented Apr 2, 2014 at 12:56
  • 2
    B is not necessarily true by anything; however, given (2), (1) is (vacuously) true by the principle of explosion (ex falso quodlibet), which is what I assume you meant to ask about. Commented Apr 2, 2014 at 14:34

9 Answers 9


See Vacuous truth:

A statement S is "vacuously true" if it resembles the statement P => Q, where P is known to be false.

Be careful! It is the conditional "if A, then B" that is vacuously true; as you said, B can be true or false... A being false, the truth-value of B does not matter, i.e. it does not influence the truth-value of the conditional.

It does not follow that B must be true.


In classical logic, this is known as the principle of explosion, traditionally summarized by the Latin phrase ex falso quodlibet — "from falsehood, anything [follows]".

More specifically, the principle of explosion states that, from a false or contradictory premise, any statement may be logically inferred. Thus, once you assume a false premise, the class of provably true statements "explodes" to include all statements, no matter how absurd.

In particular, applying the principle of explosion in a conditional proof allows us to prove true any statement of the form "if P, then Q", where P is false and Q is anything. Examples of such statements might include "if the moon is made of cheese, then I'm a penguin" or "if 1 + 1 = 3, then God exists" (whether you believe in the consequent or not).

Such statements are sometimes called vacuously true. This term is, however, often more specifically used for quantified statements of the type "all x in Y satisfy Q(x)", where the class Y that x ranges over is empty, and Q(x) is any proposition about x. Examples of such statements might be "all invisible pink unicorns can fly" or "all even prime numbers greater than 10 are squares."

Of course, the two types of statements are closely related: any statement of the form "all x in Y satisfy Q(x)" can be recast in propositional form as "if x is in Y, then Q(x)", with x now a free variable. If Y is empty, then, by the principle of explosion, such a statement is identically true for any x, regardless of what Q(x) is.

The principle of explosion is valid in classical logic, as well as in many similar logical systems such as intuitionistic logic. However, there are also formal logical systems, known as paraconsistent logics, that attempt to reject it. Such logical systems can tolerate contradictions without the whole system "exploding" into uselessness; the drawback, however, is that they must necessarily disallow some fairly fundamental inference rules of classical logic.

In particular, the principle of explosion can be proven from disjunction introduction ("if A, then A or B"), disjunctive syllogism ("if A or B, and not A, then B") and the "cut rule", which allows the inference of "if A, then C" from "if A, then B" and "if B, then C". Thus, any paraconsistent logic must necessarily reject or substantially restrict at least one of these inference rules.

  • 1
    I do not agree with you. As in your reference, the principle of explosion (i.e. ex falso quodlibet) "is the law of classical logic, intuitionistic logic and similar logical systems, according to which any statement can be proven from a contradiction." It has the expression (A ∧ ¬A) → B or A → (¬A → B) and in classical logic it is a "law", i.e.a tautology. The above (A → B) is only a conditional with false antecedent. Commented Apr 2, 2014 at 14:22
  • 4
    @Mauro: Given that A is false, the principle of explosion is exactly what allows us to prove the vacuous statement "if A, then B" for any B. So, despite the slight confusion in the OP's question (B itself is not necessarily true by any inference, although "if A then B" is), I would say that both terms are correct, which is why I mentioned them both. Commented Apr 2, 2014 at 14:31
  • No. Mauro is correct. Explosion refers to the property of classical logic (and some others) whereby any proposition is the logical consequence of a contradiction. Explosion does not arise from contingent falsehoods. It is important not to confuse logical consequence with the material conditional within the object language.
    – Bumble
    Commented Mar 28 at 19:53

If B is false, A has to be false. Are you thinking of A -> B where A is false, therefore the implication is true? This is called material implication. http://en.wikipedia.org/wiki/Material_implication_(rule_of_inference)

  • Thanks! Updated. Material implication is not the term I'm looking for, however. I'm looking for an event that is false implying some other event, as in: "If pigs can fly" then B. Now B can be anything.
    – user1043
    Commented Apr 2, 2014 at 6:25

If A → B, and ¬ A, then B can be said to be true by the monotonicity of implication. Since (A → B) is equivalent to (¬A ∨ B), because of monotonicity, since we know that ¬ A is true, we can immediately conclude that (¬A ∨ B) ≡ (A → B) is true, without having to evaluate B. There are all sorts of non-monotonic logics where this behavior is not implemented.

That being said, Mauro's is probably exactly what you're looking for. I suspect the vacuous truth behavior stems from monotonicity, but I could be wrong. (am I?)

  • Strictly speaking, the property of monotonicity you are invoking regards the relation of derivability. My answer is about the truth-functional connective "if__, then ___". The argument above is based on "classical" definition of it in terms of truth-tables, like your equivalence between (¬A ∨ B) and (A → B). Outside classical logic (e.g.intuitionistic one) things are not necessarily so; but monotonicity of derivability can still holds. But it is also true that in most contexts the two are linked, trough Deduction Th or →-introduction. Commented Apr 2, 2014 at 7:36

It is called "the principle of explosion", which states:

"Ex falso sequitur quodlibet" (Latin: From falsity anything follows).

Given the conditional (if-then statement): P --> Q: reads "P (materially) implies Q", where the forward arrow from antecedent P (the 'if-part') to consequent Q (the 'then-part') is the logical connective called "material implication". P is the antecedent/condition/premise and Q is the consequent/consequence/conclusion.

Material implication refers to the forward arrow (-->), where the antecedent(P) precedes it, and the consequent (Q) follows it: this sets up a material conditional statement "If P, then Q", where P materially implies Q.

If the antecedent (P) is true, P can only imply Q, if Q is also true; that is, something true can only imply something true.

If the antecedent (P) is false, P can imply Q, regardless of whether Q is true or false. Ex falso sequitur quodlibet = From falsity (i.e. falsehood) follows anything.

The material conditional is only false when the antecedent (P) is true and the consequent (Q) is false; that is, something true CANNOT imply something false! The material implication (-->) regarded as a truth function, whose inputs are (P,Q) and output is one truth value, that value being either true or false (exclusive-disjunction).

It is possible for a false P to imply a true Q, but not possible for a true P to imply a false Q!


Your question need to be modified:
We have two formulas A and B. A is false. We want to know whether the formula A->B is true or not.
Since A is false, the formula A->B is vacuously true. (look at the truth table for implication)


I disagree that B is true! I would say that B is indeterminate, ambiguous, or undetermined, but I would never accept that B is true. Using the OP statement, "if pigs could fly, then anything is possible," then I could say, if pigs could fly, then the earth is flat; if pigs could fly, then the universe will stop expanding; if pigs could fly, then the human race will disappear before you read this; etc. In other words, I can use this to prove anything is true, and jet, we know the previous statements are false.


I always call the law (false => x) = true "antidomination". This is by analogy with laws like (true or x) = true, which I call "domination". I thought I had picked up this habit from Eric Hehner, but I can't find that term in his book a Practical Theory of Programming


(1) If A then B. (2) A is false.

((A -> B) & ~A) <-> ~A.

(((A -> B) & ~A) -> B, is not valid..it fails when both are false.

(((A -> B) & ~A) -> ~B, is not valid..it fails when B=T and A=F.

~A -> (A -> B), is a tautology.


(~A -> (A -> B)) <-> (A v (~A v B)) <-> ((~A v A) v B) <-> ((tautology) v B) <-> (tautology).

  • Eliran H, you are mistaken, ((F -> F) & T) <-> T.
    – Owen
    Commented Apr 17, 2016 at 17:55
  • you are right, my bad.
    – E...
    Commented Apr 17, 2016 at 18:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .