PROOF.cbc_enc_tr: def of bend-osdev-crypto@0.1.0.0 Import: import bend-osdev-crypto@0.1.0.0/PROOF.bend as PROOF Lines 293-298 of bend-osdev-crypto@0.1.0.0/PROOF.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-crypto@0.1.0.0/PROOF.bend&start_line=293&end_line=298 import Base import bend-osdev-crypto@0.1.0.0/modes.bend as Md def cbc_enc_tr(~K: Data, ~Blk: Data, ~enc: K -> Blk -> Blk, ~bxor: Blk -> Blk -> Blk, +k: K, bs: List<&2, Blk>, +iv: Blk, +acc: List<&2, Blk>) -> {Md.cr.cbc.enc.go(~K, ~Blk, ~enc, ~bxor, k, bs, iv, acc) == Md.cr.blks.rev_onto(~Blk, acc, Md.cr.cbc.enc(~K, ~Blk, ~enc, ~bxor, k, bs, iv)) : List<&2, Blk>}: match bs: case Nil{}: {==} case Con{+p, t}: cbc_enc_tr(~K, ~Blk, ~enc, ~bxor, k, t, enc(k, bxor(p, iv)), Con{enc(k, bxor(p, iv)), acc}) Uses (4): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/modes.bend&name=cr.blks.rev_onto https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/modes.bend&name=cr.cbc.enc https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/modes.bend&name=cr.cbc.enc.go