Logique mathématique Partie I - Le calcul des prédicats Formalisation Chp.1- Le calcul des propositions (CP0) Chp.2- Le calcul des prédicats (CP1) Partie II - Les méthodes de calcul Déduction Chp.3- Système formel Chp.4- La méthode de résolution ENSI Logique Mathématique 1 Logique mathématique Chapitre 3 Système formel I- Notion de décidabilité II- Introduction aux systèmes formels III- Application au calcul des prédicats ENSI Logique Mathématique 2 Notions fondamentales I- Notion de décidabilité 1- Fonction récursive 2- Ensemble récursif 3- Ensemble récursivement énumérable 4- Prédicat décidable 5- Prédicat semi-décidable 6- Cas de la logique des prédicats ENSI Logique Mathématique 3 Notion de décidabilité Notation Soient • P un programme (ou une procédure) à une entrée et à une sortie • n un entier naturel ( ℕ ) On note par : - P(n) = k si le programme P imprime k (au bout d’un temps fini) pour la donnée n et s’arrête - P(n) = ENSI si le programme P ne s’arrête pas pour la donnée n (tourne indéfiniment) Logique Mathématique 4 Notion de décidabilité 1- Fonction récursive Soit f une fonction partielle de ℕ dans ℕ On dit que f est récursive ou calculable, s’il existe un programme P tel que : - P(n) = f (n) si n Dom( f ) - P(n) = sinon Remarques • Une fonction récursive est « programmer » (calculer) une fonction qu’on peut • Il y a des fonctions qui ne sont pas récursives c-à-d « non calculables » (thèse de Church) ENSI Logique Mathématique 5 Notion de décidabilité 2- Ensemble récursif Soit A un ensemble d’entiers naturels ( A ℕ ) On dit que l’ensemble A est récursif ssi la fonction totale f : ℕ ℕ définie par - f (n) = 1 si n A - f (n) = 0 sinon est récursive Autrement dit Il existe un programme qui pour toute donnée n ℕ - imprime (au bout d’un temps fini) «OUI» si n A - imprime (au bout d’un temps fini) «NON» sinon ENSI Logique Mathématique 6 Notion de décidabilité 3- Ensemble récursivement énumérable Soit A un ensemble d’entiers naturels ( A ℕ ) On dit que A est récursivement énumérable ssi il existe une fonction récursive f telle que A = Dom( f ) Autrement dit Il existe un programme qui pour toute donnée n ℕ - imprime (au bout d’un temps fini) «OUI» si n A - ne s’arrête jamais (tourne indéfiniment) sinon (n A) Autre définition Il existe un programme à 0 entrée qui imprime tous les éléments de A ENSI Logique Mathématique 7 Notion de décidabilité 4- Prédicat décidable Soit Q un prédicat à k arguments On dit que Q est décidable ou récursif ssi l’ensemble { (a1, …,ak) / Q(a1, …,ak) = V } est récursif Autrement dit Il existe un programme qui pour tout k-uplet (a1, …,ak) - imprime «OUI» si Q(a1, …,ak) = V - imprime «NON» sinon ENSI Logique Mathématique 8 Notion de décidabilité 5- Prédicat semi-décidable Si un prédicat n’est pas décidable alors on dit qu’il est non décidable (ou indécidable) Certains prédicats non décidables ont une théoriquement intéressante (mais pas pratique) propriété qui est propriété de semi-décidabilité ENSI Logique Mathématique 9 la Notion de décidabilité Soit Q un prédicat à k arguments On dit que Q est semi-décidable énumérable) ssi l’ensemble (ou récursivement { (a1, …,ak) / Q(a1, …,ak) = V } est récursivement énumérable Autrement dit Il existe un programme qui pour tout k-uplet (a1, …, ak) - imprime «OUI» si Q(a1, …, ak) = V - ne s’arrête jamais (tourne indéfiniment) sinon Autre définition Il existe un programme à 0 entrée qui imprime tous les k-uplets (a1, …, ak) tels que Q(a1, …, ak) = V ENSI Logique Mathématique 10 Notion de décidabilité Remarque Il n’est pas possible de détecter la non terminaison c-à-d le fait de savoir si un programme termine ou non est un problème lui même indécidable (semi-décidable) La semi-décidabilité peut être vue ainsi : Ie prédicat Q est semi-décidable s’il existe un programme qui pour tout k-uplet (a1, …, ak) - s’il imprime «OUI» au bout d’un temps fini alors Q(a1, …, ak) = V - sinon «on ne sait pas» ENSI Logique Mathématique 11 Notion de décidabilité Exemple Soit U = { u0, u1, u2 ...} une suite sur les entiers naturels Soit le prédicat Q(x) = « x U » - si U est une suite monotone alors Q est décidable - si U est une suite non monotone alors Q est semi-décidable Le problème d’Epiménide le crétois (ou le paradoxe du menteur) n’est ni décidable ni semi-décidable « Epiménide le crétois prétendais que tous les crétois étaient menteurs » ENSI Logique formelle 12 Notion de décidabilité Remarques • Tout ensemble fini est récursif • L’ensemble des ensembles récursifs est inclus dans celui des ensembles récursivement énumérables. L’inverse est faux. De même pour les prédicats décidables Remarque. Les définitions présentées dans ce chapitre sont informelles mais suffisantes pour notre cours. Pour des définitions plus formelles, il faut faire appel à d’autres notions : Machine de Turing, Fonctions primitives récursives, thèse de Turing-Church... ENSI Logique Mathématique 13 Notion de décidabilité 6- Cas de la logique des prédicats Dans le CP0, la satisfiabilité et la validité sont décidables (on dit que le calcul propositionnel est décidable) Il suffit de dresser la table de vérité Dans le CP1, la validité et la satisfiabilité sont indécidables (théorème de Church) nous verrons dans la suite du cours qu’il existe des procédures qui répondent oui chaque fois qu’une formule A est valide. Mais ces procédures pourrons ne pas terminer si A n’est pas valide le calcul des prédicats est semi-décidable ENSI Logique Mathématique 14 Notion de décidabilité Alenzo CHURCH (14 juin 1903 – 11 août 1995) Mathématicien (logicien) américain à qui l'on doit certains des fondements de l’informatique théorique. Ses travaux ont eu un impact très important dans les domaines de la logique et de la théorie de la récursivité Il est connu principalement pour le développement du lambda-calcul (en 1930) et pour son article de 1936 (Princeton) dans lequel il démontre l'existence d'un problème indécidable et que toute fonction calculable peut l'être avec un ensemble réduit d'instructions. C'est une affirmation philosophique indémontrable qui est la base de toute l’algorithmique. Ce résultat précède le fameux travail d'Alan Turing sur le problème de l'arrêt qui démontra aussi l'existence d'un problème insoluble par des moyens mécaniques suite ENSI Logique formelle 15 Notion de décidabilité Supervisant la thèse doctorale de Turing, ils démontrèrent alors que le lambda-calcul de Church et la machine de Turing utilisée dans son étude du problème de l'arrêt avaient des capacités équivalentes, puis qu'un certain nombre de formalisations mathématiques de la notion de traitement par des processus mécaniques ont des aptitudes de traitement équivalentes. Cette constatation aboutit à la thèse de Turing-Church. Ses travaux influencèrent notamment le langage de programmation LISP Parmi ses autres étudiants à Princeton il y avait Stephen Kleene qui a beaucoup contribué dans l’étude de la théorie des langages. ENSI Logique formelle 16 Notions fondamentales II- Introduction aux Systèmes formels 1- Définitions : système formel, déduction, théorème 2- Propriétés des système formels 3- Algorithme général d’application ENSI Logique Mathématique 17 Système formel II- Système formel Socrate est un homme Tout homme est mortel homme(socrate) x (homme(x)=>mortel(x)) Peut on déduire que Socrate est mortel? Mortel(socrate) •On sait modéliser les réalités mais on ne sait pas Tirer des conclusions Etablir un raisonnement de façon formel Pour établir un raisonnement on définit un système formel (système d'inférence) qui représente le cadre du raisonnement basé sur la déduction ENSI Logique Mathématique 18 Système formel 1- Définitions Les systèmes formels (systèmes d'inférences) sont des outils permettant de mettre en œuvre des algorithmes de déduction. Remarques: Notre but, ici, ce n'est pas de construire des systèmes formels, d'autres s'en sont chargés, mais de les utiliser pour prouver certaines propriétés: correction, cohérence,… ENSI Logique Mathématique 19 Système formel Définition Système formel Un système formel (ou système d’inférence) S, est la donnée de : Un alphabet S (fini ou infini dénombrable) Un sous-ensemble récursif FS de l’ensemble de toutes les suites finies d’éléments de S (FS S* ) FS est appelé l’ensemble des formules bien formées de S Un sous-ensemble récursif AS de FS ( AS FS ) AS est appelé l’ensemble des axiomes de S Un ensemble fini R S de relations sur FS appelé l’ensemble des règles d’inférence (ou règles de déduction ou règles de dérivation) ENSI R S = { r1, r2, …, rn } Logique Mathématique suite 20 Système formel Une règle ri est notée A1, …, Ap ri B ou A1, …, Ap ri B Ce qui veut dire « à partir des formules A1, …, Ap on déduit par la règle ri la formule B » • Les formules A1, …, Ap sont appelées les prémisses • La formule B est appelée la conclusion Exemple: le Modus Ponens (MP) A, A=>B MP B ENSI Logique Mathématique 21 Système formel Exemple1: Système formel de la logique minimale L: ensemble des formules bien formées (FbF) R: ensemble des règles d'inférences: une seule règle MP A: ensemble des axiomes A1:A=>(B=>A) A2: (A=>(B=>C))=>((A=>B)=>(A=>C)) Un axiome est un schéma d'axiome c'est-à-dire que A, B et C peuvent être remplacées (substituée) par n'importe quelle FbF Si A/(p=>q)=>r et B/p alors on a A1 : ((p=>q)=>r)=>(p=>((p=>q)=>r)) ) est valide ENSI Logique Mathématique 22 Système formel Exemple2: Système formel de Mendelson (1964) L: ensemble des formules bien formées de CP0 utilisant seulement les connecteurs => et R: ensemble des règles d'inférences: une seule règle MP A: ensemble des axiomes A1:A=>(B=>A) A2: (A=>(B=C))=>((A=B)=>(A=>C)) A3: ( B=> A)=>(( B =>A)=>B) ENSI Logique Mathématique 23 Système formel Définition Déduction On appelle déduction à partir des formules A1, …, An toute suite finie B1, …, Bp de formules telle que pour tout i [1..p] , la formule Bi est : • soit un axiome • soit l’une des formules A1, …, An • soit obtenue par application de la règle rk R S à partir des formules Bi0, …, Bim placées avant Bi On dit que la suite B1, …, Bp est une déduction de Bp à partir des hypothèses A1, …, An dans le système S On note : ENSI A1, …, An S Bp Logique Mathématique 24 Système formel Déduction hypothèses A1 . . . An B1 conclusion ENSI B2 : Bi : : Bp - axiome - A1 ou A2 …ou An - résultat de la règle rk Logique Mathématique 25 Système formel Définition Théorème On appelle théorème du système formel S toute formule A pour la quelle il existe une déduction à partir du vide (c-à-d sans hypothèse) Notation S A ou S A On note par TS l’ensemble des théorèmes de S Remarque Une déduction à partir du vide est aussi appelée une preuve (ou une démonstration) ENSI Logique Mathématique 26 Système formel Proposition Si A1, …, Ak A1, …, Ak A1, …, Ak S S En particulier si B2 : : S B1, B2, …, Bm et B1 A Bm S S C B A1, …, Ak alors et B S C alors C S A S C Corollaire Toute formule déduite à partir d’un théorème est un théorème ENSI Logique Mathématique 27 Système formel 2- Propriétés des Systèmes formels Un système formel S (comportant le symbole de négation « ») est dit consistant (ou non contradictoire), s’il n’existe aucune formule bien formée A de S telle que A et A soient tous les deux des théorèmes de S c-à-d il ne prouve pas une formule et son contraire Dans le cas contraire le système S est dit inconsistant (ou contradictoire) Un système formel S est dit cohérent (ou consistant) s’il existe des formules bien formées qui ne soient pas des théorèmes ENSI suite Logique Mathématique 28 Système formel Un système formel S est dit correct (sound) si TS T T étant un ensemble de formules qu’on veut obtenir comme théorèmes dans la modélisation d’une situation particulière Un système formel S est dit complet (complete) si T TS Un système formel S est dit correct et complet si T = TS On appelle problème de décision pour le système formel S ’’le problème de savoir si l’ensemble TS est récursif ou non’’ c-à-d le problème de savoir si le prédicat P(t) = « t est un théorème de S » est décidable ou non Lorsque le problème de décision admet une réponse positive, le système d’inférence est dit décidable ENSI Logique Mathématique 29 Système formel Quelques résultats Un système formel correct est forcément consistant Un système formel consistant et complet est forcément correct Un système formel incomplet n’est pas décidable (il est généralement semi-décidable) Un système formel complet n’est pas forcément décidable (il peut être semi-décidable) En effet la complétude dit seulement que « si A est un théorème alors on est sûr de trouver une preuve » mais ne dit pas « pour tout A on est sûr de dire si A est un théorème ou non » ENSI Logique Mathématique 30 Système formel 3- Algorithme général d’application: moteur d'inférence Déduire-S (C ,H) début /* déduire dans le système S la formule C à partir de l’ensemble des hypothèses H */ Ω := H répéter jusqu’à (condition-arrêt) – choisir - une règle ri R S et des formules A1, …, Ak Ω telles que A1, …, Ak ou - un axiome B AS ri B – Ω := Ω U {B} fin ENSI Logique Mathématique 31 Système formel Remarques • Pour montrer qu’une formule est un théorème, on prend l’ensemble des hypothèses H égal à l’ensemble vide • L’algorithme précédent peut se trouver dans l’une des situations suivantes : 1) il termine sur condition d’arrêt en particulier si C Ω alors H S C 2) il se bloque (on ne peut plus faire aucun choix) dans ce cas C n’est pas une conclusion de H 3) Il ne termine pas (tourne indéfiniment) dans ce cas on ne peut rien dire ENSI Logique Mathématique suite 32 Système formel • La procédure Choisir joue un rôle important dans la terminaison. Il faut fixer une stratégie de choix qui permet de converger rapidement vers la condition d’arrêt. Ceci dépend du domaine sur lequel on travaille. • Si le système S n’est pas complet, l’algorithme ne s’arrête pas tout le temps même lorsque la formule à démontrer est un théorème et ceci quelle que soit la stratégie de choix adoptée. On dit aussi que le système S ne termine pas. • Un système formel correct et qui termine est forcément complet • L’algorithme précédent est appelé un moteur d’inférence ENSI Logique Mathématique 33 Notions fondamentales III- Application au calcul des prédicats Pour montrer {H1, …, Hn} ╞ C ou ╞C Il faut disposer d’un système formel qui soit correct et complet pour le calcul des prédicats Soit CP un système formel correct et complet pour le calcul des prédicats, alors : ENSI {H1, …, Hn} ╞ C ssi ╞ C ssi H1, …, Hn Logique Mathématique CP CP C C 34 Application au Calcul des prédicats Correction : Si H1, …, Hn Si CP CP C alors {H1, …, Hn} ╞ C C alors ╞C Complétude : Si {H1, …, Hn} ╞ C Si ╞ C ENSI alors alors Logique Mathématique H1, …, Hn CP CP C C 35 Application au Calcul des prédicats Il existe plusieurs systèmes formels permettant de faire des déductions et des preuves dans le calcul des prédicats. Ils se classent en deux catégories selon le principe de preuve adopté : Méthodes déductives le système de Hilbert (+ règl. et 1 ax.) le système de Lukaseiwicz (1 règl. et 3 ax.) le calcul des séquents : système de déduction naturelle, système de Gentzen ( + règl. et 1 ax.) … Méthode réfutationnelle (preuve par contradiction) le principe de résolution de Robinson ( 2 règ + 0 ax.) ENSI Logique Mathématique 36 Application au Calcul des prédicats Méthode déductive { hypothèses } H 1 . . . Hn déduction conclusion ENSI C Logique Mathématique 37 Application au Calcul des prédicats Méthode réfutationnelle { hypothèses } U H . . . H C 1 n {négation conclusion} déduction (réfutation) contradiction ENSI Logique Mathématique 38