def below_trans
bend-kit-scheduler@0.4.1.0 · queue_proof.bend:126
import bend-kit-scheduler@0.4.1.0/queue_proof.bend as QueueProof
import Base
import bend-kit-collections@0.1.4.1/heap.bend as H
import bend-kit-scheduler@0.4.1.0/queue.bend as Q
import bend-kit-scheduler@0.4.1.0/queue_laws.bend as L
126def below_trans(-A: Data, h: H.Heap<Q.Ticket<A>>, +a: Q.Ticket<A>, +b: Q.Ticket<A>, e: {Q.le(A, a, b) == True{} : Bool}, eh: L.below(A, h, b)) -> L.below(A, h, a):
127 match h:
128 case H.HLeaf{}:
129 Unit{}
130 case H.HNode{n, t, l, r}:
131 L.Both{et, L.Both{el, er}} = eh
132 +e = e
133 L.Both{le_trans(A, a, b, t, e, et), L.Both{below_trans(A, l, a, b, e, el), below_trans(A, r, a, b, e, er)}}