Eilenberg and Mac Lane‘s 1945 paper General Theory of Natural Equivalences is sometimes regarded the foundational document of category theory.

Notably, in it the term natural transformation was defined, while the concept of a category of categories was not mentioned (all the constructions necessary to define it being introduced in the paper).

The authors also make careful linguistic, logical and foundational comments, some of them remarkable prescient, such as on page 247 where one reads

Any given system of foundations will then legitimize those subcategories which are allowable classes in the system in question. (…) One might choose to adopt the (unramified) theory of types as a foundation for the theory of classes.

Note that here, “theory of types” is not the same as type theory in the contemporary sense.

The numbering in this paper is somewhat unusual in that the arabic numerals to not start over again when a new roman numeral has been introduced.

Introduction

I Categories and functors

I.1 Definition of categories

I.2 Examples of categories

I.3 Functors in two arguments

I.4 Examples of functors

I.5 Slicing of functors

I.6 Foundations

II Natural equivalence of functors

II.7 Transformations of functors

II.8 Categories of functors

and several sections more.

The paper ends with an appendix making a sweeping representability theorem about (in the author’s words) “any category” that to compare with the concept of concreteness can be instructive.