History

George Boole (1815 - 1864)

George Boole was born in Lincoln in 1815, the son of a shoemaker. Although, by age 16, he had become the family breadwinner he was not weighed down by this heavy responsibility; neither was he planning on following in the family business. At that tender age he became a teacher and at age 19 had set up his own school in the city. He was thirsty for knowledge. He became a skilled mathematician and fluent linguist – all self-taught. It took him many years to master calculus, working from Lacroisier’s text given to him by a friend. But why is he now known as the father of the computing age? Emanating from his ‘Laws of Thought’ we now have what is known as Boolean Algebra.

Variables of type ‘boolean’ are found in many programming languages. You might be forgiven for thinking that the bloke who came up with 1+1=1 was not so bright. You would be wrong. It’s all to do with the mathematical representation of logic. He defined the logical relationships of OR, AND, XOR and NOT where every input and every output could have just a single state – true or false, on or off, yes or no, 1 or 0. This is a binary, base 2, system. And this is why I was taught binary at school back in the 1970s, although I have no recollection of ever having its uses explained to me and is probably why I never paid sufficient attention – I just couldn’t see the point. And hexadecimal and counting in letters? Me being me, I was far happier riding my bike and messing around up in the Chiltern Hills. I didn’t stop to think about how binary might be used. We had light switches at home and they are binary devices. One input, one output and the filament glows, or not, depending on whether the switch is on (circuit complete, light on) or off (circuit broken, light off). A computer is a collection of millions of switches, each with a number of inputs and one output. Whether that output is ON or OFF depends on the type of switch. These switches, known as logic gates, enforce the given relationship between the incoming voltages. They work precisely as defined by Boole, even though he had no idea that logic gates and computers might be products of the future!

Here’s a simple, and possibly silly, example of how such logic might be used. A car designer might define a requirement such that the engine cannot be started unless A) the handbrake is applied, B) the clutch is depressed and C) the driver is wearing his seatbelt. In this example there are three true/false inputs giving 2^3, or eight, permutations. Only one will result in the engine starting. The truth table is as follows:

ABCZ
0000
0010
0100
0110
1000
1010
1100
1111

In this simple example we are using the AND function. All three conditions must be true for output Z to be true. Algebraically, this would be written as ABC=Z, the dot representing AND. If any condition is false, 0, then the engine will not start. To implement this, the manufacturer would need a three-input electronic device to enforce the relationships described in the above truth table, i.e. a three-input AND gate.

The other relationships defined by Boole are OR, a + sign, XOR, a  sign and NOT shown as . Here is the two-input truth table:

InputsOutputs
ABANDORXORNANDNORXNOR
00000111
01011100
10011100
11110001

As can be seen OR is an implied inclusive OR whereas XOR is exclusive OR, being true only when one input is true but not both. The NOT is simply an inverter the use of which can be specified on any of the inputs or on the output. Boole had a friend by the name of Augustus de Morgan who defined the inverted relationships between AND and OR. The deMorgan theorem states that NAND can be obtained either by inverting the output of AND or by inverting both the inputs of OR. NOR can be obtained by inverting the output of OR or by inverting both the inputs of AND.

The above car example was intentionally simplistic. A real-life and more complex example was presented to me whilst driving my father’s car with automatic transmission. This was my first experience of the auto engine idle cutoff system – that which kills the engine whilst temporarily stationary, to improve economy and reduce pollution. With no clutch to depress or release, the trigger for a vehicle with a manual gearbox, the vehicle is free to do as it wishes – unless the cutoff system is itself manually switched off. I found it rather erratic and therefore keen to dispense with its services. Sometimes it would; sometimes it wouldn’t; sometimes it would and then change its mind. So I decided to read the handbook. What factors are involved? It’s a long list that includes:

  • Is the drivers seatbelt fastened?
  • Temperatures – coolant, transmission fluid, battery and both internal and external air temperature
  • Is the vehicle on a steep incline?
  • Gear position
  • Is the bonnet fastened?
  • Is the battery charging and in good condition?
  • Is the climate control system in use?
  • Recent driving history – has there been lots of low speed accelerations or sudden braking?
  • Is the steering wheel being waggled?
  • Is the fan speed high?
  • Internal humidity
  • Brake pedal pressure
  • Accelerator pedal
  • Is the vehicle stationary?

    That is a heck of a lot of information that has to be instantly evaluated. Should the engine cutoff? If it is off, does it need to restart? All of those inputs need to be whittled down to a single yes or no, 1 or 0, on or off. This is boolean logic. Anyone who is familiar with Venn Diagrams will note the similarity with set theory and the functions of intersection and union.

    In a technological world of electronics, computers, integrated circuits and whatnot, all this has real value and practical application. It all makes sense, describing the world that is. But Boole was devising this back in the mid-nineteenth century when there were no computers, no electricity, no cars. Coal, steam and horses powered the nation. Flippantly, I love the idea the he might have devised a mechanical fail-safe interlock system for his horse, using a set of interlocking levers. If (right foot in stirrup AND left foot in stirrup AND helmet fitted to head AND > 0 hands grasping reign) OR (if mode = sport AND saddle fitted = false) then horse = GO else horse = head down and munch. And now I’m thinking about iron horses and whether his work had any value in the design and implementation of the interlocking block systems of railway signaling. They didn’t discuss that in my computer engineering course!
    Back