law last_step
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/blake/blake3/chunk.bend:33
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/blake/blake3/chunk.bend as Chunk
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake3/types.bend as T
import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake3/blake3.bend as K
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/blake/blake3.bend as S
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/blake/blake3/array.bend as A
33law last_step:
34 for +p: Nat
35 for +t: U32
36 for +index: U32
37 for +flags: U32
38 for +len: Nat
39 for +cv: T.CV
40 for -a: Array<U32>
41 for +b: T.Block
42 for view: Sigma<&2,&1,A.Tree,x => {a == A.thaw(x) : Array<U32>}>
43 for recurse: @c: T.CV -> @q: (Array<U32> & T.Block) -> {K.last_go(p,t,U32.add(index,16),0,len,c,q) == S.chunk_blocks(p,t,U32.add(index,16),0,len,c,q) : Array<U32> & T.Out}
44 {K.last_go(1n+p,t,index,flags,len,cv,(a,b)) == S.chunk_blocks(1n+p,t,index,flags,len,cv,(a,b)) : Array<U32> & T.Out}