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}

Uses (23)

Used by (1)