## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

# 3.12. Minimizing (Reducing) Your Boolean Logic

## Problem

Many times a Boolean equation quickly becomes large, complex, and even unmanageable. You need a way to manage this complexity while at the same time verifying that your logic works as designed.

## Solution

To fix this situation, try applying the theorems shown in Table 3-1 to minimize these types of equations.

Table 3-1. Boolean theorems

Theorem ID

Theorem definition

T0

`!(!x) == x`

T1

`x | x == x`

T2

`x | !x == true`

T3 (DeMorgan’s Theorem)

`!x | !y == !(x & y)`

T4

`x & x == x`

T5

`x & !x == false`

T6 (DeMorgan’s Theorem)

`!x & !y == !(x | y)`

T7 (Commutative Law)

`x | y == y | x`

T8 (Associative Law)

`(x | y) | z == x | (y | z)`

T9 (Distributive Law)

`x & y | x & z == x & (y | z)`

T10

`x | x & y = x`

T11

`x & y | x & !y = x`

T12

`(x & y) | (!x & z) | (y & z) == (x & y) | (!x & z)`

T13 (Commutative Law)

`x & y == y & x`

T14 (Associative Law)

`(x & y) & z == x & (y & z)`

T15 (Distributive Law)

`(x | y) & (x | z) == x | (y & z)`

T16

`x & (x | y) = x`

T17

`(x | y) & (x | !y) = x`

T18

`(x | y) & (!x | z) & (y | z) == (x | y) & (!x | z)`

T19

`x | x | x | ... | x == x`

T20

`!(x | x | x | ... | x) == !x & !x & !x & ... & !x`

T21

`x & x & x & ... & x == x`

T22

`!(x & x & x & ... & x) == !x | !x | !x | ... | !x`

T23

`(x | y) & (w | z) == (x & w) | (x * z) | (y & w) | (y * z)`

T24

`(x & y) | (w & z) == (x | w) & (x | z) & (y | w) & (y | z)`

In Table 3-1, assume that `w`, `x`, `y`, and `z` are all variables of type `bool`. The `Theorem` `ID` column ...

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required