def h.absent_del
bend-kit-collections@0.1.4.1 · PROOF.bend:2482
import bend-kit-collections@0.1.4.1/PROOF.bend as PROOF
import Base
import bend-mathlib@0.7.4.0/bool.bend as MBool
import bend-kit-collections@0.1.4.1/LAWS.bend as Laws
import bend-kit-collections@0.1.4.1/hmap.bend as M
2482def h.absent_del(
2483 ~K: Data, ~V: Data, ~eq: K -> K -> Bool, xs: List<&2, M.Entry<K, V>>, +key: K, +k: K,
2484 ab: {Laws.hmap_absent(~K, ~V, ~eq, xs, key) == True{} : Bool}
2485) -> {Laws.hmap_absent(~K, ~V, ~eq, M.HMap.entries.del(~K, ~V, ~eq, xs, k), key) == True{} : Bool}:
2486 match xs:
2487 case Nil{}:
2488 {==}
2489 case Con{M.Entry{+key2, +val}, +rest}:
2490 +ab = ab
2491 h.absent_del.c(~K, ~V, ~eq, key2, val, rest, key, k, eq(k, key2), ab,
2492 h.absent_del(~K, ~V, ~eq, rest, key, k,
2493 MBool.eq_true_of_and_right(Bool.not(eq(key, key2)), Laws.hmap_absent(~K, ~V, ~eq, rest, key), ab)))