Chapter 9

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.

Giant brains; or, Machines that think · 第 3 / 7 章