Théories et modèles
Florent Capelli
14 Février 2024
LPO(ℒ): logique du premier ordre sur le langage ℒ
On définit inductivement la valeur val(Φ,e,I) ∈ {0, 1} d’une formule Φ par rapport à une interprétation ℐ et un environnement e
On définit l’interprétation I:
Question :
D’un point de vue expressivité, on a besoin que d’un quantificateur :
⊨ ∀x(F) ⇔ ¬∃x(¬F) ⊨ ∃x(F) ⇔ ¬∀x(¬F)
Autrement dit, pour toute interprétation ℐ,
Démonstration : ces formules ont la même valeur.
Soit ℒ = (𝒞,𝒫,ℱ) un langage avec:
LPO(ℒ) c’est la logique propositionnelle (voir exercice 3)!
Quelque soit l’interprétation ℐ :
Constantes 0, 1, prédicat ≤. I une interprétation sur le domaine U.
Si I ⊨ ∀x(0≤x) alors I ⊨ (0≤1) ?
On a envie de dire : si I ⊨ ∀x(F) alors on peut remplacer x par n’importe quel terme dans la formule ! Notion de substitution
On note F[x:=t] pour 0 ≤ f(0,1)
Tentative: Soit F une formule, x une variable libre de F et t un terme. On note F[x:=t] la formule obtenue en remplaçant toutes les occurrences de x par le terme t.
F = ∀x(P(x,y)).
Qu’est-ce que F[y:=f(x)]?
On serait tenter d’écrire F[y:=f(x)] ≡ ∀x(P(x,f(x))).
On a une capture de la variable x du terme f(x) par le quantificateur universel.
On évite cela en renommant le quantificateur : F[y:=f(x)] ≡ ∀z(P(z,f(x))).
Pour y une variable libre de F et t un terme, on note F[x:=t] la formule obtenue en renommant toutes les variables liées de F qui sont libres dans t par des noms de variables distincts et qui n’apparaissent pas ailleurs dans la formule ni dans t puis on remplace toutes les occurrence de x par t.
Soit F une formule du premier ordre, XF les variables libres de F, y ∈ XF et t un terme dont les variables (libres) sont Xt.
Quelles sont les variables libres de F[x:=t] ?
Si ⊨ ∀x(F) alors ⊨ ∀Xt(F[x:=t])
Cela ne serait pas vrai si on autorisait à remplacer avec capture :
Soit ℒ le langage avec les constantes {P, F, C} et le prédicat <.
On définit l’interprétation I sur {0, 1, 2} par
A-t-on I ⊨ ∀x∀y∀z.(x<y∧y<z) ⇒ x < z ?
Non: PI < FI et FI < CI mais PI ≮ CI.
Choix du symbole < : on veut imposer que < soit un ordre total !
Tous les modèles qui respectent Tr, Tot et Ant interprète < comme un ordre total !
On dit que T = {Tr, Tot, Ant} est la théorie des ordres totaux.
Une ℒ-théorie T est un ensemble (pas nécessairement fini) de LPO(ℒ).
Une théorie T peut être comprise comme une spécification des éléments de ℒ. Un modèle de T comme une implémentation de cette spécification.
Par exemple: ℕ ⊨ T où T est la théorie des ordres totaux (interprétation “naturelle”), mais aussi (ℕ2,<lex) etc.
Langage : prédicat <, pas de fonction, pas de constantes.
L’ensemble de ces axiomes forment To, la théorie des ordres denses.
(ℚ,<) ⊨ To mais pas (ℤ,<) ⊨ To
Un certain nombre de théories ont eu pour but de formaliser l’arithmétique dans ℕ.
Arithmétique sans multiplication, Pres :
On a une infinité d’axiomes !
Cela suffit à prouver que + est commutatif, associatif ie:
On s’intéresse au problème suivant : étant donné une théorie T et une formule F, peut-on décider si T ⊨ F ?
La plupart du temps : indécidable
Décidable pour certaines théories, notamment :
…