def sum_contract
bendtorch-core@0.1.0.0 · src/autograd/tensor_backward_PROOF.bend:457
import bendtorch-core@0.1.0.0/src/autograd/tensor_backward_PROOF.bend as TensorBackwardPROOF
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
import bendtorch-core@0.1.0.0/src/autograd/broadcast.bend as Broadcast
import bendtorch-core@0.1.0.0/src/autograd/broadcast_pointwise_LAWS.bend as BroadcastPointwise
import bendtorch-core@0.1.0.0/src/autograd/tensor_backward.bend as Backward
import bendtorch-core@0.1.0.0/src/autograd/tensor_backward_LAWS.bend as Laws
457
458
459def sum_contract(+a: Nat, +input: Shape.Shape, -shape: Shape.Shape, -cell: Nat -> F32, -word: U32 -> F32,
460 pair: Core.Dynamic & Result<&2, &1, Broadcast.Error, Core.Dynamic>,
461 contract: BroadcastPointwise.BroadcastToContract<input, shape, cell, word, pair>) ->
462 Laws.SoleContract<a, input, cell, Backward.expanded(a, input, pair)>:
463 (owner, result) = pair
464 sum_result(a, input, shape, cell, word, owner, result, contract)