Les formalismes de la théorie des catégories peuvent-ils remplacer ceux de la théorie des types?


8

Les subtilités de la correspondance entre la théorie des types et la théorie des catégories sont en dehors de mon ken. Cependant, par ma compréhension naïve de la relation entre les deux disciplines historiquement convergentes, cette dernière subsume entièrement la première. Si tel est le cas, le langage et les descriptions formelles / graphiques utilisés par les théoriciens des catégories peuvent-ils remplacer ceux des théoriciens des types? Et devraient-ils (par exemple, dans la pédagogie et l'édition académique)?

Différents formalismes peuvent inspirer de nouvelles perspectives et établir des connexions conceptuelles nues qui pourraient autrement être obscures. Cependant, une multiplicité de dialectes limite probablement aussi la taille d'un public réceptif et, si une approche polyglotte est adoptée, la longueur et la complexité de l'exposition sont aggravées.

Si la théorie des catégories subsume la théorie des types, les différences dialectiques des deux disciplines devraient-elles être conservées, et si oui, pourquoi? Par souci de valeur historique ou culturelle? Pour conserver des différences différentes mais saillantes d'accent pédagogique ou théorique? Que pourraient-ils être?


1
Quelle théorie des types? Est-ce précisément la théorie du type que Russel a inventée? Ou la théorie du type Martin-Lof? Ou la théorie des types d'homotopie, qui semble inclure la théorie des types et des catégories? Je ne suis pas certain qu'il existe une seule "théorie des types".
jmite

2
@jmite Il n'y a pas une seule "théorie des types" (bien qu'il y ait un champ), mais il existe des liens entre de nombreuses théories de types spécifiques possibles et la théorie des catégories. En effet, à ce stade, je dirais que ce serait un peu suspect si une théorie des types n'avait pas de liens avec la théorie des catégories.
Derek Elkins a quitté SE

2
J'aurais tendance à considérer un système de types comme un système de preuve pour une logique: l'implication est une relation RE, les termes / types sont des formules, etc. On peut établir la normalisation, la cohérence, ... à ce niveau. Cela a également des liens solides avec la théorie des langages de programmation. Ensuite, les catégories sont utilisées pour créer des modèles pour cette logique. C'est très instructif, mais si nous ne regardions que les catégories / modèles, nous oublierions une partie importante, je pense. Le STLC est plus facile à comprendre que les CCC génériques. Le système F est plus simple que les transformations dinaturelles. Voir les deux côtés et les relier est très agréable.
chi

1
Cela fait partie de ce que nous appelons habituellement l'isomorphisme de Curry-Howard-Lambek.
xuq01

1
@chi, quelle "partie importante" pourrait être oubliée si la théorie des catégories (ou la théorie des modèles) était utilisée exclusivement au lieu de la théorie des types? Aussi, pourquoi dites-vous que STLC et le système F sont plus faciles à comprendre que les CCC et les transformations dinaturelles? Les anciens systèmes sont-ils plus simples à cause de l'usage habituel ou d'une plus grande spécificité ou pour une autre raison?
Polytope

Réponses:


9

Puisque vous dites que "les subtilités de la correspondance entre la théorie des types et la théorie des catégories sont en dehors de votre ken", la meilleure façon de comprendre la correspondance est peut-être de lire des expositions non techniques sur le sujet. Je peux en recommander deux:

  1. Steve Awodey, Des ensembles aux types, aux catégories, aux ensembles , dans: Sommaruga G. (éds) Théories fondamentales des mathématiques classiques et constructives. The Western Ontario Series in Philosophy of Science, vol 76. Springer, Dordrecht ( préimpression gratuite ici )

  2. Le blog de Robert Harper The Holy Trinity , et voir également ces diapositives .

Je suppose que la leçon à retenir est que chaque approche a quelque chose à offrir et qu'elles fonctionnent mieux ensemble, et pas tellement si vous essayez de remplacer ou de subsumer l'une avec l'autre.


Puis-je demander, cependant, quels avantages distinctifs chaque approche offre?
Polytope

Andrej Bauer, merci pour le lien vers le papier d'Awodey. Awodey décrit certains avantages intéressants de la théorie des types: (1) "La théorie des types [est plus gérable parce qu'elle] a quelque chose d'un caractère concret," nominaliste "[généré systématiquement]." (2) "En revanche, [avec] l'approche purement structurelle de la théorie des catégories, il peut être plus difficile de fournir une preuve invariante." Cependant, ces avantages énumérés sont encore assez vagues. Pourriez-vous éventuellement les développer ou fournir des exemples démontrant cette utilité comparative de la théorie des types?
Polytope

Les avantages sont vagues car il s'agit d'un article non technique comparant les pratiques de la théorie des types, de la théorie des catégories et de la théorie des ensembles. Je ne pourrais pas en dire plus, car il n'y a aucun moyen d'inculquer à quiconque l'expérience d'avoir travaillé dans ces domaines pendant des années en montrant un exemple ou deux. De plus, je ne veux pas vraiment le faire parce que tout ce post a un sentiment précis "mes mathématiques sont meilleures que vos mathématiques", et je ne veux pas y participer.
Andrej Bauer

Andrej Bauer, vous êtes un mathématicien professionnel, donc je suis sûr que de nombreux autres projets méritent votre temps limité et votre attention plus que cela. Cependant, c'était vraiment une question sérieuse. Je suis à peine un amateur, alors bien sûr, les mathématiques de tout le monde sont meilleures que les miennes, mais j'espérais que la communauté cs.stackexchange pourrait m'aider à mieux comprendre pourquoi, alors que des alternatives pourraient être possibles, la théorie des types était autre chose qu'un vestige de l'évolution historique de l'étude de la logique et des langages de programmation. Je suis désolé de t'avoir offensé.
Polytope

Je ne suis pas du tout offensé! Et je respecte votre demande. Mais je pensais qu'il serait malhonnête et impoli de ma part de vous ignorer. Je préfère vous donner une réponse directe. Je ne peux pas investir le temps d'essayer de vous répondre car cela nécessiterait d'écrire une assez longue exposition de valeur discutable. Il faudrait que j'en sache beaucoup sur votre parcours pour bien le cibler. Comme vous le dites, c'est une communauté. Peut-être que quelqu'un peut répondre à ma place, ce serait formidable.
Andrej Bauer

9

Ma vue est plus ou moins similaire à celle du chi. Je vois la théorie des catégories comme étant (à peu près) la théorie des types ce que la théorie des modèles est pour la logique. Certaines des conséquences de cela sont, premièrement, chacune peut exister de manière autonome. En effet, la théorie des types est antérieure à la théorie des catégories, et la création de la théorie des catégories n'était pas motivée par ces préoccupations. Deuxièmement, bon nombre des distinctions théorie / théorie des modèles qui tentent délibérément de brouiller sont d'un intérêt primordial pour la théorie des types / la logique.

Comme exemple très basique, toutes les présentations des axiomes d'un groupe donnent naissance à la même classe de modèles (à savoir les groupes). Du point de vue de l'algèbre universelle, une variété (au sens de l'algèbre universelle, ou une catégorie algébrique finitaire du point de vue de la CT) oublie sa présentation. Pendant ce temps, du point de vue de la logique équationnelle, la présentation est tout ce qu'il y a. Un sujet de calcul principal ici est l' unification électronique qui fonctionne entièrement au niveau de la logique équationnelle, c'est-à-dire la présentation.

C'est typique. Nous disons que le lambda calcul simplement tapé (avec produits) (STLC) est le langage interne des catégories fermées cartésiennes, mais ce n'est vraiment qu'une présentation du langage interne et même pas la plus "directe". La machine abstraite catégorique (CAM) est sans doute une représentation plus "directe". Même avec le STLC, les flèches de la catégorie syntaxique correspondante sontβηclasses d'équivalence de termes lambda! (Mais voyez ceci .) Donc, soit nous décrivons directement la catégorie syntaxique comme une structure mathématique dont les hom-sets coïncident avecβηclasses d'équivalence de termes STLC et sans contenu informatique , ou nous devons déjà comprendre le STLC externe à la théorie des catégories, ou nous devons parler au lieu de présentations de catégories fermées cartésiennes qui, en adoptant une approche assez naturelle, conduiront à quelque chose de CAM -comme. Dans le dernier cas, l'égalité des flèches devient quelque chose comme un problème d'unification électronique. Comprendre et simplifier ce processus ainsi que placer la façade plus ergonomique du STLC devant lui, nécessite des techniques qui sont le pain et le beurre de la logique et de la théorie des types, mais qui ne sont pas particulièrement naturelles dans la théorie des catégories.

Une image massivement simplifiée qui peut néanmoins donner une meilleure idée de l'interdépendance entre la théorie des catégories et la théorie des types est la suivante. Vous pouvez les imaginer en deux dimensions. Les outils, techniques et notations de la théorie des types sont conçus pour se déplacer verticalement entre différentes présentations du même objet, tandis que les outils, les techniques et les notations de la théorie des catégories sont conçus pour se déplacer horizontalement entre différents objets mathématiques. Vous pourriez même dire qu'une catégorie est une ligne verticale entière et que la théorie des catégories parle de déplacer une ligne verticale vers une autre mais pas comment les points des deux lignes correspondent. Dans cette image, la théorie des catégories n'est même pas capable de parler de la théorie des types de distinctions, mais cela est intentionnel car cela signifie que la cartographie arbitrairement compliquée de points sur une ligne verticale avec des points sur une autre est tout simplement sans rapport avec ce à quoi la théorie des catégories se soucie et peut être ignorée.

Dans mon article de blog, Category Theory, Syntactically , je décris une approche qui fait ressembler la théorie des catégories à la théorie des types (plutôt que l'inverse). Sans surprise, ce dont je parle vraiment, ce sont des présentations de catégories. De plus, vous pouvez voir des aspects de la normalisation entrer en scène, par exemple dans ma discussion sur les "théories des produits", même si ce n'est pas du tout un point de ce poste particulier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.