How did || come to be used in crypto texts to represent concatenation? In RFC5647, NIST SP 800-38D, etc., || is used to denote concatenation. How did that come to be?

In most programming languages || represents "or" and + denotes concatenation and the fact that crypto texts just kind of mixed it up seems to make for an easy gotcha.
The origin is set theory and not programming languages.  In the context of cryptography, I could describe a set that is 
$$x_1 \parallel x_2 \parallel \dots \parallel x_n$$
as a concatenation of the series described by
$$\parallel_{i=1}^n x_i.$$
Furthermore, it's worth noting that + to a mathematician would suggest that it is a commutative, which might not be true depending on the set (as we could have a set of functions).