PROOF.del.bnd: def of bend-kit-collections@0.1.4.1 Import: import bend-kit-collections@0.1.4.1/PROOF.bend as PROOF Lines 1165-1189 of bend-kit-collections@0.1.4.1/PROOF.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&start_line=1165&end_line=1189 import Base import bend-kit-collections@0.1.4.1/LAWS.bend as Laws import bend-kit-collections@0.1.4.1/omap.bend as O def del.bnd( ~K: Data, ~V: Data, ~cmp: K -> K -> Cmp, ~trans: Trans(~K, ~cmp), t: O.OMap, +lb: Maybe<&2, K>, +ub: Maybe<&2, K>, +k: K, +bt: {Laws.bounded(~K, ~V, ~cmp, t, lb, ub) == True{} : Bool} ) -> {Laws.bounded(~K, ~V, ~cmp, O.OMap.del(~K, ~V, ~cmp, t, k), lb, ub) == True{} : Bool}: match t: case O.OTip{}: {==} case O.OBin{+s, +key, +val, +lo, +hi}: +b_a = bn.a(~K, ~V, ~cmp, lb, ub, key, val, lo, hi, bt) +b_b = bn.b(~K, ~V, ~cmp, lb, ub, key, val, lo, hi, bt) +b_l = bn.l(~K, ~V, ~cmp, lb, ub, key, val, lo, hi, bt) +b_h = bn.h(~K, ~V, ~cmp, lb, ub, key, val, lo, hi, bt) cmp.split(O.OMap, Bool, y => Laws.bounded(~K, ~V, ~cmp, y, lb, ub), True{}, cmp(k, key), u => O.OMap.balance(K, V, key, val, O.OMap.del(~K, ~V, ~cmp, lo, k), hi), u => O.OMap.glue(K, V, lo, hi), u => O.OMap.balance(K, V, key, val, lo, O.OMap.del(~K, ~V, ~cmp, hi, k)), e => balance.bnd(~K, ~V, ~cmp, ~trans, lb, ub, key, val, O.OMap.del(~K, ~V, ~cmp, lo, k), hi, b_a, b_b, del.bnd(~K, ~V, ~cmp, ~trans, lo, lb, Some{key}, k, b_l), b_h), e => glue.bnd(~K, ~V, ~cmp, ~trans, hi, lo, lb, ub, key, b_a, b_b, b_l, b_h), e => balance.bnd(~K, ~V, ~cmp, ~trans, lb, ub, key, val, lo, O.OMap.del(~K, ~V, ~cmp, hi, k), b_a, b_b, b_l, del.bnd(~K, ~V, ~cmp, ~trans, hi, Some{key}, ub, k, b_h))) Uses (16): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Cmp https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/LAWS.bend&name=bounded https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=Trans https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=balance.bnd https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=bn.a https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=bn.b https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=bn.h https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=bn.l https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=cmp.split https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/PROOF.bend&name=glue.bnd https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/omap.bend&name=OMap https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/omap.bend&name=OMap.balance https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/omap.bend&name=OMap.del https://jend.leeeet.dev/definition.txt?path=bend-kit-collections@0.1.4.1/omap.bend&name=OMap.glue