be true for all "i" in "(-min(tensor.dim(), other.dim()) + 1, -1]".


Check names: Furthermore, all named dimensions must be aligned from
  the right. During matching, if we match a named dimension "A" with
  an unnamed dimension "None", then "A" must not appear in the tensor
  with the unnamed dimension.


Propagate names: unify pairs of names from the right from both
  tensors to produce output names.


For example,
# tensor: Tensor[   N, None]
   # other:  Tensor[None,    C]



tensor = torch.randn(3, 3, names=('N', None))
other = torch.randn(3, 3, names=(None, 'C'))
(tensor + other).names
   ('N', 'C')



Check names:


"match(tensor.names[-1], other.names[-1])" is "True"


"match(tensor.names[-2], tensor.names[-2])" is "True"


Because we matched "None" in "tensor" with "'C'", check to make sure
  "'C'" doesn't exist in "tensor" (it does not).


Check to make sure "'N'" doesn't exists in "other" (it does not).


Finally, the output names are computed with "[unify('N', None),