def SlotKept
bendtorch-core@0.1.0.0 · src/autograd/gradient_LAWS.bend:53
import bendtorch-core@0.1.0.0/src/autograd/gradient_LAWS.bend as GradientLAWS
import Base
import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
import bendtorch-core@0.1.0.0/src/tensor/elementwise_totality.bend as Totality
import bendtorch-core@0.1.0.0/src/autograd/gradient.bend as Gradient
53def SlotKept(before: Gradient.Slot, after: Gradient.Slot) -> Type:
54 match before:
55 case Gradient.Unset{}:
56 {held_dimensions(after) == None{} : Maybe<&2, List<&2, U32>>}
57 case Gradient.Held{gradient}:
58 {held_dimensions(after) == Some{Totality.dimensions(gradient)} : Maybe<&2, List<&2, U32>>} &
59 (@+index: U32 -> {held_observe(after, index) == Core.checked_observe_dynamic(gradient, index) : Maybe<&2, F32>})