You are on page 1of 66

Logique formelle

Mme Houda Anoun


houda.anoun@gmail.com
Master MSI - Facult des sciences Ben MSik
2010-2011
1 / 66
Sommaire
1
Introduction la logique
2
Logique propositionnelle
3
Logique de premier ordre
4
Assistant de preuves Coq
2 / 66
Evaluation
Modes dvaluation
Contrle continu (20%)
Projet en Coq (30%)
Examen nal (50%)
Participation & Motivation (Bonus)
3 / 66
Introduction gnrale
Quest ce que la logique ?
Logique : mot grec logos signiant "science de la raison"
Objectif : tude formelle des raisonnements
Les langues naturelles sont ambiges on a besoin dun systme
de symboles rigoureux & rgles formelles
Mcanisation du raisonnement : construction de preuves en
interaction avec la machine.
Exemple 1
Sil pleut, je nirai pas au cinma
Il pleut
Donc je nirai pas au cinma
Exemple 2
Si le chat nest pas l, la souris danse
Or le chat nest pas l
Par consquent, la souris danse
4 / 66
Raisonnements corrects et incorrects
Raisonnement correct
Sil pleut, je nirai pas au cinma
Je suis alle au cinma
Donc il na pas plu
Raisonnement incorrect
Sil pleut, je nirai pas au cinma
Il ne pleut pas
Donc jirai au cinma
Un peu de formalisation
Modus-Ponens : p, p q q
Explication : si on admet p et p q alors on en dduit que q est
vraie.
Modus-Tollens : p q, q p
Explication : si on admet p q et q alors on en dduit que p est
fausse
Forme de raisonnement incorrect : p q, p q
5 / 66
Formules de la logique propositionnelle (1)
Quest ce quune formule ?
Une formule est une afrmation qui peut tre soit vraie soit fausse
Deux classes de formules :
1
Formules atomiques (propositions) : indcomposables
2
Formules composes : construites partir de formules plus simples en
utilisant des connecteurs logiques
Connecteurs logiques :
Connecteur unaire : (ngation)
Connecteurs binaires :
Connecteur binaire Interprtation
disjonction
conjonction
implication
bi-implication
6 / 66
Exemple
Formalisation dun nonc
Sil pleut et si ma soeur me laisse tranquille, jtudierai
3 variables propositionnelles :
1
p : Il pleut
2
q : Ma soeur me laisse tranquille
3
r : Jtudierai
Formule correspondante : (p q) r
Questions
Est-ce que la formule p (q r) est quivalente la prcdente ?
Si ce nest pas le cas, comment la traduire en franais ?
7 / 66
Formules de la logique propositionnelle (2)
Dnition dune formule
Les variables propositionnelles sont des formules (e.g., p, q, r, s)
Si A est une formule, alors (A) est une formule
Si A et B sont des formules, alors (A B), (A B), (A B) et
(A B) sont des formules
Question
Parmi les formules suivantes, lesquelles sont bien formes ?
((p)) q
p (qp)
p (q (r t ))
8 / 66
Exercice 1
Exercice 1
Formaliser les propositions suivantes en prcisant ce que reprsentent les
variables propositionnelles utilises :
Sil mange du couscous, il sendort
Ce nest pas parcequil mange du couscous quil est heureux
Quand il mange du couscous il sendort ou au contraire il est heureux
et il chante
Tant quil ne mange pas de couscous, il nest pas heureux
Ou il ment et il est un bon comdien, ou il ne sait rien
Il ment alors quil ne sait rien
Laila veut tudier le japonnais ou langlais, et lespagnol
9 / 66
Vrit dune formule
Evaluation dune formule
Objectif : Attribuer une valeur de vrit une formule en considrant
toutes les ralisations possibles
Une ralisation (un monde) permet dassigner une valeur de vrit
pour chaque variable propositionnelle de la formule considre
Outil : Tables de vrit des connecteurs logiques
Table de vrit de
A A
V F
F V
10 / 66
Tables de vrits des connecteurs binaires
Table de vrit de
A B A B
V V V
V F V
F V V
F F F
Table de vrit de
A B A B
V V V
V F F
F V F
F F F
Table de vrit de
A B A B
V V V
V F F
F V V
F F V
Table de vrit de
A B A B
V V V
V F F
F V F
F F V
11 / 66
Exemple
Table de vrit de ((p q) p) q
p q p q p (p q) p q ((p q) p) q
V V V F F F V
V F F F F V V
F V V V V F F
F F V V V V V
Nombre de lignes de la table de vrit dune formule
La formule analyse est compose de deux variables
propositionnelles : 4 ralisations sont ainsi possibles.
Gnralisation : Si la formule est compose de n variables
propositionnelles : sa table de vrit admettra 2
n
lignes.
12 / 66
Tautologies
Dnition
Une tautologie est une formule qui est toujours vraie quelle que soit la
valeur de ses variables propositionnelles.
Exemple : (p q) ((p) q)
p q p q p (p) q (p q) ((p) q)
V V V F V V
V F F F F V
F V V V V V
F F V V V V
13 / 66
Contradictions
Dnition
Une contradiction est une formule qui est toujours fausse quelle que soit la
valeur de ses variables propositionnelles.
Exemple : (p q) ((p) (q))
p q p q p q (p) (q) (p q) ((p) (q))
V V V F F F F
V F V F V F F
F V V V F F F
F F F V V V F
14 / 66
Formules satisfaisables
Dnition
Une formule satisfaisable (ou contingente) est une formule qui peut tre
vraie dans certaines ralisations et fausse dans dautres.
Exemple : (p q) (q p)
p q p q q p (p q) (q p)
V V V V V
V F F V V
F V V F F
F F V V V
15 / 66
Exercices
Exercice 2
Raliser les tables de vrit des formules suivantes, et prciser leur
nature :
p (p q)
(p q)(q p)
((p q) (q p))
((p q) (p r)) q r
((p q) r) (p (q r))
Exercice 3
Montrer que les formules A et B ci-aprs sont quivalentes :
A = (p q) et B = (p) (q)
A = (p q) et B = p q
A = p (q r) et B = (p q) (p r)
16 / 66
Exercices
Exercice 4
On considre les assertions suivantes :
Quand Laila est l, cest quelle accompagne Fatima ou Nadia
Fatima nest jamais prsente au mme temps que son cousin Ahmed
Si Nadia et Ahmed viennent tous les deux, leur frre Brahim les
accompagne
Brahim nest jamais prsent au mme temps que Rda
Hier, Rda et Ahmed taient prsents, peut-on en conclure que Laila tait
absente ?
Exercice 5
Soient p
1
, p
2
, ..., p
n
des variables propositionnelles. Pour quelles
ralisations les formules suivantes sont satisfaites ?
(p
1
p
2
) (p
2
p
3
) ... (p
n1
p
n
)
(p
1
p
2
) (p
2
p
3
) ... (p
n1
p
n
) (p
n
p
1
)
17 / 66
Squents
Exemple
Si je suis chez moi, alors la lumire est allume (p q)
Or la lumire nest pas allume (q)
Donc je ne suis pas chez moi (p)
Formalisation du raisonnement prcdent :
p q, q p
Dnition dun squent
Un squent prend la forme suivante C o :
= A
1
, A
2
, ..., A
n
est un contexte constitu dun ensemble de
formules reprsentant des prmisses (hypothses)
C est la formule conclusion
Traduction : La formule C est dduite partir du contexte
18 / 66
Valeur de vrit dun squent
Principe
Un squent est valide si toute ralisation qui rend les prmisses vraies
rend la conclusion vraie.
Exemple : 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
Question
Est-ce que le squent suivant est valide ?
p q, p q
19 / 66
Dduction naturelle
Problme ... et solution !
Inconvnient des tables de vrits : si le nombre de variables
propositionnelles est grand la table devient gigantesque !
Exemple : p
1
p
2
p
3
... p
1000
p
500
Solution : prouver la validit dun squent dans un systme dductif
Le systme dductif dnit un ensemble de rgles de dduction : un
raisonnement sera considr valide sil est la consquence de
lapplication de ses rgles
Rgles de dduction naturelle
Forme gnrale :

1
C
1
...
n
C
n
C
nom

Sequents premisses
Sequent conclusion
nom
Exemple de rgles :
, A A
ax
A B
A B
i
20 / 66
Rgles de dduction de la conjonction
Rgles dintroduction et dlimination de
A B
A B
i
A B
A
e
1
A B
B
e
2
Interprtation
Si on prouve les squents prmisses, on dduit la validit du squent
conclusion.
Exemple : la rgle i stipule que si les formules A et B sont dduites
partir de , alors cest le cas pour la formule A B
Exemple de preuve
p q p q
ax
p q q
e
2
p q p q
ax
p q p
e
1
p q q p
i
21 / 66
Rgles de dduction de limplication
Rgles dintroduction et dlimination de
, A B
A B
i
A B A
B
e
Preuve complter
p q, q r, p q r
??
...
p q, q r, p q
??
p q, q r, p r
e
p q, q r p r
i
Quiz
Elaborer une preuve en dduction naturelle du squent
p (q r) q (p r)
22 / 66
Rgles de dduction de la bi-implication
Rgles dintroduction et dlimination de
, A B , B A
A B
i
A B A
B
e
1
A B B
A
e
2
Preuve complter
...
p q, p q
e
1
p q p q
i
...
p q q p
??
p q (p q) (q p)
i
Quiz
Elaborer une preuve en dduction naturelle du squent p q q p.
23 / 66
Rgles de dduction de la disjonction
Rgles dintroduction et dlimination de
A
A B
i
1
B
A B
i
2
A B , A C , B C
C
e
Exemple de preuve
p q p q
ax
p q, p p
ax
p q, p q p
i
2
p q, q q
ax
p q, q q p
i
1
p q q p
e
Quiz
Elaborer une preuve en dduction naturelle du squent :
p q, p r q r.
24 / 66
Rgles de dduction de la ngation
Rgles dintroduction et dlimination de
, A B , A B
A
i
B B
A
e
Exemple de preuve
p, p p
ax
p, p p
ax
p (p)
i
Quiz
Elaborer une preuve en dduction naturelle du squent p, p q q.
25 / 66
Systme dductif de la logique propositionnelle
intuitionniste (LPI)
Rgles de dduction naturelle de LPI
, A A
ax
A B
A B
i
A B
A
e
1
A B
B
e
2
, A B
A B
i
A B A
B
e
, A B , B A
A B
i
A B A
B
e
1
A B B
A
e
2
A
A B
i
1
B
A B
i
2
A B , A C , B C
C
e
, A B , A B
A
i
B B
A
e
26 / 66
Logique propositionnelle classique (LPC)
LPC
Certains squents corrects sur le plan des valeurs de vrits ne sont
pas drivables dans LPI
Exemple : p p
Nouvelle rgle de dduction : tiers exclu
A A
te
La logique propositionnelle classique (LPC) = LPI + tiers exclu
Preuve dans LPC complter
...
p, p p p
e
p (p p) p
i
p p p
te
p p
e
27 / 66
Exercices
Exercice 6
Voici Janvier qui arrive, et bonjour les examens de n de semestre !
Comme dhabitude, Momo a pass ses vacances surfer sur les pistes
enneiges. Il avait bien emmen quelques cours histoire de se donner
bonne conscience, mais lappel de lor blanc a une fois de plus t le plus
fort. Il va falloir trouver une solution pour sen sortir. Momo fait alors le
raisonnement suivant :
(H1) Un lve malade ne peut passer son examen.
(H2) Si je mange au R.U. ce midi, je risque une intoxication
alimentaire et serai trs certainement malade.
(H3) Je vais aller manger au R.U. ce midi.
(C) Donc, je ne passerai pas cet examen, cest une certitude absolue !
Momo sinterroge sur la validit de son raisonnement : ce serait tout de
mme stupide de risquer sa vie pour rien... Sauriez-vous conseiller notre
infortun skieur en dmontrant la validit de son raisonnement ?
28 / 66
Exercices
Exercice 7
Prouver dans LPI les squents suivants :
p q (p r) q
p q q p
p q, r p (q r)
p q, q r (p q) r
p r t , t s q (p q)
p q, p r, r q, s q s
Exercice 8
Prouver dans LPC les squents suivants :
q p p q
(p q) p p (loi de Peirce)
(p q) p q
29 / 66
Limitations de la logique propositionnelle
Syllogisme 1
Tous les hommes sont mortels
Socrate est un homme
Donc, Socrate est mortel
Syllogisme 2
Tout optimiste est persvrant
Certains tudiants sont optimistes
Certains tudiants sont persvrants
Limitation de la logique propositionnelle
Formalisation du syllogisme 1 en LP : chaque hypothse est traduite
par une variable propositionnelle p, q r
Les syllogismes prcdents ne sont pas prouvables dans la logique
propositionnelle
Besoin dintroduire les quantications universelles et existensielles
Logique des prdicats : extension de la logique propositionnelle,
offrant une reprsentation plus ne du discours
30 / 66
Introduction la logique des prdicats
Prdicats
Intuitivement, un prdicat est un non incomplet ( trous) qui devient
une proposition si on le complte par un ou plusieurs objets
Formellement, un prdicat est une fonction qui admet un certain
nombre darguments (objets) et dont la valeur est une proposition
Traduction du syllogisme 1 en logique des prdicats :
x H(x) M(x), H(s) M(s)
M : prdicat "_ est mortel"
H : prdicat "_ est humain"
s : constante individuelle (Socrate)
Exemples de prdicats
le prdicat "il pleut" est un prdicat 0-aire (variable propositionnelle).
le prdicat "_ est positif" est un prdicat unaire.
le prdicat "_ est suprieur _" est un prdicat binaire.
le prdicat "_ est compris entre _ et _" est un prdicat ternaire.
31 / 66
Introduction la logique des prdicats
Lexique
Les symboles de prdicats auxquels on associe un entier naturel
reprsentant leur arit (nombre darguments). Les variables
propositionnelles sont considres comme des prdicats darit 0.
Les symboles de fonctions auxquels on associe un entier naturel
reprsentant leur arit. Les constantes sont considres comme des
fonctions darit 0.
Les variables individuelles (x, y, z, u, ...)
Les connecteurs logiques (, , , , ) et les quanticateurs et
Exemple
En arithmtique, le lexique utilis comprend :
Les constantes numriques 0, 1, 2, ...
Les fonctions binaires +, -, *, /
Les prdicats binaires =, , >, ...
32 / 66
Formules de la logique des prdicats
Termes (objets du langage)
Les variables individuelles sont des termes.
Si t
1
, t
2
, ..., t
n
sont des termes et f
n
un symbole de fonctions darit n
alors f
n
(t
1
, t
2
, ..., t
n
) est un terme.
Formule atomique
Soit t
1
, t
2
..., t
n
des termes et P
n
un symbole de prdicats darit n alors
P
n
(t
1
, t
2
, ..., t
n
) est une formule atomique.
Dnition dune formule
Une formule atomique est une formule
Si A est une formule alors A est une formule
Si A et B sont des formules alors (A B), (A B), (A B) et
(A B) sont des formules.
Si x est une variable individuelle et A est une formule, alors x A et
x A sont des formules
33 / 66
Exemples de formules
Exemple
La formule suivante est syntaxiquement bien forme : n n
2
> n n > 1
n est une variable individuelle, par consquent cest un terme
n
2
est un terme bien form : application de la fonction _
2
1 est une constante, par consquent cest un terme
n
2
> n et n > 1 sont des formules atomiques
n
2
> n n > 1 est une formule compose
Quiz
Soient x, y des variables individuelles, a et b des constantes, f
1
, f
2
deux symboles
de fonctions darits respectives 1 et 2 et P
1
et P
2
deux prdicats respectivement
unaire et binaire. Parmi les formules suivantes, lesquelles sont bien formes ?
x (P
1
(x) (P
2
(f
2
(a, b), x) P
1
(f
1
(x))))
(x P
2
(P
1
(x), a)) (y x f
2
(x, y) P
2
(x, y))
34 / 66
Exercice
Exercice 9
Formaliser les noncs suivants dans la logique des prdicats (on
considre le domaine constitu des objets du systme solaire) :
Certaines plantes sont plus petites que la Terre
La lune est une plante mais certaines choses ne sont pas des
plantes
Il ya une plante plus grande que tout objet du systme solaire
Il nya pas de plante qui soit plus grande que la Terre tout en tant
plus proche du Soleil quelle
Toute plante a une autre plante plus proche du Soleil quelle
Si tout est plus grand que la Terre alors rien nest plus petit que Vnus
Certaines plantes sont plus grosses que Neptune mais aucune nest
plus loigne du soleil quelle.
35 / 66
Exercice
Exercice 10
Traduire en logique des prdicats les afrmations suivantes, puis leur
ngation. On considre le domaine constitu des entiers. On utilisera les
symboles de fonctions (+, *, mod) et les symboles de prdicats =, , >, <,
et .
Tout entier est le carr dun entier
Tout entier a pour carr la somme des carrs de deux autres entiers
Aucun entier nest plus grand que tous les autres
Tout entier est strictement suprieur un autre entier
Tout entier premier suprieur 3 est impair
36 / 66
Reprsentation arborescente dune formule
y (((x P(x)) Q(y, z)) R(y, z, a))
y

H
H
H
H

H
H H
x
P(x)
Q(y, z)
R(y, z, a)
Principe
Les noeuds internes de larbre sont tiquets par des connecteurs ou
des quanticateurs.
Les feuilles de larbre sont des formules atomiques
37 / 66
Variables libres versus lies
Variables libres et variables lies
Une occurrence de variable est lie dans une formule si elle se trouve
dans la porte dun quanticateur de mme nom. Dans le cas contraire,
on dit quelle est libre.
Remarque
Une variable peut avoir la fois des occurrences libres et des occurrences
lies dans une formule.
Exemple

H
H
x
x
2
> 0
x > 3
38 / 66
-quivalence
Dnition
On dit que deux formules F et G sont -quivalentes si elles sont
syntaxiquement identiques un renommage prs des occurrences lies
des variables.
Exemple : (x x
2
> 0) (x > 3) et (y y
2
> 0) (x > 3) sont
-quivalentes, mais (x x
2
> 0) (x > 3) et (y y
2
> 0) (y > 3) ne le
sont pas.
Quiz
Proposer pour la formule ci-aprs une formule -quivalente vriant les
contraintes suivantes : (*) une lettre ne reprsente pas une variable libre et
une variable lie, (**) les variables lies diffrentes nont pas le mme
nom.
x (R(x, y) xy S(y, x)) z (S(z, x) yx R(x, y))
39 / 66
Substitution
Dnition
Soit F une formule, x une variable et t un terme. F[x := t ] est la formule
obtenue en remplaant dans F toutes les occurrences libres de x par t ,
aprs renommage ventuel des occurrences de variables lies de F qui
apparaissent libres dans t .
Exemple
Soit F la formule y x y = y x. F[x := y] nest pas y y y = y y
(problme de capture de la variable y) mais plutt z y z = z y.
Quiz
Soit f (resp. R) un symbole de fonction (resp. de prdicat) binaire. Soient
A=z (R(x, z) R(z, y)) z (R(z, y) R(x, z)) et u = f (z, x).
Reprsenter la formule A[x := u].
40 / 66
Interprtation des formules
Ralisations
Fixer le domaine D (ensemble non-vide dobjets dont on parle)
Associer chaque constante et chaque variable libre un lment du
domaine
Associer chaque prdicat n-aire (sauf lgalit "="), un prdicat de
D
n
Associer chaque fonction n-aire, une fonction complte de D
n
D
P(y) R(a, y) x R(x, y)
D = entiers naturels
y = 0 et a = 3
P = "_ est un nombre pair"
R =
La formule est satisfaite !
P(y) R(a, y) x R(x, y)
D = tres humains
y = T. Benjelloun et a = J. Attali
P = "_ est marocain"
R = "_ est plus ag que _"
La formule est non-satisfaite !
41 / 66
Exercices
Exercice 11
Soient les deux formules suivantes :
F = xy S(x, y) z S(x, z) S(z, y)
G = xy S(x, y) x = y
Interprter ces formules dans chacune des ralisations suivantes :
D
1
= N (entiers naturels) et S =<
D
2
= R (rels) et S =<
Exercice 12
Pour chacune de ces formules, proposer une ralisation qui la satisfait :
xyz R(x, y) R(y, z) R(x, z)
x y P(x) P(y)
x y R(x, y) P(y)
x y z T(x) (B(x, y) B(x, z))
42 / 66
Rgles de dduction de
Rgles dintroduction et dlimination de
A (x n

est pas libre dans )


x A
i
x A
A[x := t ]
e
Lecture intuitive
i : Pour dmontrer x A, il suft de dmontrer A pour un objet x
quelconque. La contrainte "x nest pas libre dans les formules de "
signie quon ne fait aucune hypothse sur x.
e : Si on a prouv A pour tout x, alors on peut dduire A[x := t ]
pour nimporte quel terme t .
Quiz
Dmontrer le squent suivant x (P(x) Q(x)) (x P(x) x Q(x))
43 / 66
Rgles de dduction de
Rgles dintroduction et dlimination de
A[x := t ]
x A
i
x A , A C (x non libre dans et C)
C
e
Lecture intuitive
i : Pour dmontrer x A, il suft de trouver un objet t qui vrie
A[x :=t].
e : Quand on a une hypothse de la forme x A, on peut lutiliser en
prenant un x qui satisfait A.
Quiz
Dmontrer le squent suivant x (P(x) Q(x)) (x P(x) x Q(x))
44 / 66
Rgles de dduction de =
Rgles dintroduction et dlimination de =
t = t
= i
A[x := t ] t = u
A[x := u]
= e
Lecture intuitive
= i : lgalit est rexive
= e : Si on a dmontr que t vrie la proprit A et que t = u alors
on dduit que u vrie la proprit A.
Quiz
Dmontrer le squent suivant x y (x = y y = x)
45 / 66
Exercices
Exercice 13
Dmontrer dans la logique intuitionniste des prdicats, les squents
suivants :
xyz (x = y y = z) x = z
(x P(x) Q(x)) (x P(x)) (x Q(x))
x (P(x) Q(x)) (x P(x)) x Q(x)
x P(x) x P(x)
(x y x = y) zt z = t
x P(x) x P(x)
46 / 66
Dcidabilit
Logique propositionnelle
Les deux classes de logique propositionnelle (classique et
intuitionniste) sont dcidables.
Il existe un algorithme effectif qui pour toute formule en entre
rpondra "Oui" si elle est valide et "Non" sinon.
Complexit algorithmique : en temps exponentiel !
Logique des prdicats
La logique des prdicats est indcidable
Il nexiste aucun algorithme qui dcide de la validit universelle dune
formule de premier ordre.
Il existe des fragments dcidables : e.g., arithmtique de Presburger
47 / 66
Introduction Coq
Quest ce que Coq ?
Assitant de preuves bas sur le calcul des constructions inductives
(extension de la logique intuitionniste dordre suprieur)
Coq offre les services suivants :
Formaliser les noncs des thormes et des spcications
Construction interactive de preuves et de programmes certis
Vrication mcanique des preuves construites
Aide dans la recherche de preuves
Dmonstration complte et mcanise du thorme des 4 couleurs :
plusieurs cas traiter (> 1000 cas). A ce jour, il nexiste aucune
dmonstration qui ne fait pas appel lordinateur.
48 / 66
Premier exemple
Premier exemple
Section Minimal_propositional_logic.
Variables P Q R : Prop.
Lemma imp_trans : (P -> Q) -> (Q -> R) -> P -> R.
Commentaires
Le type prdni Prop reprsente lensemble des formules logiques.
La commande Variables P Q R : Prop. permet de dclarer 3
variables propositionnelles.
Le lemme imp_trans admet comme nonc la formule (P -> Q) ->
(Q -> R) -> P -> R qui est de type (Prop).
49 / 66
Exemple de preuve interactive (1)
Preuve interactive
1 subgoal
P : Prop
Q : Prop
R : Prop
(1/1)
(P -> Q) -> (Q -> R) -> P -> R
Tactique : intros
Commentaires
Un squent est reprsent en Coq sous forme de but (goal).
Les hypothses sont places au dessus de la barre, chacune ayant
un nom distinct.
La conclusion est nonce au dessous de la barre.
50 / 66
Exemple de preuve interactive (2)
Preuve interactive
1 subgoal
P : Prop
Q : Prop
R : Prop
H : P -> Q
H0 : Q -> R
H1 : P
(1/1)
R
Tactique : apply H0
51 / 66
Exemple de preuve interactive (3)
Preuve interactive
1 subgoal
P : Prop
Q : Prop
R : Prop
H : P -> Q
H0 : Q -> R
H1 : P
(1/1)
Q
Tactique : apply H
52 / 66
Exemple de preuve interactive (4)
Preuve interactive
1 subgoal
P : Prop
Q : Prop
R : Prop
H : P -> Q
H0 : Q -> R
H1 : P
(1/1)
P
Tactique : assumption (ou exact H1)
Proof Completed.
53 / 66
Preuve interactive
Structure dune preuve interactive
Etape 1 : Prsenter lnonc du lemme ou thorme prouver.
Lemma (ou Theorem) nom : A.
Proof.
Squence de tactiques.
Qed.
Utiliser des tactiques adquates pour progresser dans la preuve. Une
tactique est une commande applique par lutilisateur sur le but
courant, elle permet de remplacer ce dernier par une squence nie
de nouveaux sous-buts rsoudre.
La preuve interactive est acheve quand il ne reste aucun sous-but
rsoudre.
La commande Qed permet de construire un terme de preuves associ
la squence de tactiques employes, puis vrie la correction de la
preuve. Enn, la preuve est sauvegarde en lui attribuant le nom du
lemme.
54 / 66
Tactique daxiome
Tactique assumption
La tactique assumption est utilise quand le but courant a la forme
suivante :
...
H : C
...

C
Cette tactique permet dappliquer la rgle daxiome et rsoudre le but.
On peut la remplacer par exact H ou trivial.
55 / 66
Tactique dintroduction de limplication
Tactique intro(s)
Soit un but reprsentant un squent A. Si la formule conclusion A
prend la forme suivante A
1
->A
2
->...A
n
, alors la tactique intros
engendre un nouveau but associ au squent
, A
1
, A
2
, ..., A
n1
A
n
La tactique intros applique autant de fois que possible la rgle
dintroduction de limplication logique, tandis que la tactique intro
lapplique une seule fois.
Lutilisateur peut choisir lui mme le nom des hypothses introduites
(e.g., intros H1 H2)
56 / 66
Tactique dlimination de limplication
Tactique apply
Soit un but reprsentant un squent A. Si dans le contexte
courant on a une hypothse H : A
1
->A
2
->...A
n
->A, alors la
tactique apply H engendre n sous-buts associs aux squents
A
1
, ..., A
n
.
Remarque : limplication -> est considre associative droite, la
formule A
1
->A
2
->...A
n
->A est donc quivalente
A
1
->(A
2
->(...(A
n
->A)))
Cette tactique applique un certain nombre de fois la rgle de
modus-ponens ( e). La rgle dinfrence drive associe est la
suivante :
A
1
A
2
... A
n
A
ax
...
A
1
...
...
A
n
A
57 / 66
Tactiques associes la conjonction
Tactique dintroduction : split
Soit un but reprsentant un squent A B. La tactique split
permet dengendrer deux sous-buts associs respectivement aux
squents A et B
Tactique dlimination : destruct
Soit un but reprsentant un squent C. Si dans le contexte
courant on a une hypothse H : A B, alors la tactique destruct H
engendre un nouveau but, o lhypothse compose H est remplace
par deux hypothses plus simples H : A et H0 : B.
58 / 66
Tactiques associes la disjonction
Tactiques dintroduction left/right
Le connecteur de disjonction admet deux rgles dintroduction i
1
et
i
2
. La tactique left permet dappliquer la premire, tandis que
right applique la seconde.
Si le but courant est reprsent par le squent A B, la tactique
left engendre le nouveau sous-but A, tandis que la tactique
right gnre le sous-but B
Tactique dlimination : destruct
Soit un but reprsentant un squent C. Si dans le contexte
courant on a une hypothse H : A B, alors la tactique destruct H
engendre deux nouveaux sous-buts , A C et , B C.
Cette tactique permet dappliquer un traitement par cas.
59 / 66
Tactiques associes la ngation
Tactique dintroduction : intro
En Coq, la ngation dune formule A(notation associe not A)
concide avec limplication A-> False. La tactique red permet de
remplacer not par sa dnition.
Si le but courant prend la forme de A, alors la tactique intro
permet dengendrer le sous-but suivant , A False.
Tactique dlimination : destruct
Soit un but reprsentant un squent C. Si dans le contexte
courant on a une hypothse H : A, alors la tactique destruct H
engendre un nouveau sous-but A.
Cette tactique permet dappliquer la rgle de dduction e stipulant
que toute formule est valide partir dun contexte incohrent
(contenant une contradiction).
60 / 66
Logique des prdicats en Coq
Premiers pas
Un prdicat est une fonction qui partir dun nombre de paramtres
construit une proposition
Si D reprsente le domaine de raisonnement (D sera de type Set),
alors le type des prdicats unaires est D -> Prop, et celui des
prdicats binaires est D->D-> Prop
Exemple de prdicats prdnis en Coq : lt (quivalent de <) dont le
type est nat ->nat-> Prop
Construction des formules quanties :
Exemple 1 : forall x :D, humain(x) -> mortel(x)
Exemple 2 : exists x :D, humain(x)
Syntaxe : mot clef forall(quantication universelle) ou exists
(quantication existensielle) suivi par le nom de variable lie et son
type, suivi par une formule de la logique des prdicats
61 / 66
Tactique dintroduction du quanticateur universel
Tactique dintroduction : intro(s)
Si la formule conclusion du but courant prend la forme de
forall x : D, A, la tactique intro permet dintroduire la dclaration x :
D dans le contexte et engendre la nouvelle formule conclusion A.
La tactique intros applique autant de fois que possible les rgles
dintroduction i et i
Exemple
Lemma test : (forall x y :D, R x y) -> forall x : D, R x x.
intros.
D : Set
R : D -> D-> Prop
H : forall x y : D, R x y
x : D
-(1/1)
R x x
62 / 66
Tactique dlimination du quanticateur universel (1)
Tactique apply
Soit un but de la forme suivante :
...
H : forall x
1
x
2
...x
n
: D, (A
1
x
1
...x
n
)->...->
(A
n
x
1
... x
n
)->(C x
1
...x
n
)
-(1/1)
C c
1
c
2
...c
n
La tactique apply H gnre n sous-buts dont les formules
conclusions sont (A
1
c
1
...c
n
)...(A
n
c
1
...c
n
).
La tactique applique autant de fois que possible les rgles e et e
En uniant la conclusion de lhypothse H avec le but courant, le
systme a pu dtecter les termes de substitution des variables lies
(x
1
:=c
1
, x
2
:=c
2
,...,x
n
:=c
n
).
63 / 66
Tactique dlimination du quanticateur universel (2)
Tactique apply (with)
Soit le but suivant :
...
H : forall x y z : D, P x y -> P y z -> P x z
(1/1)
P c d
La tactique apply H produira un chec dans ce cas, puisque le
systme est incapable de retrouver le terme de substitution de la
variable y utilis lors de lapplication de la rgle e
Lutilisateur doit lui mme spcier la valeur de cette variable
apply H with (y :=c))
64 / 66
Tactiques associes au quanticateur existensiel
Tactique dintroduction exists
Pour dmontrer un but de la forme exists x : D, A, il suft
dappliquer la tactique exists t o t est un terme reprsentant le
tmoin. Le systme va gnrer le sous-but A[x :=t].
Tactique dlimination destruct
Si dans le contexte courant nous disposons dune hypothse de la
forme H : exists x :D, A, alors la tactique destruct H permet
de rajouter au contexte une nouvelle variable libre et une hypothse
quelle vrie la proprit A.
65 / 66
Tactiques de base
Tableau rcapitulatif
Connecteurs Elimination Introduction
apply intro(s)
destruct left/right
destruct split
destruct intro
destruct split
apply intro(s)
destruct exists
= rewrite reexivity
66 / 66

You might also like