4 Calcul des prédicats
Dans leurs recherches sur la formalisation des mathématiques, les logiciens du
XXe siècle se sont intéressés au calcul des prédicats, peut-être le système la plus simple
extension du calcul propositionnel. C’est un langage très expressif qui au XXIe siècle
est beaucoup utilisé en informatique, grâce à deux nombreuses avancées sur l’auto-
matisation de certains fragments ce le langage.
La dénition du calcul des prédicats se fait en deux temps : la syntaxe, relativement
sans surprise, et la sémantique, qui fait intervenir la notion de modèle. Cette notion
de modèle rejoint par sa nalité celles vues en logique classique. Grâce aux modèles,
on peut établir qu’un énoncé n’est pas conséquence logique d’autres axiomes (par
exemple, l’axiome de choix n’est pas conséquence de la théorie des ensembles ZF), ce
qu’on illustrera sur une tentative d’axiomatisation de l’arithmétique élémentaire.
4.1 Syntaxe
4.1.1 Les termes
On se donne un ensemble Fdont les éléments seront appelés symboles de fonction.
Chaque symbole f∈ F est muni d’une arité a(f)Nqui xe le nombre d’arguments.
On se donne de plus un ensemble inni Xde symboles de variables, disjoint de F.
Dénition 4.1. L’ensemble des termes sur l’alphabet Fet les variables X, noté T(F,X)
est le plus petit ensemble tel que :
XT(F,X);
si f∈ F, a(f) = net t1, . . . , tnT(F,X), alors f(t1, . . . , tn)T(F,X).
Un terme peut être vu comme un arbre ni étiqueté par Fet X.
Exemple 4.2. Si l’on suppose que Fest composé des symboles +, s, zero d’arités
respectives 2,1,0, et x X , alors zero,s(zero),et +(s(zero), x)sont des termes de
T(F,X)que l’on peut voir comme les arbres ci-dessous.
zero s
zero
+
sx
x
On utilise parfois l’écriture en notation inxée pour certains symboles usuels. Par
exemple, +(0, s(0)) s’écrira aussi 0 + s(0).
Dans les exemples, Fest donné en listant ses éléments avec, entre parenthèses,
l’arité du symbole correspondant.
Exemple 4.3. Si F={nil(0),cons(2),(2)}et x, y, z X ,(cons(x, y), z)T(F,X).
Exemple 4.4. Si F={0(0), s(1),+(2),×(2)}et x, y X ,×(s(x), y)T(F,X).
On écrit aussi ×(s(x), y)en notation inxe : s(x)×y.
13
4.1.2 Formules atomiques
On se donne un ensemble Pdont les éléments seront appelés symboles de prédicat.
Chacun de ces symboles est à nouveau muni d’une arité. On suppose Pdisjoint de F
et de X.
Les termes P(t1, . . . , tn)t1, . . . , tnT(F,X)et P P est d’arité nsont
appelés formules atomiques.
4.1.3 Formules du premier ordre
Dénition 4.5. L’ensemble CP1(F,P)des formules du premier ordre sur les sym-
boles de prédicat P, les symboles de fonction Fet les variables Xest le plus petit
ensemble tel que :
,> ∈ CP1(F,P);
les formules atomiques sont dans CP1(F,P);
Si φ, ψ CP1(F,P)et x∈ X alors les formules suivantes sont dans CP1(F,P):
φψ, φ ψ, ¬φ, φ ψ, x.φ, x.φ.
Remarquons que, lorsque tous les symboles de Psont d’arité 0, les formules sans
quanticateur de CP1(F,P)sont aussi des formules de CP0(calcul propositionnel).
Dans la suite, nous ne préciserons pas toujours X, qui est presque toujours évident
dans le contexte d’utilisation. Par défaut les symboles de Xsont ceux qui commencent
par x, y, z.
Exemple 4.6. Si P={= (2)}et en reprenant les symboles de fonction de l’exemple
4.3,
x, y. = ((cons(x, y), z),cons(x, (y, z)))
est une formule de CP1(F,P). On écrit souvent u=vau lieu de = (u, v).
Exemple 4.7. La formule suivante n’est pas une formule du premier ordre :
P.(P(0) ∧ ∀x.P (x)P(s(x))) → ∀x.P (x)
14
4.2 Sémantique
4.2.1 F-algèbres
Etant donné un alphabet Fune F-algèbre Aest constituée d’un domaine (en-
semble) DAnon vide et, pour chaque symbole de fonction f F d’arité n, d’une
fonction fAde Dn
Adans DA.
Exemple 4.8. Soit F={0(0), s(1),+(2)}. Alors (N, succN,+N)est une F-algèbre
et (Q+,1,÷2,÷)est aussi une F-algèbre. (Q+est l’ ensemble des rationnels stricte-
ment positifs).
Exemple 4.9. T(F)et T(F,X)sont des F-algèbres, avec fT(F)(t1, t2) = f(t1, t2)
et de même pour fT(F,X).
Exemple 4.10. Soit F={0(0), succ(1),+(2),×(2)}. Soit Σun alphabet ni et
aΣune lettre. On dénit NC la F-algèbre de domaine Σ0NC =(le mot vide),
w1+NC w2est la concaténation de w1et w2,succNC(w) = a+NC w, et w1×NC w2est
le mot obtenu en remplaçant chaque occurrence de adans w1par w2(par exemple,
aba ×NC aa =aabaa).
Si Aet Bsont deux F-algèbres, un homomorphisme (ou simplement morphisme)h
de Adans Best une application de DAdans DBtelle que, pour tout symbole f∈ F,
pour tous éléments a1, . . . , anDA,
h(fA(a1, . . . , an)) = fB(h(a1), . . . , h(an)).
Exemple 4.11. Soit F={0(0), s(1),+(2)}. On considère la F-algèbre Net la F-
algèbre Z2, toutes deux équipées des opérations naturelles. L’application de Ndans
Z2qui a tout entier associe son reste modulo 2 est un homomorphisme de F-algèbres.
Théorème 4.12. (Birkho : propriété universelle de T(F,X))
Soit Aune F-algèbre. Soit il’injection (canonique) de Xdans T(F,X). Pour toute
application hde Xdans A, il existe un unique homomorphisme ˆ
hde T(F,X)dans
Atel que
xX, ˆ
hi(x) = h(x)
Démonstration. La construction de ˆ
hest eectuée par récurrence structurelle sur les
termes (ou, si l’on préfère, par récurrence sur la profondeur des termes) de façon évi-
dente :
ˆ
h(x) = h(x)
ˆ
h(f(t1, . . . , tn)) = f(ˆ
h(t1),...,ˆ
h(tn)) pour tout f∈ F, a(f) = n
On vérie aisément que cette dénition convient. On prouve enn facilement, par
induction sur t, que h0(t) = ˆ
h(t)pour tout autre homomorphisme h0satisfaisant
h0(i(x)) = h(x).
Dénition 4.13 (Aectation).Si Aest une F-algèbre, une A-aectation est une ap-
plication σde Xdans A.
15
Si a1, . . . , an∈ A, et X={x1, . . . , xn}, on note {x17→ a1, . . . , xn7→ an}
l’aectation σtelle que σ(xi) = aipour tout i. Cette notation suppose que x1, . . . , xn
sont des variables distinctes.
D’après le théorème 4.12, on peut confondre σet le morphisme correspondant ˆσ
de T(F,X)dans A.
Supposons que A=T(F,X), et que σest une A-aectation. Alors ˆσest un
endomorphisme de la F-algèbre T(F,X). On appelle domaine de σl’ensemble {x
X|σ(x)6=x}noté Dom(σ).
Si t1, . . . , tnT(F,X), on note {x17→ t1, . . . , xn7→ tn}la substitution σtelle
que σ(xi) = tipour tout i, et σ(y) = ypour tout y X \ {x1, . . . , xn}.
Si test un terme tT(F,{x1, . . . , xn})et si σest l’aectation {x17→ a1, . . . , xn7→
an}dans la F-algèbre A, on écrira
JtKσ,A
ou à la place de
ˆσ(t)
.
Exemple 4.14. On a Jx+xKx7→1,N= 2 et Jx+xKx7→s(z),T (F,X)=s(z) + s(z).
Dénition 4.15 (Substitution).Les endomorphismes σde T(F,X)de domaine ni
sont appelés substitutions. Les homomorphismes de T(F,X)dans T(F)de domaine
ni sont appelés substitutions closes.
Un renommage est un automorphisme de T(F,X), i.e. une substitution bijective
dont l’inverse est aussi une substitution. Notons que si σest un renommage, est
nécessairement une variable ; si ce n’était pas le cas, on aurait =f(t1...,t2), et
donc x=f(t1, . . . , tn)σ1=f(t1σ1, . . . , tnσ1), ce qui est impossible (x6≡ f
entraine que xet f(t1σ1, . . . , tnσ1)sont deux termes/arbres étiquettés distincts).
4.2.2 F,P-structures
Dénition 4.16. Une F,P-structure Sest une F-algèbre A= (DA,{fA|f∈ F})
et, pour chaque symbole de prédicat P∈ P d’arité nune relation PADn
A.
On confondra parfois (abusivement) une structure et la F-algèbre sous-jacente.
Dénition 4.17. Un morphisme hde la F,P-structure Sdans la F,P-structure S0
est un morphisme de la F-algèbre Asous-jacente à Sdans la F-algèbre A0sous-
jacente à S0tel que, pour tout symbole de prédicat P P (d’arité n), et pour tout
(a1, . . . , an)Dn
A:
(a1, . . . , an)PSentraine (h(a1), . . . , h(an)) PS0.
16
4.2.3 Variables libres et variables liées
Les quanticateurs lient les variables. On dénit ainsi les variables libres (fv(φ))
d’une formule φ(resp. d’un terme t), par récurrence sur le terme t, puis la formule :
fv(x) = {x}si x∈ X
fv(f(t1, . . . , tn)) = fv(t1). . . fv(tn)pour tout f∈ F d’arité n
fv(P(t1, . . . , tn)) = fv(t1). . . fv(tn)pour tout P∈ P d’arité n
fv() = fv(>) =
fv(φψ) = fv(φψ) = fv(φ)fv(ψ)
fv(φψ) = fv(φ)fv(ψ)
fv(¬φ) = fv(φ)
fv(x.φ) = fv(x.φ) = fv(φ)\ {x}
Quand fv(φ) = , on dit que φest une formule close.
Exemple 4.18. Si φest la formule
P(x)∧ ∃x.Q(f(x)) ∧ ∃x.z.Q(g(x, y, z))
alors fv(φ) = {x, y}.
4.2.4 Satisfaction, modèles d’une formule
Soit φune formule, fv(φ) = {x1, . . . , xn},Sune F,P-structure (d’algèbre sous-
jacente A) et σune A-aectation σ:{x1, . . . , xn}→A. On dénit la relation de
satisfaction S, σ |=φpar récurrence sur φ:
S, σ |=P(t1, . . . , tn)si et seulement si (Jt1Kσ,A,...,JtnKσ,A)PS;
S, σ |=φψest l’un des connecteurs logiques binaires est déni, comme
en calcul propositionnel, à partir des modèles de φet des modèles de ψ, par
exemple S, σ |=φψsi et seulement si (S, σ |=φou S, σ |=ψ) ;
S, σ |=¬φsi et seulement si S, σ 6|=φ;
S, σ |=x.φ si et seulement si il existe aDAtel que
S, σ ] {x7→ a} |=φ;
S, σ |=x.φ si et seulement si pour tout aDAon a
S, σ ] {x7→ a} |=φ.
Ici σ] {x7→ a}désigne l’aectation σ0dont le domaine est Dom(σ0) = Dom(σ)
{x}, qui coïncide avec σsur Dom(σ)\ {x}et telle que σ0(x) = a.
Si φest une formule close, on écrit simplement S |=φpour S, σ |=φσest
l’aectation de domaine vide.
Une structure Sest un modèle d’une formule close φsi S |=φ. Un modèle d’un
ensemble de formules closes est une structure qui satisfait toutes les formules de l’en-
semble.
4.2.5 Conséquence et équivalence logiques
On étend au calcul des prédicats les notions de conséquence logique, d’équivalence
logique dénies pour le calcul propositionnel :
17
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !