Note that "a working mathematician" is probably not the best choice of words, it's supposed to mean "someone who needs the theory for applications rather than for its own sake". Think about it as a homage to Mac Lane's classic. I'm in no way implying that set theory is not "real mathematics" (whatever that expression might mean, though I've heard some people say it, and I don't respect this point of view that something abstract is "not real mathematics") and I have a great respect for that field of study.


However, I'm personally not interested in set theory and its logic for their own sake (as of now). For a while I have treated them naively, and it was fine as I haven't needed anything beyond introductory chapters in compheresnive books on algebra, analysis or topology. But recently I decided to understand the foundations of category theory based on Grothendieck universes and inaccessible cardinals. So, I went to read some sources on set theory. And was really confused at first about such definitions as of a "transitive set", which implicitly assume that all elements of all sets are sets. Then I read more about it and discovered that in $\mathrm{ZFC}$



> 
> **everything is a set!**
> 
> 
> 


It seemed absurd to me at first. After consulting several sources, I realized that ZFC was meant to be a (or even *the*) foundation for mathematics, rather than simply a theory which gives us a framework to work with sets, so at that time people thought that every mathematical object can be defined in term of sets. It didn't seem as unreasonable as before anymore, but still...


It still doesn't feel right for me. I understand that at the time when Zermelo and Fraenkel were developing axiomatic set theory, it was reasonable to think that every conceivable mathematical object is set. But it was a long time ago; is it still this way - especially concerning category theory?


If we work in $\mathrm{ZFC}$ (+ $\mathrm{UA}$) we have to assume that every object in any category is a actually as set. And the same should go for morphisms. Because, given a category $\mathrm{C}$, $\operatorname{ob} \mathrm{C}$ and $\operatorname{mor} \mathrm{C}$ are sets, so their elements, namely, objects and morphisms of $\mathrm{C}$, should also be sets. 


**The question is**: is the assumption that there are no urelements, that is, that every conceivable mathematical object can be modeled in term of sets, reasonable, as of the second decade of the 21st century? Is there an area of mathematics where we need urelements? Can this way of thinking be a burden in some mathematical fields? (Actually, it's three questions, sorry. But they are related)


**P.S.** I hope this question is not too "elementary" for this site. But as I understand there are quite a lot of working mathematicians who don't think much about foundations. So, even if this question is not *useful* for them, it can at least be *interesting* for them. 



How should a "working mathematician" think about sets? (ZFC, category theory, urelements)
Set theory provides a foundation for mathematics in roughly the same way that Turing machines provide a foundation for computer science. A computer program written in Java or assembly language isn't actually a Turing machine, and there are lots of good reasons not to do real programming in Turing machines - real languages have all sorts of useful higher order concepts. But Turing machines are a useful foundation because everything else *can* be encoded by Turing machines, and because it's much easier to study Turing machines than it is to study a more complicated higher order language.


Similarly, the point isn't that every mathematical object *is a* set, the point is that every mathematical object *can be encoded by* a set. It doesn't represent higher level ideas, like the fact that mathematical objects usually have types (as one of my colleagues likes to point out, the question "is the integer 6 an abelian group" is technically a reasonable one in set theory, but not in mathematics). But it's a (relatively) simple system to study, and just about everything we want to do can be encoded in set theory.


To answer your specific questions, yes, it's still true that every mathematical object can be encoded as a set. Because sets are very flexible, there's no reason to think this will not continue to be true. There is no current field of mathematics in which urelements are essential, and because things one would do with urelements can instead be encoded with sets, there is unlikely to be such a field.


ZFC does impose some limitations on category theory, because it doesn't allow objects on the same scale of the universe of sets. (For instance the category of categories is awkward to consider within ZFC, because the objects of this category cannot be a set.) These are reflected in the discussions of "small" and "locally small" categories. These issues can be worked around in mild extensions of ZFC by using things like Grothendieck universes. (Note that this is a feature of ZFC, not of set theoretic foundations in general. Quine's New Foundations allows certain self-containing sets.)


This way of thinking can't really be burden because ZFC doesn't impose a way of thinking. The fact that things can be encoded as sets doesn't, and shouldn't, mean that we always think of them that way. It's perfectly consistent with having a set theoretic foundation to work with things like urelements, or to think about groups and categories without thinking of them as sets. (Worrying about things like self-containing categories can be a burden, but it's a necessary one given the history of paradoxical objects containing themselves.)


