CoreModel.expanded_rounds: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/proofs/crypto/sha/packed/core_model.bend as CoreModel Lines 58-69 of bend-collections@1.0.0.0/proofs/crypto/sha/packed/core_model.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/proofs/crypto/sha/packed/core_model.bend&start_line=58&end_line=69 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/state.bend as S # Generate each derived schedule word immediately before its round. The reverse # history is still retained for the recurrence, but the chronological 48-word # extension is never materialized. def expanded_rounds(n: Nat, +history: List<&2, U32>, ks: List<&2, U32>, s: S.State) -> S.State: match n ks: case 0n _: s case 1n+p Nil{}: s case 1n+p k <> kt: +w = next_word(history) expanded_rounds(p, w <> history, kt, Runtime.step(s, k, w)) Uses (6): 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=bend-collections@1.0.0.0/proofs/crypto/sha/packed/core_model.bend&name=next_word https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/sha/packed/core.bend&name=step https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/sha/state.bend&name=State