Supposons que je veuille formaliser la preuve de Turing concernant le problème d'arrêt pour qu'une machine puisse le vérifier. Certains des systèmes de démonstration de théorèmes automatisés bien connus incluent Mizar, Coq et HOL4. J'ai téléchargé et expérimenté avec Coq, mais il n'a pas de bibliothèque pour les machines Turing. J'ai pensé à en coder un moi-même, mais j'ai trouvé le tutoriel manquant et la langue difficile à comprendre.
Ma question est la suivante: existe-t-il un prouveur de théorèmes automatisé qui est généralement bon pour prouver des théorèmes impliquant des machines de Turing? Je considérerais un tel prouveur de théorèmes comme «bon» s'il peut formaliser une preuve de l'indécidabilité du problème d'arrêt à l'aide de bibliothèques déjà existantes. Je le considérerais encore mieux s'il est relativement facile à ramasser. (Pour mémoire, je n'ai généralement pas de difficulté avec les langages de programmation.)
Merci,
Philippe
Réponses:
Voici une bibliothèque Isabelle / HOL contenant le théorème de Rice, qui indique l'indécidabilité d'un large éventail de problèmes. Étant donné que cette bibliothèque modélise la calculabilité via des fonctions récursives, vous devez coder une machine Turing universelle en tant que fonction récursive afin d'utiliser ce théorème pour prouver l'indécidabilité du problème d'arrêt des machines Turing. Cependant, les parties essentielles de la preuve de l'indécidabilité sont déjà terminées.
http://afp.sourceforge.net/browser_info/current/HOL/Recursion-Theory-I/index.html
la source