• Aucun résultat trouvé

Logique du premier ordre

Dans le document Bonnes démonstrations en déduction modulo (Page 33-36)

2.2 Logique(s)

2.2.1 Logique du premier ordre

On étend la définition de signature pour y inclure des symboles de prédicat.

Définition 2.18 (Signature). Une signature du premier ordre est un triplet (F, P, a)

constitué d’un ensemble des symboles de fonctionF, d’un ensemble de symboles de

pré-dicat distincts des symboles de fonctionP, et d’une fonction d’arité deF ∪P dans N.

La définition des termes est inchangée.

Définition 2.19(Formule). Étant donnés une signatureΣet un ensemble dénombrable

de variablesV, étant donné un symbole de prédicatA d’arité n dansΣ et (t1, . . . , tn)∈

T(Σ, V)n, on dit que A(t1, . . . , tn) est une proposition atomique.

On définit alors l’ensemble des formules de la logique du premier ordre par la

gram-maire suivante :

P ::=A | ⊥ | ⊤ | ¬P |P ∧P |P ∨P |P ⇒P | ∀x, P | ∃x, P

x appartient à V et A a valeur dans les propositions atomiques.

On utilisera les notationsA⇔B pour(A⇒B)∧(B ⇒A) et, pour tout ensemble fini

de formulesΓ ={P1, . . . , Pn}, on noteraVΓpourP1∧ · · · ∧Pn etWΓpourP1∨ · · · ∨Pn.

Le quantificateur universel∀et le quantificateur existentiel∃lient une variable. Il faut

donc définir l’ensemble des variables libres apparaissant dans une formule :

Définition 2.20(Variables libres). L’ensemble desvariables libres F V(P)apparaissant

dans une formule est défini par :

F V(A(t1, . . . , tn)) =S

1≤i≤nF V(ti);

F V(⊥)

déf

= F V(⊤)

déf

= ∅;

F V(¬P)

déf

= F V(P);

F V(P∧Q)

déf

= F V(P ∨Q)

déf

= F V(P ⇒Q)

déf

= F V(P)∪F V(Q);

F V(∀x, P)

déf

= F V(∃x, P)

déf

= F V(P)\ {x}.

Il faut alors considérer les formules àα-conversion près : siy6∈F V(P) alors∀x, P et

∀y, {y/x}P sont les mêmes formules.

On peut définir un ordre bien fondé sur les formules :

Définition 2.21 (Ordre sous-formule). L’ordre sous-formule > est le plus petit ordre

sur les formules tel que

¬P > P ;

P ∧Q > P et P∧Q > Q, de même pour P∨Q et P ⇒Q;

∀x, P >{t/x}P pour tout terme t, de même pour∃x, P.

La logique classique du premier ordre peut être définie grâce à sa sémantique.

Définition 2.22 (Modèle classique). Étant donnés une signatureΣ, unmodèle pour la

logique classique du premier ordre est définit par un ensemble non videDappelé support

du modèle, une fonction fˆ:Dn→Dpour chaque symbole de fonction f d’aritén et un

ensemble Pˆ ⊆Dn pour chaque symbole de prédicatP d’aritén dansΣ.

Unevaluation est une fonction de V dansD.

Étant donnée une valuationρ, on définit une interprétation sur les termes par

induc-tion sur leur structure :

[[x]]ρ=ρ(x)

[[f(t1, . . . , tn)]]ρ= ˆf([[t1]]ρ, . . . ,[[tn]]ρ)

puis on définit la relation suivante entre le modèle et une formule par induction sur la

formule :

m|=ρA(t1, . . . , tn) ssi ([[t1]]ρ, . . . ,[[tn]]ρ)∈Aˆ

m6|=ρ

m|=ρ⊤

m|=ρ¬P ssi m6|=ρP

m|=ρP ∧Q ssi m|=ρP et m|=ρQ

m|=ρP ∨Q ssi m|=ρP ou m|=ρQ

m|=ρP ⇒Qssi m|=ρP impliquem|=ρQ

m|=ρ∀x, P ssi pour tout d∈D on am|=ρ

P ρ est la valuationρ sauf pour x

à qui elle associe d.

m|=ρ∃x, P ssi il existe un élémentd de D tel quem|=ρ

P ρ est la valuation

ρ sauf pour x à qui elle associe d.

Finalement,m|=P ssi m|=ρP pour toute valuation ρ.

De façon équivalente, on peut dire que l’on interprète les symboles de prédicats d’arité

npar une fonction deDn dans{0; 1}. On dit alors que0et1sont desvaleurs de vérité.

C’est cette définition qu’il est plus facile de généraliser pour d’autres logiques.

On parle de logique propositionnelle du premier ordre quand on se restreint aux

for-mules sans quantificateurs. Dans ce cas, il n’est pas nécessaire de parler de termes,

puisqu’on peut utiliser un prédicat nullaire At

1

,...,t

n

au lieu de la proposition atomique

A(t1, . . . , tn). Pour distinguer, on parle alors parfois de logique des prédicats du premier

ordre quand on autorise les quantificateurs.

Pour définir des systèmes d’inférence, nous aurons besoin de schéma de formules, avec

des variables pouvant être substituées par des formules.

Définition 2.23 (Méta-formule). On considère un ensemble dénombrable M V de

va-riables appelées à jouer un rôle particulier dans les règles d’inférence des systèmes de

déduction, les méta-variables. On considère également des ensembles dénombrables de

variables propositionnelles P Vn pour chaque arité n.

Étant donnée une signature du premier ordre(F, P, a) et un ensemble de variablesV,

uneméta-formulesera une formule du premier ordre sur la signature(F, P∪S

n

P Vn, a)

aveca(X) =nsiX ∈P Vneta(f) =a(f)sinon, et les variablesV∪M V, autrement dit

les termes pourront contenir des méta-variables et les variables propositionnelles pourront

être utilisées comme des symboles de prédicat.

L’intérêt des méta-formules réside dans leur instanciation : on obtient une instance

d’une méta-formule en lui appliquant une substitution qui associe une variable à une

méta-variable, un terme quelconque à une variable non méta, et une formule dans

la-quelle on a distingué un nombre de variables égal à son arité à une variable

proposition-nelle. L’application d’une substitution σ à X(t1, . . . , tn) renvoie σ(X) dans laquelle on

a remplacé lesn variables libres distinguées par l’application deσ à t1, . . . , tn.

Il est également possible de définir la logique intuitionniste du premier ordre à l’aide

de sa sémantique, principalement par deux méthodes distinctes : les algèbres d’Arend

Heytinget les modèles de SaulKripke. Toutefois, il nous semble plus clair de la définir

comme la logique associée à la déduction naturelle (voir la section suivante).

Logique multisortée

En logique du premier ordre monosortée, tous les objets ont le même statut, et sont

interprétés dans le même domaine. Toutefois, on a parfois envie de distinguer différents

types d’objets, pour clarifier les formules. La logique du premier ordre multisortée permet

ceci, en généralisant la notion d’arité.

On se donne un ensemble de sortesS, et on choisit l’arité d’un symbole de fonction

ou d’un prédicat parmi les listes finies d’éléments de S. La coarité d’un symbole de

fonction sera un élément de S (son « type de retour »). Pour chaque sorte s de S on

considère un ensemble dénombrable de variable Vs. Pour une sorte s ∈ S l’ensemble

des termes de sorte s noté Ts Σ,(Vs)sS

est le plus petit ensemble contenant Vs et

tel que si f est un symbole d’arité s1, . . . , sn et de coarité s, si ti ∈ Ts

i

Σ,(Vs)sS

alors f(t1, . . . , tn) ∈ Ts Σ,(Vs)sS. De même une proposition atomique A(t1, . . . , tn)

est construite à partir d’un symbole de prédicatA d’arité s1, . . . , sn et de (t1, . . . , tn)∈

Ts

1

Σ,(Vs)sS

× · · · × Ts

n

Σ,(Vs)sS. Pour plus de clarté, on indiquera en exposant

la sorte des variables, par exemplexs∈Vs.

Il faut aussi étendre la notion de modèle : un modèle est donné par un support Ds

pour chaques∈S, des interprétations de chaque symbole de fonction d’arités1, . . . , sn

et de coarité s par une fonction deDs

1

× · · · ×Ds

n

dans Ds, et des interprétations de

chaque symbole de prédicatAd’arités1, . . . , snpar un sous-ensemble deDs

1

× · · · ×Ds

n

.

Une valuation est donnée par une fonction de Vs dans Ds pour chaque s ∈ S. Tout le

reste fonctionne alors comme dans le cas monosorté.

Il est possible de traduire la logique multisortée en logique monosortée en ayant recours

à des prédicats d’arité 1 pour chacune des sortes, par exempleS pour la sorte s, et des

axiomes pour traduire les arités de symboles de fonctions (par exemple pourf : [s1; s2]→

s on a ∀x, S1(x) ⇒ ∀y, S2(y) ⇒S(f(x, y))) ainsi que l’existence de termes pour toute

sorte (pour toute sorteson considère un axiome∃x, S(x)). On traduit alors les formules

par induction :

|A(t1, . . . , tn)|

déf

= A(t1, . . . , tn)

|P ∧Q|

déf

= |P| ∧ |Q| et de façon similaire pour ∨, ⇒, ¬

|∀xs, P|

déf

= ∀x, S(x)⇒ |P|

|∃xs, P|

déf

= ∃x, S(x)∧ |P|

Les formules sont alors démontrables en logique multisortée ssi leur traduction l’est en

logique monosortée avec les axiomes supplémentaires.

Dans le document Bonnes démonstrations en déduction modulo (Page 33-36)