The best math-like procedure I know is to use canonical form or truth table to generate a Karnaugh map to simplify to either sum-of-products or product-of-sums. But K-maps get tricky above 4 inputs and basically imposible to do by hand above 6 inputs. There are computer algorithms for SOP and POS simplification for larger circuits and to do trickier optimizations.

There is also the issue of what you are optimizing for. A minimum gate solution may not have the fastest performance. For example, in project 2 you will build a ripple carry adder. There are faster adder circuits, but they require greater gate count. If you are curious, see these posts:

About carry lookahead adder and

Carry Select AdderThere is a lot of art in the design of complex circuits. An example is the ALU that Prof. Nisan designed for this course. It's elegant and simple, but can do a large number of arithmetic and logical operations.

--Mark