type DotStep
bendtorch-core@0.1.0.0 · src/tensor/matmul_LAWS.bend:31
import bendtorch-core@0.1.0.0/src/tensor/matmul_LAWS.bend as MatmulLAWS
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/tensor/dot_fold.bend as DotFold
31type DotStep<-fuel: Nat, -left: Shape.Shape, -right: Shape.Shape, -a: Core.Tensor<left>, -b: Core.Tensor<right>,
32 -row: U32, -column: U32, -cursor: Nat, -lv: F32, -rv: F32, -values: List<&2, DotFold.Factors>> is Data:
33 DotStep{-exact: {U32.to_nat(U32.from_nat(cursor)) == cursor : Nat},
34 -left_observed: {coordinate_observe(left, a, [row, U32.from_nat(cursor)]) == Some{lv} : Maybe<&2, F32>},
35 -right_observed: {coordinate_observe(right, b, [U32.from_nat(cursor), column]) == Some{rv} : Maybe<&2, F32>},
36 -remaining: LogicalDot(fuel, left, right, a, b, row, column, 1n+cursor, values)}