Boolean algebra laws

Notation

The following notation is used for Boolean algebra on this page, which is the electrical engineering notation:

• False: 0
• True: 1
• NOT x: x
• x AND y: x · y
• x OR y: x + y
• x XOR y: xy

The precedence from high to low is AND, XOR, OR. Examples:

• x + y · z means x + (y · z)
• xy · z means x ⊕ (y · z)
• x + yz means x + (yz)

Basic laws

• NOT:
• 0 = 1
• 1 = 0
• AND:
• 0 · 0 = 0
• 0 · 1 = 0
• 1 · 0 = 0
• 1 · 1 = 1
• OR:
• 0 + 0 = 0
• 0 + 1 = 1
• 1 + 0 = 1
• 1 + 1 = 1
• XOR:
• 0 ⊕ 0 = 0
• 0 ⊕ 1 = 1
• 1 ⊕ 0 = 1
• 1 ⊕ 1 = 0

• AND:
• 0 · x = 0
• 1 · x = x
• OR:
• 0 + x = x
• 1 + x = 1
• XOR:
• 0 ⊕ x = x
• 1 ⊕ x = x

• NOT:
• NOT x = x
• AND:
• x · x = x
• x · x = 0
• OR:
• x + x = x
• x + x = 1
• XOR:
• xx = 0
• xx = 1

XOR

XOR can be defined in terms of AND, OR, NOT:

• xy = (x · y) + (x · y)
• xy = (x + y) · (x + y)
• xy = (x + y) · (x · y)

Commutativity

• AND: x · y = y · x
• OR: x + y = y + x
• XOR: xy = yx

Associativity

• AND: (x · y) · z = x · (y · z)
• OR: (x + y) + z = x + (y + z)
• XOR: (xy) ⊕ z = x ⊕ (yz)

Distributivity

• x · (y + z) = (x · y) + (x · z)
• x + (y · z) = (x + y) · (x + z)
• x · (yz) = (x · y) ⊕ (x · z)

De Morgan’s laws

• NAND: x · y = x + y
• NOR: x + y = x · y

Redundancy laws

The following laws will be proved with the basic laws. Counter-intuitively, it is sometimes necessary to complicate the formula before simplifying it.

Absorption

• x + x · y = x

Proof:
x + x · y
= x · 1 + x · y
= x · (1 + y)
= x · 1
= x

• x · (x + y) = x

Proof:
x · (x + y)
= (x + 0) · (x + y)
= x + (0 · y)
= x + 0
= x

No name

• x + x · y = x + y

Proof:
x + x · y
= (x + x) · (x + y)
= 1 · (x + y)
= x + y

• x · (x + y) = x · y

Proof:
x · (x + y)
= x · x + x · y
= 0 + x · y
= x · y

• x · y + x · y = x

Proof:
x · y + x · y
= x · (y + y)
= x · 1
= x

• (x + y) · (x + y) = x

Proof:
(x + y) · (x + y)
= x + (y · y)
= x + 0
= x

Consensus

• x · y + x · z + y · z = x · y + x · z

Proof:
x · y + x · z + y · z
= x · y + x · z + 1 · y · z
= x · y + x · z + (x + x) · y · z
= x · y + x · z + x · y · z + x · y · z
= x · y + x · y · z + x · z + x · y · z
= x · y · 1 + x · y · z + x · 1 · z + x · y · z
= x · y · (1 + z) + x · z · (1 + y)
= x · y · 1 + x · z · 1
= x · y + x · z

• (x + y) · (x + z) · (y + z) = (x + y) · (x + z)

Proof:
(x + y) · (x + z) · (y + z)
= (x + y) · (x + z) · (0 + y + z)
= (x + y) · (x + z) · (x · x + y + z)
= (x + y) · (x + z) · (x + y + z) · (x + y + z)
= (x + y) · (x + y + z) · (x + z) · (x + y + z)
= (x + y + 0) · (x + y + z) · (x + 0 + z) · (x + y + z)
= (x + y + 0 · z) · (x + z + 0 · y)
= (x + y + 0) · (x + z + 0)
= (x + y) · (x + z)