Boolean algebra

In mathematics and mathematical logic, Boolean algebra is the subarea of algebra in which the values of the variables are the truth values true and false, usually denoted 1 and 0 respectively. Instead of elementary algebra where the values of the variables are numbers, and the main operations are addition and multiplication, the main operations of Boolean algebra are the conjunction and, denoted ∧, the disjunction or, denoted ∨, and the negation not, denoted.

Boolean algebra was introduced in 1854 by George Boole in his book An Investigation of the Laws of Thought. According to Huntington the term "Boolean algebra" was first suggested by Sheffer in 1913.

Boole's first book The Mathematical Analysis of Logic published in 1847 included the original theory. This was proposed as a Mathematical language dealing with the questions of logic which is now needed in the design of modern digital equipment, and now exists as a core data type in all modern programming languages generally abbreviated to as type bool, representing true or false within assertion logic.

Values

Whereas in elementary algebra expressions denote mainly numbers, in Boolean algebra they denote the truth values false and true. These values are represented with the bits (or binary digits), namely 0 and 1. They do not behave like the integers 0 and 1, for which 1 + 1 = 2, but may be identified with the elements of the two-element field GF(2), for which 1 + 1 = 0 with + serving as the Boolean operation XOR.

Boolean algebra also deals with functions which have their values in the set {0, 1}. A sequence of bits is a commonly used such function. Another common example is the subsets of a set E: to a subset F of E is associated the indicator function that takes the value 1 on F and 0 outside F.

As with elementary algebra, the purely equational part of the theory may be developed without considering explicit values for the variables.

Laws

A law of Boolean algebra is an identity such as x∨(yz) = (xy)∨z between two Boolean terms, where a Boolean term is defined as an expression built up from variables and the constants 0 and 1 using the operations ∧, ∨, and ¬. The concept can be extended to terms involving other Boolean operations such as ⊕, →, and ≡, but such extensions are unnecessary for the purposes to which the laws are put. Such purposes include the definition of a Boolean algebra as any model of the Boolean laws, and as a means for deriving new laws from old as in the derivation of x∨(yz) = x∨(zy) from yz = zy as treated in the section on axiomatization.