You are on page 1of 45

Logique : introduction, logique des propositions

Logique et Intelligence Articielle (Licence 3)

Logique et Intelligence Articielle (Licence 3)

1/45

Introduction
La logique peut se dnir comme ltude des raisonnements : Raisonnements formels : dmonstrations mathmatiques, preuves. Raisonnements informels : tude des discours en langues naturelles, utilisation des connaissances.

Logique et Intelligence Articielle (Licence 3)

2/45

Logique en informatique
La logique apparat dans dirents aspects de linformatique : 1. La logique mathmatique sert pour lanalyse formelle de programmes : formalisation des spcications, preuves de programmes, optimisations... 2. Linformatique peut aider les mathmatiques dans ltablissement de preuves : assistants de preuves, dmonstrateurs automatiques. 3. Plus gnralement, la logique est une base de lintelligence articielle, avec de nombreux aspects : reprsentation, acquisition et utilisation de connaissances (systmes experts ou base de connaissances) ; rsolution de problmes (robots, jeux) ; comprhension et traitement des langues naturelles (linguistique informatique).

Logique et Intelligence Articielle (Licence 3)

3/45

Approche du cours
Ce cours comprend deux parties : Une prsentation des logiques les plus simples (logique propositionnelle, puis logique des prdicats), dans loptique dune utilisation par un ordinateur. Lapprentissage dun langage de programmation logique (Prolog) dans loptique de rsolution de problmes de logique et de contraintes.

Logique et Intelligence Articielle (Licence 3)

4/45

Logique : langage, syntaxe, smantique


Toute formule (toute criture, tout programme) nest quune suite (nie) de symboles.

10001001011 (a => b) <=> (non b => non A) Flix est un chat. int main () { printf("Hello, world !\n"); return 0; }

Une formule est (ou nest pas) correcte dans un langage. Le sens dune formule correcte dans un langage est appel sa smantique.
Logique et Intelligence Articielle (Licence 3)
5/45

Langage : syntaxe
Un langage formel est un langage formalis (strictement dni). La syntaxe dun langage formel est lensemble des rgles dnissant si un mot est correct dans le langage (on parle de mots accepts par le langage).

Exemples : langages rguliers...

Exemple : en C, un entier non sign est crit sous forme dcimale (123, 410, ...), en octal (0123, 0410...), en binaire (1010010101b, ...) ou en hexadcimal (0x123, 0x410). Tous ces mots peuvent dnir un seul langage : on peut crire une fonction C qui dit si une chane de caractre reprsente (ou pas) un entier non sign.

Logique et Intelligence Articielle (Licence 3)

6/45

Langage : smantique
La smantique dun langage est une relation entre les formules acceptes par le langage et leurs signications. Cette signication est souvent faite dans un univers mathmatique (dont le sens est dj connu).

Exemple : smantiques possibles des entiers crits en C : une fonction associant un mot (123, 0x123, 1001b, ...) un entier mathmatique (123 123, 0x123 291, 1001b 9, ...). une fonction associant un mot (123, 0x123, 1001b, ...) un reprsentation mmoire sur 4 octets (123 |00000000|00000000|00000000|01111011|).

Logique et Intelligence Articielle (Licence 3)

7/45

Smantique en logique : interprtation


En logique, une formule doit tre considre comme une phrase (comme, en langue naturelle, Nous sommes Brest , Flix est un chat , etc.), qui peut tre vraie ou fausse . Mais la vrit nest pas absolue, elle peut dpendre de la ralit , du monde dans lequel on est. Ainsi, on dnit en gnral la smantique des formules ainsi : on cre un ensemble dunivers (on parle aussi de mondes ou de modles) possibles ; la smantique dune formule dit, pour chaque univers, si cette formule est vraie ou non dans cet univers : cest linterprtation de la formule.

Logique et Intelligence Articielle (Licence 3)

8/45

Exemple
Lnigme dEinstein commence ainsi : Dans une rue, il y a 5 maisons de 5 couleurs direntes (rouge, bleu, vert, blanc et jaune) ; dans chaque maison vit une personne de nationalit dirente (anglais, sudois, danois, norvgien, allemand) ; chaque personne boit un certain type de boisson (th, caf, lait, bire, eau), fume un certain type de cigare (Pall Mall, Dunhill, Blend, Blue Master, Prince) et garde un certain animal domestique (chiens, oiseaux, chats, cheval, poissons). Avec ces informations, on dispose de 5! 5! 5! 5! 5! = 24 883 200 000 mondes possibles. La smantique de la phrase La maison verte est gauche de la maison blanche. est la fonction qui prend en paramtre la description dun monde, et retourne vrai si dans ce monde la maison verte est gauche de la maison blanche, et faux sinon. Ce rsultat est linterprtation de la phrase dans ce monde.
Logique et Intelligence Articielle (Licence 3)
9/45

Raisonnements logiques
Le principe dun raisonnement logique est de faire de nouvelles formules partir danciennes formules.

Exemple : partir des deux formules : 1. Langlais boit du th. 2. Un voisin de lallemand boit du th. on dduit : Langlais est voisin de lallemand. Cette dduction est correcte parce que, dans tous les mondes possibles pour lesquels les deux premires formules sont vraies, la troisime est vraie.

Logique et Intelligence Articielle (Licence 3)

10/45

Mthode de preuve
Une mthode de preuve est une procdure (formelle) pour faire des raisonnements logiques (donc crer de nouvelles formules logiques partir dautres). Une telle mthode est normalement syntaxique, dans le sens quelle manipule les formules sans chercher les interprter. une telle mthode est correcte si les dductions faites sont correctes, cest--dire smantiquement vraies . une telle mthode est complte si toutes les dductions smantiquement vraies peuvent tre obtenues avec cette mthode. En informatique, en plus de la correction et la compltude, on pourra sintresser deux autres proprits : un ordinateur peut-il vrier une preuve, si on la lui donne ? un ordinateur peut-il fabriquer une preuve, si on lui pose une question ?

Logique et Intelligence Articielle (Licence 3)

11/45

Logique propositionnelle
La logique propositionnelle ou logique des propositions est une des logiques les plus simples : juste des variables (des armations lmentaires ) et des connecteurs logiques (et, ou, implique, ...). Les formules contiennent : Un Ensemble de variables not X . Par exemple, X = {a, b, c, d, e, f, . . .}. Des connecteurs logiques, en nombre ni. Par exemple : { , , , }

Logique et Intelligence Articielle (Licence 3)

12/45

Syntaxe
Construction par induction de lensemble des formules F : 1. Toute variable est une formule : X F. 2. Si et sont des formules, alors , , et sont des formules. Lensemble F est le plus petit ensemble qui vrie ces deux proprits. Toute formule est construite par application nie de ces deux rgles.

Logique et Intelligence Articielle (Licence 3)

13/45

Exemple de formules
Sont des formules : a; a b; a ; a b c; a (b c) (utilisation du parenthsage pour expliciter larbre de drivation) ; a a a a a a a a a.

Ne sont pas des formules : a a : expression mal forme. a a a . . . linni : une formule est forcment nie.

Logique et Intelligence Articielle (Licence 3)

14/45

Parenthsage
Priorits : est prioritaire sur , qui lest sur , qui lest sur . Application : c a b d est quivalent c (a ((b) d)).

Associativit : et sont associatifs gauche, est associatif droite. Application : a b c est quivalent a (b c).

Logique et Intelligence Articielle (Licence 3)

15/45

Smantique
En logique classique, les stressvaleurs de vrit sont le vrai et le faux. Nous noterons ces valeurs par les symboles (pour faux) et (pour vrai). B = {, } Les mondes en logique des propositions donnent linterprtation des variables propositionnelles (vraie ou fausse).

Dnition : une interprtation ou une aectation est une application de X dans B.

Logique et Intelligence Articielle (Licence 3)

16/45

Exemple
Si X = {a, b, x}, on a 23 = 8 mondes possibles, dnis par 8 aectations : 1. 1 (a) = , 1 (b) = , 1 (x) = . 2. 2 (a) = , 2 (b) = , 2 (x) = 3. 3 (a) = , 3 (b) = 4. 4 (a) = , 4 (b) = 5. 5 (a) = 6. 6 (a) = 7. 7 (a) = 8. 8 (a) = , 5 (b) = , 6 (b) = , 3 (x) = . .

, 4 (x) = . , 5 (x) = . , 6 (x) = . .

, 7 (b) = , 7 (x) =

, 8 (b) = , 8 (x) = .

Logique et Intelligence Articielle (Licence 3)

17/45

Smantique dune formule


La smantique dune formule dans linterprtation est dnie par rcurrence structurelle sur : pour une variable x, x = (x). = . = . = . = .

o les oprateurs , , et sont dnis laide de tables de vrit (premier argument en colonne, deuxime en ligne) :

Logique et Intelligence Articielle (Licence 3)

18/45

Note explicative sur les symboles


Lusage de , , ... et , , ... peut prter confusion : , , , sont des symboles utiliss pour crire des formules en logique propositionnelle. Ce sont juste des dessins dans une criture. , , , sont des fonctions de B B dans B qui servent construire la smantique des formules. Ce sont des objets mathmatiques. La dirence peut sapparenter la dirence entre "+" et + en C. De mme, le calcul de est proche de de ce que ferait un interprteur C pour interprter une expression arithmtique en fonction de la mmoire courante.

Logique et Intelligence Articielle (Licence 3)

19/45

Exemples
Soit = a (b c) (a a b). Soit avec (a) = , (b) = et (c) = .

1. Construction (mentale ou non) de larbre de drivation. 2. Smantique de chaque sous-formule. Au nal : = .

Logique et Intelligence Articielle (Licence 3)

20/45

Modle, validit, satisabilit


On dit que est vraie dans laectation lorsque = laectation lorsque = . , et est fausse dans

Autres dnitions : est un modle de , ou satisfait , si = . On note aussi |= . soit un ensemble de formules. entrane , si toute aectation satisfaisant toutes les formules de , satifait (les modles de sont des modles de ). On note |= . est valide si elle est vraie dans toutes les aectations. Sinon elle est invalide (il existe au moins une aectation dans laquelle est est fausse). Si est valide, on dit aussi que est une tautologie et on note |= . est satisable si elle a au moins un modle. Elle est insatisable (fausse dans tout modle) sinon.

Logique et Intelligence Articielle (Licence 3)

21/45

Exemples
A vrier : Soit = {a, a b}. Alors |= b. |= a b a. a b a nest pas valide, mais est satisable. b a (b a) est insatisable.

Logique et Intelligence Articielle (Licence 3)

22/45

Introduction la preuve
On dispose dune formule . Comment savoir si est valide ? invalide ? insatisable ?

Mme chose avec un ensemble de formule et une formule : est ce que |= ?

Logique et Intelligence Articielle (Licence 3)

23/45

Mthode des tables de vrit


On peut numrer les aectations possibles (sur les variables libres ), soit 2n cas o n est le nombre de variables libres de . Cette mthode smantique revient faire un table de vrit de la formule. Exemple : a b a b a

Avantages : simple comprendre, donne tout de suite les modles. Inconvnient : trs lent, complexit exponentielle.
Logique et Intelligence Articielle (Licence 3)
24/45

Approche calculatoire : systmes de rcriture


Utilisation de rgles de rcriture (associativit, commutativit, ...) pour passer dune formule une formule quivalente , jusqu arriver une formule vidente . Exemple : a b a = a (b a) = a b a = a a b = V b = V Inconvnient : les calculs sont assez loin dun raisonnement logique. Leur caractre bidirectionnel (a b a est plus simple que a (b a) ou linverse ?) les rend dicile programmer.

Ltude des systmes de rcriture sort du cadre de ce cours, mais on se servira parfois de rgles de rcriture avant lutilisation dun systme de preuve.

Note : sauf dans des cas prciss au cours du cours (et pour des rgles spciques), ne pas utiliser la rcriture dans les exercices (mme les formes les plus videntes). Rien que rcrire a (a b) en (a a) b nest pas trivial pour un ordinateur.
Logique et Intelligence Articielle (Licence 3)
25/45

Mthodes logiques : les systmes de preuve


Une autre approche est de crer des rgles pour crire des suites de formules, pour que lapplication de ces rgles permette dobtenir des formules valides. Une suite de formules respectant ces rgles est une preuve, on parle de systmes de preuves. Les conclusions (dernires formules) de ces preuves sont appeles thormes.

Questions : tant donn un systme de preuve : 1. tout thorme est-il une tautologie (correction) ? 2. toute tautologie peut-elle tre un thorme (compltude) ?

Logique et Intelligence Articielle (Licence 3)

26/45

Systmes de Hilbert
Un systme de preuve en format de Hilbert comprend deux ensembles : 1. un ensemble A daxiomes, qui sont des formules ; 2. un ensemble R de rgles dinfrence, relations entre ensembles de formules (les prmisses) et des formules (les conclusions).

Logique et Intelligence Articielle (Licence 3)

27/45

Drivation
A partir dun ensemble de formules (appeles hypothses), une drivation est une suite de formules 1 , 2 , ..., n , n > 0, telle que chaque formule i est : soit un axiome, i A ; soit une hypothse, i ; soit une dduction des formules prcdentes : i est la conclusion dune rgle dinfrence, donc les prmisses sont dans les formules prcdentes. Une preuve dune formule partir de est alors une drivation dont la dernire formule est . Lorsquune telle preuve existe, on dit que est prouvable partir de , et on note .

Logique et Intelligence Articielle (Licence 3)

28/45

Schmas daxiomes, de rgles Les axiomes (et les rgles) sont en nombre innis,
prsents par schmas : la dnition se fait substitution prs.

Exemple : schma daxiome : . a b a. a a a. (a b) (c a) (a b). ... Exemple : schma de rgle : partir de et de , dduire . de a et de a a, dduire a. de a b et de (a b) (a b), dduire a b. ... prmisses On note souvent les rgles sous la forme conclusion .
Logique et Intelligence Articielle (Licence 3)
29/45

Systme SKC Un systme minimal pour les oprateurs et .


Trois schmas daxiome : (K) . (S) ( ) ( ) . (C) ( ) .

Un schma de rgle : le modus ponens.

Logique et Intelligence Articielle (Licence 3)

30/45

Autres oprateurs
Le systme de Hilbert ne contient que les oprateurs et , il faut donc un moyen de transformer une formule comprenant dautres oprateurs.

Les autres oprateurs sont rcrits en fonction de et : = ( ) =

Seules rgles de rcriture autorises, et uniquement de la gauche vers la droite : il sagit en fait de dnition des oprateurs et partir de .

Logique et Intelligence Articielle (Licence 3)

31/45

Exemple : preuve de a

ba

b a est en fait b a. On veut donc prouver a 1. a b a 2. a b a

(K) (en remplaant par a et par b).

(hypothse). (MP avec (1) et (2)).

3. b a

En utilisant uniquement lhypothse a, et le systme de Hilbert, on a bien obtenu b a, ce qui prouve a b a.

Logique et Intelligence Articielle (Licence 3)

32/45

Exemple : preuve de a

a b En fait, on veut prouver : a


(S)

a b.

1. (a a b) (a a) a b

2. (a (b a) a b) (a b a) a a b 3. (b a) a b (C) (K)

(S)

4. ((b a) a b) a (b a) a b 5. a (b a) a b (MP avec (3) et (4))

6. (a b a) a a b 7. a b a 8. a a b (K)

(MP avec (2) et (5))

(MP avec (6) et (7)) (MP avec (1) et (8)).

9. (a a) a b 10. a a a 11. a (K)

(hypothse) (MP avec (10) et (11)) (MP avec (9) et (12), CQFD).
33/45

12. a a 13. a b

Logique et Intelligence Articielle (Licence 3)

Amliorations
Pour rendre une preuve plus lisible : 1. Utiliser des arbres de preuves. 2. Prsenter laide de preuves intermdiaires (lemmes). 3. Utiliser des substitutions : si est prouvable sans hypothses, alors pour toute substitution , est prouvable. De mme, on fait plusieurs fois des dmonstrations de la forme .

Malgr tout, les systmes de Hilbert sont peu utilisables.

Logique et Intelligence Articielle (Licence 3)

34/45

Correction
Le systme SKC est correct, cest--dire que pour tout ensemble de formules et toute formule : |=

En particulier, toute formule prouvable sans hypothses est valide.

Cela dcoule de la compatibilit entre chaque axiome, chaque rgle de dduction, et la smantique des oprateurs.

Logique et Intelligence Articielle (Licence 3)

35/45

Compltude
Le systme SKC est complet, cest--dire que si entrane , alors est prouvable partir de : |=

En particulier, toute tautologie est prouvable (ce qui ne veut pas dire que sa preuve soit facile faire).

Logique et Intelligence Articielle (Licence 3)

36/45

Autres axiomes
On peut dnir des systmes partir dautres oprateurs : par exemple, sans mais avec un symbole F darit 0 (F est une formule lui seul), on remplace le schma (C) par : (( F) F)

Un tel systme est aussi correct et complet (avec la bonne smantique de F). devient alors quivalent F.

Logique et Intelligence Articielle (Licence 3)

37/45

Dduction naturelle
La dduction naturelle utilise des rgles dinfrences pour introduire et liminer des oprateurs, en cherchant simuler le raisonnement naturel . Par exemple : (Axiome) , A A , F (I) (I) (I1) (I) , (I) (E1) (I2) , (E) , (E) (E2) (E)

(E)

(rgle (I) inutile si est dni comme F) (rgle (I) non indispensable) (systme NJ = pas de rgle (E))
38/45

Logique et Intelligence Articielle (Licence 3)

Exemple : preuve de

A A (sans utiliser (I))


A, A A A, A A A, A F A

A A Pour prouver Si A alors non non A, on suppose que A est vrai et on va montrer non non A, cest--dire non (non A) (rgle I). Pour cela, on va supposer que non A est vrai et obtenir une contradiction (dmonstration dite par labsurde, rgle I). Comme on a suppos A et non A, on a la fois A et sa ngation qui sont vraies, ce qui permet de dduire nimporte quoi (rgle E), donc par exemple la contradiction F. Ce qui montre que non A ne peut pas tre vrai, donc que non non A est vrai. Donc, partir de A on a montr non non A, ce qui prouve Si A alors non non A .
Logique et Intelligence Articielle (Licence 3)
39/45

Correction et compltude
Thorme : le systme de dduction naturelle ci-dessus est correct et complet.

Sans la rgle (E), le systme est correct, mais pas complet (cest la logique intuitionniste).

Logique et Intelligence Articielle (Licence 3)

40/45

Exemple : preuve de

((a b) a) a (loi de Pierce)

Cette tautologie nest pas dmontrable sans (E).

(a b) a, a, a

(a b) a, a, a (a b) a, a, a

a b

(a b) a, a (a b) a, a a

(a b) a (a b) a, a (a b) a, a a

ab

a, (a b) a (a b) a (a b) a

a a

((a b) a) a

Logique et Intelligence Articielle (Licence 3)

41/45

Calcul des squents


La dduction naturelle est mieux mais pas parfaite : on ne sait pas toujours, partir dune formule, quelle rgle appliquer. Le calcul des squents (de Gerhard Gentzen) est encore mieux. Un squent de Gentzen est un couple densemble de formules , , not . On trouve donc plusieurs formules droite du .

Intuitivement, signie que sous les hypothses , au moins une formule de est vraie (conjonction gauche du , disjonction droite). Toutes les rgles (sauf deux) sont des rgles dintroduction doprateurs, mais certaines se font droite et dautres gauche.

Logique et Intelligence Articielle (Licence 3)

42/45

Systme LK0 de Gentzen


(Axiome) , , , , , (-gauche) (-gauche) , , (-gauche) , , , ,
43/45

(-droite)

, , , , , (-droite) (-droite)

, , ,

(-gauche)

, ,

, , (-droite)

(Coupure)

Logique et Intelligence Articielle (Licence 3)

Correction et compltude
Etant donn deux ensembles de formules , , on notera |= pour dire que, si une aectation satisfait toutes les formules de , alors elle satisfait au moins une formule de . On dit dans ce cas que est une consquence logique de .

Thorme : le systme LK0 de Gentzen en logique propositionnelle est correct et complet, ie : |=

Cela reste vrai mme si on supprime la rgle de Coupure (thorme dit dlimination des coupures), qui sert dans les dmonstrations la main .

Logique et Intelligence Articielle (Licence 3)

44/45

Intrt du calcul des squents Pour prouver

, on cherche faire disparatre tous les connecteurs, jusqu navoir plus que des axiomes. Cette stratgie marche toujours (si eectivement ). Exemple (preuve de ((a b) a) a) : a a, b a a a

(a b), a (a b) a

(((a b) a) a

Logique et Intelligence Articielle (Licence 3)

45/45

You might also like