def written

stelliferous@0.0.2.0 · proofs/storage_certificate.bend:100

import stelliferous@0.0.2.0/proofs/storage_certificate.bend as StorageCertificate
import Base
import stelliferous@0.0.2.0/traversal_array.bend as Traversal
import stelliferous@0.0.2.0/proofs/storage_witness.bend as Witness

100def written(~Element: Data,+depth: Nat,values: List<&2,Element>,+offset: U32,-storage: Array<Element>,
101  evidence: Witness.Witness(Element,depth,storage)) -> Witness.Witness(Element,depth,Traversal.write_list(~Element,values,offset,storage)):
102  match values:
103    case []: evidence
104    case head <> tail:
105      written(~Element,depth,tail,(offset + 1 : U32),Array.set(Element,storage,offset,head),Witness.write(Element,depth,storage,offset,head,evidence))

Uses (9)

Used by (1)