## Motivation and history

Given that much of this module is founded on truth and falsehood, the topic goes back to Ancient Greek philosophy and to Socrates and Aristotle in particular. However, Boolean algebra, on which the module heavily relies, began its development with Boole's work from the mid Nineteenth Century. Boole's aim in introducing his work was to provide a foundation for Aristotelian logic. (see https://en.wikipedia.org/wiki/George_Boole. https://en.wikipedia.org/wiki/Boolean_algebra#History) Before what we know today as abstract algebra had been developed, Boole produced a system that we recognise now as algebraic. But whereas the algebra with which we are more familiar is based on numerical relations, Boole's algebra is based on logical relations. Hence the variables of Boole take only the values 0 and 1, with 0 standing for false and 1 for truth. Boole's work was developed and refined until we get the axiomatised version that we discuss here.

It wasn't until the 1930s that Claude Shannon realised the importance of Boolean algebra to switching circuits, the major topic of this module. Karnaugh maps (https://en.wikipedia.org/wiki/Karnaugh_map) arose in the 1950s as a means of simplifying Boolean expressions. These maps use the table form for representing switching circuits that we discuss later, followed by a clever use of the reductions that follow from the axioms of Boolean algebra. These map reductions can be achieved using the axioms alone, but Karnaugh's maps enable these simplifications to be determined in a neat way directly from the table form. It should be noted though that the maps are only really efficient for small circuits. It is more practical to reduce anything of any size by computer algorithms.