law backward_accepts_bound_operands

bendtorch-core@0.1.0.0 · src/autograd/backward_LAWS.bend:412

import bendtorch-core@0.1.0.0/src/autograd/backward_LAWS.bend as BackwardLAWS
import Base
import bendtorch-core@0.1.0.0/src/autograd/backward.bend as Backward

412# A tape whose every operand is bound is accepted for every output it holds.
413law backward_accepts_bound_operands:
414  for +entries: List<&2, Backward.Entry>
415  for +output: Nat
416  for inside: {Nat.is_lt(output, List.length(&2, Backward.Entry, entries)) == True{} : Bool}
417  for bound: {well_formed(Backward.nodes(entries)) == True{} : Bool}
418  {Backward.backward(Backward.Tape{entries}, output) ==
419    Done{Backward.Tape{Backward.merge(entries, Backward.pass(Backward.nodes(entries), List.length(&2, Backward.Entry, entries), output))}} :
420    Result<&2, &2, Backward.Error, Backward.Tape>}

Uses (18)

Used by (0)

No other definition uses this definition.