def bounded
bend-kit-collections@0.1.4.1 · LAWS.bend:122
import bend-kit-collections@0.1.4.1/LAWS.bend as LAWS
import Base
import bend-kit-collections@0.1.4.1/omap.bend as O
122
123def bounded(
124 ~K: Data, ~V: Data, ~cmp: K -> K -> Cmp, m: O.OMap<K, V>, +lb: Maybe<&2, K>,
125 +ub: Maybe<&2, K>
126) -> Bool:
127 match m:
128 case O.OTip{}:
129 True{}
130 case O.OBin{s, +k, v, lo, hi}:
131 above(~K, ~cmp, lb, k) && below(~K, ~cmp, ub, k)
132 && bounded(~K, ~V, ~cmp, lo, lb, Some{k})
133 && bounded(~K, ~V, ~cmp, hi, Some{k}, ub)