Logic minimization and Karnaugh maps