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.
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 :
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 -
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!
Réponses:
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 CZ F C Z F C Z F C , 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 CN B G N B G Z F C N B G Z F C . 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 GNBG NBG
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.
la source
Plusieurs points:
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.∩ , ⊂∈ ∩,⊂
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!)
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
la source