BroadcastProofs.aligned_length_right: def of bendtorch-core@0.1.0.0 Import: import bendtorch-core@0.1.0.0/src/shape/broadcast_proofs.bend as BroadcastProofs Lines 119-138 of bendtorch-core@0.1.0.0/src/shape/broadcast_proofs.bend: https://jend.leeeet.dev/read.txt?path=bendtorch-core@0.1.0.0/src/shape/broadcast_proofs.bend&start_line=119&end_line=138 import Base import bendtorch-core@0.1.0.0/src/shape/core.bend as Shape def aligned_length_right(+left: List<&2, Nat>, +right: List<&2, Nat>, +output: List<&2, Nat>, +alignment: Shape.Aligned(left, right, output)) -> {List.length(&2, Nat, right) == List.length(&2, Nat, output) : Nat}: match left right output: case Nil{} Nil{} Nil{}: {==} case +lh <> +lt +rh <> +rt +oh <> +ot: Shape.AStep{axis, +tail} = alignment %aligned_length_right(lt, rt, ot, tail) : {1n+List.length(&2, Nat, rt) == 1n+_ : Nat} {==} case Nil{} Nil{} oh <> ot: match alignment: case Nil{} rh <> rt Nil{}: match alignment: case lh <> lt Nil{} Nil{}: match alignment: case Nil{} rh <> rt oh <> ot: match alignment: case lh <> lt Nil{} oh <> ot: match alignment: case lh <> lt rh <> rt Nil{}: match alignment: Uses (5): 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=Nat https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/shape/core.bend&name=Aligned https://jend.leeeet.dev/definition.txt?path=bendtorch-core@0.1.0.0/src/shape/core.bend&name=Aligned.Step