def first
stelliferous@0.0.2.0 · proofs/kernel_weights_witness.bend:77
import stelliferous@0.0.2.0/proofs/kernel_weights_witness.bend as KernelWeightsWitness
import Base
import stelliferous@0.0.2.0/kernel_weights.bend as Weights
import stelliferous@0.0.2.0/kernel_tile.bend as Tile
import stelliferous@0.0.2.0/storage_buffer.bend as Storage
import stelliferous@0.0.2.0/proofs/storage_witness.bend as Witness
import stelliferous@0.0.2.0/proofs/traversal_witness.bend as TraversalWitness
77def first(+rows: U32,+inner: U32,+row: U32,+index: U32,-input: Array<F32>,-result: Array<F32> & F32,
78 observed: TraversalWitness.Sample<Array<F32>,F32,input,result>,+evidence: Witness.ArrayWitness<F32,input>) ->
79 TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.first(rows,inner,row,index,result)>:
80 TraversalWitness.Sample{a,equation} = observed
81 %Equal.sym(Array<F32> & F32,result,(input,a),equation) :
82 TraversalWitness.Sample<Array<F32>,Tile.Tile8,input,Weights.first(rows,inner,row,index,_)>
83 second(rows,inner,row,index,input,a,Storage.read_when(~F32,0.0,U32.is_lt((row + 1 : U32),rows),input,((row + 1) * inner + index : U32)),
84 conditional(input,U32.is_lt((row + 1 : U32),rows),((row + 1) * inner + index : U32),evidence),evidence)