AxisAlgebra.ListFacts: type of bendtorch-core@0.1.0.0 Import: import bendtorch-core@0.1.0.0/src/tensor/axis_algebra.bend as AxisAlgebra Lines 192-198 of bendtorch-core@0.1.0.0/src/tensor/axis_algebra.bend: https://jend.leeeet.dev/read.txt?path=bendtorch-core@0.1.0.0/src/tensor/axis_algebra.bend&start_line=192&end_line=198 import Base import bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend as Axis type ListFacts<-A: Data, -rank: Nat, -axes: List<&2, Nat>, -items: List<&2, A>> is Data: Lists{selected: {Axis.gather(A, items, axes) == Some{Axis.order(A, items, axes)} : Maybe<&2, List<&2, A>>}, ranked: {List.length(&2, A, Axis.order(A, items, axes)) == rank : Nat}, scattered: {Axis.scatter(A, rank, axes, items, 0n) == Some{Axis.order(A, items, Axis.inverse_axes(rank, axes))} : Maybe<&2, List<&2, A>>}, restored: {Axis.order(A, Axis.order(A, items, axes), Axis.inverse_axes(rank, axes)) == items : List<&2, A>}, reverse_restored: {Axis.order(A, Axis.order(A, items, Axis.inverse_axes(rank, axes)), axes) == items : List<&2, A>}, scatter_restored: {Axis.scatter(A, rank, axes, Axis.order(A, items, axes), 0n) == Some{items} : Maybe<&2, List<&2, A>>}} 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=List.length https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend&name=gather https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend&name=inverse_axes https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend&name=order https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/tensor/axis_spec.bend&name=scatter