def leaf_kept
bendtorch-core@0.1.0.0 · src/autograd/reduce_parallel_proof.bend:377
import bendtorch-core@0.1.0.0/src/autograd/reduce_parallel_proof.bend as ReduceParallelProof
import Base
import bendtorch-core@0.1.0.0/src/autograd/reduce.bend as Reduce
377
378
379def leaf_kept(-rec: F32 -> Array<F32> -> F32 & Array<F32>, same: @value: F32 -> @array: Array<F32> -> {rec(value, array) == (value, array) : F32 & Array<F32>},
380 +accumulator: F32, pair: Array<F32> & F32) ->
381 {Reduce.walk_next(rec, Reduce.leaf_add(accumulator, pair)) == Reduce.leaf_add(accumulator, pair) : F32 & Array<F32>}:
382 match pair:
383 case Tuple{array, word}:
384 same(F32.add(accumulator, word), array)