Quel paradigme de démonstration automatisée de théorèmes convient à la formalisation de style Principia Mathematica?


11

Je suis en possession d'un livre qui, inspiré des Principia Mathematica (PM) de Russell et du positivisme logique, tente de formaliser un domaine spécifique en déterminant des axiomes et en déduisant des théorèmes. En bref, il tente de faire pour son domaine ce que PM a tenté de faire pour les mathématiques. Comme PM, il a été écrit avant que la démonstration automatisée du théorème (ATP) ne soit possible.

J'essaie de représenter ces axiomes dans un système ATP moderne et j'essaie de déduire des théorèmes, initialement ceux déduits par l'auteur (à la main). Je n'ai jamais utilisé de système ATP auparavant, et étant donné la pléthore d'options (HOL, Coq, Isabelle, et bien d'autres), chacune avec ses forces, ses faiblesses et les applications prévues, il s'avère difficile de décider laquelle convient à mes besoins spécifiques. objectif.

Le formalisme de l'auteur reflète fidèlement PM. Il existe des classes (ensembles?), Des classes de classes, etc. jusqu'à 6 niveaux de hiérarchie. Il existe une logique de premier ordre et peut-être d'ordre supérieur. Étant donné la connexion avec PM, j'ai d'abord étudié Metamath, car plusieurs théorèmes de PM ont été prouvés dans MetaMath par d'autres personnes. Cependant, Metamath est bien sûr un vérificateur d'épreuves et non un système ATP.

En parcourant les descriptions de divers systèmes ATP, je vois plusieurs caractéristiques, telles que les implémentations de la théorie des types de Church, les théories des types constructives, les théories des types intuitionnistes, la théorie des ensembles typée / non typée, la déduction naturelle, les types de calculs lambda, le polymorphisme, la théorie des fonctions récursives, et l'existence ou non de l'égalité. Bref, chaque système semble implémenter un langage très différent, et doit être approprié pour formaliser différentes choses. Je suppose que les bibliothèques existantes pour formaliser les mathématiques ne sont pas pertinentes pour mon objectif.

Tout conseil concernant les caractéristiques que je devrais rechercher dans le choix d'un ATP, ou tout autre conseil que vous pourriez avoir après avoir lu cette question, serait très apprécié. Pour référence, voici un exemple de page du livre. Malheureusement, comme PM, il est en notation Peano-Russell.

Page du livre

Le livre -

"La méthode axiomatique en biologie" (1937), JH Woodger, A. Tarski, WF Floyd

Les axiomes commencent par le méréologique. Par exemple,

1.1.2 est la somme de si est contenu dans les parties de , et si quand est une partie de il y a toujours un appartenant à ayant des parties en commun avec les parties de :xααxyxzαy

S=Dfx^α^{αPx:.(y):yPx..(z).zα.PyPzΛ}

Encore une fois, notez qu'il s'agit de la notation Peano-Russell (la notation de Principia).

Les axiomes ultérieurs ont un contenu biologique, comme:

7.4.2 Lorsque les gamètes de deux membres d'une classe mendélienne s'unissent par paires pour former des zygotes, la probabilité de l'union d'une paire donnée est égale à celle de l'autre paire.

D'après ce que je comprends, c'était un postulat de la génétique mendélienne.

J'omets la notation pour cela car elle est longue de trois lignes et s'appuie sur du contenu précédemment défini.

Exemple d'un théorème -

Théorème

Cela porte apparemment une interprétation significative dans la génétique mendélienne, que, n'étant pas historienne de la biologie, je ne comprends pas. Dans le livre, il a été déduit à la main.

Merci!


Y a-t-il un intérêt historique à suivre exactement le livre, ou pourriez-vous simplement en extraire l'essentiel (la configuration de base et les axiomes) et formaliser la théorie dans un système moderne disponible?
Andrej Bauer

@andrej: Oui, extraire et formaliser l'essentiel dans un système moderne est mon objectif. Il ne serait pas nécessaire de déduire chaque théorème déduit à la main dans le livre. Il serait plutôt cool de déduire des théorèmes qui ne sont pas dans le livre, des axiomes du livre.
Atriya

5
Dans ce cas, vous devez comprendre le texte, puis le faire dans l'assistant de preuve et / ou le prouveur de théorème le plus adapté à votre objectif.
Andrej Bauer

Réponses:


8

Principia Mathematica a largement répondu aux divers paradoxes découverts en logique mathématique au tournant du XXe siècle. Cependant, l'œuvre elle-même, qui a souvent été saluée comme un «chef-d'œuvre illisible», est quelque peu maladroite et des fondations plus modernes ont été conçues. Pour décrire la plupart des mathématiques, vous avez plusieurs choix: la théorie des catégories en est une, la théorie des types a été populaire dans certains projets comme une extension du calcul lambda, mais la mieux comprise et la plus fondamentale est probablement la théorie des ensembles.

La théorie des ensembles a plusieurs formulations différentes; La théorie des ensembles de Zermelo Frankel avec l'axiome de choix est la plus orthodoxe, appelée avec amour comme par les amateurs de théorie des ensembles. La théorie des ensembles de Tarski-Grothendiek est une autre qui est largement similaire à qui inclut l'axiome de Tarski pour raisonner sur les grandes catégories. Ceux - ci sont intéressants pour la vérification, mais un peu plus difficile pour le théorème automatisé proving parce que le schéma d'axiome de remplacement admet un nombre infini d'axiomes qui représentent un défi pour la mise en œuvre. Bien que ces fondations soient parfaitement raisonnables pour les systèmes de vérification des preuves comme Mizar pour la théorie des ensembles de Tarski-Grothendiek et Metamath pourZ F C Z F CZFC ZFCZFC, pour un système prouvant un théorème réel, il serait bien d'avoir une axiomatisation finie.

La base qui est probablement la plus appropriée pour cela est la théorie des ensembles de Von Neumann – Bernays – Gödel, ou , qui admet l'axiomatisation finie en étant une théorie à deux triés qui a une ontologie des classes appropriées ainsi que des ensembles. De plus, il a été prouvé que est une extension conservatrice de , de sorte que tout théorème de est un théorème deN B G Z F C N B G Z F CNBGNBGZFCNBGZFC. La raison pour laquelle cette théorie est la plus appropriée pour le raisonnement automatisé à mon avis est son exprimable dans une logique de premier ordre, qui admet un calcul de preuve efficace, solide et complet, et une axiomatisation finie signifie qu'elle peut être utilisée avec une résolution de premier ordre qui nous donne la résultat net: si une déclaration est décidable, une preuve sera finalement trouvée.

La logique propositionnelle n'est pas assez expressive, et la logique d'ordre supérieur, bien que beaucoup plus expressive, n'admet pas un calcul de preuve efficace, solide et complet. La logique du premier ordre avec la théorie des ensembles vous permet de représenter et de cartographier les théories logiques d'ordre supérieur, donc pour les fondations, c'est le point idéal ... à l'exception de la possibilité de déclarations indécidables (grâce à Gödel.), C'est pourquoi les théories du premier ordre de rang quantificateur suffisant sont souvent décrits comme semi-décidables.

Art Quaife a fait un travail à ce sujet dans: Développement automatisé de théories mathématiques fondamentales, où il a implémenté dans une logique de premier ordre sous forme clausale afin qu'il puisse être utilisé par un prouveur de théorèmes basé sur la résolution (Otter) et une excellente référence pour s'attaquer les bases de ce type de travail sont l' introduction d' Elliott Mendelson à la logique mathématique.NBG

Maintenant, les assistants de preuve modernes sont souvent moins concernés par les fondations du paradigme de Principia Mathematia et sont plus utiles pour la démonstration de théorèmes pour le travail quotidien, et ils ont donc un certain support pour les fragments de logique d'ordre supérieur, la résolution SAT / SMT, les théories de type et autres approches plus informelles et moins fondamentales. Mais si vous essayez de faire quelque chose comme Principia Mathematica, un prouveur de théorèmes de résolution de premier ordre avec une théorie des ensembles de premier ordre finement axiomatisable est idéal.

Pour quelques exemples de la façon dont les prouveurs de théorèmes automatisés attaquent les problèmes de ces fondations, le site Des milliers de problèmes pour les théoriciens ( TPTP ) a un bon nombre de problèmes, et vous remarquerez que bon nombre des problèmes fondamentaux de la théorie des nombres sont fondés dans set theory. Si vous avez le temps, consultez NUM006-1.p sur leur site: la conjecture de Goldbach. Vous pouvez essayer de l'exécuter, et si c'est décidable, une preuve sera finalement trouvée.NBG

Les théorèmes de votre livre seront presque certainement des théorèmes de étant donné qu'ils sont écrits dans le langage de la théorie des ensembles. Les axiomes de la génétique dans ce livre seront presque certainement représentés comme des définitions sur des prédicats théoriques définis, de la même manière que l'arithmétique Peano est représentée dans comme des définitions de prédicats. De là, vous suivez la procédure de résolution dans n'importe quel ATP. Choisissez une déclaration que vous voulez prouver, annulez-la, convertissez-la en forme normale Skolem, puis en forme clausale et suivez la résolution. Lorsque vous trouvez la clause vide, vous avez trouvé une contradiction, prouvant la déclaration.N B GNBGNBG

La tâche que vous avez à portée de main si vous voulez tenter de définir la théorie en termes de théorie des ensembles, est de trouver les définitions de prédicat relationnelles qui sont distinctes de la théorie des ensembles, qui vous permettront de faire les prédicats en termes de théorie des ensembles. Encore une fois, un exemple de cela est la façon dont nous définissons l'arithmétique de Peano dans la théorie des ensembles, qui en soi n'a pas de définitions de nombres, d'addition, de multiplication ou même d'égalité. Comme exemple d'une définition théorique d'ensemble d'une relation comme l'égalité, nous pouvons la définir en termes d'appartenance en tant que telle:

xy ( z (z x z y) x = y)

Un petit avertissement: la courbe d'apprentissage est en effet très abrupte. Si vous avez l'intention de poursuivre dans cette voie, vous risquez de vous retrouver plusieurs années avant de saisir tout le problème, comme ce fut mon expérience. Vous voudrez peut-être examiner la théorie à partir d'une approche moins fondamentale avant d'entreprendre la tâche énorme de l'intégrer dans un langage fondamental pour tout. Après tout, vous n'avez pas nécessairement besoin de raisonner sur les innombrables ensembles de gènes qui se mélangent.


1
Merci beaucoup pour cette réponse détaillée et élucidante! Quelques questions: 1. Wikipédia déclare que «le schéma axiomatique de remplacement n'est pas nécessaire pour les preuves de la plupart des théorèmes des mathématiques ordinaires.», Et qu'il ne faisait pas partie des axiomes originaux de Z (il a été ajouté par F). Est-il possible que mes théorèmes soient prouvables sans lui, annulant ainsi le besoin de NBG? Bien sûr, je suppose qu'aucun prouveur de théorème automatisé ne permettrait l'utilisation de {ZFC - schéma d'axiome de remplacement}, si c'était même possible?
Atriya

2. Étant donné que la logique du premier ordre + la théorie des ensembles est la meilleure pour les fondations, je suppose que HOL / Isabelle / PVS / etc (tous d'ordre supérieur) sont tous excessifs pour mon objectif? De plus, tout ce qui est basé sur la théorie des types (Coq et al.) N'est pas approprié? En conséquence, les goûts de Prover9 / Vampire / SNARK seraient appropriés? J'ai une certaine expérience antérieure avec SNARK. Il peut gérer la logique du premier ordre plusieurs fois avec égalité, par résolution, mais je ne sais pas comment y représenter la théorie des ensembles.
Atriya

1
Les prouveurs de théorèmes automatisés peuvent utiliser des schémas d'axiomes, mais cela rend l'implémentation difficile. Prover9 ne les prend pas en charge. HOL, Isabelle, Coq soutiennent tous la théorie des ensembles de premier ordre pour autant que je me souvienne, et sont probablement parfaitement adaptés à votre projet. Même si vous pouvez intégrer d'autres théories dans NBG, ce n'est pas absolument nécessaire. Nous n'avons pas à intégrer l'arithmétique de Peano dans NBG pour prouver les choses sur les nombres ... mais cela aide à apprendre et à comprendre la structure logique.
dezakin

Vous pouvez toujours intégrer votre théorie dans la théorie des ensembles par la suite, en définissant les prédicats de la théorie en termes de prédicat d'appartenance. Je ne me soucierais pas de rendre votre projet absolument fondamental tout de suite. Il peut être enclenché plus tard.
dezakin

Il apparaît alors que pratiquement n'importe quel prouveur - même des aussi différents que Coq, HOL et Prover9 - peut être utilisé pour mon projet. Dans de tels cas, quelle serait une stratégie de décision intelligente? Je ne connais pas tout sauf SNARK. L'idéal est la découverte de nouveaux théorèmes dans le système d'axiomes fourni.
Atriya

8

Plusieurs points:

  1. Autant que je sache, Principia Mathematica utilise essentiellement une formalisation de la théorie des ensembles en utilisant une logique typée du premier ordre. Il serait donc tentant d'utiliser un prouveur de théorème automatisé de premier ordre comme Prover 9 ou éventuellement ACL2 pour formaliser vos déclarations. Cependant, je vois plusieurs constructions de théorie des ensembles (comme , ) là-dedans, qui ne jouent généralement pas très bien avec l'ATP de premier ordre., ,

  2. Tout assistant de preuve interactif moderne aura sûrement l'expressivité pour formaliser et prouver vos déclarations, comme Andrej l'a suggéré. En fait, comme il semble y avoir certaines déclarations, y compris l'arithmétique, il serait sage d'utiliser un système comme Isabelle , Coq ou HOL qui ont déjà des théories approfondies pour traiter les déclarations d'arithmétique. Mon accent sur le moderne n'est pas une coïncidence: de grands progrès dans l'utilisabilité ont été réalisés depuis Automath, et je pense honnêtement que vous ne vous rendriez pas service en utilisant tout ce qui n'a pas été activement développé depuis les années 90 (si vous pouviez même en obtenir un travailler!)

  3. Enfin, ITP et ATP ont des courbes d'apprentissage assez difficiles, et vous ne devez pas vous attendre à pouvoir entrer ces théorèmes dans un tel système comme si vous écriviez une preuve . Attendez-vous à une frustration sévère et à une perte de temps, en particulier au cours des premiers mois (oui, des mois). Vous devez certainement travailler à travers quelques tutoriels avant de passer à la formalisation principale.LATEX


Merci! C'est le genre de conseil général que je cherchais. Marquer cette réponse comme acceptée. J'aurai probablement des questions plus spécifiques / techniques au fur et à mesure de ma progression.
Atriya

La théorie des ensembles est faite pour la logique du premier ordre. Vous pouvez réduire toutes les mathématiques à une théorie de premier ordre avec un seul prédicat: l'appartenance. À partir de là, vous pouvez construire des définitions d'union, d'intersection, de sous-ensemble, de sous-ensemble approprié et d'autres relations. Prover9 est tout à fait approprié.
dezakin

En théorie? Oui. En pratique? Si vous définissez, par exemple, les nombres naturels en utilisant la théorie des ensembles, un système comme Prover9 ne serait pas en mesure de prouver les déclarations les plus élémentaires comme l'ordre total de . Par nature, des systèmes comme la théorie des ensembles nécessitent un certain nombre d'heuristiques spécifiques pour être traitées efficacement par les systèmes ATP. N
cody

Prover9 utilise souvent des constructions théoriques définies des nombres naturels. Vérifiez les problèmes de théorie des nombres et les axiomes de théorie des nombres dans TPTP. Ils définissent la théorie des nombres comme des définitions de la théorie des ensembles. L'heuristique requise par l'ATP pour les prouveurs de théorèmes de résolution est juste la clause à choisir pour la liste utilisable lors de la recherche de la clause vide, et la théorie des ensembles ne fait pas exception à la règle. D'autres théories sont définies dans la théorie des ensembles par des prédicats relationnels.
dezakin
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.