def map_step
stelliferous@0.0.2.0 · proofs/traversal_witness.bend:187
import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness
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
187def map_step(~Element: Data,~Context: Data,~map: Context -> Element -> Element,+depth: Nat,
188 -state: Traversal.State<&2,&1,Unit,Array<Element>,Context>,evidence: MapEvidence<Element,Context,depth,state>) ->
189 MapEvidence<Element,Context,depth,Traversal.map_step(~Element,~Context,~map,state)>:
190 match evidence:
191 case MapEvidence{output,+position,+context,equation,+output_evidence}:
192 %Equal.sym(Traversal.State<&2,&1,Unit,Array<Element>,Context>,state,Traversal.State{Unit{},output,position,context},equation) :
193 MapEvidence<Element,Context,depth,Traversal.map_step(~Element,~Context,~map,_)>
194 mapped_value(~Element,~Context,~map,depth,position,context,output,Array.get(Element,output,position),output_evidence,
195 Witness.read(Element,depth,output,position,output_evidence))