law hmap_size_put_new

bend-kit-collections@0.1.4.1 · LAWS.bend:622

import bend-kit-collections@0.1.4.1/LAWS.bend as LAWS
import Base
import bend-kit-collections@0.1.4.1/hmap.bend as M

622law hmap_size_put_new:
623  for ~K: Data
624  for ~V: Data
625  for ~hash: K -> U32
626  for ~eq: K -> K -> Bool
627  for ~sound: @x: K -> @y: K -> {eq(x, y) == True{} : Bool} -> {x == y : K}
628  for m: M.HMap<K, V>
629  for wf: {hmap_wf(~K, ~V, ~hash, ~eq, m) == True{} : Bool}
630  for +k: K
631  for +v: V
632  for miss: {M.HMap.get(~K, ~V, ~hash, ~eq, m, k) == None{} : Maybe<&2, V>}
633  {M.HMap.size(K, V, M.HMap.put(~K, ~V, ~hash, ~eq, m, k, v))
634   == 1n+M.HMap.size(K, V, m) : Nat}

Uses (10)

Used by (1)