def h.elen_put_hit
bend-kit-collections@0.1.4.1 · PROOF.bend:2223
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
2223def h.elen_put_hit(
2224 ~K: Data, ~V: Data, ~eq: K -> K -> Bool, xs: List<&2, M.Entry<K, V>>, +k: K, +v: V, -w: V,
2225 hit: {M.HMap.entries.get(~K, ~V, ~eq, xs, k) == Some{w} : Maybe<&2, V>}
2226) -> {h.len(K, V, M.HMap.entries.put(~K, ~V, ~eq, xs, k, v)) == h.len(K, V, xs) : Nat}:
2227 match xs:
2228 case Nil{}:
2229 h.none_some({h.len(K, V, M.HMap.entries.put(~K, ~V, ~eq, Nil{}, k, v)) == 0n : Nat}, V, w, hit)
2230 case Con{M.Entry{+key, +val}, +rest}:
2231 h.elen_put_hit.c(~K, ~V, ~eq, key, val, rest, k, v, w, eq(k, key), hit,
2232 e => h.elen_put_hit(~K, ~V, ~eq, rest, k, v, w, e))