On Dec 26, 2019, at 10:53, Andrew Barnert <abarnert@yahoo.com> wrote:

You’ve got it backward. Historically, the subset symbol is a C squashed to look graphically similar to a < (or actually a reversed version of a reversed C squashed to look graphically similar to >), and Russell, who chose that out of the many different popular 19th century spellings, certainly was thinking about the consequences.

Actually, according to a few well-cited internet sites (like http://jeff560.tripod.com/set.html) I’m wrong about this. It doesn’t change the fact that the symbol was invented to intentionally look like < well over a century before Python, but for the sake of accuracy: Gergonne was using C (from the French or Latin word for containment) for superset as early as 1817. But most people didn’t follow him, and in fact < and > was the most popular spelling for most of the 19th century. But later, along with a bunch of other alternatives, Schröder replaced the > with a rotated U (from untergeordnet) squashed to look more like a > (and likewise for übergeordnet and <), while Peano revived Gergonne’s C and flipped it and squashed it to look like a > (and later added the re-flipped version). Meanwhile, post-Klein group theorists were coming up with different “weakened” versions of the < symbol to distinguish “subset that may or may not form a group” from “subgroup” (which is still spelled < today). Russell and Whitehead presumably noticed the happy accident that the three happen to be essentially the same, but since they borrowed more symbols from Schröder it’s probably the sideways U that’s the direct ancestor of our modern symbol.