# What are the truth tables for “necessary” and “sufficient”?

Here he says that:

If you have A is sufficient for B it means that every time you have A you will have B, without exception: A -> B

If you have A is necessary for B it means that every time you have B you will have A, without exception A <- B

But I'm in doubt on what truth tables does each one holds. Can someone help me?

`A -> B` is just implication:

``````A B A -> B
t t   t
t f   f
f t   t
f f   t
``````

`A <- B` is the same as `B -> A`, so the above truth table holds, but with different variable names.

• I don't understand how the last two rows are possible: "Everytime you have A, you'll have B" - In the last two rows, I don't have A - considering that "have A = A is true". – Billy Rubina Jun 29 '12 at 8:37
• The second row is also confusing, I have A, shouldn't it be true? – Billy Rubina Jun 29 '12 at 8:46
• `A -> B` means: "When `A` is true, then `B` is also true." That is not the same as "If, and only if, `A` is true, then `B` is true." When `A` is false, `B` may be either true or false, and the implication is still true. For example, take the implication: "When it rains, the street is wet." Now, what do we know about the street when it doesn't rain? Nothing! The street could be either dry or wet – maybe because someone is washing his car. In the second row, `A` is true but `B` is false, but we want `B` to be true, whenever `A` is true. Thus the implication is false. – danlei Jun 29 '12 at 9:14
• Also note, that implications don't imply causality. `A -> B` doesn't mean "B because A" or something like that. It's really just "If `A`, then `B`", nothing more, nothing less. So, whenever `A` is false, `B`'s value doesn't matter, the implication is true. If `B` is true, `A`'s value doesn't matter, because the only case in which the implication could possibly become false needs a false `B`. That means `A -> B` is the same as `-A v B` ("not A or B"). Search for a nice introductory logic tutorial, if you're interested in this. It's too much to cover thoroughly in a few comments. – danlei Jun 29 '12 at 9:19
• If you want to learn formal logic properly, that is. I still hope that I answered your question understandably. Or is there something else unclear about your example? – danlei Jun 29 '12 at 9:27