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)}}

Uses (8)

Used by (1)