Théorie des catégories

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Catégorie (mathématiques))
Une catégorie très simple, constituée de deux objets a et b et (outre les identités de ces deux objets) d'une flèche, de a vers b.

La théorie des catégories est l'étude des structures mathématiques et de leurs relations. Ce domaine rend compte de l'abondance de caractéristiques partagées par diverses classes liées à des structures mathématiques. Les catégories sont utilisées dans plusieurs branches des mathématiques et dans certains secteurs de l'informatique théorique et de la physique théorique. Elles forment une notion unificatrice. « La théorie des catégories commence avec l'observation que de nombreuses propriétés des systèmes mathématiques peuvent être unifiées et simplifiées par des dessins avec des flèches[1]. »

Histoire[modifier | modifier le code]

Cette théorie a été mise en place par Samuel Eilenberg et Saunders Mac Lane en 1942-1945, en lien avec la topologie algébrique, et propagée dans les années 1960-1970 en France par Alexandre Grothendieck, qui en a fait une étude systématique. À la suite des travaux de William Lawvere, la théorie des catégories est utilisée depuis 1969 pour définir la logique et la théorie des ensembles ; la théorie des catégories peut donc, comme la théorie des ensembles ou la théorie des types, avec laquelle elle a des similarités, être considérée comme fondement des mathématiques[2].

Éléments de base[modifier | modifier le code]

Morphismes[modifier | modifier le code]

Voici un exemple. La classe Grp des groupes comprend tous les objets ayant une « structure de groupe ». Plus précisément, Grp comprend tous les ensembles G munis d'une opération interne qui satisfait les axiomes d'associativité, inversibilité et de l'élément neutre. Des théorèmes peuvent ainsi être prouvés en effectuant des déductions logiques à partir de ces axiomes. Par exemple, ils apportent la preuve directe que l'élément neutre d'un groupe est unique.

Au lieu d'étudier les objets (par exemple les groupes) qui possèdent une structure donnée, comme les théories mathématiques l'ont toujours fait, la théorie des catégories met l'accent sur les morphismes et les processus qui préservent la structure entre deux objets. Il apparaît qu'en étudiant ces morphismes, l'on est capable d'en apprendre plus sur la structure des objets.

Dans notre exemple, les morphismes étudiés sont les morphismes de groupes, à savoir toute application d'un groupe dans un groupe vérifiant : . L'étude des morphismes de groupes fournit un outil pour étudier les propriétés générales des groupes et les conséquences des axiomes relatifs aux groupes.

Il en est de même dans de nombreuses théories mathématiques, où l'on peut définir une classe d'objets ainsi que des applications particulières entre ces objets vérifiant certaines propriétés. Un autre exemple de catégorie est donnée par la classe des espaces vectoriels, les morphismes étant les applications linéaires. Un dernier exemple est donné par la classe des espaces topologiques, les morphismes étant les applications continues. Ainsi, une catégorie est une formulation axiomatique qui relie des structures mathématiques aux fonctions qui les préservent. Une étude systématique des catégories permet de prouver des résultats généraux à partir des axiomes d'une catégorie.

Foncteurs[modifier | modifier le code]

Une catégorie est elle-même un type de structure mathématique. Si l'on dispose de deux catégories et , il est parfois possible de définir une correspondance entre la première catégorie et la deuxième, associant à chaque objet (respectivement chaque morphisme) de la première catégorie un objet (respectivement un morphisme) de la deuxième, tout en préservant la structure de catégorie. De telles correspondances sont appelées foncteurs.

Si l'on se restreint aux petites catégories (c'est-à-dire aux catégories dont les classes d'objets et de morphismes sont des ensembles), on définit ainsi la catégorie des petites catégories Cat : ses objets sont les petites catégories, et ses morphismes sont les foncteurs.

Cette idée fondamentale de relier une classe d'objets à une autre apparut d'abord en topologie algébrique : certains problèmes topologiques complexes peuvent être traduits en questions algébriques, qui sont souvent plus faciles à résoudre. Ainsi, on peut définir un foncteur de la catégorie des espaces topologiques dans la catégorie des groupes, qui, à un espace topologique, associe son groupe fondamental. Toute propriété topologique de la première catégorie pourra se traduire par une propriété algébrique dans la deuxième catégorie et inversement.

Transformations naturelles[modifier | modifier le code]

Par un nouvel effort d'abstraction, les foncteurs sont souvent « reliés naturellement ». C'est pourquoi l'on définit le concept de transformation naturelle, qui est une manière d'envoyer un foncteur sur un foncteur. Alors que le foncteur est un morphisme de morphismes, la transformation naturelle est un morphisme de morphismes de morphismes.[pas clair] On peut ainsi étudier de nombreuses constructions mathématiques. La « naturalité » est un principe plus profond qu'il n'en a l'air au premier regard. Saunders Mac Lane, coinventeur de la théorie des catégories, a ainsi déclaré : « je n'ai pas inventé les catégories pour étudier les foncteurs ; je les ai inventées pour étudier les transformations naturelles ».

Par exemple, il existe un isomorphisme entre un espace vectoriel de dimension finie et son espace dual, mais cet isomorphisme n'est pas « naturel », dans le sens où sa définition requiert d'avoir choisi une base, dont elle dépend étroitement. En revanche, il existe un isomorphisme naturel entre un espace vectoriel de dimension finie et son espace bidual (le dual de son dual), c'est-à-dire en l'occurrence indépendant de la base choisie. Cet exemple est, historiquement, le premier formulé dans l'article fondateur de Samuel Eilenberg et Saunders Mac Lane en 1945.

Autre exemple : il existe plusieurs manières de relier par divers foncteurs les espaces topologiques à la théorie des groupes : homologie, cohomologie, homotopie… L'étude des transformations naturelles permet d'examiner comment ces foncteurs sont eux-mêmes reliés les uns aux autres.

Définitions[modifier | modifier le code]

Composition des morphismes.
Associativité de la composition[f(gh)=(fg)h]

Catégorie[modifier | modifier le code]

Une catégorie , dans le langage de la théorie des classes, est la donnée de six éléments[3] :

  • une classe dont les éléments sont appelés objets (les objets de la catégorie) ;
  • une classe dont les éléments sont appelés morphismes ou flèches (les morphismes ou les flèches de la catégorie) ;
  • deux « applications » de dans (au sens de la théorie des classes, c'est-à-dire que leurs « graphes » peuvent être des classes propres), appelées source et but ; f : AB signifie que f est un morphisme « de A dans B » (c'est-à-dire de source A et de but B) et la classe de tous ces morphismes f est notée  ;
  • un morphisme , pour chaque objet , appelé identité de ou flèche unité ou flèche neutre[4];
  • une composition qui, à tout couple de morphismes et , associe un morphisme appelé composée de et , et telle que :
    • la composition est associative : pour tous morphismes , et , ;
    • les identités sont des éléments neutres de la composition : pour tout morphisme ,.

Lorsqu'une catégorie est courante, certains lui donnent comme nom l'abréviation du nom de ses objets ; nous suivrons ici cette convention.

Certains auteurs comme D. E. Rydeheard et Burstall[5] définissent une catégorie comme un graphe orienté (plus précisément un multigraphe). Les sommets du graphe sont les objets, et les flèches sont les morphismes. De même, il arrive parfois que l'on oublie complètement les objets d'une catégorie et que l'on ne s'intéresse plus qu'aux flèches, en identifiant les objets à leurs flèches identités.

Quelques propriétés[modifier | modifier le code]

Une catégorie est dite localement petite si, pour tous objets A, B de , la classe des morphismes de A dans B, i.e. est un ensemble. Une catégorie est petite si la classe de tous les morphismes de , i.e. , est un ensemble[6]. La plupart des catégories usuelles — cf. exemples ci-dessous — sont seulement localement petites.

Une sous-catégorie de est une catégorie dont les objets sont des objets de et dont les flèches sont des flèches (mais pas nécessairement toutes les flèches) de entre deux objets de la sous-catégorie. Lorsqu'une sous-catégorie de est telle que toutes les flèches de entre deux objets de sont des flèches de , cette sous-catégorie est dite pleine. Par exemple, Ab est une sous-catégorie pleine de Gr. La catégorie de tous les espaces métriques avec les isométries n'est pas une sous-catégorie pleine de Top mais celle des espaces séparés en est une[7].

Catégorie duale[modifier | modifier le code]

Étant donné une catégorie , on définit la catégorie opposée ou duale, en prenant les mêmes objets et les mêmes flèches, mais en inversant les fonctions source et but et en remplaçant la composition par son "symétrique". On la note (ou ). Plus précisément : HomCop(A, B) = HomC(B, A), et la composition opposée de deux flèches est le "symétrique" de leur composition : fopg = gf. Il est clair que la catégorie duale de la catégorie duale est la catégorie de départ : . Cette dualisation permet de symétriser la plupart des énoncés.

Exemples[modifier | modifier le code]

Intuitivement, les objets d'une catégorie sont souvent des ensembles avec une structure, et les flèches sont souvent des applications entre les ensembles qui en préservent la structure. La table suivante donne des exemples de catégories qui illustrent cette intuition[8].

Catégorie Objets Flèches
catégorie Ens ou Set ensembles applications
catégorie Top espaces topologiques applications continues
catégorie Met espaces métriques applications uniformément continues
catégorie Mon monoïdes morphismes de monoïdes
catégorie Grp groupes morphismes de groupes
catégorie Ab groupes abéliens morphismes de groupes
catégorie ACU anneaux commutatifs unitaires morphismes d'anneaux
catégorie Ord ensembles ordonnés applications croissantes

On définit également la catégorie des modules à gauche sur un anneau, la catégorie des espaces vectoriels sur un corps donné, la catégorie des ensembles munis d'une tribu, la catégorie des espaces mesurés[4], etc.

Les exemples de la table sont des catégories concrètes, c'est-à-dire des catégories munies d'un foncteur fidèle vers la catégorie des ensembles (dans les cas présents, il s'agit du foncteur d'oubli, qui fait abstraction des structures considérées pour ne retenir que leur ensemble de base ; par exemple, appliquer le foncteur d'oubli au groupe (ℤ, +) donne l'ensemble ℤ). Toute petite catégorie est concrète, comme les deux suivantes :

  • On se donne un monoïde M, et on définit la catégorie associée ainsi :
    • objets : un seul
    • flèches : les éléments du monoïde, elles partent toute de l'unique objet pour y revenir ;
    • composition : donnée par la loi du monoïde (l'identité est donc la flèche associée au neutre de M).
  • On se donne un ensemble E muni d'une relation réflexive et transitive R (autrement dit, R est une relation de préordre) et on définit la catégorie associée, notée [4], ainsi :
    • objets : les éléments de l'ensemble ;
    • flèches : pour tous objets e et f, il existe une flèche de e vers f si et seulement si eRf (et pas de flèche sinon) ;
    • composition : la composée de deux flèches est la seule flèche qui réunit les deux extrémités (la relation est transitive) ; l'identité est la seule flèche qui relie un objet à lui-même (la relation est réflexive).
Cet exemple est particulièrement intéressant dans le cas suivant : l'ensemble est l'ensemble des ouverts d'un espace topologique, et la relation est l'inclusion ; cela permet de définir les notions de préfaisceau et de faisceau, via les foncteurs.
Il permet aussi de considérer tout ensemble ordonné comme une catégorie, et tout système inductif (resp. projectif) comme un foncteur covariant (resp. contravariant) sur cette catégorie.
  • Étant donné deux catégories et , on peut définir la catégorie produit de la façon suivante : les objets de la catégorie produit sont les couples (A, B) formés d'un objet A de et d'un objet B de  ; les morphismes sont les couples (f,g) formés d'un morphisme f de et d'un morphisme g de . La composition de ces couples se fait composante par composante.
  • Une catégorie est dite discrète si elle n'a pas d'autres flèches que les flèches neutres, ie si pour tout objet et si pour tout couple d'objets distincts on a . Il est bien évident que toute collection d'objets peut être considérée comme une catégorie discrète.
  • Un doublet est une catégorie ayant deux objets, notés par exemple 0 et 1, et seulement deux flèches non neutres, toutes deux de source 0 et de but 1. Un doublet n'a ni objet initial ni objet final.[9]

Exemple en informatique[modifier | modifier le code]

Benjamin C. Pierce , p. 8 dans Basic Category Theory for Computer Scientists, considère un langage de programmation fonctionnelle où les types sont Bool (pour les booléens, c.-à-d. pour les valeurs de vérité), Int (pour les nombres entiers), Real (pour les nombres réels) et Unit (un type avec un seul élément). Les opérations sont iszero : Int → Bool (qui teste si un nombre entier vaut zero), not : Bool → Bool (négation), succInt : Int → Int (qui renvoie le successeur d'un nombre entier), succReal : Real → Real, (qui renvoie le successeur d'un nombre réel), toReal : Int → Real (qui réalise la conversion d'un nombre entier en un nombre réel). Les constantes de ce langage sont zero : Int, true : Bool, false : Bool, unit : Unit. Pierce donne alors l'exemple de la catégorie où les objets sont Bool, Int, Real et Unit, et les flèches sont true, false, succInt, succReal, unit, iszero, not, toReal.

Les constantes sont des flèches, chacune d'entre elles associant l'unique élément de Unit à la valeur qu'elle représente.

Catégorie correspondant à un langage de programmation fonctionnelle.


Monomorphismes, épimorphismes et isomorphismes[modifier | modifier le code]

Définitions[modifier | modifier le code]

Isomorphisme

Une flèche est dite un monomorphisme lorsqu'elle vérifie la propriété suivante : pour tout couple de flèches (et donc aussi pour tout ), si , alors .

Une flèche est dite un épimorphisme lorsqu'elle vérifie la propriété suivante : pour tout couple de flèches (et donc aussi pour tout ), si , alors .

Les notions de monomorphisme et d'épimorphisme sont duales l'une de l'autre : une flèche est un monomorphisme si et seulement si elle est un épimorphisme dans la catégorie duale.

Une flèche est dite un isomorphisme s'il existe une flèche telle que et . Cette notion est autoduale.

Exemples et contre-exemples[modifier | modifier le code]

  • Dans la catégorie des ensembles, les monomorphismes sont les injections, les épimorphismes sont les surjections et les isomorphismes sont les bijections.
  • Un contre-exemple important en théorie des catégories : un morphisme peut à la fois être un monomorphisme et un épimorphisme, sans être pour autant un isomorphisme ; pour voir ce contre-exemple, il suffit de se placer dans la catégorie des anneaux commutatifs unitaires, et considérer la flèche (unique)  : elle est un monomorphisme car provient d'une application injective, un épimorphisme par localisation, mais n'est clairement pas un isomorphisme.
  • On trouve aussi de tels épimorphisme-monomorphisme non isomorphiques dans la catégorie des espaces topologiques : toute injection y est un monomorphisme, toute surjection est un épimorphisme, les isomorphismes sont les homéomorphismes, mais il y a des fonctions continues à la fois injectives et surjectives qui ne sont pas des homéomorphismes : par exemple l'identité sur un ensemble muni de deux topologies différentes, l'une plus grossière que l'autre.
  • Les isomorphismes dans la catégorie des ensembles ordonnés sont les bijections croissantes dont la bijection réciproque est croissante (cette condition sur la bijection réciproque est automatiquement vérifiée dans le cas des ensembles totalement ordonnés, mais pas dans le cas général).

Somme et produit d'une famille d'objets en théorie des catégories[modifier | modifier le code]

La somme d'une famille est la donnée d'un objet de et pour tout d'une flèche vérifiant la propriété universelle :

quels que soient l'objet et les flèches de il existe une unique flèche telle que pour tout le diagramme :

soit commutatif, c'est-à-dire que .

Le produit d'une famille est la donnée d'un objet de et pour tout d'une flèche vérifiant la propriété universelle :

quels que soient l'objet et les flèches de il existe une unique flèche telle que pour tout le diagramme :

soit commutatif, c'est-à-dire que .

S'ils existent, les sommes et les produits sont uniques aux isomorphismes près[10].

On permute ces définitions en inversant les flèches des diagrammes : une somme (respectivement un produit) dans est un produit (respectivement une somme) dans sa duale.

Une catégorie cartésienne est une catégorie munie d'un objet final et du produit binaire. Une catégorie cartésienne fermée est une catégorie cartésienne munie de l'exponentiation.

En tant que fondement des mathématiques[modifier | modifier le code]

William Lawvere est le premier à avoir considéré la théorie des catégories comme potentiel fondement des mathématiques. En 1964, il propose une axiomatisation de la théorie des ensembles dans le langage des catégories[11],[12]. En 1966, il publie une théorie de la catégorie des catégories dans laquelle tous les objets mathématiques peuvent être exprimés et leurs propriétés démontrées[13]. La première version de cette catégorie des catégories avait été développée dans sa thèse de doctorat de 1963[14].

La théorie des catégories a donc été proposée comme fondement des mathématiques en au moins deux sens distincts[15]. En un premier sens, elle fournirait une axiomatisation alternative au concept d’ensembles. En comparaison avec l'axiomatisation de ZF, cette formulation ne place pas au premier plan la notion d’être « élément de » (x ∊ X). C’est plutôt la notion de fonction, exprimée par les morphismes de la catégorie, qui est fondamentale. La catégorie des ensembles s’est avérée être un exemple particulier de topos élémentaire, un type de catégorie inspiré des topos de Grothendieck[16].

Le second type de proposition consiste plutôt à dire que tous les concepts mathématiques importants peuvent être exprimés dans le langage des catégories. Alors que le premier type de fondement est logique et propose un système axiomatique, ce second type de fondement est plutôt méthodologique et offre une manière de comparer entre eux différents domaines des mathématiques à l’aide d’un langage commun. Ces deux propositions ne sont pas nécessairement incompatibles, la question des fondements de mathématiques pouvant prendre plusieurs sens[17],[18].

Cependant, toutes ces propositions concernant les fondements qui font appel aux catégories ont un point en commun. Elles s’inscrivent dans une perspective structuraliste des mathématiques. On entend par cette expression que les propriétés importantes des objets mathématiques sont les relations qui existent entre eux et non pas des propriétés intrinsèques aux objets eux-mêmes. Pour les structuralistes, un objet mathématique se définit donc entièrement par la place qu’il occupe dans une structure mathématique. Par exemple, le fait que le nombre 3 s’écrit avec le symbole “3” n’est pas une propriété structurelle, mais le fait d’être entre 2 et 4 dans l’ordre des nombres naturels est une telle propriété[19],[20]. La théorie des catégories est particulièrement adéquate afin d’exprimer une telle fondation, puisque les objets d’une catégorie ne sont définis qu’à isomorphisme près. Cela signifie que deux objets isomorphes et qui possèdent donc la même structure ne peuvent être distingués l’un de l’autre au sein d'une catégorie. Le langage des catégories exprime donc uniquement les propriétés structurelles de ces objets[21].

Tous les structuralistes ne sont cependant pas partisans de la théorie des catégories comme fondement[22],[23].

Notes et références[modifier | modifier le code]

  1. (en) Saunders Mac Lane, Categories for the Working Mathematician [détail de l’édition]
  2. Henri Cartan, dans le film Une vie de mathématicien qui lui est consacré, confie que Bourbaki aurait probablement commencé ses Éléments par les catégories si elles étaient apparues plus tôt.
  3. Richard Ewen Borcherds consacre une video "Categories pour le mathématicien oisif" à exposer ces axiomes
  4. a b et c Georges Poitou et Paul Jaffard, Introduction aux catégories et aux problèmes universels, Paris, Ediscience, , p. 4.
  5. (en) D.E Rydehear, Burstall, Computational category theory, Prentice hall, , Chapter 3, Section 3.1, Definition 2
  6. Cf. par exemple (en) Roy L. Crole, Categories for Types, CUP, , 335 p. (ISBN 978-0-521-45701-9, lire en ligne), p. 61. Signalons que Mac Lane appelle « métacatégorie » ce qui est appelé ici « catégorie », qu'il nomme « catégorie » ce qu'on appelle couramment « petite catégorie », et qu'il réserve le nom de « petite catégorie » à une notion encore plus restrictive.
  7. (en) Jan R. Strooker, Introduction to Categories, Homological Algebra and Sheaf Cohomology, Cambridge, Cambridge University Press, (ISBN 978-0-521-21699-9, OCLC 3168073), p. 4.
  8. (en) Benjamin C. Pierce, Basic category theory for computer scientist : Fondations of computation series, The MIT Press, , p. 5
  9. Poitou et Jaffard 1971, p. 7.
  10. Michel Zisman, Topologie algébrique élémentaire, Armand Colin, 1972, p. 10.
  11. (en) William Lawvere, « An elementary theory of the category of sets », Proceedings of the National Academy of Sciences of the U.S.A,‎ , p. 1506–1511 (lire en ligne)
  12. (en) Tom Leinster, « Rethinking Set Theory », The American Mathematical Monthly,‎ , p. 403-415 (lire en ligne)
  13. (en) William Lawvere, Proceedings of the Conference on Categorical Algebra, , « The category of categories as a foundation for mathematics », p. 1-20
  14. (en) William Lawvere, « Functorial Semantics of Algebraic Theories », Reprints in Theory and Applications of Categories,‎ , p. 1-121 (lire en ligne)
  15. (en) J. L. Bell, « Category Theory and the Foundations of Mathematics », The British Journal for the Philosophy of Science, Vol. 32, No. 4,‎ , p. 349-358 (lire en ligne)
  16. (en) Colin McLarty, « Exploring categorical structuralism », Philosophia Mathematica (3) 12,‎ , p. 37-53
  17. (en) Jean-Pierre Marquis, « Category Theory and the Foundations of Mathematics: Philosophical Excavations », Synthese (103),‎ , p. 421-447
  18. (en) Stewart Shapiro, « Foundations of Mathematics: Metaphysics, Epistemology, Structure », The Philosophical Quarterly (1950-), Vol. 54, No. 214,‎ , p. 16-37 (lire en ligne)
  19. (en) Colin McLarty, « Numbers Can Be Just What They Have To », Noûs, Vol. 27, No. 4,‎ , p. 487-498 (lire en ligne)
  20. (en) Julian Cole, « Mathematical Structuralism Today », Philosophy Compass 5/8,‎ , p. 689–699
  21. (en) Steve Awodey, « Structure in mathematics and logic: A categorical perspective », Philosophia Mathematica (3) 4,‎ , p. 209-237
  22. (en) Michael Resnick, Mathematics As a Science of Patterns, Oxford University Press,
  23. (en) Stewart Shapiro, Philosophy of Mathematics : Structure and Ontology, Oxford University Press,

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Ouvrages de base :

Liens externes[modifier | modifier le code]