Boîte à outils |
Calcul des propositionsLe calcul des propositions ou calcul propositionnel est une théorie logique qui définit les lois formelles du raisonnement. C'est la version moderne de la logique stoïcienne. C'est aussi la première étape dans la construction des outils de la logique mathématique.
[modifier] Introduction généraleAssez complexe à définir en général, la notion de proposition a fait l'objet de nombreux débats au cours de l'histoire de la logique ; l'idée consensuelle est qu'une proposition est une construction syntaxique pour laquelle il fait sens de parler de vérité. En logique mathématique, le calcul des propositions est la première étape dans la définition de la logique et du raisonnement. Il définit les règles de déduction qui relient les propositions entre elles, sans en examiner le contenu ; il est ainsi une première étape dans la construction du calcul des prédicats, qui lui s'intéresse au contenu des propositions et qui est une formalisation achevée du raisonnement mathématique. Si l'on se place dans la logique classique, le calcul de propositions est une structure algébrique que l'on appelle algèbre de Boole. [modifier] Définition d'une propositionQuoique le calcul des propositions ne s'occupe pas du contenu des propositions, mais seulement de leurs relations, il peut être intéressant de discuter ce que pourrait être ce contenu. Une proposition donne une information sur un état de chose. Ainsi « 2 + 2 = 4 » ou « le livre est ouvert » pour prendre deux exemples très simples sont deux propositions en ce sens. De façon générale un état de chose peut être une vérité scientifique, un fait empiriquement observable, une formule mathématique. D'autre part, une proposition peut être vraie ou fausse (ou bien de statut indéterminé si l'on accepte de quitter la logique classique). C'est pourquoi une phrase optative (qui exprime un souhait comme par exemple « Que Dieu nous protège !») ou une phrase impérative (« viens !», « tais-toi !») ou une interrogation ne sont pas des propositions. « Que Dieu nous protège !» par exemple ne peut être ni vraie ni fausse: elle ne fait qu'exprimer un souhait du locuteur. En revanche, une phrase comme « toujours dans ce calcul, toutes les variables informatiques sont strictement positives » est une proposition dont le contenu a été modifié par la « modalité » toujours, ce type de proposition est étudié dans la logique modale, plus précisément la logique temporelle dans ce cas. Tous les énoncés mathématiques n'ont pas vocation à être des propositions, ainsi l'énoncé « x > 0 » n'a pas cette vocation, car il dépend de la variable x, en revanche un énoncé comme [modifier] Définition d'un système déductifUn calcul ou un système déductif est, en logique, un ensemble de règles permettant en un nombre fini d'étapes, selon des règles explicites et selon des procédés mécanisables de déterminer si une proposition est vraie. Un tel procédé s'appelle une démonstration. On associe aussi aux propositions une structure mathématique qui permet de garantir que ces raisonnements ou démonstrations ont du sens, on dit qu'on lui a donné une sémantique. En calcul des propositions classique, cette sémantique est constituée des deux éléments vrai et faux (souvent notés 1 et 0), quand on donne du sens à une proposition on lui donne soit la valeur vrai on dit alors qu'il s'agit d'une tautologie, soit la valeur faux, on dit alors qu'il s'agit d'une antilogie. [modifier] StructureDans les théories de la logique mathématique, on considère donc deux points de vue dits syntaxique et sémantique, c'est le cas en calcul des propositions.
Le fait que la déduction corresponde parfaitement à la sémantique s'appelle la complétude. Le système exposé ci-dessous se situe dans le cadre de la logique classique, qui est la branche de la logique mathématique la plus utilisée en mathématiques. On trouvera plus loin une présentation de logiques non classiques. L'adjectif « classique » ne doit pas être pris dans un sens de « normalité », mais comme un attribut que lui a donné l'histoire de la logique, elle aurait tout aussi bien pu s'appeler « booléenne ». [modifier] Présentation[modifier] Syntaxe[modifier] Les constituants du langageA la base de la syntaxe du calcul des propositions il y a les variables propositionnelles ou propositions atomiques, notées p, q, etc., formant un ensemble infini dénombrable. Les deuxièmes constituants de base du langage du calcul des propositions sont les opérateurs ou connecteurs. Ce sont des symboles qui permettent de construire des propositions plus élaborées. Les plus courants de ces connecteurs logiques sont et Un ensemble de connecteurs propositionnels est complet [3]si tout connecteur peut se définir au moyen des connecteurs de l'ensemble. Par exemple, en logique classique, l'ensemble
[modifier] Les formules bien formées ou propositionsLe calcul des propositions repose de plus sur des règles de formation indiquant comment construire des propositions complexes syntaxiques bien construites ou « bien formées ». Une proposition ou formule bien formée (notée par la suite A, B, C ou P, Q, R) est définie par induction sur la structure des expressions[4] comme suit :
Exemples : Si
[modifier] Quelques conventions syntaxiquesAfin d'alléger la présentation des expressions sans mettre en péril l'absence d'ambiguïté, on autorise par des conventions syntaxiques certaines entorses à la définition ci-dessus. Ainsi, on omet généralement les parenthèses extrêmes des formules. On supprime les parenthèses en associant les expressions de droite à gauche quand il s'agit du même connecteur. D'autre part, on donne une priorité au connecteurs On démontre que seules les parenthèses ouvrantes sont nécessaires à la non-ambiguïté de la lecture des formules qui pour cette raison sont remplacées par un point "." dans certaines notations. [modifier] Les systèmes déductifsLe calcul des proposition va nous permettre de présenter les trois systèmes déductifs les plus connus. Pour cela, nous nous limiterons aux propositions contenant, outre les variables propositionnelles, seulement des implications, des disjonctions et des occurrence de faux autrement dit de Les systèmes déductifs utilisent des règles de déduction (appelées aussi règles d'inférence) qui s'écrivent:
Les [modifier] La déduction à la HilbertIl n'y a qu'une seule règle appelée le modus ponens, elle s'écrit:
Elle peut se comprendre ainsi si
[modifier] La déduction naturelleAlors que la déduction à la Hilbert manipule et démontre des théorèmes, la déduction naturelle démontre des propositions sous des hypothèses et quand il n'y a pas (plus) d'hypothèses, ce sont des théorèmes. Pour dire qu'une proposition P est conséquence d'un ensemble Γ d'hypothèses, on écrit
En outre, il faut une règle qui est la réduction à l'absurde, nécessaire en logique classique: On remarquera que la règle d'élimination de l'implication est très proche du modus ponens, d'ailleurs on l'appelle aussi modus ponens. On remarquera qu'il n'y pas de règle d'introduction du faux et que la règle d'élimination du faux revient à dire que si d'un ensemble d'hypothèses je déduis le faux (ou l'absurde) alors de ce même ensemble je peux déduire n'importe quoi. On remarquera que la réduction à l'absurde est la règle qui correspond au raisonnement par l'absurde: pour démontrer P, on ajoute [modifier] Le calcul des séquentsL'une des idées qui à conduit au calcul des séquents est de n'avoir plus que des règles d'introduction en plus d'une règle que l'on appelle coupure et de règles structurelles. Pour cela, on utilise des formules que l'on appelle des séquents et qui sont de la forme
Une coupure traduit l'attitude du mathématicien qui démontre un lemme (la proposition A) dont il se sert ailleurs dans la démonstration d'un théorème. Ce lemme peut exprimer quelque chose qui n'a rien à voir avec le théorème principal, d'où le souhait d'éliminer ces lemmes qui sont comme des détours dans la progression vers le résultat principal[6]. Un affaiblissement correspond à l'ajout d'une proposition superflue soit comme antécédent, soit comme conséquent. [modifier] Exemples de théorèmesNous indiquons ci-dessous une liste de théorèmes qu'on peut démontrer à l'aide des règles précédentes, ainsi que le nom usuel qui leur est attribué par la tradition.
[modifier] CommentairesOn aura remarqué que les trois systèmes utilisent le même symbole On peut montrer que ces trois systèmes sont équivalents dans le sens où ils ont exactement les mêmes théorèmes. L'aspect « classique » du calcul des propositions est obtenu, dans le système à la Hilbert, par l'axiome de contraposition [modifier] Sémantique
La sémantique détermine les règles d'interprétations des propositions. Attribuer des valeurs de vérité[7] à chacune des propositions élémentaires intervenant dans une proposition revient à choisir un modèle de cette proposition. De façon plus précise, l'interprétation d'une proposition A est le fait d'attribuer une valeur de vérité (0 ou 1) aux variables propositionnelles et à expliquer comment les connecteurs se comportent vis-à-vis des valeurs de vérité. On donne ce comportement par une table de vérité. De cette manière on peut donner un valeur 0 ou 1 à chaque propositions qui dépend des valeurs prises par les tables de vérité. Il existe trois cas d'interprétation:
[modifier] Interprétation des connecteursNous explicitons le comportement, puis donnons la table associée
Exemple 1 :
En effet, si on attribue à A la valeur 0, alors Exemple 2 :
En effet, si on attribue à A la valeur 1, alors Le calcul propositionnel dispose donc de plusieurs moyens différents pour « valider » les propositions : les systèmes de déduction qui démontrent les propositions et définissent les théorèmes et les méthodes sémantiques qui définissent[8] les tautologies. La question qui se pose est de savoir si ces méthodes coïncident. [modifier] Principales propriétés[modifier] Décidabilité, cohérence, complétude, compacitéLe fait que toute proposition soit démontrable si et seulement si elle est une tautologie exprime une propriété du calcul propositionnel que l'on appelle la complétude, cela signifie que la présentation déductive du calcul propositionnel est équivalente à la présentation sémantique. La complétude repose sur les remarques suivantes.
L'article théorème de complétude du calcul des propositions propose une autre démonstration plus détaillée. Il résulte de la complétude du calcul des propositions que :
Supposons donné un nombre infini de propositions. Peut-on satisfaire simultanément ces propositions ? Autrement dit, existe-il des valeurs de vérité pour leurs variables propositionnelles qui donnent 1 comme valeur de vérité à toutes les propositions? Si la réponse est positive pour tout sous-ensemble fini de ces propositions, alors elle l'est pour toutes les propositions. Cette propriété, qui assure que l'on peut passer de tous les sous-ensembles finis à l'ensemble infini tout entier, est appelée la compacité. [modifier] Méthodes de calcul, NP-complétudeNous avons vu que, pour décider si une proposition est démontrable, il suffit de vérifier si c'est une tautologie, c'est-à-dire de vérifier si elle prend la valeur de vérité 1 quelles que soient les valeurs de vérité de ses variables propositionnelles. Cette approche brutale se heurte cependant au temps de calcul qu'elle requiert. En effet, si la proposition possède n variables propositionnelles, il faut calculer 2n combinaisons de valeurs possibles pour les variables propositionnelles, ce qui devient rapidement infaisable pour n grand. Ainsi, si n = 30, il faudra énumérer plus d'un milliard de combinaisons de valeurs. Si n = 100, le temps de calcul nécessaire pour énumérer toutes ces combinaisons de valeurs dépasse de loin l'âge de l'Univers. Il existe certes des améliorations possibles. Par exemple, si on attribue la valeur de vérité 0 à une variable propositionnelle p, on peut attribuer directement la valeur 0 à On peut également chercher à voir s'il est possible d'invalider les implications. Considérons par exemple la proposition : Étant constituée d'une implication, pour la rendre invalide, il suffit que la conclusion Mais les améliorations précédentes ne changent pas fondamentalement la difficulté du problème. On est donc devant la situation suivante. Étant donnée une proposition f, on se demande si f est une tautologie ou non et pour cela, on se demande s'il existe des valeurs de vérité attribuables aux variables propositionnelles de f qui rendraient f invalide.
La question de l'invalidité de f, ainsi que tous les problèmes qui se résolvent suivant la méthode que nous venons d'esquisser, sont dits NP (pour polynomial non déterministe). Tester l'invalidité de f équivaut par des calculs très simples (en temps polynomial) à tester la satisfaisabilité de sa négation. Le problème de la satisfaisabilité d'une proposition, à savoir trouver une configuration qui donne 1 comme valeur de vérité de la proposition est appelé problème SAT. Il joue un rôle fondamental en théorie de la complexité, puisqu'on peut montrer que la découverte d'un algorithme déterministe en temps polynomial pour ce problème permettrait d'en déduire des algorithmes déterministes en temps polynomial pour tous les problèmes de type NP (théorème de Cook). On dit que SAT (et donc également le problème de la non-démontrabilité d'une proposition) est un problème NP-complet. Le problème de la démontrabilité d'une proposition est dit co-NP (pour complémentaire de NP). Le problème SAT désigne en fait le plus souvent celui de la satisfaisabilité d'une conjonction de clauses (un cas particulier parmi les propositions), mais on ramène le problème de la satisfaisabilité d'une proposition à celui-ci par une réduction polynomiale (une mise sous forme clausale par équisatisfaisabilité, celles par équivalence logique ne fonctionnent pas). [modifier] Algèbre de BooleSoit E l'ensemble des propositions sur un ensemble de variables propositionnelles. Soit Les algèbres de Boole peuvent être formalisées avec un seul axiome :
autrement dit, il suffit de dire que cette proposition vaut 1 pour que toutes les autres identités des algèbres de Boole en découlent. Veroff et McCune ont démontré en 2000 en utilisant leur système de démonstration automatique de théorèmes Otter que l'on peut formaliser les algèbres de Boole par la seule équation
[modifier] Formes normales conjonctives, formes normales disjonctivesUne disjonction est une proposition de la forme Exemples :
Lorsque chaque bloc disjonctif d'une FND comporte une et une seule occurrence des mêmes variables propositionnelles, on parle alors de FND distinguée. Lorsque chaque bloc conjonctif d'une FNC comporte une et une seule occurrence des mêmes variables propositionnelles, on parle alors de FNC distinguée. Exemples :
[modifier] Logique classique, minimale, intuitionnisteLes axiomes et règles du calcul propositionnel que nous avons présentés sont ceux de la logique classique. Ils induisent la proposition Nous présentons maintenant deux variantes très proches de logique non classique, la logique minimale de I. Johansson[9] (1936) et la logique intuitionniste de Heyting (1930). Les connecteurs primitifs sont Avant d'introduire la négation, on énonce les axiomes relatifs à et ceux relatifs à On introduit enfin deux axiomes relatifs à la négation. Le premier exprime que, si f implique sa propre négation, alors f est invalide.
Le second définit le comportement de chaque logique vis-à-vis d'une contradiction et la seule différence entre la logique minimale et la logique intuitionniste porte sur cet axiome.
En présence d'une proposition et de sa négation, les trois logiques, classique, intuitionniste et minimale, concluent toutes trois à une contradiction
Logique minimale et logique intuitionniste ont toutes deux la proposition De même, elles permettent de démontrer Glivenko a démontré[10] en 1929 que
[modifier] Voir aussi
[modifier] Bibliographie
|