Canonical forms for Boolean logic - University of Washington