def h.gp_same.lf

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

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

2953def h.gp_same.lf(
2954  ~K: Data, ~V: Data, ~eq: K -> K -> Bool, ~refl: @x: K -> {eq(x, x) == True{} : Bool},
2955  +p: Nat, +mask: U32, +o: U32, +es: List<&2, M.Entry<K, V>>, +hk: U32, +k: K, +v: V,
2956  b: Bool, eb: {b == U32.is_eq(o, hk) : Bool},
2957  sp: {h.G(~K, ~V, ~eq, 1n+p, mask, h.S(~K, ~V, ~eq, 1n+p, mask, o, es, hk, k, v), hk, k) == Some{v} : Maybe<&2, V>}
2958) -> {h.G(~K, ~V, ~eq, 1n+p, mask, h.pl(~K, ~V, ~eq, b, p, mask, o, es, hk, k, v), hk, k) == Some{v} : Maybe<&2, V>}:
2959  match b:
2960    case True{}:
2961      %h.g_lf_t(~K, ~V, ~eq, p, mask, o, M.HMap.entries.put(~K, ~V, ~eq, es, k, v), hk, k,
2962        h.sb(True{}, U32.is_eq(o, hk), eb)) : {_ == Some{v} : Maybe<&2, V>}
2963      h.eg_put_same(~K, ~V, ~eq, ~refl, es, k, v)
2964    case False{}:
2965      sp

Uses (14)

Used by (1)