def h.elen_put_new

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

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

2198def h.elen_put_new(
2199  ~K: Data, ~V: Data, ~eq: K -> K -> Bool, xs: List<&2, M.Entry<K, V>>, +k: K, +v: V,
2200  miss: {M.HMap.entries.get(~K, ~V, ~eq, xs, k) == None{} : Maybe<&2, V>}
2201) -> {h.len(K, V, M.HMap.entries.put(~K, ~V, ~eq, xs, k, v)) == 1n+h.len(K, V, xs) : Nat}:
2202  match xs:
2203    case Nil{}:
2204      {==}
2205    case Con{M.Entry{+key, +val}, +rest}:
2206      h.elen_put_new.c(~K, ~V, ~eq, key, val, rest, k, v, eq(k, key), miss,
2207        e => h.elen_put_new(~K, ~V, ~eq, rest, k, v, e))

Uses (9)

Used by (3)