Removed the tricky use of "max" computations when combining labels.
Added an extra reduction rule for qelems to compensate.
Also added static conditions on non-blocking opres and qelem reductions (still incomplete).
First draft of the semantics as executable Prolog. No static side-conditions yet, and no evaluation.