Problem-solving often requires restructuring one's mental representation of the situation.
The development of computational complexity theory has shown us that not all problems are created equal.