Langage et concepts catégoriques pour les mathématiques et l’informatique
This is a wiki for a course at the MSTII "École doctorale" of Grenoble.
Students are encouraged to participate by extending the wiki, adding proofs, corrections for exercices etc. To be able to modify the wiki, you need to register (upper right corner). Please use your real name...
Sommaire
News
Courses are on wednesdays morning, 9'00 to 12'00 in room F218 at the "UFR IMAG".
- first course on the 25th of February: categories, functors, natural transformations.
- March 4. : monads, adjunctions.
- March 11. : limits and colimits.
Basic Concepts
Categories
Definition. A concrete category is given by:
- a collection of sets with structure,
- for any pair of such sets, a set of morphisms preserving the structure.
Morphisms should compose, and the identity should be a morphism.
This definition is a little informal, but here are some examples:
- Grp: groups and group morphisms
- Top: topological spaces and continuous functions
- Ring: rings and rings morphisms
- Vect: vectors spaces and linear maps
- CPO: CPOs and continuous functions
- ...
- Set: sets and functions (ie sets with no structures, and arbitrary functions)
Generalizing the definition, we obtain the official definition of category:
Definition. A category is given by:
- a collection of objects, (notation: )
- for each pair of objects, a collection of morphisms from to , (notation )
- for any object , a special morphism
- for all objects , a composition ,
such that:
- whenever it makes sense.
All concrete categories are categories, and here are some examples that are not obviously concrete:
- Graph: graphs and graph morphisms
- Rel: sets and relations
- Set×Set: pairs of sets, pairs of functions
- Set: opposite of Set
- P, whenever (P,<) is a preorder (at most one morphism between objects)
- M, whenever (M,e,×) is a monoid (a single object)
We sometimes write instead of .
In a given category , there are analogues of the notions of injective and surjective functions in Set. We will see that on concrete categories, they are actually slightly more general. The idea of injectivity gives rise to monomorphisms, and surjectivity gives rise to epimorphisms.
Definition.
A morphism is a monomorphism iff for all object and morphisms , we have implies .
The morphism is an epimorphism when it is a monomorphism in . Explicitly, when for all object and morphisms , we have implies .
isomorphism
Exercice
- Prove that in Set, epic is equivalent to surjective and monic is equivalent to injective.
- Prove the same thing in Ab, the category of commutative groups. (One thing is not obvious.)
- Prove the same thing in Grp, the category of (non necessarily commutative) groups. (One thing is not obvious at all.)
- Prove that is an epimorphism in the category of rings with multiplicative neutral. (Note that it is not surjective.)
- In Set, we saw that f is a monic iff , where 1 is any singleton set. Can you find a set C such that f is epic iff ?
- In Group, can you find an object playing a role similar to 1, ie a group G s.t. f is monic iff . (We saw that we cannot use the singleton group ({e},e,×) to do that...)
Functors
Informally, a functor is a map between two categories which somehow preserves the structure of categories (namely, composition).
Definition. A functor from a category to a category , noted , is given by:
- a map which sends every object of to an object in , and
- a map which sends every morphism in , to a morphism in ,
such that:
- preserves identities, i.e., , and
- preserves composition: .
Exercice
- Take a functor , three morphisms in , and , , . When , can we say something interesting about , and ?
- Do functors preserve monomorphisms? Do functors preserve epimorphisms?
- Let F be a functor and F(f) = g, if g is a mono (resp. epi), is f a mono (resp. epi)?
If not, try to find some simple and natural condition on the functor to make that true.
Answer
- No, since and may not even compose! This is the case when has type , and , with collapsing and (i.e., ).
- Functors in general do not preserve mono- nor epimorphisms. We build a counter-example for monomorphisms. Let be the category with two objects and , and exactly one morphism . This is a preorder, so is monic. Now take with two objects and , exactly one morphism , and one extra morphism , different from the identity. Because of , yet , is not monic in . The functor which sends to , to and in to in , does not preserve monomorphisms.
- In general, the answer is (again) no. For monos, take for example the functor which sends to the identity. Yet, when is faithful, then is monic (or epic).
Definition. A functor is faithful when, for any two morphisms , implies ( is injective on morphisms).
Definition. A functor is full when, for any two objects , if is a morphism , then there exists with ( is surjective on morphisms).
Exercice
Find an "interesting" functor from Set to Group.
Answer Let be the functor which sends:
- every set to the free group generated by , and
- every function to a group morphism defined by: .
Exercice
If is a locally small category and A one of its objects, let . Show that this operation from objects of to sets can be extended into a contravariant functor to Set.
Answer Let be a morphism in , then is expected to be a function from the set to the set . We can take, for any morphism : .
This extends to a contravariant functor, since and .
Natural Transformations
Definition. Let and be two functors . A natural transformation from to is given by:
- a morphism in for every object in ,
- such that, for any morphism , we have .
Exercice
If is the set of permutation of a (finite) set X; and the set of its linear orderings, we have where . Thus, there is a bijection (iso in Set) between P(X) and L(X).
- Show that we can extend P and L to functors from B to Set, where B is the category of finite sets and bijections,
- Show that there can be no natural transformation from P to L,
- Conclude that there is no natural isomorphism between P and L.
Adjunctions and Monads
2-categories and their diagrammatic calculus
This part is just to make the definitions of monads and adjunctions easier: we do not give the full details, and only intend to provide a few intuitions.
Definition. A 2-category is like a category: it has objects and morphisms between them. But it also has 2-cells, which are 'morphisms between morphisms':
These 2-cells must compose vertically and horizontally, satisfying the interchange law:
There is a more comfortable representation than the '2-diagrams' above.
In pictures:
In words, the idea is to consider:
- objects as background colors,
- morphisms as vertical frontiers between them, and
- 2-cells as labelled dots.
Then, both compositions correspond to horizontal and vertical juxtaposition, respectively. For example, the interchange law corresponds to the two ways of parsing:
There are technical subtleties hidden behind this nice diagrammatic calculus, but we will stick to bare intuitions for now.
Cat as a 2-category
The prime example of a 2-category is of course Cat, the category of (small) categories. It has:
- objects: small categories,
- morphisms: functors,
- 2-cells: natural transformations.
Vertical composition of 2-cells is the obvious notion of composition of natural transformations.
Define the horizontal composition:
byor equivalently
The two coincide by naturality. Observe that what we have actually done is:
- define whiskering, i.e., composing with an identity, both to the left and to the right, and
- observe that the two ways of defining horizontal composition from whiskering coincide.
This yields an equivalent definition of 2-categories.
Monads
- Free constructions in algebra: monoid, group, etc
- Definition of a monad
- Eilenberg-Moore's category of algebras
- Kleisli's category of free algebras
- The category of resolutions of a monad
Adjunctions
- Definition with
- Definition with hom-sets
- Definition with and
- Adjunctions in a 2-category
Other basic examples
- Discussion: any syntax defines the free something
- The issue of variable binding.
- Adjunction between partial orders = Galois connection
- and in logic
- Sets/graphs and categories
Properties
- Composition
- Preservation of limits/colimits
- Freyd's existence theorem, the locally presentable case
- Beck's monadicity theorem
Limits and Colimits
Limits
Example. Cartesian product.
Definition. Binary product.
Theorem. The product of X and Y, if it exists, is unique up to isomorphism. (with proof)
Examples. Set, Grp, Ab, Part.
Examples. Preorder, Subset(E), Prop with entailment.
Definition. Diagram. Cone. Limit.
Example. Limits in Set.
Examples. Shape of diagrams for products, pullbacks, equalizers.
Example. Monos as pullbacks.
Theorem. The limit of a diagram d, if it exists, is unique up to isomorphism.
Theorem. A category with "all" products and equalizers has "all" limits.
Theorem. A category with a terminal object and all binary products and all equalizers has all finite limits.
Colimits
Definition. Cocone. Colimit.
Examples. Sums in Set, Grp, Ab.
Examples. Shape of diagrams for sums, initial objects, pushouts, coequalizers.
Example. Epis as pushouts.
Theorem. The colimit of a diagram d, if it exists, is unique up to isomorphism.
Example. The most general unifier (of two terms) is a coequalizer in the "category of substitutions".
Theorem. A category with "all" sums and coequalizers has "all" colimits.
Theorem. A category with an initial object and all binary sums and all coequalizers has all finite colimits.
Limits, colimits and adjunctions
Theorem. A right adjoint preserves limits. A left adjoint preserves colimits. (with proof of existence)
Example. The adjunction between Set and Grp
Sums and products
A category is distributive if the canonical map from AxB+AxC to Ax(B+C) is an isomorphism.
A category is extensive if the canonical functor + from C/A x C/B to C/(A+B) is an equivalence.
Example. "if..then..else.." from B=1+1 and extensivity.
Monoidal categories
Definition and graphical calculus
- Definition
- Graphical calculus
- The 2-category of monoidal categories, strong monoidal functors, and monoidal transformations
- Coherence and its many definitions
From planar to symmetric monoidal categories
A teaser for the whole enchilada of variations on monoidal structure.
- Braided
- Balanced
- Symmetric
- Compact closed
- Traced monoidal categories and the Int/GoI construction
Monoidal categories for linear logic
- Linear logic
- Sequent calculus
- Intuitionnistic variant
- Proof nets
- Symmetric monoidal closed categories
- Star-autonomous categories
- Symmetric monoidal closed category with a dualising object
- Symmetric monoidal category with:
- a full and faithful contravariant endofunctor , and
- an isomorphism
- Trimble-Hughes' free star-autonomous category
- Split star-autonomy
- The free star-autonomous category as a category of proof nets
- Trimble rewiring
Perspectives
- Premonoidal categories and side effects
- Products and coproducts
- Monoidal 2-categories, monoidal double categories.
Presheaves and sheaves
Yoneda
- A few presheaf categories :
- is a graph (no composition): graphs.
- is a preorder: Kripke-style modal logic.
- is an order: presheaves on a topological space.
- is free: presheaves on an algebraic theory.
- Representable presheaves , and their meaning in each of the examples.
- The Yoneda lemma: for any object of , and presheaf , there is an isomorphism
natural in and .
- A consequence: is a 'full embedding', or how is a full subcategory of .
- Presheaves as a colimit completion
- The Grothendieck construction, or the category of elements of a presehaf.
- Example: graphs.
- Every presheaf is a colimit of representables.
- Example: graphs.
- The universal property of .
Topos structure
- Limits and colimits in functor categories.
- Exponentials. If it exists, the exponential must satisfy, for any object of :
Taking this as a definition indeed yields an exponential.
- Computation of the exponential in Gph.
- The very special presheaf .
- The isomorphism
- The official definition of a subobject classifier and a topos.
Sheaves
- Sheaves on a space, a few examples and counterexamples:
- functions,
- continuous functions,
- bounded functions.
- The construction and its convergence in two steps. The counterexample of constant presheaves.
- Sheaves on a site. Example of sheaves for the dense topology on an algebraic theory and its coincidence with the double negation topology.
Sketches (esquisses)
Linear sketches
"A linear sketch is a generator for a category"
Examples. Linear sketch for graphs, for sets, for a split mono-epi.
Definition. A linear sketch is a graph with some potential idenitites and composed arrows
Definition. The category of models of a linear sketch S in a category C, Mod(S,C), or Mod(S) when C is Set.
Note. The set-valued models of S are the presheaves over F(S)^op
Theorem. A linear sketch has a terminal model, made of singletons, and an initial model, made of empty sets.
Definition. The category of linear sketches LinearSk and the underlying functor U:Cat->LinearSk
Theorem. There is a left adjoint to U, F:LinearSk->Cat. F(S) is the category generated by S
Example. "Implementation of Bool by Nat" : fractions of morphisms of linear sketches
Definition. The Yoneda contravariant model of S with values in Mod(S)
Limit sketches
"A limit sketch is a generator for a category with limits"
Examples. Limit sketch for monoids, "for naturals".
Definition. A limit sketch is a linear sketch with some potential limits
Definition. The category of models of a limit sketch S in a category C, Mod(S,C), or Mod(S) when C is Set.
Theorem. A limit sketch has a terminal model, made of singletons, and an initial model, made of the closed terms.
Definition. The category of limit sketches LimSk and the underlying functor U:LimCat->LimSk
Theorem. There is a left adjoint to U, F:LimSk->LimCat. F(S) is the category with chosen limits generated by S
Theorem. There is still a Yoneda contravariant model of S with values in Mod(S)
Sketches
"A sketch is a generator for a category with limits and colimits"
Example. Sketch for fields.
Definition. A sketch is a limit sketch with some potential colimits
Definition. The category of models of a sketch S in a category C, Mod(S,C), or Mod(S) when C is Set.
Note. A sketch has no terminal model and no initial model, in general.
Theorem. [Guitart-Lair] A sketch with only discrete potential colimits has an initial family of models.
Definition. The category of sketches LimSk and the underlying functor U:LimColimCat->Sk
Theorem. There is a left adjoint to U, F:Sk->LimColimCat. F(S) is the category with chosen limits and colimits generated by S
Remark. The proof of this theorem (and the previous similar ones) can be done by first constructing a limit sketch E1 for Sk, a limit sketch E2 for LimColimCat, and a morphism of limit sketches P:E1->E2, and then applying Ehresmann's theorem below, which is a fundadmental theorem about limit sketches.
Theorem. [Ehresmann]. For each morphism of limit sketches P:E1->E2 there is an adjunction (F,U) where U:Mod(E2)->Mod(E1) is the composition by P.
Note. There is no Yoneda contravariant model of S with values in Mod(S)
Sketches and logic
"A sketch is an alternative to a logical theory"
From the point of view of (set-valued) models:
finite products sketches <-> equational logic
finite limits sketches <-> a logic strictly more expressive than the logic of universal Horn theories
sketches <-> first order logic
Generalization of sketches to higher order logic?
Course Complements, references
One of the best books about category theory is
- Saunder MacLane, "Categories for the Working Mathematician".
It is a little "dry", in the sense that learning categories from it is not the easiest task on earth, but it still is one of the best references.
I haven't really read it carefully, but here is what Wikipedia has to say on category theory.