def h.g_fresh_none
bend-kit-collections@0.1.4.1 · PROOF.bend:3056
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
3056def h.g_fresh_none(
3057 ~K: Data, ~V: Data, ~eq: K -> K -> Bool,
3058 ~sound: @x: K -> @y: K -> {eq(x, y) == True{} : Bool} -> {x == y : K},
3059 p: Nat, +mm: U32, +h2: U32, +k2: K, +hk: U32, +k: K, +v: V, +nk: {eq(k, k2) == False{} : Bool}
3060) -> {h.G(~K, ~V, ~eq, p, mm, M.HLeaf{h2, [M.Entry{k2, v}]}, hk, k) == None{} : Maybe<&2, V>}:
3061 match p:
3062 case 0n:
3063 h.eg_put_other(~K, ~V, ~eq, ~sound, Nil{}, k2, k, v, nk)
3064 case 1n+q:
3065 h.bool_none(V, U32.is_eq(h2, hk), h.EG(~K, ~V, ~eq, [M.Entry{k2, v}], k),
3066 h.eg_put_other(~K, ~V, ~eq, ~sound, Nil{}, k2, k, v, nk))