# Boolean algebra (structure)

In abstract algebra, a **Boolean algebra** or **Boolean lattice** is a complemented distributive lattice. This type of algebraic structure captures essential properties of both set operations and logic operations. A Boolean algebra can be seen as a generalization of a power set algebra or a field of sets, or its elements can be viewed as generalized truth values. It is also a special case of a De Morgan algebra and a Kleene algebra (with involution).

Every Boolean algebra gives rise to a Boolean ring, and vice versa, with ring multiplication corresponding to conjunction or meet ∧, and ring addition to exclusive disjunction or symmetric difference (not disjunction ∨). However, the theory of Boolean rings has an inherent asymmetry between the two operators, while the axioms and theorems of Boolean algebra express the symmetry of the theory described by the duality principle.^{[1]}

The term "Boolean algebra" honors George Boole (1815–1864), a self-educated English mathematician. He introduced the algebraic system initially in a small pamphlet, *The Mathematical Analysis of Logic*, published in 1847 in response to an ongoing public controversy between Augustus De Morgan and William Hamilton, and later as a more substantial book, *The Laws of Thought*, published in 1854. Boole's formulation differs from that described above in some important respects. For example, conjunction and disjunction in Boole were not a dual pair of operations. Boolean algebra emerged in the 1860s, in papers written by William Jevons and Charles Sanders Peirce. The first systematic presentation of Boolean algebra and distributive lattices is owed to the 1890 *Vorlesungen* of Ernst Schröder. The first extensive treatment of Boolean algebra in English is A. N. Whitehead's 1898 *Universal Algebra*. Boolean algebra as an axiomatic algebraic structure in the modern axiomatic sense begins with a 1904 paper by Edward V. Huntington. Boolean algebra came of age as serious mathematics with the work of Marshall Stone in the 1930s, and with Garrett Birkhoff's 1940 *Lattice Theory*. In the 1960s, Paul Cohen, Dana Scott, and others found deep new results in mathematical logic and axiomatic set theory using offshoots of Boolean algebra, namely forcing and Boolean-valued models.

A **Boolean algebra** is a six-tuple consisting of a set *A*, equipped with two binary operations ∧ (called "meet" or "and"), ∨ (called "join" or "or"), a unary operation ¬ (called "complement" or "not") and two elements 0 and 1 in *A* (called "bottom" and "top", or "least" and "greatest" element, also denoted by the symbols ⊥ and ⊤, respectively), such that for all elements *a*, *b* and *c* of *A*, the following axioms hold:^{[2]}

Note, however, that the absorption law and even the associativity law can be excluded from the set of axioms as they can be derived from the other axioms (see Proven properties).

A Boolean algebra with only one element is called a **trivial Boolean algebra** or a **degenerate Boolean algebra**. (In older works, some authors required 0 and 1 to be *distinct* elements in order to exclude this case.)^{[citation needed]}

It follows from the last three pairs of axioms above (identity, distributivity and complements), or from the absorption axiom, that

The relation ≤ defined by *a* ≤ *b* if these equivalent conditions hold, is a partial order with least element 0 and greatest element 1. The meet *a* ∧ *b* and the join *a* ∨ *b* of two elements coincide with their infimum and supremum, respectively, with respect to ≤.

The first four pairs of axioms constitute a definition of a bounded lattice.

It follows from the first five pairs of axioms that any complement is unique.

The set of axioms is self-dual in the sense that if one exchanges ∨ with ∧ and 0 with 1 in an axiom, the result is again an axiom. Therefore, by applying this operation to a Boolean algebra (or Boolean lattice), one obtains another Boolean algebra with the same elements; it is called its **dual**.^{[3]}

A *homomorphism* between two Boolean algebras *A* and *B* is a function *f* : *A* → *B* such that for all *a*, *b* in *A*:

It then follows that *f*(¬*a*) = ¬*f*(*a*) for all *a* in *A*. The class of all Boolean algebras, together with this notion of morphism, forms a full subcategory of the category of lattices.

An *isomorphism* between two Boolean algebras *A* and *B* is a homomorphism *f* : *A* → *B* with an inverse homomorphism, that is, a homomorphism *g* : *B* → *A* such that the composition *g* ∘ *f*: *A* → *A* is the identity function on *A*, and the composition *f* ∘ *g*: *B* → *B* is the identity function on *B*. A homomorphism of Boolean algebras is an isomorphism if and only if it is bijective.

Every Boolean algebra (*A*, ∧, ∨) gives rise to a ring (*A*, +, ·) by defining *a* + *b* := (*a* ∧ ¬*b*) ∨ (*b* ∧ ¬*a*) = (*a* ∨ *b*) ∧ ¬(*a* ∧ *b*) (this operation is called symmetric difference in the case of sets and XOR in the case of logic) and *a* · *b* := *a* ∧ *b*. The zero element of this ring coincides with the 0 of the Boolean algebra; the multiplicative identity element of the ring is the 1 of the Boolean algebra. This ring has the property that *a* · *a* = *a* for all *a* in *A*; rings with this property are called Boolean rings.

Conversely, if a Boolean ring *A* is given, we can turn it into a Boolean algebra by defining *x* ∨ *y* := *x* + *y* + (*x* · *y*) and *x* ∧ *y* := *x* · *y*.^{[4]}^{[5]}
Since these two constructions are inverses of each other, we can say that every Boolean ring arises from a Boolean algebra, and vice versa. Furthermore, a map *f* : *A* → *B* is a homomorphism of Boolean algebras if and only if it is a homomorphism of Boolean rings. The categories of Boolean rings and Boolean algebras are equivalent.^{[6]}

Hsiang (1985) gave a rule-based algorithm to check whether two arbitrary expressions denote the same value in every Boolean ring. More generally, Boudet, Jouannaud, and Schmidt-Schauß (1989) gave an algorithm to solve equations between arbitrary Boolean-ring expressions. Employing the similarity of Boolean rings and Boolean algebras, both algorithms have applications in automated theorem proving.

The dual of an *ideal* is a *filter*. A *filter* of the Boolean algebra *A* is a subset *p* such that for all *x*, *y* in *p* we have *x* ∧ *y* in *p* and for all *a* in *A* we have *a* ∨ *x* in *p*. The dual of a *maximal* (or *prime*) *ideal* in a Boolean algebra is *ultrafilter*. Ultrafilters can alternatively be described as 2-valued morphisms from *A* to the two-element Boolean algebra. The statement *every filter in a Boolean algebra can be extended to an ultrafilter* is called the *Ultrafilter Theorem* and cannot be proven in ZF, if ZF is consistent. Within ZF, it is strictly weaker than the axiom of choice.
The Ultrafilter Theorem has many equivalent formulations: *every Boolean algebra has an ultrafilter*, *every ideal in a Boolean algebra can be extended to a prime ideal*, etc.

It can be shown that every *finite* Boolean algebra is isomorphic to the Boolean algebra of all subsets of a finite set. Therefore, the number of elements of every finite Boolean algebra is a power of two.

Stone's celebrated *representation theorem for Boolean algebras* states that *every* Boolean algebra *A* is isomorphic to the Boolean algebra of all clopen sets in some (compact totally disconnected Hausdorff) topological space.

The first axiomatization of Boolean lattices/algebras in general was given by the English philosopher and mathematician Alfred North Whitehead in 1898.^{[7]}^{[8]}
It included the above axioms and additionally *x*∨1=1 and *x*∧0=0.
In 1904, the American mathematician Edward V. Huntington (1874–1952) gave probably the most parsimonious axiomatization based on ∧, ∨, ¬, even proving the associativity laws (see box).^{[9]}
He also proved that these axioms are independent of each other.^{[10]}
In 1933, Huntington set out the following elegant axiomatization for Boolean algebra.^{[11]} It requires just one binary operation + and a unary functional symbol *n*, to be read as 'complement', which satisfy the following laws:

Herbert Robbins immediately asked: If the Huntington equation is replaced with its dual, to wit:

do (1), (2), and (4) form a basis for Boolean algebra? Calling (1), (2), and (4) a *Robbins algebra*, the question then becomes: Is every Robbins algebra a Boolean algebra? This question (which came to be known as the Robbins conjecture) remained open for decades, and became a favorite question of Alfred Tarski and his students. In 1996, William McCune at Argonne National Laboratory, building on earlier work by Larry Wos, Steve Winker, and Bob Veroff, answered Robbins's question in the affirmative: Every Robbins algebra is a Boolean algebra. Crucial to McCune's proof was the computer program EQP he designed. For a simplification of McCune's proof, see Dahn (1998).

Further work has been done for reducing the number of axioms; see Minimal axioms for Boolean algebra.

Removing the requirement of existence of a unit from the axioms of Boolean algebra yields "generalized Boolean algebras". Formally, a distributive lattice *B* is a generalized Boolean lattice, if it has a smallest element 0 and for any elements *a* and *b* in *B* such that *a* ≤ *b*, there exists an element *x* such that a ∧ x = 0 and a ∨ x = b. Defining a ∖ b as the unique *x* such that (a ∧ b) ∨ x = a and (a ∧ b) ∧ x = 0, we say that the structure (B,∧,∨,∖,0) is a *generalized Boolean algebra*, while (B,∨,0) is a *generalized Boolean semilattice*. Generalized Boolean lattices are exactly the ideals of Boolean lattices.

A structure that satisfies all axioms for Boolean algebras except the two distributivity axioms is called an orthocomplemented lattice. Orthocomplemented lattices arise naturally in quantum logic as lattices of closed subspaces for separable Hilbert spaces.