def with_head

stelliferous@0.0.2.0 · proofs/kernel_tile_witness.bend:29

import stelliferous@0.0.2.0/proofs/kernel_tile_witness.bend as KernelTileWitness
import Base
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness

29def with_head(~State: Type,~Context: Data,~Evidence: @-state: State -> Data,
30  ~read: State -> Context -> Nat -> State & F32,
31  ~read_preserves: @-state: State -> @context: Context -> @index: Nat -> Evidence(state) -> TraversalWitness.Sample<State,F32,state,read(state,context,index)>,
32  -state: State,+context: Context,-head: F32,+index: Nat,evidence: Evidence(state)) ->
33  TraversalWitness.Sample<State,F32,state,Tile.read_with_head(~State,~Context,~read,state,Tile.HeadContext{head,context},index)>:
34  match index:
35    case 0n: TraversalWitness.Sample{head,{==}}
36    case 1n+rest: read_preserves(state,context,1n+rest,evidence)

Uses (6)

Used by (1)