src/tensor/elementwise_LAWS.bend

bendtorch-core@0.1.0.0 · 27 lines · 3 definitions

1import Base
2import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
3import bendtorch-core@0.1.0.0/src/tensor/core.bend as Core
4import bendtorch-core@0.1.0.0/src/tensor/elementwise.bend as Elementwise
5import bendtorch-core@0.1.0.0/src/tensor/elementwise_totality.bend as Totality
6
7law binary_retains_inputs:
8  for +operation: Elementwise.Operation
9  for left: Core.Dynamic
10  for right: Core.Dynamic
11  Totality.Retention<left, right, Elementwise.binary(operation, left, right)>
12
13law binary_successful_output_dimensions:
14  for +operation: Elementwise.Operation
15  for left: Core.Dynamic
16  for right: Core.Dynamic
17  for +output: List<&2, U32>
18  for +alignment: Shape.Broadcast<Shape.extents(Totality.dynamic_shape(left)), Shape.extents(Totality.dynamic_shape(right)), Shape.naturals(output)>
19  Totality.DimensionsModel<output, Elementwise.binary(operation, left, right)>
20
21law binary_valid_success:
22  for +operation: Elementwise.Operation
23  for left: Core.Dynamic
24  for right: Core.Dynamic
25  for +output: List<&2, U32>
26  for +compatible: Totality.Compatible<left, right, output>
27  Totality.Success<Elementwise.binary(operation, left, right)>