Asking for constructive suggestions ...
Given two propositions, A
, we can easily construct the various truth tables for &
(inclusive or), +
(exclusive or), ~
(not), and <->
(equivalence) as follows:
A B A&B AvB A+B ~A A<->B
0 0 0 0 0 1 1
0 1 0 1 1 1 0
1 0 0 1 1 0 0
1 1 1 1 0 0 1
Some (but quite possibly by no means all) of you will know that the usual interpretation of the "logical implication" (->
) connective is:
A B A->B
0 0 1
0 1 1
1 0 0 *
1 1 1
Given an audience without backgrounds in science, mathematics or computing, how would you
explain this truth table? Entry three, marked with an asterisk, is easy enough. Entry four isn't so bad. How would you explain entries one and two?
One option is to use the tautology (A&(A->B))->B
. The reasoning goes like this:
- Clearly if A is true and A->B then B is true.
- Therefore we want A & (A->B) to imply B
- Therefore (A & (A->B)) -> B is always true.
- Let A be false. Then we have (0 & (0->B)) -> B is true.
- 0 & X = 0, so this simplifies to 0 -> B is true.
This argument needs to be wrapped and presented very carefully, but it's pretty convincing, and seems to be better than arguing from '(A<->B) <-> ((A->B)&(B->A))
. Both techniques used in a single presentation seems effective.
Early discussions follow ...
I expect that the best way of explaining it is by real world example so here is one. Using:
- A = sky is overcast,
- B = sun not visible,
If sky is not overcast, sun may or may not be visible as it may or may not be night or an eclipse. You get the following table
sky not overcast sun is visible is possible (day)
sky not overcast sun not visible is possible (night/eclipse)
sky is overcast sun is visible not possible
sky is overcast sun not visible is possible (overcast)
So you are interpreting the assignment of truth value 1 to the proposition "A->B" as meaning "possible". Interesting.
I think the term in common usage that you're looking for is "valid". If A is false, then A:-B and A:-~B (read :- as "therefore") are both valid. In this sense, the table describes the form of argument known as ModusPonens?
, with somewhat confusing column headings. It's probably better to do away with the table completely and just explain modus ponens (or "the deductive argument" if people are turned off by fancy-dancy latin). WikiPedia
has a pretty good entry on ModusPonens?
... Actually, now that I look at a little more, it's not really describing ModusPonens?
, it's saying that "if you have A and B, can you assert A->B"? In other words, it's describing inductive reasoning. As far as a logical deductive argument goes, you can never
assert A->B given only A and B, but given enough evidence that the assertion probably exists, one can reasonably make the inductive argument. It just doesn't hold up in a mathematical sense, but science is ultimately based on the assumptions that come from inductive arguments made from thorough observation, so it all works in real life.
The physical situations described in the expressions are possible or not possible, the expression itself is valid or not valid. I would guess that the former would be more familiar to a lay audience but both should be understandable.
You said "you can never
assert A->B given only A and B", but a special case of this would be "you can never
assert A->A given only A", which is wrong.
- A->A is not a "special case" of A->B. A->A states that there is no separate entity B. A->A is tautological.
The starting point was that A and B are propositions. It was not required that A and B are distinct, so there is
a special case where A and B are the same. A->A does not state that there is no separate entity B... that's an interpretation that you've just invented. Yes, A->A can be called tautology, but we want to regard it as tautology even when A is false (which isn't "obvious") - that's one reason why the second truth table's first entry for A->B is 1. Taking this further would require you to define "assert", since you haven't given a formal definition of that term.
Given that the entries aren't forced (as mentioned below), one must add some rule(s) which it is desired that implication possesses. The entries can then be obtained using the rule(s). One rule might be ModusPonens?
, which seems very reasonable, but something less obvious is needed for the first two entries, because they say that A->B is true when A is false, regardless of whether B is true or false. That simply isn't obvious, and no "real life" example will make it so.
A->B is not "true" when A is false. It's not even "true" when A and B are true. Assertions do not have truth values in formal logic, propositions do. It's simple to demonstrate: The sky is blue, therefore I am Spartacus. These are both true propositions, but the argument is a complete non sequitur - one could even say it's
false if your emphasis is on the 'therefore', but the best you can say is that it's not at all valid.
You can't use "non sequitur
" without defining that term, which requires the notion of implication. The point of the second truth table we're discussing is to formalize implication.
The fourth entry in the second table defines
A->B as true when A and B are true. When the truth tables are as given above, we make "A->B" true correspond to "(A->B)" being a formally true proposition. Not all the entries in the second table "look obvious", but they are the standard values. Note that "(A->B)" is true when B is true, regardless of whether A is true or false.
- The above "discussion" clearly demonstrates the problems involved in trying to explain formal logic to people. It is confusing/mixing the concepts of logical implication and causality. Propositional Calculus has no concept of causality, but it does have a concept of implication. Trying to use your "common sense" understanding of "implication" invariably results in trying to model causality, which is unhelpful at best, and most commonly distinctly counter-productive.
Giving name to the result of operation makes the logic clearer in layman perspective ('is possible' in above example). Another example that might further illustrate this :
A : crashed
B : reboot
C : A-> B : script is working
A -> B : C
crashed -> reboot : script is working
crashed -> not reboot : script is not working
not crashed -> reboot : script is working
not crashed -> not reboot : script is working
1 and 2 is ok. It indicates whether the script is working. 3 and 4 is basically saying that we don't know whether the script is working. Thus we assign true to both outcome.
I learned this by seeing A -> B as a theory to be proven. Rephrasing the example above: "If the sky is overcast, then the sun is invisible." (I'd stay away from using 'not' here, since that may confuse matters further. Perhaps a better example along the same lines is in order.)
If the sky is not overcast, the theory holds, since the sun may be visible (during daytime) or invisible (during the night).
If the sun is invisible, the theory holds, since it may be overcast or night.
But if the sun is visible while the sky is overcast, the theory is false, since it specifically states that is should be invisible.
... Perhaps the overcast sky wasn't the best example. Still, 'A -> B' means 'if A then B' to me. Is this true? If B is true, the value of A doesn't matter, because we never said that 'if not A then not B', so B being true may be caused by A being true or by some other cause; 'if A then B' holds (is true). If A is false, then it holds as well, since we said nothing about what 'not A' is supposed to do. Only if A is true and B is false, then 'if A then B' is false, since B should have been true because of A being true, or A should have been false because of B being false. Still, this is the hardest one to explain, I think (as you can tell by the mess I made of my attempt).
Alternatively, you may want to tell that A -> B == ~A v B and leave it at that, but that just doesn't feel right to me.
You appear to be using "disproven" rather than "proven". The theory A->B remains not disproven provided we do not have both A and ~B. The collection of negatives is tricky, but this is a consistent approach.
Once you've convinced them it's a good idea that entries 3 and 4 for A->B are 0 and 1 (respectively), you point out it follows that (A&(A->B))->B has truth value 1 if A has truth value 1.
It's a matter of convenience and simplicity that when A has truth value 0, (A&(A->B))->B still has truth value 1, i.e., that the expression (0&(0->B))->0 has truth value 1.
The truth table for &
shows that this expression simplifies to 0->B.
Hence the first two entries for A->B in the table are 1.
Alternatively, you can say it's desirable that A<->B and ((A->B)&(B->A)) have the same truth table and investigate the consequences.
Note that the desired entries for implication aren't genuinely forced - it's just that certain values are more convenient than others! That's why the alternative given by AalbertTorsius
doesn't suffice. You must bring in desirability or convenience at some point.
The trouble with using 'the sun is invisible' is that either you are using it identically to 'the sun is not visible' or you end up with the statement 'the sky is not overcast, the sun is invisible' being true which doesn't make much sense in plain English. given the audience description, personally I'd stay away from the definitions that rely on other logical operators until they are happy with a plain English example. -- JamesKeogh
Unfortunately, that won't work. The "sun" example was misconceived. An English language proposition with negative phrasing is not the same as a false proposition. The first entry is saying that for two false propositions, A and B, the expression A->B is true. I doubt that there are any real-world examples for this. Deciding that A->B is true in these circumstances is a matter of convenience, and there is no way to get round that fact.
Well getting round the negatives is possible; just thought of a better way to do this:
'the sky is overcast' -> 'the sun is hidden'
I'm not sure I agree that the values aren't forced, I will have to think about that some more. Either way, I think the English example is a good enough metaphor to get the idea across to non-technical people, which was what was asked for.
Still wrong - you need something like
'A clear sky hides the sun' -> 'the cow jumped over the moon'
Linguistic Implication is much more stronger than logic implication. Once you have the true Linguistic Implication, you get the the consequence from the presumptions, so does the logic implication. However, only the logic implication can be the other way around.