Vous êtes sur la page 1sur 39

Université Alger 1 / Faculté des sciences / Département Maths-Informatique

Cours de
Logique mathématique

2eme année
Maths et Informatique

Enseignant : R. ZEBDI

Année universitaire 2016 - 2017

1
Programme

1. Logique propositionnelle
o Le langage
o Les formes normales
o Théorie de la démonstration
o Consistance et complétude
o La résolution
2. Logique des prédicats
o Langage
o Interprétation
o Forme prénexe et forme de skolem
3. Calculabilité
o Les fonctions récursives
o La machine de turing

2
Introduction
La logique au sens philosophique du terme, remonte à la période
grecque. Le premier qui a enseigné la logique est le philosophe « Aristote ».
Par la suite, ces livres ont été traduits en Arabe, par les savants musulmans
Ibn sina Farabi dans la période Abbasside.

On peut définir la logique comme :


« la science qui étudie les règles générales du raisonnement correcte »

Le but de l’étude de la logique est donc :


4. Raisonner correctement
5. Résoudre les problèmes complexes
6. Trouver les solutions rapidement

Quand à la logique mathématique, elle est apparue vers la fin du


XIXème siècle, Russel et Frege se sont parmi les fondateurs de cette
science. A cette époque il y avait beaucoup de problèmes en
mathématiques ; énoncés non encore démontrés, paradoxes, … Ces
leaders ont fondé les bases de la logique mathématique afin de résoudre
ces problèmes en représentant les énoncés mathématiques sous forme de
formules ensuite les démontrer avec des méthodes de raisonnement
rigoureuses.

L’utilisation de la logique mathématique n’est pas limitée dans le


domaine théorique pur, mais elle a fortement contribué à la naissance des
premiers ordinateurs. La binarité de la valeur de vérité est la base de tous
les circuits électronique qui composent l’ordinateur. Par la suite les bases
de la logique mathématique ont beaucoup contribué dans les applications
de l’intelligence artificielle.

3
Chapitre 1

Logique propositionnelle

4
La proposition (assertion)

C’est une phrase informative qu’on peut juger vraie ou fausse

Exemple :
1. La terre est sphérique … Vrai
2. Le soleil tourne autour de la terre … Faux

On dit que la valeur de vérité de la première phrase = Vrai

La proposition peut être affirmative ou négative

Exemple :
7. La phrase 1 est affirmative
8. Sa forme négative : la terre n’est pas sphérique

La proposition peut être composée. Dans ce cas sa valeur de vérité


dépend des valeurs de vérité des propositions qui la composent :

« La terre est sphérique et tourne autour du soleil »

Cette proposition est vraie car elle est la conjonction de deux


propositions vraies

Il y a des phrases qui ne sont pas informatives :

9. Quel âge avez-vous ?


10. Rangez vos affaires.

Ces phrases bien évidement ne sont pas considérées comme


propositions car on ne peut pas dire vrai ou faux

Le paradoxe

C’est une phrase informative Mais elle n’est ni vraie ni fausse

Exemple : « je ment »
5
Langage propositionnel
Il est composé de :

1- L’Alphabet
11. Les propositions P, Q, R, …
12. Les connecteurs logiques :  ,  ,  ,  , ↔
13. Les parenthèses

symbole Appellation Prononciation


 Négation Non P

 Conjonction P et Q

 Disjonction P ou Q

 Implication P implique Q

↔ Equivalence P est équivalent à Q


P si et seulement si Q

2- La syntaxe
Une formule est une composition de propositions à l’aide de
connecteurs logiques. On note α , β , …
La composition se fait en respectant les règles suivantes :
14. Toute proposition est une formule
15. Si α est une formule alors α est aussi une formule
16. Si α est β sont deux formules alors α o β est aussi une formule,

tel que o  {  ,  ,  , ↔ }
17. Si α est une formule alors (α) est aussi une formule

Exemple
P , Q , P ,  Q , PQ ,QPR : des formules bien formées
)PQ) , (P1)P2P3)) : formules mal formées

6
Priorité des connecteurs
La connaissance des priorités permet la bonne lecture de la formule et
évite les parenthèses supplémentaires.
- La priorité des connecteurs de la plus forte à la plus faible: , , , , ↔
- Lorsque le même connecteur se répète dans la même formule, la priorité
est donné à celui le plus à gauche.
- Lorsqu’un connecteur est mis entre parenthèse alors il est prioritaire

Exemples :
1. P  Q 1. Négation, 2.Conjonction
2.  P  Q  R 1. Négation, 2.Conjonction, 3. Implication
3. (P  Q)  R 1. Disjonction, 2. Conjonction
4. P  Q  R 1. Première implication 2. Deuxième implication

Structure d’une formule


On peut représenter une formule sous forme d’un arbre. Cela permet
de bien lire la formule.

Exemple : R   P  (Q  S)

 

R
 Q S

7
3- Sémantique
la sémantique du langage propositionnelle s’intéresse à donner une
valeur de vérité à chaque formule du langage.
On peut définir une fonction v : EF  } V , F { ;
Tel que EF: ensemble des formules.
Les valeurs de vérité des formules de base sont montrées dans les
tableaux suivant , on les nomme les tables de vérité :

P Q PQ PQ PQ P↔Q P P


V V V V V V V F
V F F V F F F V
F V F V V F
F F F F V V

Supposons que α est une formule qui contient n propositions, la table


de vérité correspondante va contenir 2n lignes .
Exemple α : QRP

P Q R QR α
V V V V V
V V F V V
V F V V V
V F F F F
F V V V V
F V F V V
F F V V V
F F F F V

8
Satisfiabilité
Une formule α est satisfiable, ssi, sa table de vérité contient au moins
une ligne dont la valeur de vérité de α est V

Exemple
R  Q  P est satisfiable
P  Q   (P  Q) n’est pas satisfiable

En généralisant, on dit qu’un ensemble de formules  ={α1 , α2 , … ,αn}


est satisfiable ssi, dans sa table de vérité contient au moins une ligne tel
que toutes les valeurs sont vraies.

Exemple : {(PQ),(PQ), (PQ),(P↔Q)} est un ensemble satisfiable


(voir le tableau précédant), par contre l’ensemble {(PQ),(PQ),P} est non
satisfiable.

Tautologie
On dit qu’une formule β est une tautologie, si elle est vraie dans toutes
les lignes de sa table de vérité. On note = β

Exemple : β : P  Q  Q

P Q PQ β
V V V V
V F F V
F V F V
F F F V

On a donc = β

Une antilogie est une formule fausse dans toutes les lignes de sa
table de vérité

9
Conséquence logique
On dit que La formule β est une conséquence logique de la formule α
(on note α= β) si la valeur de vérité de β est V dans toutes les lignes où la
valeur de vérité de α est V.

En généralisant, on dit que La formule β est une conséquence logique


de l’Ensemble de formules  ={α1 , α2 , … ,αn} (on note = β) si la valeur
de vérité de β est V dans toutes les lignes où les valeurs de vérité des
formules de  sont toutes vraies.

Exemples :
P  Q = P  Q
{P  Q ,  Q} =  P

P Q PQ Q P
V V V F F
V F F V F
F V V F V
F F V V V

Remarque : Toutes les formules sont conséquences logiques de tout


ensemble de formules non satisfiable.

Equivalence logique

On dit que α et β sont logiquement équivalentes si elles ont la même


table de vérité (on note : α  β)

Exemple : P  Q   P  Q

10
Théorème 1

α1, … , αn = β si et seulement si α1, … , αn-1 = αn  β

Démonstration des deux implications avec la contraposée


1) Si α1, … , αn = β alors α1, … , αn-1 = αn  β
On suppose que la partie droite est fausse, donc αn  β n’est pas
conséquence logique de α1, … , αn-1, cela veut dire qu’il existe une ligne
dans la table de vérité où α1, … , αn-1 sont toutes V, avec αn  β est F,
c-à-d la valeur de β est F alors que αn est V. On conclut qu’il y a une ligne
dans laquelle α1, … , αn valent V et β vaut F, donc la partie gauche est
fausse.
2) Si α1, … , αn-1 = αn  β alors α1, … , αn = β
On suppose que la partie droite est fausse, donc β n’est pas
conséquence logique de α1, … , αn , cela veut dire qu’il existe une ligne dans
la table de vérité où tous les αi sont V, avec β est F. Donc pour cette ligne,
on a αn  β est V. On conclut qu’il y a une ligne dans laquelle α1, … , αn-1
valent V et αn β vaut F, donc la partie gauche est fausse.

Théorème 2

β =  alors β= α  α et  Si =

Démonstration (contraposée)
Supposons que  = β est fausse alors il existe une ligne dans la table de

vérité de  , α et β dans laquelle β est fausse et toutes les formules de 


sont vraies. Dans la même ligne on a deux possibilités pour α.
1- α = V alors α  β = F, d’où  = α  β est fausse
2- α = F alors  = α est fausse
Dans les deux cas, la partie droite (conjonction) est fausse

11
Théorème 3

Si = β et =  β alors  est non satisfiable

Théorème 4

1, … , n =  ssi {1, … , n, } est non satisfiable

Théorème 5 (théorème de substitution)


Soit β une formule contenant la proposition P et β’ la formule qui
résulte de β en substituant toutes les occurrences de P par α, on a donc :

Si = β alors = β’

Exemple : β : P  ( Q  R  P ) , β : A  B  ( Q  R  A  B )
On peut facilement vérifier que β et β’ sont des tautologies

Théorème 6 (théorème de remplacement)


Soit α une formule contenant plusieurs occurrences d’une sous-
formules β, et α’ est la formule résultante de α en remplaçant β par β’ dans
une ou plusieurs occurrences de β. On a donc :

Si β  β ’ alors αα’

Exemple :
α : P  (Q  R) ↔ S  (Q  R)
α : P  ( Q  R) ↔ S  (Q  R)

Selon le théorème on aura : α  α ’

12
Equivalences usuelles

 ,  : commutatives et associatives
 αββα
 αββα
 α(βα)(αβ)α
 α(βα)(αβ)α

 est distributive sur  et  est distributive sur 


 α(βγ)(αβ)(αγ)
 α(βγ)(αβ)(αγ)

Loi de Morgan
 (αβ)αβ
 (αβ)αβ

Idempotence
 αα  α
 αα  α

Système complet
Ce tableau regroupe toutes les tables de vérité possibles des
fonctions à 2 variables (propositions) :
P Q f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16
V V V V V V V V V V F F F F F F F F
V F V V V V F F F F V V V V F F F F
F V V V F F V V F F V V F F V V F F
F F V F V F V F V F V F V F V F V F

13
Par exemple, on peut trouver dans ce tableau les formules suivantes :
f2 (P,Q) = P  Q , f5 (P,Q) = P  Q , f13 (P,Q) =  P, …

Définition
Soit S un sous ensemble de connecteurs logiques. On dit que S est un
système complet si pour toute formule α, on peut trouver une formule α’ ne
contenant que les éléments de S, tel que α  α’.

Exemple
L’ensemble { , } est un système complet
Preuve
α α
PQ  ( P   Q )
P Q (PQ)
P↔Q (PQ)(QP)

Connecteur de Sheffer

Henry M. Sheffer, a pensé à un connecteur qui forme tout seul un


système complet. On cherche dans le tableau précédent la fonction qui peut
représenter le connecteur Sheffer.

Par élimination :
5. La valeur de la fonction qui représente le connecteur de Sheffer ne
doit pas être V quand les valeurs de P et Q sont toutes les deux V, car
si c’était le cas, on ne pourrait jamais arriver à la valeur F, en
appliquant plusieurs fois cette fonction. Autrement dit, cette fonction
ne représente pas toutes les formules.
6. De la même manière, la valeur de la fonction qui représente le
connecteur de Sheffer ne doit pas être F quand les valeurs de P et Q
sont toutes les deux F.
14
En éliminant toutes les fonctions répondant à cette propriété, il nous
restent les 4 fonctions : f9 , f11,f13, f15 , et comme f11 , f13 sont exactement
Q et P qui ne peuvent jamais former un système complet puisque le 
s’applique que sur une seule variable, il nous reste donc les deux
fonctions f9 , f15 qui peuvent représenter le connecteur de Sheffer. Ce
sont exactement le « non et » (NAND) et le « non ou » (NOR).

 Nand : P  Q =  (P  Q)
 Nor : P  Q =  (P  Q)

Pour montrer que ces deux symboles représentent bien les


connecteurs de Sheffer, il suffit de pouvoir écrire tous les autres
connecteurs rien qu’avec ces connecteurs (,)
1- Le NAND

Α α
P PP
PQ (P  Q)  (P  Q)
PQ (P  P)  (Q  Q)
PQ ………………………..
P↔Q ………………………….

2- Le NOR

Α α
P PP
PQ (P  Q)  (P  Q)
PQ (P  P)  (Q  Q)
PQ ………………………..
P↔Q ………………………….

15
Les formes normales

1- La forme normale conjonctive


Une formule α est en forme normale conjonctive, si elle de la forme : C1 
…  Cn , tel que chaque Ci est une clause de la forme L1  …  Lm où
chaque Li est un littéral c-a-d une proposition ou la négation d’une
proposition.

Exemple
(P Q)  (R  P  Q)
P  ( Q  P)

Théorème
Pour chaque formule α, il existe une formule α’ de la forme
normale conjonctive, tel que α  α’

2- La forme normale conjonctive


Une formule α est en forme normale disjonctive, si elle de la forme :
M1  …  Mn , tel que chaque Mi est un monôme de la forme L1  …  Lm
où chaque Li est un littéral de la forme P ou  P.

Exemple
(P Q)  (P  R)
P  ( P  Q)  R

Théorème
Pour chaque formule α, il existe une formule α’ de la forme
normale disjonctive, tel que α  α’

Exemple : Transformer la formule  P  Q  R en FND et FNC

16
Théorie de la démonstration

Nous avons appris que l’étude de la validité des formules dans le


calcul propositionnel, se base essentiellement sur les tables de vérité
(théorie des modèles).

Cependant, la réalisation de la table de vérité d’une formule est une


opération fastidieuse, surtout quand la formule contient plus de propositions.

La théorie de la démonstration fournit des outils pour l’étude de la


validité des formules sans passer par les tables de vérité.

Quelques définitions

1- Un système formel S est un quadruplet {A,F,X,R}, telque :


 A : ensemble fini de symboles (Alphabet )
 F : ensemble des formules bien formées
 X : ensemble fini de formules valides (Axiomes)
 R : ensemble fini de règles d’inférence, permettant de déduire de
nouvelles formules.

2- Une Preuve dans S est une suite de formules α1, …, αn , tel que αi soit
un axiome, soit une formule qui résulte des formules précédentes en
utilisant les règles d’inférence.
Une formule α admet une preuve dans S, si elle est la dernière
formule. On note  α . On dit alors que α est un théorème.
S

3- Une Déduction d’une formule α à partir d’un ensemble de formules 


est une suite de formules α1, …, αn tel que αi soit un axiome, soit une
formule de , soit une formule qui résulte des formules précédentes
en utilisant les règles d’inférence. On note  S α et on appelle les
formules de  des hypothèses.

17
Exemple d’un système formel

 Alphabet :
 Symboles de formules : α , β , …
 Connecteurs logiques :  , 
 Parenthèses ( , )

 Formules : si α et β sont 2 formules alors α , αβ sont 2 formules

 Axiomes : On suppose trois axiomes :


A1 : α(βα)
A2 : (α(βγ))((αβ)(αγ))
A3 : (αβ)((αβ)α)

 Règles d’inférences : On suppose une seule règle :


Modus Ponens : α , αβ  β

Exemple 1 :  α  α

Démonstration
1 : (α((βα)α))((α(βα))(αα)) … A2
2 : α((βα)α)) … A1
3 : (α(βα))(αα) … MP(1,2)
4 : α(βα) … A1
5 : αα … MP(3,4)

Exemple 2 : α β , β    α  γ

1 : αβ … hyp
2 : β … hyp
3 : ((α(β  ))  ((αβ)(α)) … A2
4 : (β)(α(β)) … A1
5 : α(β  ) … MP(2,4)
18
6 : (αβ)(α) … MP(3,5)
7 : α … MP(1,6)

Exemple 3 : β  β

1 : β … hyp
2 : β(ββ) … A1
3 : ββ … MP (1,2)
4 : (ββ)((ββ)β) … A3
5 : (ββ)β … MP(3,4)
6 : ββ … Exemple 1
7 : β … MP(5,6)

Théorème de déduction

Si α1, … , αn  β alors α1, … , αn-1  αn  β

Cas particulier : n=1

Si α  β alors  α  β

Exemple :

Pour démontrer que :  β  β , on applique le théorème de la


déduction sur l’exemple 3.

Modus Tollens : αβ ,  β  α

Exemple :

Démontrer que  α , (α  β)  α   β

19
La consistance et la complétude

Ces propriétés servent à trouver la relation entre la théorie des modèles et


la théorie de la démonstration.

1- La consistance

Un système logique est inconsistant, s’il existe une formule β, tel que :
 β et  β .

Un ensemble  est inconsistant s’il existe une formule β tel que :


  β et   β .

Théorème de consistance Si  β alors  β


Si  β alors   β

 Le calcul propositionnel est un système logique consistant.

Démonstration par l’absurde :

On suppose qu’il est inconsistant, alors il existe une formule β, tel que :
 β et  β . D’après le théorème de consistance :

 β   β
Contradiction
  β    β

Exemple : Montrer que  = {  α , β , (α  β)  α } est inconsistant

1:α hyp
2:β hyp
3 : (α  β)  α hyp
4 :  (α  β) MT(1,2)
5 : β  (α  β) A1
6:αβ MP(2,5)

Donc  est inconsistant

20
2- La complétude

On dit qu’un système logique est complet Si l’ensemble des axiomes


et les règles d’inférence suffisent pour démontrer que toute tautologie
est un théorème .

Théorème de complétude Si  β alors  β


Si  β alors   β

En combinant le théorème de consistance avec le théorème de


complétude, on déduit que l’ensemble des tautologies est égal à l’ensemble
des théorèmes.

Décidabilité

Un système logique est décidable s’il existe un algorithme qui permet


de décider si une formule quelconque est une tautologie ou non, ou si elle
est satisfiable. On appelle cet algorithme « algorithme de décision ».

Le calcul propositionnel est un système décidable. La table de vérité


est un outil de décision.

Indépendance des formules

 Une formule α est indépendante des formules α1, … , αn si on ne


peut jamais la déduire à partir de ces formules en utilisant les règles
d’inférence.

 Un ensemble de formules  est indépendant, si on ne peut pas


déduire une de ces formules à partir des autres.

Exemple : l’ensemble des axiomes {A1, A2, A3} est indépendant.

Exemples de démonstration

 α  β , α  β  β

  β   α  α  β

21
La résolution

C’est une méthode proposée par J. Robinson, permettant d’étudier la


validité des formules en langage propositionnel.

Quelques définitions :

1- Une clause est une formule de la forme L1  …  Lm telque chaque Li


est un littéral : un symbole de proposition ou sa négation.

2- Deux littéraux L1 , L2 sont complémentaire si l’un est la négation de


l’autre.

3- Si Ci et Cj sont deux clauses contenant respectivement un littéral et


son complémentaire. La clause résolvante de Ci et Cj est la formule
qui résulte de la disjonction de Ci et Cj en supprimant ces littéraux
complémentaires.

4- La clause vide est la clause résolvante de clauses atomiques qui sont


formées respectivement d’un littéral et son complémentaire on note

Etapes de la résolution

Pour montrer que la formule β est une tautologie, on montre que  β


est une antilogie, en suivant les étapes suivantes :

- Ecrire de  β sous la forme normale conjonctive


- Déterminer l’ensemble C des clauses de  β
- Déduire par les clauses résolvantes que C 

Exemple 1 : Montrer que  β, tel que


β = (P(QR))((PQ)(PR))

1- Transformation de β en FNC
β =  ((P(QR))((PQ)(PR)))
=  ( (P(QR))((PQ)(PR)))
= (P(QR))   ((PQ)(PR))
= (P(QR))   ((PQ)(PR))
= (PQR))   ( (PQ)(PR))
= (PQR))  ( (PQ)(PR))
= (PQR)  (PQ)  P  R

22
2- Extration des les clauses

C = { P  Q  R , P  Q , P ,  R}

3- La résolution

1:PQR Hyp
2:PQ Hyp
3: P Hyp
4:R Hyp
5 :  P  Q Res(1 , 4)
6:Q Res(3 , 5)
7:P Res(2 , 6)
8: Res(3 , 7)

Exemple 2 : Montrer par la résolution que  (PQ)(PQ)

23
Chapitre 2

Logique des prédicats

24
Introduction

Si on prend le fameux syllogisme :

Tout homme est mortel


Socrate est un homme
Alors Socrate est mortel

Avec la logique propositionnelle, on ne peut pas exprimer ce


syllogisme avec précision.

Le langage des prédicats a les éléments et les outils qui nous


permettent de représenter ce genre d’énoncés.

Langage des prédicats

1. L’alphabet :
 Les connecteurs logiques :  ,  ,  ,  , 
 Les quantificateurs :  , 
 Les variables : x , y , …
 Les constantes : a , b , …
 Les symboles de prédicats : P , Q , …
 Les symboles de fonctions : f , g , …

2. Les fonctions

C’est une généralisation des fonctions numériques sur n’importe


quel domaine D (personnes, villes, …).

Exemples :

 D = R : f(x) = x2
 D = l’ensemble des humains : g(x) = père(x)
 D = N : h(x,y) = PGCD(x,y)

Le résultat de la fonction est un élément du même domaine

25
3. Les prédicats

C’est une propriété d’un élément du domaine ou une relation entre les
éléments du domaine.

Exemples :

 P(x) : x est un nombre premier


 Q(x,y) : x > y

La valeur du prédicat est booléenne V ou F.

4. Les quantificateurs

 Le quantificateur universel  (quelque soit)


 Le quantificateur existentiel  (il existe au moins)

Exemple :

Si on a : P(x) : x est présent , A(x) : x est absent


x P(x) : Tout les étudiants sont présents
x A(x) : Il existe des étudiants absents

5. Les termes
 Toute constante est un terme
 Toute variable est un terme
 Si t1 , … tn sont des termes et f est une fonction alors :
f(t1 , … tn) est un terme.

6. Les formules
 Si t1 , … , tn sont des termes et P est un prédicat alors :
P(t1 , … , tn) est une formule.
 Si x est une variable et , β deux formules alors :
 , β , β ,β , β , x α , x α sont des formules.

Exemples de formules

x P(x)  y Q(y)P(x) , x y z (P(x,y)  Q(x,y,z))

26
Priorité des connecteurs + quantificateurs :

 ,  ,  , ( , ) ,  , ↔

Système complet
Même définition dans le chapitre 1, sauf qu’on ajoute les
quantificateurs à l’ensemble des connecteurs

Exemple : S= { , , }
On a déjà montré que { , } est un système complet il reste à trouver la
relation entre  et  . on a les propriétés suivantes:

 x  = x   et  x  = x  

Le champ d’un quantificateur


Le champ d’un quantificateur dans une formule est la sous formule
concernée par ce quantificateur

Exemple : x P(x)  y Q(y)P(x)

- Le champ de  est Q(y)


- Le champ de  est P(x)  y Q(y)

Les variables libres et les variables liées


 Une occurrence de x dans une formule α est liée si elle apparait dans le
champ d’un quantificateur, sinon elle est libre
 Une variable est liée si elle a au moins une occurrence liée
 Une variable est libre si elle a au moins une occurrence libre

Exemple :

 P(x)  Q(y,z) toutes les variables sont libres


 x P(x)  Q(y) x est liée et y est libre

La formule close

C’est la formule dont toutes les variables sont liées et non libres

Exemple : x y z (P(x,y)  Q(x,y,z))

27
L’interprétation

Pour donner une valeur de vérité à une formule, il faut donner une
signification à tous les symboles de la formule (prédicats, fonctions,
constantes) ainsi que le domaine des variables.

Exemple 1 :  = x y P(x,y) , D= N

- Si P signifie < alors α est vraie


- Si P signifie > alors α est fausse

L’évaluation

L’évaluation d’une formule consiste à donner une valeur pour chaque


variable libre de la formule.

L’attribution d’une valeur de vérité à une formule, nécessite une


interprétation et une évaluation de la formule.

Exemple : β = P(x,f(x))

Soit l’interprétation I tel que I(P) : « = » et I(f) : carré de …


- Si x = 2 alors β est fausse
- Si x =1 alors β est vraie

Satisfiabilité

Une formule α est satisfiable s’il existe une interprétation I et une


évaluation v, pour lesquelles α est vraie. On dit que l’évaluation v satisfait α
pour l’interprétation I. et on écrit I = v .

Exemple :  = P(f(x,y),y) , tel que :

D= N , I(P) = ">" , I(f) = "-" , v(x) =4 , v(y) = 1

I()v = I(P(f(x,y),y))
= I(P) (I(f(x,y),v(y)))
= I(P) (I(f) (v(x),v(y)),v(y))
= > (-(4,1),1) = > (3,1)

Un ensemble de formules  est satisfiable s’il existe une interprétation


I et une évaluation v, pour lesquelles les formules de  sont toutes vraies.

28
Modèle d’une formule

On dit que l’interprétation I est un modèle de la formule , si toute


évaluation satisfait  pour l’interprétation I. On note I= 

Exemple 1 : I(P) = ">" , I(f) = ”le double de …” , D=N*


I est un modèle de P(f(x),x)

Exemple 2 : =P(x,y) , I(P) = "… diviseur de…" , D={1 , 2}

v1 v2 v3 v4
x 1 1 2 2
y 1 2 1 2
 V V F V

On dit que α est satisfiable mais I n’est pas modèle de α

Exemple 3 : D={2,6} , I(P) = "… diviseur de… " , I(Q) ="… multiple de …"
α=x P(x,y) , β=x y Q(x,y)

v1 v2 v3 v4
x 2 2 6 6
y 2 6 2 6
P(x,y) V V F V
Q(x,y) V F V V

I≠  I= β.

On dit que l’interprétation I est un modèle de l’ensemble , si toute


évaluation satisfait  pour l’interprétation I. On note I= 

Validité d’une formule

Une formule α est valide si elle est vraie pour toute interprétation I, et
toute évaluation v . On note = .

Exemple : β =  P(x)  P(x)

Pour démontrer qu’une formule n’est pas valide, il suffit de trouver une
interprétation et/ou une évaluation pour lesquelles la formule est fausse.

29
Conséquence logique

On dit que β est conséquence logique de  (on note = β), ssi
pour toute interprétation I et toute évaluation v, on a :

Si I= v alors I= βv

Exemple : x (β) , x  = x β

Formes normales

1- Forme normale prénexe

On dit que α est sous la forme prénexe si :

 α est de la forme : Q1x1 … Qnxn β telque : Qi  {,}


 Le champ de Qnxn est β
 β ne contient pas des quantificateurs.

Pour transformer les formules en forme normale prénexe, on se base


sur les propriétés suivantes :

x   β  x (β) Sous condition : x n’apparait pas libre dans β


x   β  x (β)

  x β  x (β) Sous condition : x n’apparait pas libre dans α


  x β  x (β)

Exemple : x P(x)  y P(y) … (1)

x n’apparait pas libre dans y P(y)

(1)  x (P(x)  y P(y))

y n’apparait pas libre dans P(x)

(1)  x y (P(x)  P(y))

Remarque : Si les conditions posées pour les propriétés ne sont pas


satisfaites, on procède à des modifications selon les règles suivantes :

30
 x β  y β(y/x)
On obtient β(y/x) par remplacement de x par y
 x β  y β(y/x)

Exemple : Transformer en forme normale prénexe :

x P(x,y)  y Q(y,x)
 x apprait libre dans « y Q(y,x) », on change la variable
 u P(u,y)  y Q(y,x)
 u n’apprait pas libre dans « y Q(y,x) »
 u (P(u,y)  y Q(y,x))
 y apprait libre dans « P(u,y) », on change la variable
 u (P(u,y)  v Q(v,x))
 u n’apprait pas libre dans « P(u,y) »
 u v (P(u,y)  Q(v,x))

2- Forme normale de Skolem

Elle consiste à éliminer tous les quantificateurs existentiels en utilisant de


nouveaux symboles de fonction ou des constantes tout en conservant la
satisfiabilité de la formule.

Etant donné :  = x y P(x,y) cette formule veut dire que pour chaque
x il existe un y qui vérifie P(x,y), c-a-d, on peut définir une fonction f(x) qui
remplacera y dans la formule.

La forme de skolem de  est donc : αs = x P(x,f(x))

Exemple 1 : β = x1 x2 y P(x1,x2,y)


βs = x1 x2 P(x1,x2,f(x1,x2))

Pour une formule de la forme x β , on élimine le quantificateur et on


remplace x par une nouvelle constante.

Exemple 2 : α = x P(x)  αs = P(a)

Remarques :
- la skolémisation d’une formule suppose qu’elle est sous la forme prénexe.
- La skolémisation d’une formule ne donne pas une formule équivalente.

Exemple 3 :  = x y z v P(x,y,z,v)
s = y z p(a,y,z,f(y,z))
31
Chapitre 3 : Calculabilité

Introduction

Un algorithme est une suite d’opérations qui s’exécutent en un temps


fini, (Ex : PGCD, l’algo qui vérifie si un nombre est premier ou non,…).

On distingue deux types d’algorithmes :

1- Calcul de fonctions numériques : x*y, x ! , …

2- Algorithmes de décision (relations)


a. x est-t-il premier ? R(x)
b. x est-t-il multiple de y ? R(x,y)

En logique mathématique, on cherchait toujours à savoir si une


formule donnée est valide ou non ? Ce qui revient à trouver un algorithme
de décision. Lorsqu’on arrive à trouver cet algorithme, on dit que le système
logique est décidable.

- La logique propositionnelle est décidable (table de vérité).

- La logique des prédicats est semi-décidable car on peut démontrer


qu’une formule valide est un théorème mais on ne peut démontrer
qu’une formule n’est pas un théorème.

Le système N de l’arithmétique n’est pas encore décidable : jusqu’à


maintenant, on n’a pas pu démontré que : « Tout nombre pair est une
somme de deux nombres premiers » (La conjecture de goldbach).

La calculabilité : Lorsqu’on trouve un algorithme pour le calcul d’une


fonction, on dit que la fonction est calculable.

La fonction caractéristique :

Pour toute relation R(x1, …xn), on peut définir une fonction caractéristique

0 si R(x1, …xn) est vraie


carR(x1, …xn) =
1 si R(x1, …xn) est fausse

32
Si la relation est semi-décidable on aura :

0 si R(x1, …xn) est vraie


carR(x1, …xn) =
indéfini sinon

En se basant sur la définition de la fonction caractéristique, tous les


problèmes tendent vers le calcul des fonctions, on aura donc une seule
problématique : la calculabilité des fonctions.

La fonction primitive récursive

Elle est définie par trois fonctions de base et deux opérations : la


récursivité et la composition.

1- Les fonctions de base :


o La fonction « zero » : Z(x)=0 , xN
o La fonction Successeur : S(x) = x+1, xN
o La fonction Projection : Pin(x1, …,xn) = xi , n>0 , 1  i  n

2- La récursion

Soit g une fonction de n variables, et h une fonction de n+2


variables. On dit que la fonction f de n+1 variables est obtenue par
récursion à partir de h et g , ssi pour x1 , …, xn , y N, on a :

f(x1 , …, xn , 0) = g(x1 , …, xn)

f(x1 , …, xn , y+1) = h(x1 , …, xn , y , f(x1 , …, xn , y))

Cas particulier : n = 0

f(0) = constante

f(y+1) = h(y , f(y))

3- La composition

Soit g1, … ,gm , m fonctions de n variables et h une fonction de


m variables . On dit que la fonction f de n variables est obtenue par
composition à partir de g1, … ,gm et h , ssi pour x1 , …, xn , y N, on a :

f(x1 , …, xn) = h(g1(x1 , …, xn), … , gm(x1 , …, xn))

33
Définition : f est primitive récursive ssi f est :
1- fonction de base
2- fonction obtenue par récursion et/ou composition à partir des fonctions
de base.

Exemple 1 :
0 si x=0
Sg(x) =
1 sinon

Sg(0) = 0
Sg(x+1) = 1 = S(Z(x)) = S o Z o P12 (x, Sg(x))

Exemple 2 :

1 si x=0
Sg(x) =
0 sinon

Sg(0) = 1
Sg(x+1) = 0 = Z(x) = Z o P12 (x, Sg(x))

Exemple 3 : f(x,y) = x+y

f(x,0) = x = P11(x)
f(x,y+1) = x+y+1 = S(x+y) = S o P33(x,y,f(x,y))

Exercice 1:

Démontrer que ces deux fonctions sont primitives récursives

0 si x=0
Pr(x) =
x-1 sinon

x-y si x>y
x-y =
0 sinon

34
Fonctions récursives

La minimisation

Soit g une fonction de n+1 variables , y(g(x1 , …, xn,y)=0) est la plus


petite valeur de y qui rend g(x1 , …, xn,y)=0.

Si la fonction g ne s’annule jamais alors y(g(x1 , …, xn,y)=0) est indéfini.

Définition : On dit que la fonction f de n variables est obtenue par


minimisation à partir de la fonction g , ssi :

 x1 , …, xn  N ,  y  N tel que : f(x1 , …, xn) = y(g(x1 , …, xn,y)=0)

Exemple :

E( x ) = n ( x < (n+1)² )
E( x ) = n ( x - (n+1)² < 0)
E( x ) = n ( x - (n²+2n) < 1)
E( x ) = n ( x - (n²+2n)  0)
E( x ) = n ( x - (n²+2n) = 0)

Définition :

f est récursive ssi f est :

3- fonction de base
4- fonction obtenue par récursion et/ou composition et/ou minimisation à
partir des fonctions de base.

Thèse de Church : L’ensemble des fonctions calculables coïncident


avec les fonctions récursives.

35
Machine de Turing

Au début du XXème siècle les mathématiciens cherchaient à donner


une définition exacte de la notion d’algorithme. En 1936, Alan Turing a
imaginé une machine sur laquelle on peut exécuter un algorithme.

Turing voulais démontrer que les fonctions récursives sont calculables


avec la machine de Turing (thèse de church)

Composants de la machine

- Un Ruban (mémoire) de longueur infinie divisé en cases. Chaque


case contient au plus un symbole

- Tête de lecture/écriture permettant de lire ou modifier le contenu


d’une case.

… …

Définition de la machine de Turing

La machine de Turing est un triplet < S , Q , I > tel que :

S : Ensemble fini de symboles


Q : Ensemble fini d’états
I : Ensemble fini d’instructions

Fonctionnement de la machine :

Le fonctionnement de la machine de Turing se base sur les


instructions :

Supposons que la machine était dans l’état qj et la tête de lecture est devant
la case contenant le symbole si , on a les 3 types d’instructions :

qjsiskqr : remplacer du symbole si par sk et mettre la machine à l’état qr


qjsiGqr : déplacer la tête à gauche et mettre la machine à l’état qr
qjsiDqr : déplacer la tête à droite et mettre la machine à l’état qr

Exemple : Soit une machine de Turing avec l’alphabet { 0 , I , * }


0 : la case est vide
I : pour représenter les nombres naturels
36
I  0 , II  1 , III  2 , … * : séparateur

Par exemple la configuration suivante représente le couple ordonné (1,3)

… 0 0 I I * I I I I 0 0 …

Définition : Soit f une fonction de Np  Nq et T une machine de Turing. On


dit que f est calculable par T si en partant de la configuration initiale
q0x1*x2*…xp on arrive à qfy1*y2*…yq tel que f(x1, … , xp) = (y1 , … , y1)

 xi : la représentation de xi sur T
 q0 : l’état initial , qf : l’état final

Les fonctions de base sont calculables par la machine de Turing :

Machine de Turing de S(x)

q0IGq0 … 0 0 I I I I I I 0 0 …
q00Iq1 … 0 I I I I I I I 0 0 …

Machine de Turing de Z(x)

q0I0q1 … 0 0 I I I I I I 0 0 …
q10Dq0 … 0 0 0 0 0 0 0 0 I 0 …
q00Iq1

Exercice 2 : Ecrire la machine de Turing de la projection P23(x,y,z)

Composition de machines de Turing

Soit Mf <Sf,Qf,If> la machine qui calcule la fonction f

Et Mg <Sg,Qg,Ig> la machine qui calcule la fonction g

On veut construire la machine M <S,Q,I> qui calcule la fonction f o g

- Le ruban qui contient le résultat de Mg est l’état initial de la machine Mf

- Il faut choisir le même alphabet : S = Sg = Sf

- Il faut choisir des états différents : Qg  Qf =  et Q = Qg  Qf


37
- Les instructions de M sont les instructions de Mg suivies des
instructions de Mf : I = Ig + qfIIq0’ + If

Exemple : S(Z(x))

q0I0q1
q10Dq0 Z(x)
q00Iq1
q10Iq0’
q0’IGq0’
S(x)
q0’0Iq1’

La récursion

f(x1 , …, xn , 0) = g(x1 , …, xn)

f(x1 , …, xn , y+1) = h(x1 , …, xn , y , f(x1 , …, xn , y))

… x1 * … * xn * y+1 …

Tant que y >=0 Dupliquer(D) et calculer pr(y)

x1*…*xn*y* x1*…*xn*y-1 ……. x1*…*xn*0* x1*…*xn

x1*…*xn*y* x1*…*xn*y-1 ……. x1*…*xn*0* g(x1, …,xn)

f(x1 , …, xn , 0)
H

x1*…*xn*y* x1*…*xn*y-1 ……. h(x1,…,xn,0,g(x1, …,xn))

f(x1 , …, xn , 1)

Répéter jusqu’à la fin, on obtient f(x1 , …, xn , y+1)

- Toute fonction primitive récursive est Turing-caculable

La minimisation
38
f(x1 , …, xn) = y(g(x1 , …, xn,y)=0)

… x1 * … * xn * y …
y:=0
D

x1*…*xn*y* x1*…*xn*y S(y)

x1*…*xn*y* g(x1,…,xn,y)

g(x1,…,xn,y)=0 g(x1,…,xn,y)≠ 0

n+2
Pn+1

Thèse de Church-Turing : Les fonctions récursives sont Turing-calculables

Exercice 3 : Ecrire la machine de Turing des fonctions suivantes :

Pr(x) , Sg(x) , x+y

39

Vous aimerez peut-être aussi