If both $P$ and $Q$ are true , how can I tell that $P$ implies $Q$?

Here is the truth table for an implication:

$$ \begin{array}{ccccc} P & & Q & & P \to Q \\ T & & T & & T \\ T & & F & & F \\ F & & T & & T \\ F & & F & & T \end{array} $$

You can think of an implication as a conditional promise. If you keep the promise, it's true. If you break the promise, it's false.

If I tell my kids, "I'll give you a cookie if you clean up." Then they clean up. I better give them a cookie. If I don't, I've lied. However, if they don't clean up, I can either give them a cookie or not. I didn't promise either if they didn't keep up their end of the bargain.

So in other words, an implication is false only if the hypothesis is true and conclusion is false.

Logically $P \to Q$ is equivalent to $\neg P \vee Q$

I had a computer science professor who was fond of promising his kids things given a false premise. This way he wasn't compelled to follow through. Example: "If the moon is made of green cheese, I'll give you an x-box."


Think about it this way:

If a day is 24 hours, does a cat have 4 legs and a tail?

Even though they are unrelated, the answer is yes, so a 24-hour day implies that a cat has 4 legs & tail.

If 2 is a prime number, does an hour have 60 minutes? Yes.

Going with the cookie idea, let's say you already have a cookie in your hand and you are about to give it to your kid. She says "If I clean my room, can I have a cookie?" You will likely say "yes!" Technically, it's true that you'll give her a cookie if she cleans her room. She doesn't need to know she was going to get it anyway.


As long as all atomic propositions P, Q, R, ... within a compound formula C get assigned truth values in {0, 1}, it holds that C will take on a truth value in {0, 1}. Here 0 indicates falsity and 1 truth. By atomic proposition, I mean any variable such a "p", "q", or "r" or constant such as "1" or "0". This consists of a way of stating the principle of truth-functionality in classical propositional logic. So, as long as p and q get assigned truth values in {0, 1}, (p->q) will have a truth value in {0, 1} by this principle. Here "->" indicates a truth function of two arguments, specifically the material conditional.

So, if you assign both p and q a truth value of 1, then just by the principle of truth-functionality (p->q) will have a value in {0, 1}. So, if p is true, and q is true, is (p->q) false or true? Well, you pointed out above, (x >0) ====> (2x>0) is true, when (x>0) is true and (2x>0) is true. So, you know of at least one instance with (p->q) true with both p true and q true as well. Now, if you were to accept a single instance of (p->q) as false with both p true and q true as well, then you would either have a violation of the principle of truth-functionality in classical propositional logic, or you would render it inconsistent (since (p->q) takes on truth value true in one case where p and q come as true, and another where (p->q) takes on truth value false in another case where p and q come as true). Both come as problematic for classical propositional logic. So, basically to speak consistently you have to accept (p->q) as true in classical propositional logic anytime you have p true and q true.

The catch lies in that the truth values of the atomic propositions (the variables or constants) and the definitions of the logical operations (truth-functions) completely determine the truth value of a particular instance of something like (p->q). The meaning of the "p" and "q" bears utterly no relevance on the truth value of (p->q), only the truth values of "p" and "q" do. The principle of truth-functionality entails this.

Now, there do exist other ways to interpret a word like "implies" other than by "->", or some other symbol which might get used for the material conditional. As one well-known example, some logicians have interpreted "implies" as a strict conditional. However, these interpretations refer to something which is not truth-functional. To reiterate, a true statement A can "imply" a seemingly unrelated statement B, because of the principle of truth-functionality. The meaning of something like (p->q) isn't so much that p implies q in the sense of some sort of connection between p and q, but rather that it is not the case that p stands as true and q stands as false simultaneously.

Truth tables don't list probabilities. They tell you what logical value of the output IS on the basis of the input(s). The truth table depends on the values of the inputs, AND the function, that is the connective, which links them together. The truth tables for conjunction and the material conditional have the same inputs, however, they have different connectives linking together the variables, and thus have different outputs in their final column.

As this truth table indicates:

p   q  (p->q)
0   0     1
0   1     1
1   0     0
1   1     1

If p is false, then (p->q) is true. If q is true, then (p->q) is true. If p is true, then (p->q) has the same truth value as that of q. If q is false, then (p->q) has the same truth value as the negation of p.

Addendum: In classical logic any given true statement (tautology) comes as related to any other true statement and belongs to the same context as any other true statement. They come as related in that given any true statement, you can derive any other true statement. They belong to the same context in that they exist within the scope of a single derivation.


Yes, implication like this is weird. You feel like the antecedent must be somehow relevant to the consequent. It just turns out that it makes mathematical reasoning much ...cleaner... if you operate with it using the truth table rules.

The way you should think of implication in mathematical setting is by how upset you would be if some one claimed 'P implies Q' based on which of P and Q are true or not. The only situation where you should be upset is if P is true and Q is false (that definitely goes against what implication means). If P is true and Q is true, then obviously implication works out. What if P is false? Should you be mad/upset whatever Q is? I don't think so.

Convince yourself that it should be OK. And anyway mathematical culture has accepted that such a (stipulated) definition (of implication as only being false when P is true and Q is false) is the most useful way to define it.

This is really just a wordy explanation of the truth table; also an explanation that sometimes things are just defined that way to make things easier. Take for example the natural number 1. Is it a prime? by most informal definitions of 'prime' it is. It just turns out that number theory theorems and proofs are simpler to state if you treat 1 separately (and call it 'unit').