Civil Rights
Movements, leaders, victories and the continuing fight for equality.
Explore the people, places, events, achievements, struggles and stories that shaped our journey.
Movements, leaders, victories and the continuing fight for equality.
Innovation, patents, science, technology and world-changing contributions.
Pioneers, champions, Negro Leagues, records, activism and excellence.
Meet the people whose lives, choices and achievements shaped the journey.
Black towns, communities, institutions and places where history happened.
Moments that changed communities, movements, institutions and the nation.
Katherine Johnson’s mathematical calculations helped guide some of America’s most important early space missions while she confronted the racial and gender barriers faced by Black women in twentieth-century America.
MORE →Reflects the personal views, recollections, and perspective of the author, Mike Davis.
This is a personal recollection on the Move fire on May 13, 1985

| Logical connectives | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||
| Related concepts | ||||||||||||||||||||||||||
| Applications | ||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||
In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually {true, false}, {0,1} or {−1,1}).[1][2] Alternative names are switching function, used especially in older computer science literature,[3][4] and truth function (or logical function), used in logic. Boolean functions are the subject of Boolean algebra and switching theory.[5]
A Boolean function takes the form , where is known as the Boolean domain and is a non-negative integer called the arity of the function. In the case where , the function is a constant element of . A Boolean function with multiple outputs, with is a vectorial or vector-valued Boolean function (an S-box in symmetric cryptography).[6]
There are different Boolean functions with arguments; equal to the number of different truth tables with entries.
Every -ary Boolean function can be expressed as a propositional formula in variables , and two propositional formulas are logically equivalent if and only if they express the same Boolean function.

The rudimentary symmetric Boolean functions (logical connectives or logic gates) are:
An example of a more complicated function is the majority function (of an odd number of inputs).

A Boolean function may be specified in a variety of ways:
Algebraically, as a propositional formula using rudimentary Boolean functions:
Boolean formulas can also be displayed as a graph:
In order to optimize electronic circuits, Boolean formulas can be minimized using the Quine–McCluskey algorithm or Karnaugh map.
A Boolean function can have a variety of properties:[7]
Circuit complexity attempts to classify Boolean functions with respect to the size or depth of circuits that can compute them.
A Boolean function may be decomposed using Boole's expansion theorem in positive and negative Shannon cofactors (Shannon expansion), which are the (k−1)-ary functions resulting from fixing one of the arguments (to 0 or 1). The general k-ary functions obtained by imposing a linear constraint on a set of inputs (a linear subspace) are known as subfunctions.[8]
The Boolean derivative of the function to one of the arguments is a (k−1)-ary function that is true when the output of the function is sensitive to the chosen input variable; it is the XOR of the two corresponding cofactors. A derivative and a cofactor are used in a Reed–Muller expansion. The concept can be generalized as a k-ary derivative in the direction dx, obtained as the difference (XOR) of the function at x and x + dx.[8]
The Möbius transform (or Boole–Möbius transform) of a Boolean function is the set of coefficients of its polynomial (algebraic normal form), as a function of the monomial exponent vectors. It is a self-inverse transform. It can be calculated efficiently using a butterfly algorithm ("Fast Möbius Transform"), analogous to the fast Fourier transform.[9] Coincident Boolean functions are equal to their Möbius transform, i.e. their truth table (minterm) values equal their algebraic (monomial) coefficients.[10] There are 2^2^(k−1) coincident functions of k arguments.[11]
The Walsh transform of a Boolean function is a k-ary integer-valued function giving the coefficients of a decomposition into linear functions (Walsh functions), analogous to the decomposition of real-valued functions into harmonics by the Fourier transform. Its square is the power spectrum or Walsh spectrum. The Walsh coefficient of a single bit vector is a measure for the correlation of that bit with the output of the Boolean function. The maximum (in absolute value) Walsh coefficient is known as the linearity of the function.[8] The highest number of bits (order) for which all Walsh coefficients are 0 (i.e. the subfunctions are balanced) is known as resiliency, and the function is said to be correlation immune to that order.[8] The Walsh coefficients play a key role in linear cryptanalysis.
The autocorrelation of a Boolean function is a k-ary integer-valued function giving the correlation between a certain set of changes in the inputs and the function output. For a given bit vector it is related to the Hamming weight of the derivative in that direction. The maximal autocorrelation coefficient (in absolute value) is known as the absolute indicator.[7][8] If all autocorrelation coefficients are 0 (i.e. the derivatives are balanced) for a certain number of bits then the function is said to satisfy the propagation criterion to that order; if they are all zero then the function is a bent function.[12] The autocorrelation coefficients play a key role in differential cryptanalysis.
The Walsh coefficients of a Boolean function and its autocorrelation coefficients are related by the equivalent of the Wiener–Khinchin theorem, which states that the autocorrelation and the power spectrum are a Walsh transform pair.[8]
These concepts can be extended naturally to vectorial Boolean functions by considering their output bits (coordinates) individually, or more thoroughly, by looking at the set of all linear functions of output bits, known as its components.[6] The set of Walsh transforms of the components is known as a linear approximation table (LAT)[13][14] or correlation matrix;[15][16] it describes the correlation between different linear combinations of input and output bits. The set of autocorrelation coefficients of the components is the autocorrelation table,[14] related by a Walsh transform of the components[17] to the more widely used difference distribution table (DDT)[13][14] which lists the correlations between differences in input and output bits (see also: S-box).
Any Boolean function can be uniquely extended (interpolated) to the real domain by a multilinear polynomial in , constructed by summing the truth table values multiplied by indicator polynomials:For example, the extension of the binary XOR function iswhich equalsSome other examples are negation (), AND () and OR (). When all operands are independent (share no variables) a function's polynomial form can be found by repeatedly applying the polynomials of the operators in a Boolean formula. When the coefficients are calculated modulo 2 one obtains the algebraic normal form (Zhegalkin polynomial).
Direct expressions for the coefficients of the polynomial can be derived by taking an appropriate derivative:this generalizes as the Möbius inversion of the partially ordered set of bit vectors:where denotes the weight of the bit vector . Taken modulo 2, this is the Boolean Möbius transform, giving the algebraic normal form coefficients:In both cases, the sum is taken over all bit-vectors a covered by m, i.e. the "one" bits of a form a subset of the one bits of m.
When the domain is restricted to the n-dimensional hypercube , the polynomial gives the probability of a positive outcome when the Boolean function f is applied to n independent random (Bernoulli) variables, with individual probabilities x. A special case of this fact is the piling-up lemma for parity functions. The polynomial form of a Boolean function can also be used as its natural extension to fuzzy logic.
Often, the Boolean domain is taken as , with false ("0") mapping to 1 and true ("1") to −1 (see Analysis of Boolean functions). The polynomial corresponding to is then given by:Using the symmetric Boolean domain simplifies certain aspects of the analysis, since negation corresponds to multiplying by −1 and linear functions are monomials (XOR is multiplication). This polynomial form thus corresponds to the Walsh transform (in this context also known as Fourier transform) of the function (see above). The polynomial also has the same statistical interpretation as the one in the standard Boolean domain, except that it now deals with the expected values (see piling-up lemma for an example).
Boolean functions play a basic role in questions of complexity theory as well as the design of processors for digital computers, where they are implemented in electronic circuits using logic gates.
The properties of Boolean functions are critical in cryptography, particularly in the design of symmetric key algorithms (see substitution box).
In cooperative game theory, monotone Boolean functions are called simple games (voting games); this notion is applied to solve problems in social choice theory.
{{cite journal}}: CS1 maint: periodical has ISBN (link)
Source: Wikipedia. Article content is retrieved live through the MediaWiki API.
In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually {true, false}, {0,1} or {−1,1}). Alternative names are switching function, used especially in older computer science literature, and truth function (or logical function), used in logic. Boolean functions are the subject of Boolean algebra and switching theory. A Boolean function takes the form f : { 0 , 1 } k → { 0 , 1 } {\displaystyle f:\{0,1\}^{k}\to \{0,1\}} , where { 0 , 1 } {\displaystyle \{0,1\}} is known as the Boolean domain and k {\displaystyle k} is a non-negative integer called the arity of the function. In the case where k = 0 {\displaystyle k=0} , the function is a constant element of { 0 , 1 } {\displaystyle \{0,1\}} . A Boolean function with multiple outputs, f : { 0 , 1 } k → { 0 , 1 } m {\displaystyle f:\{0,1\}^{k}\to \{0,1\}^{m}} with m > 1 {\displaystyle m>1} is a vectorial or vector-valued Boolean function (an S-box in symmetric cryptography). There are 2 2 k {\displaystyle 2^{2^{k}}} different Boolean functions with k {\displaystyle k} arguments; equal to the number of different truth tables with 2 k {\displaystyle 2^{k}} entries. Every k {\displaystyle k} -ary Boolean function can be expressed as a propositional formula in k {\displaystyle k} variables x 1 , . . . , x k {\displaystyle x_{1},...,x_{k}} , and two propositional formulas are logically equivalent if and only if they express the same Boolean function.
In mathematics, a symmetric Boolean function is a Boolean function whose value does not depend on the order of its input bits, i.e., it depends only on the number of ones (or zeros) in the input. For this reason they are also known as Boolean counting functions. There are 2n+1 symmetric n-ary Boolean functions. Instead of the truth table, traditionally used to represent Boolean functions, one may use a more compact representation for an n-variable symmetric Boolean function: the (n + 1)-vector, whose i-th entry (i = 0, ..., n) is the value of the function on an input vector with i ones. Mathematically, the symmetric Boolean functions correspond one-to-one with the functions that map n+1 elements to two elements, f : { 0 , 1 , . . . , n } → { 0 , 1 } {\displaystyle f:\{0,1,...,n\}\rightarrow \{0,1\}} . Symmetric Boolean functions are used to classify Boolean satisfiability problems.
In mathematics and computer science, a balanced Boolean function is a Boolean function whose output yields as many 0s as 1s over its input set. This means that for a uniformly random input string of bits, the probability of getting a 1 is 1/2.
In mathematics, an evasive Boolean function f {\displaystyle f} (of n {\displaystyle n} variables) is a Boolean function for which every decision tree algorithm has running time of exactly n {\displaystyle n} . Consequently, every decision tree algorithm that represents the function has, at worst case, a running time of n {\displaystyle n} .
Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.
MORE →Brown v. Board of Education in 1954.