In my experiences with Boolean algebra in dealing with

logic gates for chip designs, there are a couple

theorems which are slightly less natural, but get frequently used. Using * for our

logical "and", in

combination with + for our

logical "or":

**Covering Theorem**

`X * (X + Y) = X`

**Combining Theorem**

`(X + Y) * (X + Y') = X`

**Consensus Theorems**

**1. **(X + Y) * (X' + Z) * (Y + Z) = (X + Y) * (X' + Z)

**2. ** X * Y + X' * Z + Y * Z = X * Y + X' * Z

As previously mentioned, these theorems are slightly less intuitive in nature, but are quite useful.