REASONING:
THE KALIN-BURKHART LOGICAL-TRUTH CALCULATOR
So far we have talked about mechanical brains that are mathematicians.
They are fond of numbers; their main work is with numbers; and the
other kinds of thinking they do are secondary. We now come to a
mechanical brain that is a logician. It is fond of reasoning—logic; its
main work is with what is logically true and what is logically false;
and it does not handle numbers. This mechanical brain was finished in
June 1947. It is called the _Kalin-Burkhart Logical-Truth Calculator_.
As its name tells, it calculates _logical truth_. Now what do we mean
by that?
TRUTH
To be true or false is a property of a statement. Usually we say that
a statement is true when it expresses a fact. For example, take the
statement “Salt dissolves in water.” We consider this statement to be
true because it expresses a fact. Actually, in this case we can roughly
prove the fact ourselves. We take a bowl, put some water in it, and put
in a little salt. After a while we look into the water and notice that
no salt whatever is to be seen.
Of course, this statement, like many another, occurs in a _context_
where certain things are understood. One of the understandings here,
for example, is “a small amount of salt in a much larger amount of
water.” For if we put a whole bag full of salt in just a little water,
not all the salt will dissolve. Nearly every statement occurs in a
context that we must know if we are to decide whether the statement is
true or false.
LOGICAL TRUTH
Logical truth is different from ordinary truth. With logical truth
we appeal not to facts but to suppositions. Usually we say that a
statement is logically true when it follows logically from certain
suppositions. In other words, we play a game that has useful, even
wonderful, results. The game starts with “if” or “suppose” or “let us
assume.” While the game lasts, any statement is logically true if it
follows logically from the suppositions.
For example, let us take five statements:
1. “The earth is flat like a sheet of paper.”
2. “The earth is round like a ball.”
3. “John Doe travels as fast as he can, without turning
to left or to right, for many days.”
4. “John Doe will fall off the earth.”
5. “John Doe will arrive back at his starting point.”
Let us also take a certain context in which: We know what we mean
by such words as “earth,” “flat,” “falling,” etc.; we have other
statements and understandings such as “if John Doe walks off the edge
of a cliff, he will fall,” “a flat sheet of paper has an edge,” etc.
In this context, if statements 1 and 3 are supposed, then statement
4 is logically true. On the other hand, if statements 2 and 3 are
supposed, then statement 5 is logically true. Of course, for many
centuries, nearly all men believed statement 1; and the importance of
the years 1492 to 1521 (Columbus to Magellan) is linked with the final
proof that statement 2 expresses a fact. So, depending on the game, or
the context, whichever we wish to call it, almost any statement can
be logically true. What we become interested in, therefore, is the
connections between statements which make them _follow logically_.
LOGICAL PATTERNS
Perhaps the most familiar example of “following logically” is a pattern
of words like the following:
1. All igs are ows.
2. All ows are umphs.
3. Therefore, all igs are umphs.
If statements 1 and 2 are supposed, then statement 3 is logically true.
In other words, statement 3 logically follows from statements 1 and 2.
This word pattern is logically true, no matter what substitutions we
make for igs, ows, and umphs. For example, we can replace igs by men,
ows by animals, and umphs by mortals, and obtain:
4. All men are animals.
5. All animals are mortals.
6. Therefore, all men are mortals.
The invented words “igs,” “ows,” “umphs” mark places in the _logical
pattern_ where we can insert any names we are interested in. The words
“all,” “are,” “therefore” and the ending s mark the logical pattern. Of
course, instead of using invented words like “igs,” “ows,” “umphs” we
would usually put _A_’s, _B_’s, _C_’s. This logical pattern is called a
_syllogism_ and is one of the most familiar. But there are even simpler
logical patterns that are also familiar.
THE SIMPLEST LOGICAL PATTERNS
Many simple logical patterns are so familiar that we often use them
without being conscious of doing so. The simple logical patterns are
marked by words like “and,” “or,” “else,” “not,” “if,” “then,” “only.”
In the same way, simple arithmetical patterns are marked by words like
“plus,” “minus,” “times,” “divided by.”
Let us see what some of these simple logical patterns are. Suppose that
we take two statements about which we have no factual information that
might interfere with logical supposing:
1. John Doe is eligible for insurance.
2. John Doe requires a medical examination.
In practice, we might be concerned with such statements when writing
the rules governing a plan of insurance for a group of employees. Here,
we shall play a game:
(1) We shall make up some new statements from
statements 1 and 2, using the words “and,”
“or,” “else,” “not,” “if,” “then,” “only.”
(2) We shall examine the logical patterns that we can make.
(3) We shall see what we can find out about their
logical truth.
Suppose we make up the following statements:
3. John Doe is not eligible for insurance.
4. John Doe does not require a medical examination.
5. John Doe is eligible for insurance and requires a medical
examination.
6. John Doe is eligible for insurance, and John Doe is eligible
for insurance.
7. John Doe is eligible for insurance, or John Doe requires
a medical examination.
8. If John Doe is eligible for insurance, then he requires
a medical examination.
9. John Doe requires a medical examination if and only if
he is eligible for insurance.
10. John Doe is eligible for insurance or else he requires
a medical examination.
Now clearly it is troublesome to repeat quantities of words when we
are interested only in the way that “and,” “or,” “else,” “not,” “if,”
“then,” “only” occur. So, let us use just 1 and 2 for the two original
statements, remembering that “1 AND 2” means here “statement 1 AND
statement 2” and does not mean 1 plus 2. Then we have:
3: NOT-1
4: NOT-2
5: 1 AND 2
6: 1 AND 1
7: 1 OR 2
8: IF 1, THEN 2
9: 1 IF AND ONLY IF 2
10: 1 OR ELSE 2
Here then are some simple logical patterns that we can make.
CALCULATION OF LOGICAL TRUTH
Now what can we find out about the logical truth of statements 3 to
10? If we know something about the truth or falsity of statements
1 and 2, what will logically follow about the truth or falsity of
statements 3 to 10? In other words, how can we calculate the logical
truth of statements 3 to 10, given the truth or falsity of statements 1
and 2?
For example, 3 is NOT-1; that is, statement 3 is the negative or the
_denial_ of statement 1. It follows logically that, if 1 is true, 3 is
false; if 1 is false, 3 is true. Suppose that we use _T_ for logically
true and _F_ for logically false. Then we can show our calculation of
the logical truth of statement 3 in Table 1.
Table 1 Table 2
1 | NOT-1 = 3 2 | NOT-2 = 4
| |
_T_ | _F_ _T_ | _F_
_F_ | _T_ _F_ | _T_
Our rule for calculation is: For _T_ put _F_; for _F_ put _T_. Of
course, exactly the same rule applies to statements 2 and 4 (see Table
2). The _T_ and _F_ are called _truth values_. Any meaningful statement
can have truth values. This type of table is called a _truth table_.
For any logical pattern, we can make up a truth table.
Let us take another example, “AND.” Statement 5 is the same as
statement 1 AND statement 2. How can we calculate the logical truth of
statement 5? We can make up the same sort of a table as before. On the
left-hand side of this table, there will be 4 cases:
1. Statement 1 true, statement 2 true.
2. Statement 1 false, statement 2 true.
3. Statement 1 true, statement 2 false.
4. Statement 1 false, statement 2 false.
On the right-hand side of this table, we shall put down the truth
value of statement 5. Statement 5 is true if both statements 1 and
2 are true; statement 5 is false in the other cases. We know this
from our common everyday experience with the meaning of “AND” between
statements. So we can set up the truth table, and our rule for
calculation of logical truth, in the case of AND, is shown on Table 3.
Table 3
1 2 | 1 AND 2 = 5
|
_T_ _T_ | _T_
_F_ _T_ | _F_
_T_ _F_ | _F_
_F_ _F_ | _F_
“AND” and the other words and phrases joining together the original two
statements to make new statements are called _connectives_, or _logical
connectives_. The connectives that we have illustrated in statements 7
to 10 are: OR, IF ··· THEN, IF AND ONLY IF, OR ELSE.
Table 4 shows the truth table that applies to statements 7, 8, 9, and
10. This truth table expresses the calculation of the logical truth or
falsity of these statements.
Table 4
1 IF AND
1 OR 2 IF 1, THEN 2 ONLY IF 2 1 OR ELSE 2
1 2 | = 7 = 8 = 9 = 10
|
_T_ _T_ | _T_ _T_ _T_ _F_
_F_ _T_ | _T_ _T_ _F_ _T_
_T_ _F_ | _T_ _F_ _F_ _T_
_F_ _F_ | _F_ _T_ _T_ _F_
The “OR” (as in statement 7) that is defined in the truth table is
often called the _inclusive “or”_ and means “AND/OR.” Statement 7,
“1 OR 2,” is considered to be the same as “1 OR 2 OR BOTH.” There is
another “OR” in common use, often called the _exclusive “or,”_ meaning
“OR ELSE” (as in statement 10). Statement 10, “1 OR ELSE 2,” is the
same as “1 OR 2 BUT NOT BOTH” or “EITHER 1 OR 2.” In ordinary English,
there is some confusion over these two “OR’s.” Usually we rely on
the context to tell which one is intended. Of course, such reliance
is not safe. Sometimes we rely on a necessary conflict between the
two statements connected by “OR” which prevents the “both” case from
being possible. In Latin the two kinds of “OR” were distinguished by
different words, _vel_ meaning “AND/OR,” and _aut_ meaning “OR ELSE.”
The “IF ··· THEN” that is defined in the truth table agrees with our
usual understanding that (1) when the “IF clause” is true, the “THEN
clause” must be true; and (2) when the “IF clause” is false, the “THEN
clause” may be either true or false. The “IF AND ONLY IF” that is
defined in the truth table agrees with our usual understanding that (1)
if either clause is true, the other is true; and (2) if either clause
is false, the other is false.
In statement 6, there are only two possible cases, and the truth table
is shown in Table 5.
Table 5
1 | 1 AND 1 = 6
|
_T_ | _T_
_F_ | _F_
We know that 6 is true if and only if 1 is true. In other words, the
statement “1 AND 1 IF AND ONLY IF 1” is true, no matter what statement
1 may refer to. It is because of this fact that we never use a
statement in the form “1 and 1”: it can always be replaced by the plain
statement “1.”
LOGICAL-TRUTH CALCULATION BY EXAMINING CASES AND REASONING
Now you may say that this is all very well, but what good is it? Almost
anybody can use these connectives correctly and certainly has had a
great deal of practice using them. Why do we need to go into truth
values and truth tables?
When we draft a contract or a set of rules, we often have to consider
several conditions that give rise to a number of cases. We must avoid:
1. All _conflicts_, in which two statements that disagree
apply to the same case.
2. All _loopholes_, in which there is a case not covered
by any statement.
If we have one statement or condition only, we have to consider 2
possible cases: the condition satisfied or the statement true;
the condition not satisfied or the statement false. If we have 2
conditions, we have to consider 4 possible cases: true, true; false,
true; true, false; false, false. If we have 3 conditions, we have to
consider 8 possible cases one after the other (see Table 6).
Table 6
CASE 1ST CONDITION 2ND CONDITION 3RD CONDITION
1 _T_ _T_ _T_
2 _F_ _T_ _T_
3 _T_ _F_ _T_
4 _F_ _F_ _T_
5 _T_ _T_ _F_
6 _F_ _T_ _F_
7 _T_ _F_ _F_
8 _F_ _F_ _F_
Instead of _T_’s and _F_’s, we would ordinarily use _check-marks_ (✓)
and _crosses_ (✕), which, of course, have the same meaning. We may
consider and study each case individually. In any event, we must make
sure that the proposed contract or set of rules covers all the cases
without conflicts or loopholes.
The number of possible cases that we have to consider doubles whenever
one more condition is added. Clearly, it soon becomes too much work
to consider each case individually, and so we must turn to a second
method, thoughtful classifying and reasoning about classes of cases.
Now suppose that the number of conditions increases: 4 conditions give
rise to 16 possible cases; 5, 6, 7, 8, 9, 10, ··· conditions give rise
to 32, 64, 128, 256, 512, 1024, ··· cases respectively. Because of the
large number of cases, we soon begin to make mistakes while reasoning
about classes of cases. We need a more efficient way of knowing whether
all cases are covered properly.
LOGICAL-TRUTH CALCULATION BY ALGEBRA
One of the more efficient ways of reasoning is often called the
_algebra of logic_. This algebra is a part of a new science called
_mathematical logic_. Mathematical logic is a science that has the
following characteristics:
It studies chiefly nonnumerical reasoning.
It seeks accurate meanings and necessary consequences.
Its chief instruments are efficient symbols.
Mathematical logic studies especially the logical relations expressed
in such words as “or,” “and,” “not,” “else,” “if,” “then,” “only,”
“the,” “of,” “is,” “every,” “all,” “none,” “some,” “same,” “different,”
etc. The algebra of logic studies especially only the first seven of
these words.
The great thinkers of ancient Greece first studied the problems
of logical reasoning as these problems turned up in philosophy,
psychology, and debate. Aristotle originated what was called _formal
logic_. This was devoted mainly to variations of the logical pattern
shown above called the syllogism. In the last 150 years, the fine
symbolic techniques developed by mathematicians were applied to
the problems of the calculation of logical truth, and the result
was mathematical logic, much broader and much more powerful than
formal logic. A milestone in the development of mathematical logic
was _The Laws of Thought_, written by George Boole, a great English
mathematician, and published in 1854. Boole introduced the branch of
mathematical logic called the algebra of logic, also called _Boolean
algebra_. In late years, all the branches of mathematical logic have
been improved and made easier to use.
We can give a simple numerical example of Boolean algebra and how it
can calculate logical truth. Suppose that we take the truth value of a
statement as 1 if it is true and 0 if it is false. Now we have numbers
1 and 0 instead of letters _T_ and _F_. Since they are numbers, we can
add them, subtract them, and multiply them. We can also make up simple
numerical formulas that will let us calculate logical truth. If _P_
and _Q_ are statements, and if _p_ and _q_ are their truth values,
respectively, we have Table 7.
Table 7
STATEMENT TRUTH VALUE
NOT-_P_ 1 - _p_
_P_ AND _Q_ _pq_
_P_ OR _Q_ _p_ + _q_ - _pq_
IF _P_, THEN _Q_ 1 - _p_ + _pq_
_P_ IF AND ONLY IF _Q_ 1 - _p_ - _q_ + 2_pq_
_P_ OR ELSE _Q_ _p_ + _q_ - 2_pq_
For example, suppose that we have two statements _P_ and _Q_:
_P_: John Doe is eligible for insurance.
_Q_: John Doe requires a medical examination.
To test that the truth value of “_P_ OR _Q_” is _p_ + _q_-_pq_, let us
put down the four cases, and calculate the result (see Table 8).
Table 8
_p_ _q_ | _p_ + _q_ - _pq_
|
1 1 | 1 + 1 - 1 = 1
0 1 | 0 + 1 - 0 = 1
1 0 | 1 + 0 - 0 = 1
0 0 | 0 + 0 - 0 = 0
Now we know that _P_ or _Q_ is true if and only if either one or both
of _P_ and _Q_ are true, and thus we see that the calculation is
correct.
The algebra of logic (see also Supplement 2) is a more efficient way of
calculating logical truth. But it is still a good deal of work to use
the algebra. For example, if we have 10 conditions, we shall have 10
letters like _p_, _q_ to handle in calculations. Thus we need a still
more efficient way.
CALCULATION OF CIRCUITS BY THE ALGEBRA OF LOGIC
In 1937 a research assistant at Massachusetts Institute of Technology,
Claude E. Shannon, was studying for his degree of master of science.
He was enrolled in the Department of Electrical Engineering. He was
interested in automatic switching circuits and wondered why an algebra
should not apply to them. He wrote his thesis on the answer to this
question and showed that:
(1) There is an algebra that applies to switching circuits.
(2) It is the algebra of logic.
A paper, based on his thesis, was published in 1938 in the
_Transactions of the American Institute of Electrical Engineers_ with
the title “A Symbolic Analysis of Relay and Switching Circuits.”
[Illustration: FIG. 1. Switches in series.]
For a simple example of what Shannon found out, suppose that we have
two switches, 1, 2, in series (see Fig. 1). When do we get current
flowing from the source to the sink? There are 4 possible cases and
results (see Table 9).
Table 9
SWITCH 1 IS CLOSED SWITCH 2 IS CLOSED CURRENT FLOWS
Yes Yes Yes
No Yes No
Yes No No
No No No
Now what does this table remind us of? It is precisely the truth table
for “AND.” It is just what we would have if we wrote down the truth
table of the statement “Switch 1 is closed AND switch 2 is closed.”
[Illustration: FIG. 2. Switches in parallel.]
[Illustration: FIG. 3. Switch open—current flowing.]
Suppose that we have two switches 1, 2 in parallel (see Fig. 2). When
do we get current flowing from the source to the sink? Answer: when
either one or both of the switches are closed. Therefore, this circuit
is an exact representation of the statement “Switch 1 is closed or
switch 2 is closed.”
Suppose that we have a switch that has two positions, and at any time
must be at one and only one of these two positions (see Fig. 3).
Suppose that current flows only when the switch is open. There are two
possible cases and results (see Table 10).
Table 10
SWITCH 1 IS CLOSED CURRENT FLOWS
Yes No
No Yes
This is like the truth table for “NOT”; and this circuit is an exact
representation of the statement “Switch 1 is NOT closed.” (_Note_:
These examples are in substantial agreement with Shannon’s paper,
although Shannon uses different conventions.)
We see, therefore, that there is a very neat correspondence between the
algebra of logic and automatic switching circuits. Thus it happens that:
1. The algebra of logic can be used in the calculation of
some electrical circuits.
2. Some electrical circuits can be used in the calculations
of the algebra of logic.
This fact is what led to the next step.
LOGICAL-TRUTH CALCULATION BY MACHINE
In 1946 two undergraduates at Harvard University, Theodore A. Kalin
and William Burkhart, were taking a course in mathematical logic.
They noticed that there were a large number of truth tables to be
worked out. To work them out took time and effort and yet was a rather
tiresome automatic process not requiring much thinking. They had had
some experience with electrical circuits. Knowing of Shannon’s work,
they said to each other, “Why not build an electrical machine to
calculate truth tables?”
They took about two months to decide on the essential design of the
machine:
1. The machine would have dial switches in which logical
connectives would be entered.
2. It would have dial switches in which the numbers of
statements like 1, 2, 3 ··· would be entered.
3. It would scan the proper truth table line by line by
sending electrical pulses through the dial switches.
4. It would compute the truth or falsehood of the whole
expression.
CONSTRUCTION AND COMPLETION OF THE KALIN-BURKHART LOGICAL-TRUTH
CALCULATOR
With the designs in mind, Kalin and Burkhart bought some war surplus
materials, including relays, switches, wires, lights, and a metal
box about 30 inches long by 16 inches tall, and 13 inches deep. From
March to June, 1947, they constructed a machine in their spare time,
assembling and mounting the parts inside the box. The total cost of
materials was about $150. In June the machine was demonstrated in
Cambridge, Mass., before several logicians and engineers, and in August
it was moved for some months to the office of a life insurance company.
There some study was made of the possible application of the machine in
drafting contracts and rules.
GENERAL ORGANIZATION OF THE MACHINE
The logical-truth calculator built by Kalin and Burkhart is not giant
in size, although giant in capacity. Like other mechanical brains,
the machine is made up of many pieces of a rather small number of
different kinds of parts. The machine contains about 45 dial switches,
23 snap switches (or two-position switches), 85 relays, 6 push buttons,
less than a mile of wire, etc. The lid of the metal box is the front,
vertical panel of the machine.
UNITS OF THE MACHINE
The machine contains 16 units. These units are listed in Table 11, in
approximately the order in which they appear on the front panel of the
machine—row by row from top to bottom, and from left to right in each
row.
Table 11
UNITS, THEIR NAMES, AND SIGNIFICANCE
UNIT ROW PART NO. MARK NAME SIGNIFICANCE
1 1 Small red 12 — _Statement truth-_ Output: glows if
lights _value lights_ statement is
assumed true
in the case
2 1 2-position 12 ~ _Statement denial_ Input: if up,
snap switches _switches_ statement
is denied
3 2 14-position 12 _V_ _Statement_ Input of
dial switches _switches_ statements
4 3 4-position 11 _k_ _Connective_ Input of
dial switches _switches_ connectives:
∧ (and),
∨ (or),
▲ (if-then),
▼ (if and only if)
5 4 11-position 11 _A_ _Antecedent_ Input of
dial switches _switches_ antecedents
6 5 11-position 11 _C_ _Consequent_ Input of
dial switches _switches_ consequents
7 6 2-position 11 _S_ _Stop switches_ Input: if up,
snap switches associates
connective to
main truth-value
light
8 6 2-position 11 ~ _Connective denial_ Input: if up,
snap switches _switches_ statement
produced by
connective is
denied
9 7 Red light and 1 Start _Automatic start_ Input: causes the
large button calc. to start
down a
truth table
automatically
10 7 Red light and 1 Start _Power switch_ Input: turns the
2 buttons Stop power on or off
11 7 2-position 1 Stop “_Stop-on-true-or-_ Input: causes the
snap switch _false_” _switch_ calc.to stop
and red either on true
button cases or on
false cases
12 7 Yellow light 1 — _Main truth-value_ Output: glows if
_light_ the statement
produced by the
main connective
is true for the
case
13 7 Large button 1 Man. _Manual pulse_ Input: causes the
Pulse _button_ calc. to go
to the next line
of a truth table
14 7 11-position 1 _kⱼ_ _Connective check_ Output: glows when
dial switch _switch and light_ any specified
connective is
true
15 7 13-position 1 TT “_Truth-table-row-_ Input: causes the
dial switch Row _stop_” _switch_ calc. to stop on
Stop last row of the
the truth table
16 Be- Continuous 1 — _Timing control_ Input: controls the
tween dial knob _knob_ speed at which
6 & 7 and button the calculator
scans rows of
the truth table
Some of the words appearing in this table need to be defined.
_Connective_ here means “AND,” “OR,” “IF ··· THEN,” “IF AND ONLY IF.”
Only these four connectives appear on the machine; others when needed
can be constructed from these. The symbols used for these connectives
in mathematical logic are ∧, ∨, ▲, ▼. These signs serve as labels
for the connective switch points. In this machine, when there is a
connective between two statements, the statement that comes before is
called the _antecedent_ and the statement that comes after is called
the _consequent_.
HOW INFORMATION GOES INTO THE MACHINE
Of the 16 units 13 are input units. They control the setup of the
machine so that it can solve a problem. Of the 13 input units, those
that have the most to do with taking in the problem are shown in Table
12.
Table 12
Name of KIND OF
UNIT SWITCHES MARK SWITCH SWITCH SETTINGS
3 Statement _V_₁ to Dial Statements 1 to 12 or constant
_V_₁₂ _T_ or _F_
2 Statement ~ Snap Affirmative (down) or negative
denial (up)
4 Connective _k_₁ to Dial ∧ (AND),
_k_₁₁ ∨ (OR),
▲ (IF-THEN),
▼ (IF AND ONLY IF)
8 Connective ~ Snap Affirmative (down) or negative
denial (up)
5 Antecedent _A_₁ to Dial _V_ or various _k_’s
_A_₁₁
6 Consequent _C_₁ to Dial _V_ or various _k_’s
_C_₁₁
7 Stop _S_₁ to Snap Not connected (down) or
_S_₁₁ connected (up)
The first step in putting a problem on the machine is to express the
whole problem as a single compound statement that we want to know the
truth or falsity of. We express the single compound statement in a form
such as the following:
_V k V k V k V k V k V k V k V k V k V k V k V_
where each _V_ represents a statement, each _k_ represents a
connective, and we know the grouping, or in other words, we know the
antecedent and consequent of each connective.
For example, let us choose a problem with an obvious answer:
PROBLEM. Given: statement 1 is true; and if statement 1 is true,
then statement 2 is true; and if statement 2 is true, then statement
3 is true; and if statement 3 is true, then statement 4 is true.
Is statement 4 true?
How do we express this whole problem in a form that will go on the
machine? We express the whole problem as a single compound statement
that we want to know the truth or falsity of:
If [1 and (if 1 then 2) and (if 2 then 3) and (if 3 then 4)], then 4
The 8 statements occurring in this problem are, respectively: 1 1 2 2
3 3 4 4. These are the values at which the _V_ switches (the statement
dial switches, Unit 2) from _V_₁ to _V_₈ are set. The 7 connectives
occurring in this problem are, respectively: AND, IF-THEN, AND,
IF-THEN, AND, IF-THEN, IF-THEN. These are the values at which the _k_
switches (the connective dial switches, Unit 4) from _k_₁ to _k_₇ are
set.
A grouping (one of several possible groupings) that specifies the
antecedent and consequent of each connective is the following:
1 AND 1 IF-THEN 2 AND 2 IF-THEN 3 AND 3 IF-THEN 4 IF-THEN 4
| | | | | |
+—————————+ +—————————+ +—————————+
_k_₂ _k_₄ _k_₆
| | | |
+———————————————+ +—————————————————————————+
_k_₁ _k_₅
| |
+———————————————————————————————————————————————+
_k_₃
| |
+—————————————————————————————————————————————————————————+
_k_₇
The grouping has here been expressed graphically with lines but may be
expressed in the normal mathematical way with parentheses and brackets
as follows:
{[1 AND (1 IF-THEN 2)] AND [(2 IF-THEN 3) AND
(3 IF-THEN 4)]} IF-THEN 4.
So the values at which the antecedent and consequent dial switches are
set are as shown in Table 13.
Table 13
ANTECEDENT CONSEQUENT
CONNECTIVE SWITCH SET AT SWITCH SET AT
_k_₁ _A_₁ _V_ _C_₁ _k_₂
_k_₂ _A_₂ _V_ _C_₂ _V_
_k_₃ _A_₃ _k_₁ _C_₃ _k_₅
_k_₄ _A_₄ _V_ _C_₄ _V_
_k_₅ _A_₅ _k_₄ _C_₅ _k_₆
_k_₆ _A_₆ _V_ _C_₆ _V_
_k_₇ _A_₇ _k_₃ _C_₇ _V_
In any problem, statements that are different are numbered one after
another 1, 2, 3, 4 ···. A statement that is repeated bears always the
same number. In nearly all cases that are interesting, there will be
repetitions of the statements. If any statement appeared with a “NOT”
in it, we would turn up the denial switch for that statement (Unit 2).
The different connectives available on the machine are “AND,” “OR,” “IF
··· THEN,” “IF AND ONLY IF.” If a “NOT” affected the compound statement
produced by any connective, we would turn up the denial switch for that
connective (Unit 8).
The last step in putting the problem on the machine is to connect the
main connective of the whole compound statement to the yellow light
output (Unit 12). In this problem the last “IF-THEN,” _k_₇, is the
main connective, the one that produces the whole compound statement.
So we turn Stop Switch 7 (in Unit 7) that belongs to _k_₇ into the
up position. There are a few more things to do, naturally, but the
essential part of putting the information of the problem into the
machine has now been described.
HOW INFORMATION COMES OUT OF THE MACHINE
Of the 16 units listed in Table 11, 3 are output units, and only 2 of
these are really important, as shown in Table 14.
Table 14
UNIT NAME OF LIGHT MARK KIND OF LIGHT
1 Statement truth value _V_₁ to _V_₁₂ Small, red
13 Main truth value Large, yellow
The answer to a problem is shown by a pattern of the lights of Units
1 and 13. The pattern of lights is equivalent to a row of the truth
table. Each little red light (Unit 1) glows when its statement is
assumed to be true, and it is dark when its statement is assumed to
be false. The yellow light (Unit 13) glows when the whole compound
statement is calculated to be logically true, and it is dark when the
whole compound statement is calculated to be logically false.
The machine turns its “attention” automatically to each line of the
truth table one after the other, and pulses are fed in according to the
pattern of assumed true statements. We can set the machine to stop on
true cases or on false cases or on every case, so as to give us time
to copy down whichever kind of results we are interested in. When we
have noted the case, we can press a button and the machine will then go
ahead searching for more cases.
A COMPLETE AND CONCRETE EXAMPLE
The reader may still be wondering when he will see a complete and
concrete example of the application of the logical-truth calculator. So
far we have given only pieces of examples in order to illustrate some
explanation. Therefore, let us consider now the following problem:
PROBLEM. The A. A. Adams Co., Inc., has about
1000 employees. About 600 of them are insured under a
contract for group insurance with the I. I. Insurance
Co. Mr. Adams decides that more of his employees ought
to be insured. As a part of his study of the change, he
asks his manager in charge of the group insurance plan,
“What are the possible statuses of my employees who are
not insured?”
The manager replies, “I can tell you the names of the
men who are not insured, and all the data you may want
to know about them.”
Mr. Adams says, “No, John, that won’t be enough, for I
need to know whether there are any groups or classes
that for some basic reason I should exclude from the
change I am considering.”
So the manager goes to work with the following 5 statuses and
the following 5 rules, and he produces the following answer.
Our question is, “Is he right, or has he made a mistake?”
_Statuses._ A status for any employee is a report about
that employee, answering all the following 5 questions with
“yes” or “no.”
1. Is the employee eligible for insurance?
2. Has the employee applied for insurance?
3. Has the employee’s application for insurance been approved?
4. Does the employee require a medical examination for insurance?
5. Is the employee insured?
_Rules._ The rules applying to employees are:
_A._ Any employee, to be insured, must be eligible
for insurance, must make application for insurance,
and must have such application for insurance approved.
_B._ Only eligible employees may apply for
insurance.
_C._ The application of any person eligible
for insurance without medical examination is
automatically approved.
_D._ (Naturally) an application can be approved
only if the application is made.
_E._ (Naturally) a medical examination will not be
required from any person not eligible for insurance.
_Answer by the Manager._ There are 5 possible
combinations of statuses for employees who are not
insured, as shown in Table 15.
Table 15
POSSIBLE STATUS 3, STATUS 4,
COMBINATION STATUS 1, STATUS 2, APPLICATION EXAMINATION STATUS 5,
OF STATUSES ELIGIBLE APPLIED APPROVED REQUIRED INSURED
1 Yes Yes Yes Yes No
2 Yes Yes Yes No No
3 Yes Yes No Yes No
4 Yes No Yes No No
5 No No No No No
The question may be asked why employees who are eligible, who have
applied for insurance, who have had their applications approved, and
who require no medical examination (combination 2) are yet not insured.
The answer is that the rules given do not logically lead to this
conclusion. As a matter of fact, there might be additional rules, such
as: any sick employee must first return to work; or any period from
date of approval of application to the first of the following month
must first pass.
The first step in putting this problem on the Kalin-Burkhart
Logical-Truth Calculator is to rephrase the rules, using the language
of the connectives that we have on the machine. The rules rephrased are:
_A._ If an employee is insured, then he is
eligible, he has applied for insurance, and his
application has been approved.
IF 5, THEN 1 AND 2
AND 3
_B._ If an employee has applied (under these
rules) for insurance, then he is eligible.
IF 2, THEN 1
_C._ If an employee is eligible for insurance, has
applied, and requires no medical examination, his
application is automatically approved.
IF 1 AND 2 AND
NOT-4, THEN 3
_D._ If an employee’s application has been
approved, then he has applied.
IF 3, THEN 2
_E._ If an employee is not eligible, then he does
not require a medical examination (under these rules).
IF NOT-1, THEN NOT-4
To get the answer we seek, we must add one more rule _for this answer
only_:
_F._ The employee is not insured.
NOT-5
We now have a total of 4 + 2 + 4 + 2 + 2 + 1 occurrences of statements,
or 15 occurrences. This is beyond the capacity of the existing machine.
But fortunately Rule _F_ and Rule _A_ cancel each other; they may both
be omitted; and this gives us 10 occurrences instead of 15. In other
words, all the possible statuses under “Rule _B_ AND Rule _C_ AND Rule
_D_ AND Rule _E_” will give us the answer we seek.
The rephrasing and reasoning we have done here is perhaps not easy. For
example, going from the logical pattern
Only igs may be ows to the logical pattern
If it is an ow, then it is an ig
as we did in rephrasing Rule _B_, deserves rather more thought and
discussion than we can give to the subject here. A person who is
responsible for preparing problems for the Logical-Truth Calculator
should know the algebra of logic.
Choosing an appropriate grouping, we now set on the machine:
{(IF 2, THEN 1) AND [IF (1 AND 2) AND NOT-4, THEN 3]} AND
[(IF 3, THEN 2) AND (IF NOT-1, THEN NOT-4)]
The setting is as shown in Table 16. After this setting, the machine is
turned on and set to stop on the “true” cases. The
Table 16
SETTING OF THE PROBLEM ON THE LOGICAL-TRUTH CALCULATOR
UNIT
3 Statement Dial No. _V_₁ _V_₂ _V_₃ _V_₄ _V_₅ _V_₆
3 Statement Dial Setting 2 1 1 2 4 3
2 Statement Denial Switch
Setting — — — — up —
4 Connective Dial No. _k_₁ _k_₂ _k_₃ _k_₄ _k_₅ _k_₆
4 Connective Dial Setting ▲ ∧ ∧ ∧ ▲ ∧
8 Connective Denial Switch
Setting — — — — — —
5 Antecedent Dial No. _A_₁ _A_₂ _A_₃ _A_₄ _A_₅ _A_₆
5 Antecedent Dial Setting _V_ _k_₁ _V_ _k_₃ _k_₄ _k_₂
6 Consequent Dial No. _C_₁ _C_₂ _C_₃ _C_₄ _C_₅ _C_₆
6 Consequent Dial Setting _V_ _k_₅ _V_ _V_ _V_ _k_₈
7 Stop Switches, associating
connective to Main
Truth-Value Light — — — — — up
-----------------------------------------------------------------
3 Statement Dial No. _V_₇ _V_₈ _V_₉ _V_₁₀ _V_₁₁ _V_₁₂
3 Statement Dial Setting 3 2 1 4 _F_ _F_
2 Statement Denial Switch
Setting — — up up — —
4 Connective Dial No. _k_₇ _k_₈ _k_₉ _k_₁₀ _k_₁₁
4 Connective Dial Setting ▲ ∧ ▲ off off
8 Connective Denial Switch
Setting — — — — —
5 Antecedent Dial No. _A_₇ _A_₈ _A_₉ _A_₁₀ _A_₁₁
5 Antecedent Dial Setting _V_ _k_₇ _V_ off off
6 Consequent Dial No. _C_₇ _C_₈ _C_₉ _C_₁₀ _C_₁₁
6 Consequent Dial Setting _V_ _k_₉ _V_ off off
7 Stop Switches, associating
connective to Main
Truth-Value Light — — — — —
possible statuses of employees who are not insured are shown in
Table 17. As we look down the last column in Table 17, we observe 6
occurrences of _T_, instead of 5 as the manager determined (see Table
15). Thus, when we compare the manager’s result with the machine
result, we find an additional possible combination to be reported to
Mr. Adams, combination 7:
Employee eligible, employee has not applied, employee’s
application not approved, employee requires a medical
examination, employee not insured.
Table 17
SOLUTION OF THE PROBLEM BY THE CALCULATOR
LEGEND:
{A} THE EMPLOYEE IS ELIGIBLE FOR INSURANCE
{B} THE EMPLOYEE HAS APPLIED FOR INSURANCE
{C} THE EMPLOYEE’S APPLICATION FOR INSURANCE HAS BEEN APPROVED
{D} THE EMPLOYEE REQUIRES A MEDICAL EXAMINATION
{E} THE EMPLOYEE IS INSURED
{F} CASE, OR COMBINATION NO.
{G} THE COMBINATION DOES NOT CONTRADICT THE RULES,
I.E., THE YELLOW LIGHT IS ON
{A} {B} {C} {D} {E} {F} {G}
_Status_: 1 2 3 4 5
_T_ _T_ _T_ _T_ _F_ 1 _T_
_F_ _T_ _T_ _T_ _F_ 2 _F_
_T_ _F_ _T_ _T_ _F_ 3 _F_
_F_ _F_ _T_ _T_ _F_ 4 _F_
_T_ _T_ _F_ _T_ _F_ 5 _T_
_F_ _T_ _F_ _T_ _F_ 6 _F_
_T_ _F_ _F_ _T_ _F_ 7 _T_
_F_ _F_ _F_ _T_ _F_ 8 _F_
_T_ _T_ _T_ _F_ _F_ 9 _T_
_F_ _T_ _T_ _F_ _F_ 10 _F_
_T_ _F_ _T_ _F_ _F_ 11 _F_
_F_ _F_ _T_ _F_ _F_ 12 _F_
_T_ _T_ _F_ _F_ _F_ 13 _F_
_F_ _T_ _F_ _F_ _F_ 14 _F_
_T_ _F_ _F_ _F_ _F_ 15 _T_
_F_ _F_ _F_ _F_ _F_ 16 _T_
Because of the medical examination, this additional class of employee
would need to be considered rather carefully in any change of the group
insurance plan.
AN APPRAISAL OF THE CALCULATOR
In appraising the Kalin-Burkhart Logical-Truth Calculator, we must
remember that this is a first model. It was the only machine of its
kind up to the end of 1948; and it worked.
The cost of the machine, as stated before, was about $150 of parts and
perhaps $1000 of labor. This is less than ¹/₁₀₀ of the cost of the
other giant brains described in previous chapters. Yet we can properly
call this machine a mechanical brain because it transfers information
automatically from one part to another of the machine, has automatic
control over the sequence of operations, and does certain kinds of
reasoning.
The machine is swift. It can check up to a 100 cases against a set of
rules in less than 1 minute. It can check: 128 cases for 7 conditions
in 1¼ minutes, 256 cases for 8 conditions in 2½ minutes, and 4096 cases
for 12 conditions in 38 minutes. That is the limit of the present
machine. Of course, setting up the machine to do a problem takes some
more time.
The programming of this machine to do a problem is less complicated
than the programming of most of the big machines previously described.
Of course, in order to prepare a problem for the machine, the preparer
needs to know a fair amount of the algebra of logic. This, however, is
not very hard. As to reliability, the machine has in practice been out
of order less than 2 per cent of operating time.
The big barrier to wide use of the machine, of course, is lack of
understanding of the field of problems in which it can be applied.
Even in this modern world of ours, we are in rather a primitive stage
in regard to recognizing problems in logical truth and knowing how to
calculate it. Here, however, is an electrical instrument for logical
reasoning, and it seems likely that its applications will multiply.