def h.gp_same.br
import bend-kit-collections@0.1.4.1/PROOF.bend as PROOFimport Base
import bend-kit-collections@0.1.4.1/hmap.bend as M
2967def h.gp_same.br(
2968 ~K: Data, ~V: Data, ~eq: K -> K -> Bool, +p: Nat, +mask: U32, +lo: M.HMap<K, V>,
2969 +hi: M.HMap<K, V>, +hk: U32, +k: K, +v: V,
2970 b: Bool, eb: {b == U32.is_eq((hk .&. mask : U32), 0) : Bool},
2971 il: {h.G(~K, ~V, ~eq, p, (mask << 1n : U32), h.P(~K, ~V, ~eq, p, (mask << 1n : U32), lo, hk, k, v), hk, k) == Some{v} : Maybe<&2, V>},
2972 ih: {h.G(~K, ~V, ~eq, p, (mask << 1n : U32), h.P(~K, ~V, ~eq, p, (mask << 1n : U32), hi, hk, k, v), hk, k) == Some{v} : Maybe<&2, V>}
2973) -> {h.G(~K, ~V, ~eq, 1n+p, mask, h.pb(~K, ~V, ~eq, b, p, mask, lo, hi, hk, k, v), hk, k) == Some{v} : Maybe<&2, V>}:
2974 match b:
2975 case True{}:
2976 %h.g_lo(~K, ~V, ~eq, p, mask, h.P(~K, ~V, ~eq, p, (mask << 1n : U32), lo, hk, k, v), hi, hk, k,
2977 h.sb(True{}, U32.is_eq((hk .&. mask : U32), 0), eb)) : {_ == Some{v} : Maybe<&2, V>}
2978 il
2979 case False{}:
2980 %h.g_hi(~K, ~V, ~eq, p, mask, lo, h.P(~K, ~V, ~eq, p, (mask << 1n : U32), hi, hk, k, v), hk, k,
2981 h.sb(False{}, U32.is_eq((hk .&. mask : U32), 0), eb)) : {_ == Some{v} : Maybe<&2, V>}
2982 ih