def fired_stop
bendtorch-core@0.1.0.0 · src/autograd/tensor_chain_PROOF.bend:225
import bendtorch-core@0.1.0.0/src/autograd/tensor_chain_PROOF.bend as TensorChainPROOF
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/gradient.bend as Gradient
import bendtorch-core@0.1.0.0/src/autograd/tensor_backward.bend as Backward
import bendtorch-core@0.1.0.0/src/autograd/tensor_chain_LAWS.bend as Laws
225def fired_stop(+node: Backward.Node, +shape: Shape.Shape, -value: Core.Dynamic, -saved: Backward.Saved, -slot: Gradient.Slot,
226 -g: Core.Dynamic, -rest: List<&1, Backward.Entry>, -more: List<&1, Gradient.Slot>, +below: Nat, -older: List<&1, Gradient.Slot>,
227 -left: Laws.Log(), -items: Laws.Log(), -error: Backward.Error,
228 delivered: {Fail{error} == Backward.deliver(items, below, Done{more}) : Laws.Slots()}, out: Stop<rest, error, below>) ->
229 Fired<node, shape, value, slot, rest, more, below, older, left, Backward.Pass{saved, g, Done{items}}>:
230 Stop{done, swept} = out
231 FiredStopped{Backward.Entry{node, shape, value, saved, slot} <> done, error,
232 Equal.trans(Backward.Swept(),
233 Backward.finished(Backward.Entry{node, shape, value, saved, slot}, Gradient.Held{g},
234 Backward.sweep(rest, Backward.deliver(items, below, Done{more}), below)),
235 Backward.finished(Backward.Entry{node, shape, value, saved, slot}, Gradient.Held{g}, Backward.sweep(rest, Fail{error}, below)),
236 Backward.finished(Backward.Entry{node, shape, value, saved, slot}, Gradient.Held{g}, (done, Fail{error})),
237 Equal.cong(Laws.Slots(), Backward.Swept(),
238 state => Backward.finished(Backward.Entry{node, shape, value, saved, slot}, Gradient.Held{g}, Backward.sweep(rest, state, below)),
239 Backward.deliver(items, below, Done{more}), Fail{error}, Equal.sym(Laws.Slots(), Fail{error}, Backward.deliver(items, below, Done{more}), delivered)),
240 Equal.cong(Backward.Swept(), Backward.Swept(),
241 pair => Backward.finished(Backward.Entry{node, shape, value, saved, slot}, Gradient.Held{g}, pair),
242 Backward.sweep(rest, Fail{error}, below), (done, Fail{error}), swept))}