(a && b) && (!a || !b)
(a && b) && !(a && b)
false

The intermediate step is obtained by extracting a not (!) from the right side. The resulting expression is equivalent to c && !c. (See the explanation for Exercise 2.)

It is also possible to determine that the expression always evaluates to false without the intermediate step. The left side checks if both a and b are true. The right side checks if at least 1 is false. The expressions are combined with and (&&).

Exercise 4 solution
Exercise 6 solution
Exercises
All solutions