The Logic behind Conditional Statements
Date: 11/28/2007 at 01:30:37 From: Keven Subject: Why is "false implies true/false" always "true"? I've read questions of the same title "Why is "false implies true/false" always "true"?" and I can understand the reason in the "subset way". Could you explain the reason just in the logic way? Because when we say "work the same as subsets", we must prove it does work the same... When I trust the set theory, I must trust logic first. So I want to understand the reason just on the way logic goes. "False implies true/false" is true...why?
Date: 11/28/2007 at 22:45:48 From: Doctor Peterson Subject: Re: Why is Hi, Keven. This is a significant issue, and I think it is often overlooked or answered in ways that don't really help. Let's see if I can clarify a few things. First, don't use the word "implies" to talk about a conditional statement; A->B should be read merely as "if A then B". "Implies" suggests a cause-and-effect relationship, or at least a logical connection of some sort. But the conditional statement is not meant to suggest that (even though many examples given in texts look that way). The statement "if A then B" says nothing more than "if A is true, then B is true"--not "if A is true, then it CAUSES B to be true". It means that whenever we find that A is true, then we can know that B is true (or else A->B would have been false). Second, this conditional statement is in a sense just something mathematicians define for their own purposes, not something that necessarily agrees with the natural-language use of the phrase. And what we need in logic (at least in traditional two-valued logic, as opposed to a logic that might include an "undetermined" value) is for every statement to be either true or false. In this context, we have to choose what A->B will mean in every case--in order to define a complete truth table. It's clear that T->T is true, that is, when A is true and B is true, it is correct to say that (in this case) if A is true then B is true. It's also clear that T->F is false, since A is true but B turns out to be false. But when A is false, the condition is not satisfied. The statement "if A then B" only says something about cases where A is true. So we have no evidence whether the statement is true or false, and we have to decide on some other basis whether to say A->B is true or false. (Again, we can't just say "I don't know" in this context.) Traditionally, mathematicians subscribe to a sort of "innocent until proven guilty" rule: we can't say something is false just because there is no evidence; instead, when there is no evidence of truth or falsity, we say it is true. This is what lies behind the related facts about sets: we say that the null set is a subset of any set because there is no evidence that it is not--there is no element in the null set that is NOT an element of the other set! But I think there's also something deeper behind this choice. We make definitions for some reason, which is related to how we intend to USE what we are defining. Conditional statements are used in logical arguments, and we want the truth value of the conditional to reflect whether an argument is valid or not. Let's consider an argument like this: I have a cold. If I have a cold, then my nose is running. ------------------------------------------ Therefore, my nose is running. This has the form A A->B ---- B To show that this is a valid argument, we write it as a single statement: (A ^ A->B) -> B That is, the whole argument is a big conditional. If its truth table is ALWAYS true, no matter what the truth values of A and B are, then we consider the argument valid. So let's make a truth table for this, but leave unassigned the cases where the antecedent in a conditional is false. A | B | (A ^ A -> B) -> B --+---+------------------- T | T | T T T T T T T T | F | T F T F F ? F F | T | F ? F ? T ? T F | F | F ? F ? F ? F = That's a lot of uncertainty! We can't keep it that way, or there's no way to determine an argument's validity. What if we said that F->T and F->F were false, rather than that they are true? Here's what we'd get: A | B | (A ^ A -> B) -> B --+---+------------------- T | T | T T T T T T T T | F | T F T F F F F F | T | F F F F T F T F | F | F F F F F F F = That makes it look like the argument is invalid! But it's clearly a valid argument. So we can't use this definition. How about if we said that F->x has the same truth value as x? A | B | (A ^ A -> B) -> B --+---+------------------- T | T | T T T T T T T T | F | T F T F F F F F | T | F F F T T T T F | F | F F F F F F F = Still no good. Well, let's give in and take the traditional definition: A | B | (A ^ A -> B) -> B --+---+------------------- T | T | T T T T T T T T | F | T F T F F T F F | T | F F F T T T T F | F | F F F T F T F = Now the truth table accurately reflects the validity of the argument. And that, I think, is why we make this definition: it works. Why does it work? Because we want to say an argument is valid when the conclusion follows from the premise: if A is really true, then B had better be true. We DON'T CARE what happens if the premise is false; the argument is still valid because it doesn't tell you what happens then. There's the meaning behind that "innocent until proven guilty" idea. If you have any further questions, feel free to write back. - Doctor Peterson, The Math Forum http://mathforum.org/dr.math/
Search the Dr. Math Library:
Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.