def words_valid_rank

bendtorch-core@0.1.0.0 · src/tensor/permutation_mapping.bend:404

import bendtorch-core@0.1.0.0/src/tensor/permutation_mapping.bend as PermutationMapping
import Base
import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape
import bendtorch-core@0.1.0.0/src/tensor/layout.bend as Layout

404def words_valid_rank(+dimensions: List<&2, U32>, +values: List<&2, U32>, valid: Layout.WordsValid(dimensions, values)) ->
405  {Shape.rank_dimensions(values) == Shape.rank_dimensions(dimensions) : Nat}:
406  match dimensions values:
407    case Nil{} Nil{}:
408      {==}
409    case +dimension <> +dt +value <> +vt:
410      Layout.WStep{bound, tail} = valid
411      Equal.cong(Nat, Nat, n => 1n+n, Shape.rank_dimensions(vt), Shape.rank_dimensions(dt), words_valid_rank(dt, vt, tail))
412    case Nil{} head <> tail:
413      match valid:
414    case head <> tail Nil{}:
415      match valid:

Uses (7)

Used by (2)