Rather than specify the algorithm (behaviour) we specify the required outcome.
Rather like constraint-based linear programming, the design is a piece of hardware that satisifes a number of simultaneous assertions.
Examples covered:
Although refinement from specification is an old idea, the EDA industry is just starting to consider it.