A course on combinatorial species
Combinatorial species provide a categorical foundation for enumerative combinatorics. Nowadays they find application in combinatorics, algebra and logic (where they provide an axiomatisation for the notion of algebraic theory à la Lawvere), algebraic topology (where they provide a foundation for the theory of operads), computer science (containers, etc.) and many other areas of pure Mathematics.
Combinatorial species are a true mathematical gem; they elegantly tie together a disparate variety of objects naturally arising in everyday mathematical practice.
Combinatorial species were invented by A. Joyal.
- Joyal, André. Une théorie combinatoire des séries formelles. Advances in mathematics 42.1 (1981): 1-82.
- Joyal, André. Foncteurs analytiques et especes de structures. Combinatoire énumérative. Springer, Berlin, Heidelberg, 1986. 126-159.
After that, entire books have been written on the topic: among these, we will often refer to two
- The red book: Bergeron, François, et al. Combinatorial species and tree-like structures. No. 67. Cambridge University Press, 1998.
- The big book: Aguiar, Marcelo, and Swapneel Arvind Mahajan. Monoidal functors, species and Hopf algebras. Vol. 29. Providence, RI: American Mathematical Society, 2010.
(Yes, I will refer them as “red” and “big” in the following).
This website is the logbook of a reading seminar running at taltech. Its focus is not on rigor or completeness. Its style is idiosyncratic. Its purpose is to collect pointers to the -quite vast- literature on species (while tickling my nitpickery). I started drafting this roadmap during the Fall semester of 2021; since then, taltech became an even bigger hub for young category theorists, so time it ripe to popularize the beautiful, beautiful theory of species and operads!
Feel free to reach out with questions or point out references that I might have missed.
Motivation: on the tension between algebraic and bijective proofs
In the words of R. Stanley, the basic problem of enumerative combinatorics is that of counting the number of elements of a finite set.
Preliminaries: finite sets, convolution
The category $\bf Fin$ has objects the finite sets and morphisms all functions; a skeleton of $\bf Fin$ is the category whose objects are sets $[n]={1,\dots,n}$ for $n\ge 0$ (with the convention that $[0]=\varnothing$), and morphisms are functions $f : [n] \to [m]$.
Introduction: The category B and species
The fundamental object of study of the theory of combinatorial species is the category $\bf B$ of finite sets and bijections, and its presheaf category $[{\bf B}^\text{op}, {\bf Set}]$. (Note: since a groupoid is a self-dual category, there is not much difference between $[{\bf B}^\text{op}, {\bf Set}]$ and $[{\bf B}, {\bf Set}]$, but we will usually speak about the second...
Multiplication: Monoidal Structures on B
A fundamental tenet of categorical combinatorics is that the richness of the objects it tries to study (“combinatorial objects”, broadly intended) comes from the synergy between many different structures one can equip the categories meant to describe said combinatorial objects.
Computation: some explicit combinatorial identities
We have seen that to a combinatorial species we can associate at least two important invariants “quantities”, i.e. two formal power series from which we can deduce properties of the species. If $|X_n|$ denotes the cardinality of a set, and $F : {\bf B} \to {\bf Set}$ is a combinatorial species,
Representation: species and analytic functors
This chapter embarks on a more category-theoretic study of species. Every species has a canonical decomposition as an infinite sum $f_0 + f_1 + f_2 + \dots$ and it gives rise to an endofunctor $\bar F $ of $\bf Set$ that admits a “Taylor expansion”. Such functors are called analytic, and they can be characterised intrinsically as the finitary endofunctors...
Application: a theorem on trees
Cayley, Arthur. “A theorem on trees.” Quart. J. Math. 23 (1889): 376-378.
Application: species in functional programming
One of the many ways of formally describing a programming language is via denotational semantics, in which a term $T$ of type $\tau$ is represented by a mathematical object $\llbracket T \rrbracket \in \llbracket\tau\rrbracket$ (its denotation), where $\llbracket\tau\rrbracket$ is a domain, a certain kind of structured set. Terms of type $\sigma\to\tau$ are then interpreted as suitable functions $\llbracket\sigma\rrbracket\to\llbracket\tau\rrbracket$ between domains.1...
Generalization: species-like structures
There is a vast array of generalizations of the concept of species, that we now survey. Most of the theory developed so far applies to these general contexts as well, with due care about details (for example, it is not very easy to define the substitution product for colored species).
Operads: first contact
An operad is a monoid for the substitution product discussed in lecture 3. As such, “the theory of operads” is the study of the category $\mathbf{Opd}={\bf Mon}({\bf Spc},\circ)$; but things are never as simple as they seem…