def clone_first

bendtorch-core@0.1.0.0 · src/tensor/permute_build_proof.bend:272

import bendtorch-core@0.1.0.0/src/tensor/permute_build_proof.bend as PermuteBuildProof
import Base
import bendtorch-core@0.1.0.0/src/storage/model.bend as Model
import bendtorch-core@0.1.0.0/src/storage/clone.bend as Clone

272def clone_first(+d: Nat, -a: Array<F32>, pair: Array<F32> & Array<F32>, -exact: {pair == Array.clone(F32, a) : Array<F32> & Array<F32>}, -valid: Model.Balanced(F32, d, a)) ->
273  Fact<{Pair.fst(Array<F32>, Array<F32>, pair) == a : Array<F32>}>:
274  Fact{Equal.trans(Array<F32>, Pair.fst(Array<F32>, Array<F32>, pair), Pair.fst(Array<F32>, Array<F32>, Array.clone(F32, a)), a,
275    Equal.cong(Array<F32> & Array<F32>, Array<F32>, p => Pair.fst(Array<F32>, Array<F32>, p), pair, Array.clone(F32, a), exact),
276    Clone.first_equal(F32, d, a, Clone.certify(F32, d, a, valid)))}

Uses (12)

Used by (2)