LAWS.xor_streaming_data: law of bend-osdev-crypto@0.1.0.0 Import: import bend-osdev-crypto@0.1.0.0/LAWS.bend as LAWS Lines 89-97 of bend-osdev-crypto@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-crypto@0.1.0.0/LAWS.bend&start_line=89&end_line=97 import Base import bend-osdev-bytes@0.1.0.0/bytes.bend as B import bend-osdev-crypto@0.1.0.0/stream.bend as St # data in pieces: the output of a ++ b is the output of a, then the output of # b from the state after a law xor_streaming_data: for ~S: Data for ~next: S -> St.CrKsStep for +s: S for +a: B.Octets for +b: B.Octets {St.CrXor.out_data(~S, St.CrXor.update(~S, ~next, s, B.Octets.append(a, b))) == B.Octets.append(St.CrXor.out_data(~S, St.CrXor.update(~S, ~next, s, a)), St.CrXor.out_data(~S, St.CrXor.update(~S, ~next, St.CrXor.out_state(~S, St.CrXor.update(~S, ~next, s, a)), b))) : B.Octets} Uses (18): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/LAWS.bend&name=octets_append_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.append https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.of_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.to_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=append https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/PROOF.bend&name=ks_xs_append https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/PROOF.bend&name=octets_of_append https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/PROOF.bend&name=xor_update_ref https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/stream.bend&name=CrKsStep https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/stream.bend&name=CrXor.out_data https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/stream.bend&name=CrXor.out_state https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/stream.bend&name=CrXor.update https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/stream.bend&name=cr.ks.after https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/stream.bend&name=cr.ks.xs