AESTraceBridgeProof.expand_input_matches: def of qasim-bend-kit@0.1.0.2 Import: import qasim-bend-kit@0.1.0.2/proof/AES_TraceBridgeProof.bend as AESTraceBridgeProof Lines 4-15 of qasim-bend-kit@0.1.0.2/proof/AES_TraceBridgeProof.bend: https://jend.leeeet.dev/read.txt?path=qasim-bend-kit@0.1.0.2/proof/AES_TraceBridgeProof.bend&start_line=4&end_line=15 import Base import qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend as Core # Substitute a certified initial word list with a symbolic fuel parameter. # The public bridge below compares function aliases before applying the key, # avoiding normalization of all 52 rounds merely to compare the aliases. def expand_input_matches(+fuel: Nat, +key: List<&2, U32>, +initial_words: List<&2, U32>, +expected: List<&2, U32>, initial_match: {Core.aes_words(key) == initial_words : List<&2, U32>}, expanded_match: {Core.aes_expand.go(fuel, 8, 1, initial_words) == expected : List<&2, U32>}) -> {Core.aes_expand.go(fuel, 8, 1, Core.aes_words(key)) == expected : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(fuel, 8, 1, Core.aes_words(key)), Core.aes_expand.go(fuel, 8, 1, initial_words), expected, Equal.cong(List<&2, U32>, List<&2, U32>, values => Core.aes_expand.go(fuel, 8, 1, values), Core.aes_words(key), initial_words, initial_match), expanded_match) Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.cong https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.trans https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend&name=aes_expand.go https://jend.leeeet.dev/definition.txt?path=qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend&name=aes_words