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))

Uses (10)

Used by (1)