Telechargé par wijden70

Les systemesFormel

publicité
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
Téléchargement