Déduction naturelle
Cours complet · informatique (MP2I/MPI), chapitre 28 · MP2I et MPI
Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre
28.1 Pourquoi les tables de vérité ne suffisent pas
Le chapitre chap:logique savait déjà décider si une formule est une tautologie : on dresse sa table de vérité. Le programme explique pourquoi cela ne suffit pas, et il donne deux raisons.
« Il s'agit de présenter les preuves comme permettant de pallier deux problèmes de la présentation précédente du calcul propositionnel : nature exponentielle de la vérification d'une tautologie, faible lien avec les preuves mathématiques. »
- Le coût. Une formule à variables a lignes de table. À , il y a plus de lignes que de secondes depuis le Big Bang. Une preuve, elle, peut tenir en dix lignes quelle que soit .
- La forme. Aucun mathématicien ne démontre par table de vérité. On suppose, on déduit, on conclut. La déduction naturelle formalise exactement ces gestes — d'où son nom.
Deux phrases cadrent tout le chapitre : « il ne s'agit pas d'implémenter ces règles mais plutôt d'être capable d'écrire de petites preuves dans ce système », et « toute technicité dans les preuves dans ce système est à proscrire ».
On apprend donc à lire et à écrire des arbres de preuve de quelques nœuds. On ne démontre ni la complétude, ni l'élimination des coupures, et l'on ne code aucun vérificateur.
28.2 Séquents et règles d'inférence
Un séquent s'écrit
et se lit : « des hypothèses , on déduit ». La partie gauche est le contexte, souvent noté .
C'est la distinction syntaxe/sémantique du chapitre chap:logique, à son point le plus net.
| Nature | sémantique | syntaxique |
| Ce que cela dit | tout modèle de l'est de | il existe une dérivation de |
| Comment on l'établit | en examinant les valuations | en construisant un arbre |
| Coût | lignes | la taille de la preuve |
Le premier parle de vérité, le second de démontrabilité. Rien n'oblige a priori les deux à coïncider — c'est un théorème, et il a deux moitiés.
Une règle d'inférence se note
et se lit « si l'on a établi les prémisses, on établit la conclusion ». Une dérivation — ou arbre de preuve — est un arbre dont chaque nœud est une instance de règle, et dont les feuilles sont des axiomes.
La définition est celle du chapitre chap:induction :
On peut donc raisonner par induction sur la dérivation, exactement comme on raisonnait par induction sur une formule ou sur un arbre. C'est ce qui rendra la preuve de correction, plus bas, aussi courte.
Le premier est l'élimination de l'implication ; le second se dérive en trois pas, et sa preuve est écrite plus loin.
28.3 Les règles de la déduction naturelle
Le programme demande « les règles pour , , et ». Chaque connecteur en a deux familles : comment le fabriquer (introduction) et comment s'en servir (élimination).
Pour établir une conjonction, il faut établir les deux membres. Pour utiliser une conjonction, on en extrait le membre voulu.
Elle formalise le geste que tout mathématicien fait sans y penser : pour démontrer « si alors », on suppose et l'on démontre .
Lue de bas en haut, elle déplace de la droite du vers la gauche : cesse d'être un but et devient une hypothèse. C'est une décharge d'hypothèse, et c'est ce qui distingue la déduction naturelle d'un simple calcul de propagation.
L'élimination est le raisonnement par cas : si l'on sait et qu'on sait conclure dans chacune des deux hypothèses, alors est établi.
En posant comme :
est le raisonnement par l'absurde : on suppose , on aboutit à une contradiction, on conclut . Et dit qu'une contradiction permet de tout conclure.
28.4 Écrire une petite preuve
Montrons . Posons .
Comment on l'a trouvée : de bas en haut. Le but est , donc : on suppose et l'on vise . Pour obtenir , la seule hypothèse qui le produit est , donc : il reste à obtenir . Et s'obtient de et de , tous deux dans le contexte.
Trois nœuds, quelle que soit la complexité des propositions , , — là où une table de vérité en aurait huit lignes, et si les lettres étaient des formules à variables.
où , et où les séquents et s'obtiennent en réalité de par et — deux pas qu'on abrège ici pour ne pas alourdir l'arbre.
Méthode : La stratégie : lire l'arbre de bas en haut
- Regarder le but, à droite du . Sa forme désigne la règle d'introduction à employer : appelle , appelle , appelle .
- Quand le but est atomique — une variable, ou — c'est qu'il faut éliminer : chercher dans le contexte une hypothèse qui le produise.
- S'arrêter dès qu'un séquent a son but dans son contexte : c'est un axiome.
Cette montée est déterministe presque partout, ce qui explique que les preuves demandées soient courtes.
28.5 Correction
Si , alors .
Démonstration (Par induction sur la dérivation)
On montre que chaque règle préserve la propriété « tout modèle du contexte est modèle du but ».
Axiome. Si , tout modèle de satisfait . Immédiat.
. Par hypothèse d'induction, tout modèle de satisfait et satisfait . La table de donne alors .
. Soit un modèle de . Si , alors par la table de . Si , alors est un modèle de , donc de par hypothèse d'induction, donc . Dans les deux cas la conclusion tient.
. Soit modèle de . Par hypothèse d'induction, et ; la table de impose .
Les autres règles se traitent de même.
La correction dit : on ne peut pas démontrer de fausseté. C'est la moitié qui compte pour un utilisateur — un système incorrect serait inutilisable.
La moitié réciproque, la complétude — si alors —, est vraie aussi, mais elle est hors programme. On peut donc démontrer, dans ce système, toutes les conséquences logiques ; ce n'est pas à savoir, et surtout pas à démontrer.
Si — s'il existe une valuation qui satisfait sans satisfaire — alors aucune dérivation de n'existe. Une seule ligne de table de vérité suffit donc à prouver qu'on cherche une preuve en vain, ce qui évite de longues recherches inutiles. Les deux outils ne s'opposent pas : la table réfute, la preuve établit.
28.6 Les quantificateurs
Le programme demande les règles « pour les quantificateurs universels et existentiels », et précise : « on motive ces règles par une approche sémantique intuitive ».
n'est légitime que si n'est libre dans aucune hypothèse de : c'est le « soit quelconque » des mathématiques, et la condition dit exactement que est arbitraire. est la spécialisation : ce qui vaut pour tous vaut pour .
: exhiber un témoin suffit. : « soit un tel objet » — et ne doit être libre ni dans ni dans , faute de quoi on lui prêterait des propriétés qu'il n'a pas.
Sans la condition sur , on démontrerait n'importe quoi. De on tirerait : « puisque cet objet-ci a la propriété, tous l'ont ». La condition l'interdit, car est libre dans l'hypothèse.
C'est exactement le piège des variables libres et liées du chapitre chap:logique, et c'est la même erreur qu'un programmeur commet en capturant une variable qu'il croyait locale.
28.7 Ce qu'il faut retenir
- Un séquent affirme la démontrabilité, là où affirme la vérité. Syntaxe contre sémantique, une dernière fois.
- Une dérivation est un arbre — un type inductif —, donc on y raisonne par induction.
- Chaque connecteur a ses règles d'introduction (comment le fabriquer) et d'élimination (comment s'en servir).
- formalise « supposons , montrons » ; est le raisonnement par cas ; est le raisonnement par l'absurde. Ce ne sont pas des inventions : ce sont les gestes ordinaires des mathématiques, écrits.
- La correction — on ne démontre que du vrai — se prouve par induction, règle par règle. La complétude est hors programme.
Et le gain qui justifie tout le chapitre : une preuve de trois nœuds remplace une table de lignes, et elle ressemble à ce qu'on écrit vraiment.