J'ai beaucoup lu sur les systèmes de types et autres et je comprends à peu près pourquoi ils ont été introduits (afin de résoudre le paradoxe de Russel). Je comprends également à peu près leur pertinence pratique dans les langages de programmation et les systèmes de preuve. Cependant, je ne suis pas entièrement convaincu que ma notion intuitive de ce qu'est un type est correcte.
Ma question est, est-il valable de prétendre que les types sont des propositions?
En d'autres termes, la déclaration «n est un nombre naturel» correspond à la déclaration «n a le type« nombre naturel »», ce qui signifie que toutes les règles algébriques qui impliquent des nombres naturels sont valables pour n. (Autrement dit, les règles algébriques sont des déclarations. Ces déclarations qui sont vraies pour les nombres naturels le sont également pour n.)
Cela signifie-t-il alors qu'un objet mathématique peut avoir plusieurs types?
De plus, je sais que les ensembles ne sont pas équivalents aux types car vous ne pouvez pas avoir un ensemble de tous les ensembles. Puis-je prétendre que si un ensemble est un objet mathématique similaire à un nombre ou à une fonction , un type est une sorte d'objet méta-mathématique et par la même logique un genre est un objet méta-méta-mathématique? (dans le sens où chaque "méta" indique un niveau d'abstraction plus élevé ...)
Cela a-t-il un lien avec la théorie des catégories?
la source
Réponses:
Le rôle clé des types est de partitionner les objets d'intérêt en différents univers, plutôt que de considérer tout ce qui existe dans un univers. À l'origine, les types ont été conçus pour éviter les paradoxes, mais comme vous le savez, ils ont de nombreuses autres applications. Les types permettent de classer ou de stratifier des objets (voir l' article de blog ).
Certains fonctionnent avec le slogan que les propositions sont des types , donc votre intuition vous sert certainement bien, bien qu'il existe des travaux tels que des propositions comme [Types] de Steve Awodey et Andrej Bauer qui soutiennent le contraire, à savoir que chaque type a une proposition associée. La distinction est faite parce que les types ont un contenu informatique, contrairement aux propositions.
Un objet peut avoir plusieurs types en raison du sous - typage et des contraintes de type .
Les types sont généralement organisés dans une hiérarchie, où les types jouent le rôle du type de types, mais je n'irais pas jusqu'à dire que les types sont méta-mathématiques. Tout se passe au même niveau - c'est particulièrement le cas lorsqu'il s'agit de types dépendants .
Il existe un lien très fort entre les types et la théorie des catégories. En effet, Bob Harper (citant Lambek) dit que les logiques, les langues (où résident les types) et les catégories forment une sainte trinité . Citant:
Vous devriez regarder la correspondance Curry-Howard pour voir le lien entre la logique et les langages de programmation (les types sont des propositions) et les catégories fermées cartésiennes , pour voir la relation entre la relation avec la théorie des catégories.
la source