Stronger notion of refinement & equivalence.
Stronger notion of refinement & equivalence.

BEFORE: a refines b iff
    results(a) subset results(b)

AFTER: a refines b iff, forall assignments:
    results(a[assignment]) subset results(b[assignment])

This avoids a problem with recursive data structures, such as
lists. This was causing popLS to refine peekLS, as all of the smaller
stacks had been tested too, which is just an artefact of the value
generator. This restriction is much stronger, but more accurately
captures the notion of refinement, I feel.

barrucadu/spec