def rejects
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/mac/proof.bend:31
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/mac/proof.bend as Proof
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/mac.bend as MAC
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/mac/laws.bend as Laws
31def rejects(+key: List<&2, U32>, +msg: List<&2, U32>, +tag: List<&2, U32>, ne: {tag != MAC.sign(key, msg) : List<&2, U32>}, +b: Bool, +eb: {MAC.verify(key, msg, tag) == b : Bool}) -> {MAC.verify(key, msg, tag) == False{} : Bool}:
32 match b:
33 case True{}:
34 Empty.absurd({MAC.verify(key, msg, tag) == False{} : Bool}, ne(Laws.Verify.sound(key, msg, tag, eb)))
35 case False{}:
36 eb