def run2_split

bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/blake/blake3/loop.bend:38

import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/blake/blake3/loop.bend as Loop
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/proofs/crypto/blake/blake3/tree.bend as TR

38def run2_split(+r: List<&2,T.Out>, +s: K.Stack, +x: T.Out) -> {run2(r,s,x) == K.finish(TR.push_all(s,TR.cvs(init2(r,x))),last2(r,x)) : T.Out}:
39  match r:
40    case Nil{}: {==}
41    case Con{+y,+q}: run2_split(q,K.push(s,K.out_cv(x)),y)

Uses (11)

Used by (1)