Cover; Half-title page; Title page; Copyright page; Dedication; Contents; Preface; 1 Generative Effects: Orders and Galois Connections; 1.1 More Than the Sum of Their Parts; 1.2 What is Order?; 1.3 Meets and Joins; 1.4 Galois Connections; 1.5 Summary and Further Reading; 2 Resource Theories: Monoidal Preorders and Enrichment; 2.1 Getting from a to b; 2.2 Symmetric Monoidal Preorders; 2.3 Enrichment; 2.4 Constructions on V-Categories; 2.5 Computing Presented V-Categories with Matrix Multiplication; 2.6 Summary and Further Reading; 3 Databases: Categories, Functors, and Universal Constructions
3.1 What is a Database?3.2 Categories; 3.3 Functors, Natural Transformations, and Databases; 3.4 Adjunctions and Data Migration; 3.5 Bonus: An Introduction to Limits and Colimits; 3.6 Summary and Further Reading; 4 Collaborative Design: Profunctors, Categorification, and Monoidal Categories; 4.1 Can We Build It?; 4.2 Enriched Profunctors; 4.3 Categories of Profunctors; 4.4 Categorification; 4.5 Profunctors Form a Compact Closed Category; 4.6 Summary and Further Reading; 5 Signal Flow graphs: Props, Presentations, and Proofs; 5.1 Comparing Systems as Interacting Signal Processors
5.2 Props and Presentations5.3 Simplified Signal Flow Graphs; 5.4 Graphical Linear Algebra; 5.5 Summary and Further Reading; 6 Electric Circuits: Hypergraph categories and Operads; 6.1 The Ubiquity of Network Languages; 6.2 Colimits and Connection; 6.3 Hypergraph Categories; 6.4 Decorated Cospans; 6.5 Operads and Their Algebras; 6.6 Summary and Further Reading; 7 Logic of Behavior: Sheaves, Toposes, and Internal Languages; 7.1 How Can We Prove Our Machine is Safe?; 7.2 The Category Set as an Exemplar Topos; 7.3 Sheaves; 7.4 Toposes; 7.5 A Topos of Behavior Types
7.6 Summary and Further ReadingAppendix: Exercise Solutions; A.1 Solutions for Chapter 1; A.2 Solutions for Chapter 2; A.3 Solutions for Chapter 3; A.4 Solutions for Chapter 4; A.5 Solutions for Chapter 5; A.6 Solutions for Chapter 6; A.7 Solutions for Chapter 7; References; Index
0
8
8
8
Category theory is unmatched in its ability to organize and layer abstractions and to find commonalities between structures of all sorts. No longer the exclusive preserve of pure mathematicians, it is now proving itself to be a powerful tool in science, informatics, and industry. By facilitating communication between communities and building rigorous bridges between disparate worlds, applied category theory has the potential to be a major organizing force. This book offers a self-contained tour of applied category theory. Each chapter follows a single thread motivated by a real-world application and discussed with category-theoretic tools. We see data migration as an adjoint functor, electrical circuits in terms of monoidal categories and operads, and collaborative design via enriched profunctors. All the relevant category theory, from simple to sophisticated, is introduced in an accessible way with many examples and exercises, making this an ideal guide even for those without experience of university-level mathematics.