def got_value
bendtorch-core@0.1.0.0 · src/tensor/contracts/binary_build_proof.bend:104
import bendtorch-core@0.1.0.0/src/tensor/contracts/binary_build_proof.bend as BinaryBuildProof
import Base
import bendtorch-core@0.1.0.0/src/storage/model.bend as Model
import bendtorch-core@0.1.0.0/src/storage/main.bend as Storage
import bendtorch-core@0.1.0.0/src/storage/refinement.bend as Refinement
import bendtorch-core@0.1.0.0/src/storage/api.bend as Api
104def got_value(+d: Nat, +h: List<&2, Api.Effect>, +f: F32, +n: Nat, +i: U32, -pair: Array<F32> & F32,
105 exact: {pair == Array.get(F32, Api.arr(h, d, f), i) : Array<F32> & F32},
106 +fits: {Storage.bounds(d, n) == True{} : Bool}, +inside: {Nat.is_lt(U32.to_nat(i), n) == True{} : Bool}, +valid: {written(n, h) == True{} : Bool}) ->
107 {Refinement.second(F32, pair) == Api.current(h, i, f) : F32}:
108 some_word(Refinement.second(F32, pair), Api.current(h, i, f),
109 Equal.trans(Maybe<&2, F32>, Some{Refinement.second(F32, pair)}, Some{Refinement.second(F32, Array.get(F32, Api.arr(h, d, f), i))},
110 Some{Api.current(h, i, f)},
111 Equal.cong(Array<F32> & F32, Maybe<&2, F32>, p => Some{Refinement.second(F32, p)}, pair, Array.get(F32, Api.arr(h, d, f), i), exact),
112 Equal.trans(Maybe<&2, F32>, Some{Refinement.second(F32, Array.get(F32, Api.arr(h, d, f), i))},
113 Model.observe(F32, d, Api.arr(h, d, f), Refinement.route(d, i)), Some{Api.current(h, i, f)},
114 Refinement.law_get_refines(F32, d, Api.arr(h, d, f), i, Api.bal(h, d, f)),
115 Equal.sym(Maybe<&2, F32>, Some{Api.current(h, i, f)}, Model.observe(F32, d, Api.arr(h, d, f), Refinement.route(d, i)),
116 Api.model(h, d, n, f, i, fits, inside, valid_of(n, h, valid))))))