La plupart des assistants de preuve ont formalisé le concept de "jeu fini". Ces formalisations diffèrent cependant énormément (même si l'on espère qu'elles sont toutes essentiellement équivalentes!). Ce que je ne comprends pas à ce stade, c'est l'espace de conception impliqué et quels sont les avantages et les inconvénients de chaque formalisation.
En particulier, je voudrais comprendre ce qui suit:
- Puis-je axiomatiser des ensembles finis (c'est-à-dire des types habités par un nombre fini d'habitants) dans la théorie des types simples? Système F? Quels sont les inconvénients de procéder de cette façon?
- Je sais que cela peut être fait «avec élégance» dans un système typé de manière dépendante. Mais, d'un point de vue classique, les définitions qui en résultent semblent extrêmement étrangères. [Je ne dis pas qu'ils ont tort, loin de là!]. Mais je ne comprends pas non plus pourquoi ils ont «raison». Je comprends qu'ils choisissent le bon concept, mais la raison profonde pour «le dire ainsi» est ce que je ne saisis pas complètement.
Fondamentalement, je voudrais une introduction raisonnée à l'espace de conception des formalisations du concept d '«ensemble fini» dans la théorie des types.
la source
Voyons si je peux ajouter quelque chose d'utile à la réponse de Neel. L '"espace de conception" pour les ensembles finis est beaucoup plus vaste de manière constructive qu'il ne l'est classiquement parce que diverses définitions de "fini" n'ont pas besoin de s'accorder de manière constructive. Diverses définitions de la théorie des types donnent des concepts légèrement différents. Voici quelques possibilités.
Les ensembles finis de Kuratowski ( -finite) peuvent être caractérisés comme des -semilattices libres: étant donné un ensemble, un type ou un objet , les éléments du libre -semilattice peuvent être des sous-ensembles finis de . En effet, chacun de ces éléments est généré par:K ∨ X ∨ K(X) X
Une formulation équivalente de est: est -fini si, et seulement si, il existe et une surjection .K(X) S⊆X K n∈N e:{1,…,n}→S
Si l' on compare cela avec la définition de Neel on voit qu'il a besoin d' un bijection . Cela revient à prendre les -sous-ensembles finis qui ont une égalité décidable: . Utilisons pour la collecte des décidable sous - ensembles -finite de .e:{1,…,n}→S K S⊆X ∀x,y∈S.x=y∨x≠y D(X) K X
Évidemment, est fermé sous des unions finies, mais il n'a pas besoin d'être fermé sous des intersections finies. Et n'est fermé sous aucune opération. Étant donné que les gens s'attendent à ce que les ensembles finis se comportent un peu comme une "aglèbre booléenne sans sommet", on pourrait également essayer de les définir comme l'algèbre booléenne généralisée libre ( , , et compléments relatifs ), mais en fait je n'ai jamais entendu parler d'un tel effort.K(X) D(X) 0 ∨ ∧ ∖
Pour décider de la définition «correcte», vous devez faire attention à ce que vous voulez faire avec les ensembles finis. Et il n'y a pas de définition correcte unique. Par exemple, dans quel sens de «fini» est l'ensemble des racines complexes d'un polynôme fini ?
Voir Constructivement fini? par Thierry Coquand et Arnaud Spiwack pour une discussion détaillée de la finitude. La leçon est que la finitude est loin d'être évidente de manière constructive.
la source