law padded_words_correct

bend-collections@1.0.0.0 · proofs/crypto/sha/packed/packed_proof.bend:375

import bend-collections@1.0.0.0/proofs/crypto/sha/packed/packed_proof.bend as PackedProof
import Base
import bend-collections@1.0.0.0/src/crypto/sha/packed/core.bend as Runtime
import bend-collections@1.0.0.0/src/crypto/sha/packed/packed.bend as P
import bend-collections@1.0.0.0/spec/crypto/sha/packed.bend as R

375law padded_words_correct:
376  for +w0: U32
377  for +w1: U32
378  for +w2: U32
379  for +w3: U32
380  for +w4: U32
381  for +w5: U32
382  for +w6: U32
383  for +w7: U32
384  for +w8: U32
385  for +w9: U32
386  for +w10: U32
387  for +w11: U32
388  for +w12: U32
389  for +w13: U32
390  for +w14: U32
391  for +w15: U32
392  for +remain: Nat
393  for +total: Nat
394  {[P.pad_word(w0,0n,remain),P.pad_word(w1,4n,remain),P.pad_word(w2,8n,remain),P.pad_word(w3,12n,remain),P.pad_word(w4,16n,remain),P.pad_word(w5,20n,remain),P.pad_word(w6,24n,remain),P.pad_word(w7,28n,remain),P.pad_word(w8,32n,remain),P.pad_word(w9,36n,remain),P.pad_word(w10,40n,remain),P.pad_word(w11,44n,remain),P.pad_word(w12,48n,remain),P.pad_word(w13,52n,remain),P.length_word(Nat.is_lt(remain,56n),P.pad_word(w14,56n,remain),Runtime.len_hi(total)),P.length_word(Nat.is_lt(remain,56n),P.pad_word(w15,60n,remain),Runtime.len_lo(total))] == R.padded_words([w0,w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12,w13,w14,w15],0n,remain,total) : List<&2,U32>}

Uses (13)

Used by (1)