def h.g_lo

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

import bend-kit-collections@0.1.4.1/PROOF.bend as PROOF
import Base
import bend-kit-collections@0.1.4.1/hmap.bend as M

2743# Unfolding get.go by a known test, simple side first.
2744def h.g_lo(
2745  ~K: Data, ~V: Data, ~eq: K -> K -> Bool, +p: Nat, +mask: U32, +lo: M.HMap<K, V>,
2746  +hi: M.HMap<K, V>, +hk: U32, +k: K, e: {U32.is_eq((hk .&. mask : U32), 0) == True{} : Bool}
2747) -> {h.G(~K, ~V, ~eq, p, (mask << 1n : U32), lo, hk, k)
2748      == h.G(~K, ~V, ~eq, 1n+p, mask, M.HBranch{lo, hi}, hk, k) : Maybe<&2, V>}:
2749  %h.sb(U32.is_eq((hk .&. mask : U32), 0), True{}, e)
2750    : {h.G(~K, ~V, ~eq, p, (mask << 1n : U32), lo, hk, k)
2751       == M.HMap.bool(Maybe<&2, V>, _, u => h.G(~K, ~V, ~eq, p, (mask << 1n : U32), lo, hk, k),
2752         u => h.G(~K, ~V, ~eq, p, (mask << 1n : U32), hi, hk, k)) : Maybe<&2, V>}
2753  {==}

Uses (11)

Used by (3)