def tagged_v
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/secp256k1/pschn.bend:54
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/secp256k1/pschn.bend as Pschn
import Base
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/sha.bend as FIPS
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/secp256k1/schnorr.bend as SS
import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha/sha256.bend as SHA
import bend-collections-laws-crypto@1.0.0.0/src/crypto/secp256k1/schnorr.bend as SC
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/sha/laws.bend as SHL
54def tagged_v(+tag: List<&2, U32>, +x: List<&2, U32>) -> {SC.tagged(tag, x) == SS.tagged(tag, x) : List<&2, U32>}:
55 %Equal.sym(List<&2, U32>, SHA.sha256_bytes(tag), FIPS.sha256_bytes(tag), SHL.sha256_bytes_correct(tag)) : {SHA.sha256_bytes(List.append(&2, U32, _, List.append(&2, U32, SHA.sha256_bytes(tag), x))) == FIPS.sha256_bytes(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, FIPS.sha256_bytes(tag), x))) : List<&2, U32>}
56 %Equal.sym(List<&2, U32>, SHA.sha256_bytes(tag), FIPS.sha256_bytes(tag), SHL.sha256_bytes_correct(tag)) : {SHA.sha256_bytes(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, _, x))) == FIPS.sha256_bytes(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, FIPS.sha256_bytes(tag), x))) : List<&2, U32>}
57 %Equal.sym(List<&2, U32>, SHA.sha256_bytes(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, FIPS.sha256_bytes(tag), x))), FIPS.sha256_bytes(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, FIPS.sha256_bytes(tag), x))), SHL.sha256_bytes_correct(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, FIPS.sha256_bytes(tag), x)))) : {_ == FIPS.sha256_bytes(List.append(&2, U32, FIPS.sha256_bytes(tag), List.append(&2, U32, FIPS.sha256_bytes(tag), x))) : List<&2, U32>}
58 {==}