'From Squeak3.6gamma of ''11 September 2003'' [latest update: #5423] on 3 October 2003 at 8:21:12 am'!
"Change Set: BooleanImplicationMiscommentFix
Date: 2 October 2003
Author: Phil Hudson
Fixes a documentation error (mis-comment) for Boolean>>#==>. No change to the implementation of Boolean>>#==>.
Documentation erroneously stated #==> to be 'iff' and 'if and only if', both of which describe a different operation ('equivalence', Boolean>>#=), and also stated #==> to be 'implicature', which is a related term used mostly in linguistics; in an hour's googling and whatis'ing I was only able to find one use of 'implicature' as a synonym for implication, and dozens of instances of its specialist use in linguistics, whereas 'material implication' turned up dozens of precise matches.
I've corrected the terminology, and added to the documentation some natural-language synonyms for implication, and its truth table."!
!Boolean methodsFor: 'logical operations' stamp: 'PH 10/3/2003 08:10'!
==> aBlock
"this is material implication, a ==> b, also known as:
b if a
a implies b
if a then b
b is a consequence of a
a therefore b (but note: 'it is raining therefore it is cloudy' is implication; 'it is autumn therefore the leaves are falling' is equivalence).
Here is the truth table for material implication (view in a monospaced font):
p | q | p ==> q
-------|-------|-------------
T | T | T
T | F | F
F | T | T
F | F | T
"
^self not or: [aBlock value]! !