def cbc_dec_tr
bend-osdev-crypto@0.1.0.0 · PROOF.bend:300
import bend-osdev-crypto@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-crypto@0.1.0.0/modes.bend as Md
300def cbc_dec_tr(~K: Data, ~Blk: Data, ~dec: K -> Blk -> Blk, ~bxor: Blk -> Blk -> Blk, +k: K, bs: List<&2, Blk>, +iv: Blk, +acc: List<&2, Blk>) -> {Md.cr.cbc.dec.go(~K, ~Blk, ~dec, ~bxor, k, bs, iv, acc) == Md.cr.blks.rev_onto(~Blk, acc, Md.cr.cbc.dec(~K, ~Blk, ~dec, ~bxor, k, bs, iv)) : List<&2, Blk>}:
301 match bs:
302 case Nil{}:
303 {==}
304 case Con{+c, t}:
305 cbc_dec_tr(~K, ~Blk, ~dec, ~bxor, k, t, c, Con{bxor(dec(k, c), iv), acc})