Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Species, structure and stuff Graduate Student Seminar, Carnegie Mellon University Tuesday 19th January 2016 Clive Newstead Abstract Species facilitate the abstract study of combinatorial structures, such as graphs and orderings. The operations of addition, multiplication, composition and differentiation of species allow for making new species from old. This can be exploited to count the number of structures on a set of a given size by simply manipulating power series. By weakening the notion of ‘structure’ to that of ‘stuff’, we can generalise species even further to obtain the notion of a ‘stuff type’. Species and stuff types are of interest to combinatorialists, logicians and topologists. Contents 1 Species and generating functions 1 2 Operations on species 3 3 Generating series 5 4 Property, structure and stuff* 8 A video recording of this talk is available to view at https://www.youtube.com/watch?v=fGsP62E91ng Please send comments and corrections to [email protected]. 1 Species and generating functions Let U be a finite set with n elements. There are many kinds of structure we can put on U , for example: • A (simple) graph structure on U is a set E ⊆ U (2) , where U (2) denotes the set of unordered pairs of elements of U ; we think of U as being the set of vertices and E as the set of edges of the graph. • A directed graph structure on U is a set E ⊆ U 2 — this is much like a graph structure, except the edges are now ordered pairs. • A tree structure on U is a graph structure on U with no cycles. Specifically, it’s a set E ⊆ U (2) with the additional property that, given distinct elements a, b ∈ U , there do not exist u0 , u1 , . . . , un with u0 = a and u1 = b and {ui , ui+1 } ∈ E for all i < n. • A linear order on U is (equivalent to) a bijection [n] → U ; • A permutation of U is a bijection U → U . • A group structure on U is a triple (e, i, m), where e ∈ U is the identity element, i : U → U is the inversion function, and m : U × U → U is the multiplication function, satisfying the usual group axioms. Note that all of the above structures satisfy the property that, if s is a structure on U and σ : U → V is a bijection, then σ induces a structure σ · s on V by essentially relabelling each u ∈ U by σ(u) ∈ V in the specification of the structure s. For example, let (U, E) be a graph and let σ : U → V be a bijection. We obtain a new graph (V, σ · E) defined by σ · E = {(σ(u), σ(u0 )) | (u, u0 ) ∈ E} As another example, given a linear order ` : [n] → U , we obtain a linear order σ · ` : [n] → V simply defined by σ · ` = σ ◦ `. These induced bijections are functorial, in the sense that: • idU · s = s for all structures s on U . σ τ • (τ ◦ σ) · s = τ · (σ · s) for all structures s on U and bijections U − →V − → W. The notion of species exploits this functorial property, allowing us to study their properties in an abstract setting. 1 Definition 1.1. A species is a rule F assigning to each finite set U a finite set F (U ), and to each bijection σ : U → V a bijection F (σ) : F (U ) → F (V ), such that • F (idU ) = idF (U ) for all U ; and σ τ • F (τ ◦ σ) = F (τ ) ◦ F (σ) for all bijections U − →V − → W. (A category theorist would say a species is an endofunctor on core(FinSet).) We can think of elements of F (U ) as structures on U , leading us to the notation σ · s = F (σ)(s). Example 1.2. Some examples of species are as follows: • The species Gra of simple graphs is defined by Gra(U ) = {(U, E) | E ⊆ U (2) } σ Gra(U − → V )(U, E) = (V, {{σ(u), σ(u0 )} | {u, u0 } ∈ E}) • The species Perm of permutations is defined by Perm(U ) = {(U, f ) | f : U → U bijection} σ Perm(U − → V )(f ) = σ ◦ f ◦ σ −1 • The species Lin of linear orders is defined by Lin(U ) = {(U, f ) | f : [n] → U bijection} σ Lin(U − → V )(f ) = σ ◦ f • The species E of sets is defined by E(U ) = {U } σ and E(U − → V )(U ) = V • The species X of singletons is defined by ( {U } if |U | = 1 X(U ) = ∅ otherwise • The species 1 of emptiness is defined by ( {U } if U = ∅ 1(U ) = ∅ otherwise • The empty species 0 is defined by 0(U ) = ∅ for all finite sets U ; and 0(σ) is simply the empty function for all bijections σ : U → V . 2 2 Operations on species Certain examples of combinatorial structures motivate the definition of various operations on species. Addition Given species F and G, the sum of F and G is the species F + G defined by ( F (σ)(s) if s ∈ F (U ) (F + G)(U ) = F (U ) t G(U ) and (F + G)(σ)(s) = G(σ)(s) if s ∈ G(U ) Intuitively, an (F + G)-structure on a set U is either an F -structure or a G-structure. (This intuition isn’t quite accurate; for example, an (F + F )-structure isn’t just an F structure, it’s either an F -structure ‘from the left F ’ or an F -structure ‘from the right F ’.) Example 2.1. Let E+ denote the species of non-empty sets, defined by ( {U } if U 6= ∅ E+ = ∅ if U = ∅ The fact that every set is either empty or non-empty will be expressed by the species equation 1 + E+ = E Multiplication Given species F and G, the product of F and G is the species F · G defined by G (F · G)(U ) = F (U1 ) × G(U2 ) (U1 ,U2 )∈Part(U ) where Part(U ) denotes the set of (ordered) partitions of U . Intuitively, an (F · G)-structure is defined by partitioning U into two sets U1 and U2 , endowing U1 with an F -structure, and endowing U2 with a G-structure. Example 2.2. A derangement of a set U is a permutation of U with no fixed points. An arbitrary permutation σ of a finite set U can be specified by first choosing a set U1 of elements to be fixed by σ, and then choosing a derangement of the set U2 = U \ U1 . This fact can be expressed by the species equation Perm = E · Der 3 With addition and multiplication under our belt, we can now describe more complicated species. Example 2.3. A finite set U is either empty, or can be linearly ordered by choosing a least element and a linear ordering of the remaining elements. Thus a linearly ordered set either. . . • . . . is empty, i.e. has a 1-structure; or • . . . can be partitioned as (U1 , U2 ), where U1 is a singleton (i.e. has an X-structure) and U2 is linearly ordered. This can be expressed by the species equation Lin = 1 + X · Lin Composition It is often useful to consider a species F as being substituted into a species G. For example, a hedge is a list of trees, a graph is a set of connected graphs, and so on. Thus, given species F and G, their composite is the species G ◦ F defined by (G ◦ F )(U ) = (P, (sV : V ∈ P ), t) where • P is a partition of U ; and • sV is an F -structure on V for each V ∈ P ; and • t is a G-structure on the elements of the partition P . Intuitively, a (G ◦ F )-structure of U is a G-structure of F -structures on U : we partition U into a bunch of F -structures, and assign a G structure to the new set of F -structures. Example 2.4. The fact that a graph is a set of connected graphs can be expressed by the species equation Gra = E ◦ CGra Example 2.5. Let U be a finite set and let f : U → U be any endofunction. An element c ∈ U is cyclic if f k (c) = c for some k > 0. Since U is finite, given any u ∈ U there is some k ≥ 0 such that f k (u) is cyclic; let k(u) be the least such value of k, e.g. k(c) = 0 for all cyclic c ∈ U . Each cyclic c ∈ U is thus the root of a tree Tc , whose vertex set is Vc = {u ∈ U | f k(u) (u) = c} and whose edges are {u, f (u)} for all u ∈ Vc \ {c}. There is then a natural identification between f and the permutation of the set {Tc | c ∈ U cyclic}. 4 This shows that the species of endofunctions is equivalent to the species of permutations of rooted trees; we denote this by the species equation Perm ◦ RTree = End The following example combines all three operations we’ve seen so far. Example 2.6. A finite set U is either empty, or can be given the structure of a rooted tree by choosing a root and a set of sub-rooted-trees, such that the root of the big tree has edges to the roots of the sub-trees. Thus a rooted tree either. . . • . . . is empty, i.e. has a 1-structure; or • . . . can be partitioned as (U1 , U2 ), where U1 is a singleton (i.e. has an X-structure) and U2 is a set of rooted trees (i.e. has an (E ◦ RTree)-structure. This can be expressed by the species equation RTree = 1 + X · (E ◦ RTree) Differentiation, pointing, cross product, . . . There are more interesting operations on species; unfortunately this talk doesn’t permit enough time to go into them, but please see the references listed at the end of these notes! 3 Generating series Associated with each species F is a formal power series F (x). Definition 3.1. Let F be a species. The generating series of F is defined by F (x) = X n≥0 fn xn n! where fn = |F ([n])| is the number of F -structures on [n] (and hence on any set of size n). Before you get too excited, note that it is not the case that F (x) = G(x) ⇒ F = G, as illustrated by the following example: 5 Example 3.2. Perm(x) = Lin(x). To see this note that for all n ≥ 0 we have Perm([n]) = Lin([n]) = {f : [n] → [n] | f bijective} So Permn = Linn = n! for all n ≥ 0. Having been cautioned, we can continue to look at some other examples. Example 3.3. • We just saw that Permn = Linn = n! for all n ≥ 0. Hence Perm(x) = Lin(x) = X n≥0 n! xn X n 1 x = = n! 1−x n≥0 • Each set has exactly one set structure, hence En = 1 for all n ≥ 0. This proves that E(x) = X xn n≥0 n! = ex • Only sets of size 1 have the structure of a singleton, hence X1 = 1 and Xn = 0 for all n 6= 1. Thus x x x2 X(x) = 0 · + 1 · + 0 · + ··· = x 0! 1! 2! • The power set species is defined by P(U ) = {(V, U ) | V ⊆ U } So Pn = |P([n])| = 2n for all n ≥ 0. This proves that P(x) = X 2n n≥0 xn X (2x)n = = e2x n! n! n≥0 Theorem 3.4. Let F and G be species. Then (a) (F + G)(x) = F (x) + G(x); (b) (F · G)(x) = F (x)G(x); (c) (G ◦ F )(x) = G(F (x)). This theorem allows us to count the number of structures of a given kind 6 Example 3.5. We saw earlier that Perm = E · Der. This proves that Perm(x) = E(x)Der(x) −x 1 e Hence 1−x = ex Der(x), so Der(x) = 1−x . By examining the power series expansion of e−x 1 − x, we can find the number of derangements of a set of size n. Example 3.6. We saw the species equation Lin = 1 + X · Lin, so that Lin(x) = 1 + xLin(x). Rearranging gives X xn X 1 n! xn = Lin(x) = = 1−x n! n≥0 n≥0 This provides a proof that there are n! linear orderings on a set of size n, without resorting to elementary counting arguments. Theorem 3.7 (Cayley’s formula). The number of trees on a set with n elements is nn−2 . Proof. We’ll first prove that Lin◦RTree = BiRTree. The former species is the species of linearly ordered sets of trees, and the latter species is the species of birooted trees, i.e. trees with two distinguished vertices (the ‘head’ and the ‘tail’). The natural correspondence is given as follows: • Given a linearly ordered collection (T1 , T2 , . . . , Tn ) of rooted trees, we obtain a new tree T whose edges are those of the Ti , together with an edge joining the root of Ti with the root of Ti+1 . The root of T1 is chosen to be the head, and the root of Tn is chosen to be the tail. • Given a tree T with a head h and a tail t, there is a unique path h = u0 → u1 → · · · → un = t from h to t in T . Sprouting from each ui is a sub-tree Ti with root ui . We thus obtain a sequence (T1 , T2 , . . . , Tn ) of rooted trees. We’ve already seen that Lin(x) = Perm(x), and hence (Lin ◦ RTree)(x) = (Perm ◦ RTree)(x) Example 2.5 showed that Perm ◦ RTree = End. Putting this all together, we see that End(x) = (Perm ◦ RTree)(x) = (Lin ◦ RTree)(x) = BiRTree(x) Hence End(x) = (BiRTree)(x). This proves that nn = Endn = BiRTreen = n2 Treen , and hence Treen = nn−2 as required. 7 4 Property, structure and stuff* This section didn’t make it to the actual talk, and requires some familiarity with basic notions in category theory. Logicians, and especially category theorists, like to distinguish between a property of a mathematical object, and a structure on a mathematical object. One can even go further and talk about a stuff on a mathematical object. Intuitively, • A property of an object C is something which is either true or false of C—it is something that can only happen in exactly one way. • A structure on an object C is something which is chosen in addition to C, and may be chosen in more than one way, but which nonetheless preserves the C-ness of C. • A stuff on an object C is something which is chosen in addition to C, and may or may not be related to C. The following definitions make this more formal. Definition 4.1. C and D are categories and U : D → C is a functor, then. . . • A D-object is a C-object with extra properties if U is full and faithful, i.e. if U induces a bijection D(A, B) ∼ = C(U A, U B); • A D-object is a C-object with extra structure if U is faithful, i.e. if U induces an injection D(A, B) → C(U A, U B); • A D-object is a C-object with extra stuff regardless. Example 4.2. The forgetful functor U : AbGp → Groups is full and faithful. Indeed, given any two abelian groups G, H, the abelian group homomorphisms from G to H are precisely the group homomorphisms from G to H. This shows that abelian groups are groups with a property. Example 4.3. The functor U : Graphs → Sets that sends a graph (V, E) to its vertex set V is full, since any two graph homomorphisms (V, E) → (V 0 , E 0 ) are induced by their map on vertices. However, U is not full, for example the (unique) function f : {1, 2} → {1} does not induce a graph homomorphism ({1, 2}, {{1, 2}}) → ({1}, ∅). This shows that graphs are sets with a structure, but not merely sets with a property. 8 Example 4.4. The functor U : Sets × Sets → Sets acting as the first projection is not faithful. To see this, note that the induced map Sets × Sets((N, N), (N, N)) → Sets(N, N) sending (f, g) 7→ f is not injective, since idN is in the image of (idN , f ) for any f : N → N. This shows that pairs of sets are not sets with structure, and certainly not sets with a property; they are sets with a stuff. Recall that a species is a functor F : B → B, where B is the category of finite sets and bijections. Weakening this notion to be a functor F : B → Sets, the Grothendieck construction yields an equivalent description of a species F as a faithful functor G → Sets, where G is some groupoid. Going backwards and removing this requirement of faithfulness, the Grothendieck construction yields that an arbitrary functor G → Sets, where G is a groupoid, is equivalent to a functor B → Gpds from the category of finite sets and bijections to the category of small groupoids and functors. We obtain the following definition. Definition 4.5. A stuff type is a functor F : B → Gpd. That is, to each finite set U we assign a groupoid F (U ), and to each bijection σ : U → V we assign a groupoid isomorphism F (σ) : F (U ) → F (V ). Our theory of generating functions now also generalises provided we take the groupoid cardinality of F ([n]) instead of its set cardinality (which coincide when F ([n]) is a set). Definition 4.6. Let G be a groupoid. The groupoid cardinality of G, denoted |G| is the element of [0, ∞] defined by X 1 |AutG (g)| [g]∈π0 (G) where π0 (G) is the set of connected components of G. Note that when G = X is a set, this becomes X1 = |X| 1 x∈X and therefore coincides with the usual notion of cardinality. This assigns combinatorial meaning to arbitrary power series of the form an ≥ 0 for all n ≥ 0. 9 P n n≥0 an x , provided