A daft one for the summer but a wonderful example of the value of simple English and sound logic.
You may remember this from doing the rounds a few months ago …
Well, we all get the idea – the bad one and the good intention behind it – but just how did this particular road to hell get thus paved?
OK, let’s start from what we’ve got and reduce it to the sort of logic that the vagaries of natural language can’t interfere with …
(Because it’s the daft sort of thing we do when it gets hot) we define two Boolean variables for the critical ‘events’. Let D represent the event ‘seeing/saw a dog’ and S ‘smiles/smiled’.
Now, straight away, there’s a risk here. It’s not uncommon for different tenses (usually past and present) or different voices/persons to cause havoc with the best laid logical plans. To take a classic example of a syllogism, this how easily it can go wrong:
- Only an elephant or a whale gives birth to anything weighing more than 75kg
- The president weighs more than 75kg
- Therefore the president’s mother was either an elephant or a whale
Silly? Yes, of course, but, if we’d followed the same model of assigning ‘tenseless’ Boolean values to this, we’d have got into the same mess. So, do we need to reconsider D and S above? Well, we might get away with it here because … well, we’ll see …
We can see what the message is trying to say but let’s start with what it actually does, which is ‘never saw a dog and didn’t smile’ or, the logically similar (and what it sounds like it means), ‘never saw a dog and never smiled’. In our terms, that’s:
¬D ∧ ¬S (L1)
[We’re using the standard logical operators here:
- ¬ : ‘NOT’
- ∧ : ‘AND’
- ∨ : ‘OR’ ]
So, yes, for the purists, we’re taking a few liberties: there is an important difference between ‘not’ and ‘never’. Stick with it for now, we’ll look at it properly later.
(L1) is such a strong statement precisely because, logically, the ‘not’ binds closer/harder than the ‘and’. It takes precedence according to the Boolean equivalent of BODMAS, which is ¬ ∧ ∨, the ‘OMA’ of BODMAS. (L1) clearly says:
- She never saw a dog, … and ….
- She never smiled.
These are two separate, simple statements, if you like, ‘and’ they’re both true … and, if they are, then that’s really sad! (But it’s also interesting that we tend to take this as implied from ‘normal’ English too.)
On the other hand, if we want to make the message say what was intended then we have to overwrite the logical priorities. And we do this, just as with the original BODMAS, with ‘brackets’ (the ‘B’ in BODMAS or ‘B¬∧∨’). What we really want to do is to make the first ‘never’ in ‘never saw a dog and never/didn’t smile(d)’ apply to the whole of the rest of the statement: sort of … she ‘never (saw a dog and didn’t smile)’. That makes logical sense although, of course, we don’t really do that in natural language: instead we might say she ‘never saw a dog without smiling’, for example, and, again, it’s interesting to note that we accept this as implicitly changing the natural meaning/logic. [There are so many of these ‘rules that aren’t rules’ lying around in the English language: we don’t realise they’re there until we trip over them!] But, anyway, it looks pretty much the same in formal logic: ‘never (saw a dog and didn’t smile)’ is:
¬ (D ∧ ¬S)
Now, there are all kinds of ways of analysing/manipulating this expression. De Morgan’s Laws, for example, help us get rid of the brackets from statements involving ‘not’s by ‘inverting’ ‘not’s and ‘swapping’ ‘and’s/’or’s.
[Here: ¬ (D ∧ ¬S)
= ¬D ∨ ¬¬S
= ¬D ∨ S
‘she never saw a dog or she smiled’, which sort of makes sense, if you think about it, but may still not help!]
Alternatively, we can just plough into evaluating truth tables …
Using the standard tables for the basic logic operators, we write down all the possible combinations of D and S and evaluate the expression, step by step:
D S ¬S D ∧ ¬S ¬ (D ∧ ¬S) D ⇒ S
0 0 1 0 1 1
0 1 0 0 1 1
1 0 1 1 0 0
1 1 0 0 1 1
The second-to-rightmost column, if you like, is the ‘result’. Comparing this with the other truth tables (we haven’t used yet), we see that this is identical to the implies logical operator – the final column. For two events, A and B, A ⇒ B if B is always true whenever A is, or ‘A can’t be true without B being true’ (although B could be true without needing A, ‘of its own accord’ [If the rain makes the grass wet then, if the grass isn’t wet, it isn’t raining; however it could be wet for a different reason]). The truth tables exhaustively cover every combination of the variables D and S – every eventuality – so, if the outcomes are always the same, then they’re the same thing. (If it walks like a duck and quacks like a duck …) In other words, for our statement:
¬ (D ∧ ¬S)
= D ⇒ S
In other words, ‘seeing a dog always made her smile’,
Which, on the whole – and rather as anticipated, may well have been a better way to put it!
[That’s it, really, but a footnote discussion for the purists …
Firstly, yes, D ⇒ S ≡ ¬D ∨ S anyway! But that takes a bit of thinking about if you’re not familiar with this stuff. Probably more importantly, it’s true, we still have a bit of a problem with tense/form and there is (or there can be) a difference between (for example) ‘isn’t’, ‘never is’, didn’t and ‘never has’. It depends on the level of distinction you have to make – or can get away without making. There was a touch of careful planning in the above formulation that made it work out sensibly. Once again, there are different approaches to doing it ‘right’ (although all probably muddy the waters unnecessarily for the main thread). We could have introduced the ‘universal-‘ and ‘existential-‘ operators, ∀ and ∃ (‘for all … ‘ and ‘for at least one …’), which begin to imply sets of instances (looking at all cases where she either saw a dog or smiled – or both), but perhaps the simplest (but less fun) approach is just to work exclusively with sets (and do away with the Boolean variables entirely). If we recycle D and S to be the sets of every time she saw a dog and every time she smiled then, as originally written, there’s a risk of the unhappy interpretation D = S = ∅: both sets are empty: there are no instances of either – she never did them – together or separately – ever. What’s really meant, of course, is ‘she never saw a dog without smiling’ or the previous ‘seeing a dog always made her smile’, both of which are represented by D ⊆ S. (D ⇒ S and D ⊆ S are similar statements in different settings.) Of course, and as always, a picture paints a thousand words so finally …