I’m teaching myself logic from ‘Logic: The Laws of Logic’. In this book it states that

1) any sequence of propositions counts as an argument. 2) valid is when true premises of an argument cannot lead to a false conclusion.

Now look at this argument: ~A Therefore A -> B

I struggle to intuitively understand how this is a valid argument. Simply stating “not-A informs us of A’s truth value, therefore aids in understanding the conditional” does not help. Since I don’t intuitively see that not-A regulates anything about B.

E.g. Anne isn’t cool. Therefore if Anne is cool then Beth is cool.

Please explain.

Also please explain how this argument would be criticised. E.g. because it’s incomplete or??

Thank you for your time! enter image description here

  • Just to be clear, you understand how the truth tables work and why when you assume ~A is true, then the conditional will always be true, correct?, But what you are confused about is the intuition behind why an argument like the example you gave about Anne actually works, correct? As in, you understand formally why it works, but intuitively it seems weird, yes?
    – Not_Here
    Commented Sep 13, 2018 at 8:48
  • When you say "Since I don’t intuitively see that not-A regulates anything about B.", the point is that because of how the conditional truth table works, it doesn't matter what B is. Assuming ~A is true means that A is going to be false. The truth table tells us that if the first part of the conditional is false, then it doesn't matter if the second part is true or false, F -> F is true and F -> T is true. It doesn't matter what B is, true or false, the conditional will always evaluate to true, because A is false, as you can see in the truth table, right? That's the formal part.
    – Not_Here
    Commented Sep 13, 2018 at 8:54
  • So, valid means that if we assume the premise to be true, there is no assignment of truth values that can make the conclusion false. The premise only forces us to assign a value for A, and we are assigning A false, because ~A, which is our premise, needs to be assumed to be true. This means that we need to check both assignments for B to see if one makes the conclusion false, but we can clearly see that both assignments still lead the conclusion to be true, so it's valid. Again, I want to know if that part is clear to you, and that your real question is about why real examples sound weird.
    – Not_Here
    Commented Sep 13, 2018 at 8:57
  • Yes! Thank you. I fished for a counterexample by assuming the premise T and then trying to find a situation where the conclusion is false but the truth table does not allow it. Likewise I then started by assuming the conclusion is F and trying to find a way the premise could be T but truth table does not allow it. It is the intuition of the conditional in this situation that confuses me. I don’t feel like it forces the conclusion in an English sense. I can see how the truth tables rules are operating. Commented Sep 13, 2018 at 9:10
  • But I am confused by how it doesn’t seem to translate back to normal English/scenarios? Commented Sep 13, 2018 at 9:10

4 Answers 4


It seems like you understand how the use the formal machinery to show that ~A entails A -> B, but you're having trouble understanding what's going on (building "intuition").

Here's another approach. Remember that, in propositional logic, A -> B does not mean anything like "A causes B." So you can't rely on your understanding of causal relationships to get an understanding of how A -> B works. Instead, by definition, A -> B means exactly ~A v B, "either not-A or B." Nothing more or less. (This is called the "material conditional." The Stanford Encyclopedia has an entry on the logic of conditionals that's demanding for a beginner but might be very interesting for you.)

Whenever you have A -> B, you can replace it with ~A v B. And vice versa. So, in your argument, the question is whether ~A entails ~A v B. If A is false, can we be certain that either A is false or B is true? Hopefully it's clear that the answer is "yes."

Part of the trick to mastering formal logic is recognizing when the formalism works like natural language ("or" is pretty similar) and when it works completely differently (the material conditional). The formalism is extremely powerful, but that power comes from satisfying some very narrow requirements that can have confusing implications.

  • Thank you! Seeing A->B as ~A v B made things a lot clearer. :) But if it’s ok, I have one more question. I am enjoying thinking about their compound connective selections as functions. With ~, ^, v all giving new combinations that the other ones can’t make up. But if ~ can be reduced to a combination of ~, v, what is the purpose of having it separate as a new connective? Thank you again! Commented Sep 13, 2018 at 20:45
  • I assume you mean "if -> can be reduced to ...." In principle you could do without any other connectives besides ~ and v. (Formally: for every possible truth table, there is an expression in terms of just ~ and v that gives you that truth table.) In fact, in principle you can use just one, either the Sheffer stroke or the Peirce Arrow. +
    – Dan Hicks
    Commented Sep 13, 2018 at 22:40
  • Additional connectives are useful for at least two reasons. First, it makes complex expressions much easier to read. Try reducing something like (A -> ~B) -> (~C -> C) to just ~ and v. Second, the material conditional does capture some aspects of our ordinary notion of if-then. It's not a perfect representation, but it means we can use -> to represent if-then to some extent.
    – Dan Hicks
    Commented Sep 13, 2018 at 22:49
  • Some good use cases for standalone material conditional: constraining a universal quantifier in first order logic (i.e. "For all positive real numbers x,..." is formally written "For all x, if x is a positive real number, then..."), modus ponens and tollens are both more intuitive than disjunctive syllogism, and conditional proof would otherwise be substantially more complex.
    – Kevin
    Commented Sep 14, 2018 at 5:28

If A is assumed to be False (this is the meaning of the premise ~A) we can correctly conclude that A → B is True.

Consider the truth table for the conditional, we have that it is True when the antecedent is False, irrespective of the truth value of the consequent, i.e. :

when A is False, A → B is True, whatever B is.

See the definition of Logical consequence :

"every tuth assignment that causes all the premises to be true also assign true to the conclusion".

But we have only one choice for the truth assignment that cause the premise to be True: it must assig to A the value False.

This choice forces us to select the two last rows of the truth table, and we have that in these rows the conclusion is marked True.

Thus, the argument is valid, because A → B is a logical consequence of ~A.

See also Ex falso sequitur quodlibet.


I agree with Mauro ALLEGRANZA's answer. I am providing this answer to complement it.

Since you are learning logic on your own I will illustrate a solution to this problem using forall x: Calgary Remix and Kevin Klement's natural deduction proof checker. These are available online and could supplement the text you are using. They cover truth-functional logic and first order logic.

You have a truth-table as one way to show the validity of the argument. Here is a derivation illustrated with a natural deduction Fitch-style proof checker:

enter image description here

On line 1, the premise "¬A" is stated. This was automatically provided once I entered the premise and the conclusion in the proof checker.

On line 2, I assume "A". I can assume anything. Ideally I want to assume something useful in achieving the goal which is "A→B". This assumption is indented because the proof checker uses the "Fitch-style".

On line 3, I note that line 1 and line 2 are contradictory, so I introduce (I) a contradiction (⊥) and reference lines 1 and 2 (⊥I 1, 2). The software will make sure I get this correct. If it is not when I click "Check Proof" it will show an error and not let me reach the "Congratulations!" confirmation message.

On line 4, I use something that should seem shocking. It is called "explosion" (X). If I have a contradiction, I can then place on this line anything. Since I need "B", I put "B" there and justify it using explosion and reference line 3 where I introduced the contradiction (X 3).

On line 5, I "discharge" the assumption I made on line 2 by restating that indented subproof as a conditional, if "A" then "B" or "A→B", and justify that line by using (→I 2–4) where I introduce (I) the conditional (→) referring to a string of lines starting at 2 and ending at 4. This new line can be thought of as a summary of those three lines.

Beyond the truth table and the natural deduction argument, you might still ask why should this work?

Think of "A" as the symbolization for this English sentence: "The moon is made of green cheese." Clearly, that is not the case. So "¬A" is true. Now assume that the moon is made of green cheese. To make this even more concrete, suppose I'm writing a novel with a green-cheese moon. Then what? Then anything can happen that I want to happen.


Kevin Klement's JavaScript/PHP Fitch-style natural deduction proof editor and checker http://proofs.openlogicproject.org/

P. D. Magnus, Tim Button with additions by J. Robert Loftis remixed and revised by Aaron Thomas-Bolduc, Richard Zach, forallx Calgary Remix: An Introduction to Formal Logic, Winter 2018. http://forallx.openlogicproject.org/

Wikipedia, "Fitch notation" https://en.wikipedia.org/wiki/Fitch_notation


To understand a proof of ~A => [A => B], you will have to be familiar with the methods of direct proof, proof by contradiction and removal of double negation. (See my formal proof here.) Otherwise, you will have to rely on the "definition" of '=>' given by the last 2 lines of the truth table for A => B shown here. Note that if A is false, then A=>B is true regardless of whether B is true or false.


You must log in to answer this question.

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