TensorIndexedCertificate.whole_preserves: def of stelliferous@0.0.2.0 Import: import stelliferous@0.0.2.0/proofs/tensor_indexed_certificate.bend as TensorIndexedCertificate Lines 90-100 of stelliferous@0.0.2.0/proofs/tensor_indexed_certificate.bend: https://jend.leeeet.dev/read.txt?path=stelliferous@0.0.2.0/proofs/tensor_indexed_certificate.bend&start_line=90&end_line=100 import Base import stelliferous@0.0.2.0/tensor_indexed.bend as Indexed import stelliferous@0.0.2.0/traversal_array.bend as Traversal import stelliferous@0.0.2.0/traversal_loop.bend as Loop import stelliferous@0.0.2.0/proofs/storage_tree_model.bend as Tree import stelliferous@0.0.2.0/proofs/storage_certificate.bend as Certificate import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness import stelliferous@0.0.2.0/proofs/traversal_certificate.bend as TraversalCertificate def whole_preserves(~Element: Data,~Context: Data,~index: Context -> U32 -> U32,~base: Context -> U32 -> U32,~operation: U32 -> Element -> Element, +depth: Nat,whole: Bool,blocks: U32,size: U32,total: U32,context: Context,-input: Array,-output: Array,input_certificate: Certificate.Certificate, equation: {output == Tree.pack(Element,Certificate.normalized(Element,depth,Tree.reflect(Element,output))) : Array}) -> TraversalWitness.ResultEvidence,Element,input,depth,Indexed.run_whole(~Element,~Context,~index,~base,~operation,whole,blocks,size,total,context,input,output)>: match whole: case True{}: TraversalCertificate.completed(~Array,~Element,~Indexed.Blocks,~TraversalWitness.array_evidence(~Element), ~Loop.run(~Traversal.State<&1,&1,Array,Array,Indexed.Blocks>,~Indexed.block_step(~Element,~Context,~base,~operation)),~block_loop(~Element,~Context,~base,~operation), U32.to_nat(blocks),0,Indexed.Blocks{0,size,context},input,output,Certificate.witness(Element,input,input_certificate),depth,equation) case False{}: preserves(~Element,~Context,~index,~operation,depth,Indexed.Call{U32.to_nat(total),context},input,output,input_certificate,equation) Uses (21): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool 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=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/storage_certificate.bend&name=Certificate https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/storage_certificate.bend&name=normalized https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/storage_certificate.bend&name=witness https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/storage_tree_model.bend&name=pack https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/storage_tree_model.bend&name=reflect https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/tensor_indexed_certificate.bend&name=block_loop https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/tensor_indexed_certificate.bend&name=preserves https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/traversal_certificate.bend&name=completed https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/traversal_witness.bend&name=ResultEvidence https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/proofs/traversal_witness.bend&name=array_evidence https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/tensor_indexed.bend&name=Blocks https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/tensor_indexed.bend&name=Call https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/tensor_indexed.bend&name=block_step https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/tensor_indexed.bend&name=run_whole https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/traversal_array.bend&name=State https://jend.leeeet.dev/definition.txt?path=stelliferous@0.0.2.0/traversal_loop.bend&name=run