MatmulLAWS.output_dimensions: law of bendtorch-core@0.1.0.0 Import: import bendtorch-core@0.1.0.0/src/tensor/matmul_LAWS.bend as MatmulLAWS Lines 201-214 of bendtorch-core@0.1.0.0/src/tensor/matmul_LAWS.bend: https://jend.leeeet.dev/read.txt?path=bendtorch-core@0.1.0.0/src/tensor/matmul_LAWS.bend&start_line=201&end_line=214 import Base import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape import bendtorch-core@0.1.0.0/src/tensor/matmul.bend as Matrix law output_dimensions: for -left: Shape.Shape for -right: Shape.Shape for +output: Shape.Shape for rows: U32 for inner: U32 for right_inner: U32 for columns: U32 for le: {Shape.dimensions(left) == [rows, inner] : List<&2, U32>} for re: {Shape.dimensions(right) == [right_inner, columns] : List<&2, U32>} for oe: {Shape.dimensions(output) == [rows, columns] : List<&2, U32>} for compatible: {U32.to_nat(inner) == U32.to_nat(right_inner) : Nat} {Shape.dimensions(Matrix.output_shape(left, right, Matrix.Plan{output, rows, inner, right_inner, columns, le, re, oe, compatible})) == [rows, columns] : List<&2, U32>} Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.to_nat https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/shape/core.bend&name=Shape https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/shape/core.bend&name=dimensions https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/matmul.bend&name=Plan https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/matmul.bend&name=output_shape