Boolean algebra

Boolean algebra

The Boolean algebra is a discipline that analyzes the digital circuits and other digital systems

It is named after the English mathematician George Boole, who proposed the basic principles of this algebra in 1854 in his treatise An investigation of the laws of thought on wich to found the mathematical theories of logic and probabilities

In 1938, Claude Shannon, an assistant researcher in the M.I.T. Department of Electrical Engineering, suggested that Boole algebra could be used to solve switching circuit problems

Shannon's techniques were used, consequently in the analysis and design of digital circuits. Boole algebra is a useful tool in two areas:

  • Analysis
    It is a concise way of discovering the operation of digital circuits
  • Design
    Given a desired function, Boole algebra can be applied to develop a simplified complexity implementation of that function

Boole algebra uses variables and logical operations. A variable can take the value 1 when it is true or 0 when false. It has only three basic logical operations (AND, OR, and NOT), which are symbolically represented:

AND OR NOT
A AND B A OR B NOT TO
A\wedge B A\vee B \neg A

Truth tables

The truth table defines the basic logical operations, listing the value for each possible combination of the operand values. In addition to the basic operators of Boole algebra, three useful operators are also typically listed: XOR, XNOR, NAND, and NOR. Which can be obtained by trading with basic traders

Table AND

The AND operation is true if and only if the two operands are true

A B A\wedge B
0 0 0
0 1 0
1 0 0
1 1 1

Table OR

The OR operation is true if and only if one or both operands are true

A B A\vee B
0 0 0
0 1 1
1 0 1
1 1 1

Table NOT

The NOT operation inverts the value of the operand

A \neg A
0 1
1 0

Table XOR

The XOR operation is true if and only one of the operands is true

It is equivalent to performing:

(A \wedge \neg B) \vee (\neg A \wedge B) \equiv (A \vee B) \wedge (\neg A \vee \neg B)

A B A\oplus B
0 0 0
0 1 1
1 0 1
1 1 0

Table XNOR

The operation XNOR is the negation of the XOR operation

It is equivalent to performing:

(A \wedge B) \vee (\neg A \wedge \neg B)

A B \neg(A\oplus B)
0 0 1
0 1 0
1 0 0
1 1 1

Table NAND

The operation NAND is the negation of the AND operation

It is equivalent to performing:

\neg(A \wedge B)

A B \neg(A \wedge B)
0 0 1
0 1 1
1 0 1
1 1 0

Table NOR

The operation NOR is the negation of the OR operation

It is equivalent to performing:

\neg(A \vee B)

A B \neg(A \vee B)
0 0 1
0 1 0
1 0 0
1 1 0

Basic identities

There are two kinds of identities:

  • Basic rules (postulated)
    You assert without demonstration
  • Other identities
    Can be derived from the basic postulates

The postulates define the way in which boolean expressions are interpreted

Basic rules
A \wedge B = B \wedge A A \vee B = B \vee A Law commutative
A \wedge (B \vee C) = (A \wedge B) \vee (A \wedge C) A \vee (B \wedge C) = (A \vee B) \wedge (A \vee C) Law distributive
1 \wedge A = A 0 \vee A = A Neutral element
A \wedge \neg A = 0 A \vee \neg A = 1 Complementary element
Other identities
0 \wedge A = 0 1 \vee A = 1
A \wedge A = A A \vee A = A
A \wedge (B \wedge C) = (A \wedge B) \wedge C A \vee (B \vee C) = (A \vee B) \vee C Law associative
\neg (A \wedge B) = \neg A \vee \neg B \neg (A \vee B) = \neg A \wedge \neg B Theorem of Morgan