Specs can be made simpler by giving sufficiently high level objectives. Theorems can be very concise, yet can need the introduction of various lemmas to be proven correct. Counter Example Guided Inductive Synthesis (like in Z3) can offer certain guarantees.

Letting the computer the freedom to find those intermediate steps is nothing new (e.g. Koza's Automatically Defined Functions) ; More recently techniques like Open AI Hindsight Experience Replay where the machine is given a strategy to create its own intermediate goals to allow to "learn on his own" to navigate towards the harder objective.

Quite often in the world there is a lot of complexity, but most of the time it either emerges from simple rules (Hi Wolfram :) ), or come bundled from artificial complexity at the boundary (i.e. you need to interface with existing *ware). Artificial complexity will result in complex specifications (2nd principle?), even though you can try either to regularize them (e.g. by putting various constraint on the code size and form), relax them, or approximate them probabilistically by black box where we have the whole literature about searching for neural architecture (AutoML).

Of course, once you wrote it with simple rules, we then call it a game and we already know how to obtain superhuman performance.