def get.lt

bend-kit-collections@0.1.4.1 · PROOF.bend:593

import bend-kit-collections@0.1.4.1/PROOF.bend as PROOF
import Base
import bend-kit-collections@0.1.4.1/omap.bend as O

593# get on a node goes to lo when the comparison is LT.
594def get.lt(
595  ~K: Data, ~V: Data, ~cmp: K -> K -> Cmp, +x: K, +k: K, +v: V,
596  +lo: O.OMap<K, V>, +hi: O.OMap<K, V>, e: {cmp(x, k) == LT{} : Cmp}
597) -> {O.OMap.get(~K, ~V, ~cmp, O.OBin{0, k, v, lo, hi}, x)
598      == O.OMap.get(~K, ~V, ~cmp, lo, x) : Maybe<&2, V>}:
599  rw(Cmp, c => {getc(~K, ~V, ~cmp, c, x, v, lo, hi)
600      == O.OMap.get(~K, ~V, ~cmp, lo, x) : Maybe<&2, V>},
601    cmp(x, k), LT{}, e, {==})

Uses (6)

Used by (5)