I'm taking Intro to Logic on Coursera. One of the exercises has this:

Consider a truth assignment in which p is true, q is false, r is true. Use this truth assignment to evaluate the following sentences.

The answer key says $p ∧ q ⇒ r$ is true, but I don't understand why. If I read it correctly, it says "If TRUE and FALSE then TRUE."

I thought TRUE and FALSE should imply FALSE because the two propositions are different. Can anyone explain?


marked as duplicate by Henning Makholm logic Sep 4 '17 at 4:38

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • $\begingroup$ Hmm, perhaps your problem is that you misunderstand the $\Rightarrow$ sign. It does not mean "we did some calculation on $p\land q$ and the result was $r$" -- but instead $\Rightarrow$ is a calculation with two inputs, namely $p\land q$ and $r$, and the output is "true" when the inputs are "false" for the $p\land q$ input and "true" for the $r$ input. $\endgroup$ – Henning Makholm Sep 4 '17 at 4:41
  • $\begingroup$ Both of ${\sf false}\Rightarrow{\sf false}$ and ${\sf false}\Rightarrow{\sf true}$ evaluate to ${\sf true}$. $\endgroup$ – Henning Makholm Sep 4 '17 at 4:43
  • $\begingroup$ In the future, please use MathJax to format your posts. $\endgroup$ – let's have a breakdown Sep 4 '17 at 6:52
  • $\begingroup$ Becaude when $p$ is TRUE and $q$ is FALSE we have (truth table for AND) that $(p \land q)$ is FALSE. And then we have that $(p \land q) \to r$ is TRUE, due to the truth table for $\to$: FALSE $\to$ whatever is always TRUE. $\endgroup$ – Mauro ALLEGRANZA Sep 4 '17 at 7:48
  • $\begingroup$ Note that $p\land q\to r$ is not a well-formed formula. $\endgroup$ – Shaun Feb 16 '18 at 22:47

Supposing I tell you, "If it is raining and I have an umbrella then my umbrella will be open". When can you say that I have lied? Only when 1) It is raining and 2) I have an umbrella but my umbrella is not open.


You are reading the statement correctly, but the difficulty here is deciding whether the implication is true. FALSE implies TRUE is a true statement.

Consider this example: "If unicorns exist, then the sky is blue." Here we have something false implying something true, however the statement as a whole is still true because the "trueness" of the sky being blue holds even though unicorns don't exist.

Think instead about what it would mean for $(p ∧ q) \to r$ to be false. In order for the statement to be false, $r$ would have to be false but $p ∧ q$ would be true - so that we'd have something true implying something false, which would be a false statement.


If we have predicates $p$ and $q$ then $p\implies q$ is true when either $p$ is false or $q$ is true (or both). That is, $$(p\implies q)\iff (\lnot p\lor q)$$ The implication will not hold only when $p$ is true and $q$ is false. That is, $p\implies q$ is false when $p\land \lnot q$ is true.

So in your example, $p$ is true and $q$ is false, so $p\land q$ is false. Thus, $p\land q\implies r$ is indeed true (since the "if" part of the implication is false). We see this as $$(p\land q\implies r)\iff (\lnot(p\land q)\lor r)$$


There's a rule called ex falso sequitur quodlibet, "from a falsehood follows anything you want", or "false implies anything". In other words, both "false implies true" and "false implies false" are true.

This is important for mathematical proofs. Suppose for a moment that the opposite were true: that "false implies true" and "false implies false" were false.

In this hypothetical scenario, consider the statement "for any integer x, if x is less than 5, then x is less than 10". Or in other words:

$$\forall x \in \mathbb{Z} : (x<5) \implies (x<10)$$

This statement seems intuitively to be true. But for it to be true, it would need to be true for all integers. Which means it has to be true for, say, the number 7.

$(7<5)$ is false, but $(7<10)$ is true. So $(7<5) \implies (7<10)$ is equivalent to "false implies true". And in this hypothetical, that expression evaluates to false!

It also has to be true for the number 12. Here, $(12<5)$ is false, and $(12<10)$ is false. So $(12<5) \implies (12<10)$ is "false implies false". And in this hypothetical, that expression is also false.

So for statements like "if x is less than 5 then x is less than 10" to be true, both "false implies true" and "false implies false" have to be true.


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