def aes_block_input_matches
qasim-bend-kit@0.1.0.2 · proof/AES_NistTagProof.bend:37
import qasim-bend-kit@0.1.0.2/proof/AES_NistTagProof.bend as AESNistTagProof
import Base
import qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend as Core
37def aes_block_input_matches(+words: List<&2, U32>, +input: List<&2, U32>, +block: List<&2, U32>, +result: List<&2, U32>,
38 input_matches: {input == block : List<&2, U32>},
39 block_matches: {Core.aes256_encrypt_expanded(words, block) == result : List<&2, U32>}) ->
40 {Core.aes256_encrypt_expanded(words, input) == result : List<&2, U32>}:
41 Equal.trans(List<&2, U32>, Core.aes256_encrypt_expanded(words, input),
42 Core.aes256_encrypt_expanded(words, block), result,
43 Equal.cong(List<&2, U32>, List<&2, U32>, value => Core.aes256_encrypt_expanded(words, value),
44 input, block, input_matches), block_matches)