Reduction.read_keeps: def of bendtorch-core@0.1.0.0 Import: import bendtorch-core@0.1.0.0/src/tensor/reduction.bend as Reduction Lines 104-114 of bendtorch-core@0.1.0.0/src/tensor/reduction.bend: https://jend.leeeet.dev/read.txt?path=bendtorch-core@0.1.0.0/src/tensor/reduction.bend&start_line=104&end_line=114 import Base import bendtorch-core@0.1.0.0/src/storage/model.bend as Model import bendtorch-core@0.1.0.0/src/storage/refinement.bend as Refinement # The array a read hands back is the array it read. def read_keeps(-depth: Nat, -original: Array, -balanced: Model.Balanced(F32, depth, original), -array: Array, -index: U32, -pair: Array & F32, -exact: {pair == Array.get(F32, array, index) : Array & F32}, -same: {array == original : Array}) -> Fact<{array_from(pair) == original : Array}>: Fact{Equal.trans(Array, array_from(pair), array_from(Array.get(F32, array, index)), original, Equal.cong(Array & F32, Array, p => array_from(p), pair, Array.get(F32, array, index), exact), Equal.trans(Array, array_from(Array.get(F32, array, index)), array, original, Refinement.law_get_retains(F32, depth, array, index, {\{Fact: p => p} : Fact<(Model.Balanced(F32, depth, array))> -> Model.Balanced(F32, depth, array)}( kept_balanced(depth, original, balanced, array, same))), same))} Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.get https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.cong https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.trans https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=F32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/model.bend&name=Balanced https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/storage/refinement.bend&name=law_get_retains https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/reduction.bend&name=Fact https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/reduction.bend&name=array_from https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/reduction.bend&name=kept_balanced