Une introduction
Florent Capelli
12 Février 2025
Est-ce que ce raisonnement vous paraît valide ?
Est-ce que P ∧ Q ⇒ R est un théorème de la logique propositionnelle ?
P, Q, R ne sont pas des propositions indépendantes.
((C_Rex⇒N_Rex)∧(C_Médor⇒N_Médor)∧C_Médor) ⇒ N_Médor
Est-ce un théorème de la logique propositionnelle ?
Preuve : par résolution, voir tableau !
((C_Rex⇒N_Rex)∧(C_Médor⇒N_Médor)∧(C_Pat⇒N_Pat)∧C_Médor) ⇒ N_Médor
Toujours un théorème de la logique propositionnelle.
Quid du cas où on a 10, 100, 1000, N, ∞ animaux ?
(∀x(Chien(x) ⇒ Nage(x)) ∧ Chien(Médor)) ⇒ Nage(Médor).
On verra que c’est un théorème de la logique du premier ordre.
Il existe des chats plus grands que certains chiens et il existe des chiens plus grands que certains chats.
Des quantificateurs
Des prédicats
Des connecteurs logiques
Formule du premier ordre :
(∃x(∃y(chat(x)
∧ chien(y)
∧ plusgrand(x,y)))) ∧
(∃p(∃q(chat(p) ∧ chien(q) ∧ plusgrand(q,p))))
Pareil que :
(∃x(∃y(chat(x) ∧
chien(y) ∧ plusgrand(x,y)))) ∧
(∃x(∃y(chat(x) ∧ chien(y) ∧ plusgrand(y,x))))
On dispose d’un langage ℒ = (𝒞,𝒫,ℱ) avec :
On fixe ℒ = (𝒞,𝒫,ℱ) et un ensemble de variables X.
Sont des termes (déf inductive) :
2 × cos (x + sin(y))
Abus de notation pour certains symboles d’arité 2 de fonction +(x,y) noté x+y. On parle de notation infixe.
On forme les atomes : P(t1,…,tk)
DIVISE(9 × x, 3+3×y)
On construit inductivement les formules :
∀x(∀y((Chien(x)∧Humain(y))⇒Ami(x,y))
Un quantificateur a une portée : ∀x(F).
Cas pathologiques
On essaiera autant que faire de ne pas réutiliser le même symbole de variable dans deux quantificateurs différents ou hors de sa portée.
Étant donné un langage ℒ = (𝒞,𝒫,ℱ), une ℒ-interprétation ℐ est :
𝒞 = {0}, 𝒫 = { ≤ }, ℱ = {+, × } interprété (voir tableau) par
Soit ℒ = (𝒞,𝒫,ℱ) un langage, et ℐ une ℒ-interprétation sur le domaine U.
On suppose qu’on a une fonction e : X → U qui donne une valeur aux variables. On l’appelle : l’environnement.
La valeur d’un terme t est définie inductivement :
si t est un symbole de constante c ∈ 𝒞: val(t,e,ℐ) = cℐ
si t est une variable x: val(t,e,ℐ) = e(x)
si t est de la forme f(t1,…,tk) alors val(t,ℐ) = fℐ(val(t1,ℐ),…,val(tk,ℐ))
On définit inductivement la valeur val(Φ,e,I) d’une formule Φ par rapport à une interprétation ℐ et un environnement e
On a les mêmes notions qu’en logique propositionnelle :
Définir logique propositionnelle comme un fragment du premier ordre.