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# Every key of m lies strictly between the bounds, in search-tree order.
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)

Uses (7)

Used by (37)