
Of these the first might be considered parasitic on ones ideas of the extent of mathematics. However, Hatcher relates this issue to the Gödel incompleteness results, which concern how much can be proven in any area of mathematics, not which areas of mathematics can be addressed.
The second and third are reasonable but not essential requirements. No formal system can be used in practice without good tool support, and for this reason among others formal systems are rarely used by mathematicians in practice. However, even with current standards of tooling the distance between the primitive principles and those derived rules and principles used in practice is so great that the relevance of this criterion is not clear.
Two alternative criteria which may be more appropriate in the context of good mechanised support for developing mathematics formally are:
Since semantic intuitions remain important even where detailed reasoning with the primitive rules is automated.
The fourth criterion is crucial, and the fifth a precondition of any high level of confidence in the fourth.
Because category theory has supplanted set theoretic reasoning in many areas of mathematics.
Hatcher is, at this point, rather coy about what these constructions are.
C.1.  (x_{1})(D(C(x_{1})) = C(x_{1}) (x_{1})(C(D(x_{1})) = D(x_{1}) 
The domain of the codomain of x_{1} is the codomain of x_{1}, and the codomain of the domain of x_{1} is the domain of x_{1}.  
C.2.  (x_{1})(x_{2})(x_{3})(x_{4}) (K(x_{1}, x_{2}, x_{3}) K(x_{1}, x_{2}, x_{4}) x_{3} = x_{4} 
The composition of x_{1} with x_{2} is unique when it is defined.  
C.3.  (x_{1})(x_{2})((Ex_{3}) K(x_{1}, x_{2}, x_{3}) (C(x_{1}) = D(x_{2}))) 
The composition of x_{1} with x_{2} is defined if and only if the codomain of x_{1} is the domain of x_{2}.  
C.4.  (x_{1})(x_{2})(x_{3})(K(x_{1}, x_{2}, x_{3}) ( D(x_{3}) = D(x_{1}) C(x_{3}) = C(x_{2})) 
If x_{3} is the composition of x_{1} with x_{2} then the domain of x_{3} is the domain of x_{1} and the codomain of x_{3} is the codomain of x_{2}.  
C.5.  (x_{1})(K(D(x_{1}),x_{1},x_{1}) K(x_{1},C(x_{1}),x_{1}) 
For any x_{1}, the domain of x_{1} is a left identity for x_{1} under composition and the codomain is a right identity.  
C.6.  (x_{1})(x_{2})(x_{3})(x_{4})(x_{5})(x_{6})(x_{7})((K(x_{1}, x_{2}, x_{3}) K(x_{2}, x_{4}, x_{5}) K(x_{1}, x_{5}, x_{6}) K(x_{3}, x_{4}, x_{7})) ( x_{6} = x_{7}) 
Composition is associative when it is defined. 
In Zermelo set theory, there being nothing but sets, the category of all groups simply doesn't exist. The best we can get, by analogy with settling for formation of sets by separation rather than comprehension, is the category of all groups whose carrier is a subset of some given set. Alternatively, in a system such as NBG, while the category of all groups exists, it is a proper class. In general, where a set theory has its semantic basis in the iterative conception of set (excluding Quine's systems) a distinction of kind or size is likely to be necessary, and the formation of the category of groups up to a certain size will turn out to be larger.
"We feel that the category of groups, or the category of sets ought to be a fixed structure with a definite theory. In fact their structure varies according to the various foundational systems in which we may chose to work."
This contrasts with our intuitions about structures such as the natural and real number systems. In these cases, though we know from Gödel that the results provable vary according to the proof theoretic strength of the foundation system we adopt, we do not perceive of the foundation system as affecting the structure of these number systems. (actually Hatcher appears to believe that what is provable about these number systems does not vary between foundation systems.)
If we choose some particular foundation system, say NBG, and try to work within the limits it imposes on the categories we can form, we then find that this collection of categories is not closed under the all the constructions that we are likely to want to perform on categories.
In this case we will find that categories fall into two kinds, those whose morphisms form a set (which are called small), and those whose morphisms are a proper class (and are called large categories).
Often it may be desired to form a category whose objects are themselves categories, and whose morphisms are functors between these categories. This will only be possible for collections of small categories.
Worse, even the functors between two categories will not form a class in NBG if the categories themselves are large.
"Our second foundational problem of categories can be stated as follows:Certain intuitive constructions on categories cannot be performed indiscriminately for large and small categories".
These and similar considerations lead one to consider "whether it might not be possible to found mathematics on category theory itself".
"At the very least" an analysis of set theory from the standpoint of category theory would lead to interesting new insights into its structure.
The idea that there was a definitivei solution to foundational problems was however refuted by the independence results in ZF, which "tended to destroy set theory's (largely unwarranted) image as an absolute foundation for mathematics".
The idea that foundational issues are irrelevant is undermined by the number of problems in mathematics which turn out to be reducible to settheoretic principles which are independent of the axioms of ZF.
Alongside this "loss of absolute faith in set theory" there has been "the rise of attractive alternatives such as category theory".
Hatcher then concludes that "what is truly foundational" is "certain key, unifying notions common to many different aspects of mathematical practice", e.g. "the notions of universality and naturality in category theory".
It is not clear how this kind of foundation meets the criteria for foundations enunciated by Hatcher in section 2.5, so we must presume that the influence of category theory has lead Hatcher to revise his criteria in ways which he does not make explicit.