Logic Design - Boolean Algebra and Simplification Theorems