Zermelo-Fraenkel set theory (with choice) is commonly accepted as the standard foundation of mathematics. It is a material set theory. This means that for every two objects/sets $a,b$ one can ask whether $a=b$ or not. Also, one can always ask whether $a∈b$ is true or not. So $\in$ is a global element relation.
As an alternative foundation for set theory, Lawvere proposed ETCS (= elementary theory of the category of sets). It is the standard example of a structural set theory. The idea behind structural set theory is that elements—in contrast to material set theory—have no internal structure, i.e. are just "abstract dots". Thus there there is no global element relation, and "objects" are not indepedent things, they always lie in a particular structure (for example, we cannot speak about 2 as an object that exists on its own, but we instead talk about the "2 in the structure IN" or the "2 in the structure IR", and strictly speaking, these are not the "same" objects, but we have a natural injection IN -> IR which maps the "natural number 2" to the "real number 2").
There have been controversial discussion whether ETCS is more appropriate as a foundation for mathematics than ZFC. I don't want to discuss this here, but want to point you to this paper:
in which Tom Leinster introduces ETCS and argues that this foundational system is much nearer to the practice of mathematicians than ZFC.
Quite at the end of the paper, Leinster states that Sets for Mathematics by Lawvere and Rosebrugh is the quite the only book that teaches set theory in the flavour of structural set theory (ETCS)—which makes sense, since Lawvere is the "founder" of structural set theory.
Now, let me come to my question: Does equality between sets contradict the philosophy behind structural set theory? Obviously, when doing set theory in the spirit of structural set theory, we don't need equality between sets. Instead, we talk about isomorphisms, which makes more sense structurally. Also, the typical definition of equality between sets (extensionality) can't be formulated in ETCS. Thus it seems to me that the notion of "equality between sets" doesn't make much sense in structural set theory. Of course, we could say that two sets are equal if there is a bijection between them, or state that equality exists between sets without further specifying what it does (in particular, if we identify all isomorphic sets, whether there are infinitely many isomorphic sets that are not equal, ...). But this wouldn't yield to additional value, and is thus superfluous. Having this thoughts in mind, I was surprised when I read the following in Sets for Mathematics—the standard text book for structural set theory (on page 2!):
Notation 1.1: The arrow notation f : A -> B just means the domain of f is A and the codomain of f is B, and we write dom(f) = A and cod(f) = B.
Here, the authors talk about the equality of two sets (dom(f) = A). They also use the "big bag of morphisms"-definition of category and not the "by pairs (A, B) of objects indexed family of hom-sets". But in this definition, one must talk about operations dom and cod which specify for each morphism a unique domain and codomain. But the word "unique" here presupposes that we have a notion of equality between objects.
Could someone from the foundations of mathematics clarify my confusion? On the nLab (see https://ncatlab.org/nlab/show/category ) there are two definitions of the term "category" ("With one collection of morphisms" and "With a family of collections of morphisms"), and to me it seems the second ("With a family of collections of morphisms") is more appropriate for structural set theory. But then, why does Lawvere—the founder of structural set theory—uses the first one ("With one collection of morphisms") in the only book about structural set theory?