Category theory for the sciences.

*(English)*Zbl 1311.18001
Cambridge, MA: MIT Press (ISBN 978-0-262-02813-4/hbk; 978-0-262-32051-1/ebook). viii, 486 p. (2014).

The book provides an interesting introduction to category theory to non-mathematicians. Its title suggests the purpose: to introduce students with a scientific background to the categorical methods and way of reasoning. The title could be misleading as the focus is not on the successful applications of category theory to the various branches of science, even if the text abounds with examples: in fact, most of these examples are elementary, simplified, or sketchy, giving inspiration rather than illustration. Nevertheless, the text fully succeeds in its objective to convey how to use category as a way to formalise many significant aspects of scientific reasoning, especially for science students not willing to specialise in category theory.

The general approach is to build first the intuition of a concept by means of a guiding example, then to show its formal definition, and to discuss it through examples and exercises, hinting at possible applications. The abundance of exercises, many of them aimed at exploring the concepts in concrete contexts, is a strong point of the book. Another major feature is the analogy between categories and databases, which comes from the research background of the author. As far as the text proceeds, this analogy becomes stricter and more precise, until a formal proof shows the categorical equivalence of small categories and database schemata. Since databases are, nowadays, a widespread tool in science and their knowledge is, more or less, a common ground for many researchers in very distant fields, this analogy provides a particularly good way to introduce in familiar terms many of the abstract constructions and concepts characterising category theory.

After the introduction (Chapter 1), the book focuses on sets, presenting them in a categorical style (Chapters 2 and 3). Monoids, groups, graphs, orders, and databases are introduced in Chapter 4. These initial part of the book is a preparation to what follows. Chapter 5 introduces the formal definitions of category, functor, and natural transformation. Also, it discusses the notion of equivalence of categories, and proves that the category of small categories is equivalent to the category of database schemata, justifying the above mentioned analogy. Chapter 6 focuses on limits and colimits, expanding and generalising what already illustrated about sets; in the concluding part of the chapter, opposite categories, the category of elements, the notion of full subcategory, and comma categories are introduced. Finally, Chapter 7 describes adjunctions, stating their major properties, but leaving their proofs to other texts, mainly S. MacLane [Categories for the working mathematician. 2nd ed. Graduate Texts in Mathematics. 5. New York, NY: Springer (1998; Zbl 0906.18001)]. The chapter also discusses quantifiers as adjoints, and universal concepts in terms of adjoints. These ideas are concretely illustrated by discussing data migration between instances of database schemata connected by a functor. Also, Chapter 7 introduces categories of functors, the Yoneda’s lemma, and subobject classifiers on set-valued functors, using databases as the main exemplifying tool. Sheaves, monads, and a restricted version of operads are intuitively illustrated in the final pages of the chapter.

The general approach is to build first the intuition of a concept by means of a guiding example, then to show its formal definition, and to discuss it through examples and exercises, hinting at possible applications. The abundance of exercises, many of them aimed at exploring the concepts in concrete contexts, is a strong point of the book. Another major feature is the analogy between categories and databases, which comes from the research background of the author. As far as the text proceeds, this analogy becomes stricter and more precise, until a formal proof shows the categorical equivalence of small categories and database schemata. Since databases are, nowadays, a widespread tool in science and their knowledge is, more or less, a common ground for many researchers in very distant fields, this analogy provides a particularly good way to introduce in familiar terms many of the abstract constructions and concepts characterising category theory.

After the introduction (Chapter 1), the book focuses on sets, presenting them in a categorical style (Chapters 2 and 3). Monoids, groups, graphs, orders, and databases are introduced in Chapter 4. These initial part of the book is a preparation to what follows. Chapter 5 introduces the formal definitions of category, functor, and natural transformation. Also, it discusses the notion of equivalence of categories, and proves that the category of small categories is equivalent to the category of database schemata, justifying the above mentioned analogy. Chapter 6 focuses on limits and colimits, expanding and generalising what already illustrated about sets; in the concluding part of the chapter, opposite categories, the category of elements, the notion of full subcategory, and comma categories are introduced. Finally, Chapter 7 describes adjunctions, stating their major properties, but leaving their proofs to other texts, mainly S. MacLane [Categories for the working mathematician. 2nd ed. Graduate Texts in Mathematics. 5. New York, NY: Springer (1998; Zbl 0906.18001)]. The chapter also discusses quantifiers as adjoints, and universal concepts in terms of adjoints. These ideas are concretely illustrated by discussing data migration between instances of database schemata connected by a functor. Also, Chapter 7 introduces categories of functors, the Yoneda’s lemma, and subobject classifiers on set-valued functors, using databases as the main exemplifying tool. Sheaves, monads, and a restricted version of operads are intuitively illustrated in the final pages of the chapter.

Reviewer: Marco Benini (Buccinasco)