• Aucun résultat trouvé

7 Points fixes et programmes logiques disjonctifs

Dans ce chapitre, nous allons utiliser le th´eor`eme de point fixe multivoque qu’on a ´etabli dans le chapitre 2 pour prouver l’existence d’un ensemble de r´eponses pour une classe de programmes normaux disjonctifs (i.e. avec plus d’un atome dans la tˆete des clauses et com- prenant des litt´eraux n´egatifs dans le corps des clauses). Cette classe coincide avec la classe des programmes localement stratifi´es telle que d´ecrites dans [16]. L’existence d’un programme support´e pour les programmes localement stratifi´es non disjonctifs devient une cons´equence directe de ce r´esultat.

§7.1 Introduction

Apr`es le succ`es rencontr´e par les mod`eles stables et leur g´en´eralisation pour les programmes avec la n´egation classique, nous nous int´eressons dans ce chapitre `a ´etendre cette notion pour inclure les programmes logiques disjonctifs. Cette classe de programmes contient des litt´eraux n´egatifs dans le corps des clauses connect´es par la conjonction et plus d’un litt´eral positif ou atome dans la tˆete des clauses connect´es par la disjonction. Pour ce faire, nous d´efinissons une GL( Gelfond Lifschitz [9]) transformation pour les programmes normaux disjonctifs afin d’´ecarter les parties n´egatives. Par ailleurs, l’espace des interpr´etations de Herbrand est tou- jours assimil´e `a un espace ultram´etrique hyperconvexe.

Traditionnellemnt, la programmation logique a toujours utilis´e les th´eor`emes de points fixes 81

pour prouver l’existence de mod`eles pour les programmes. Le premier d’entre eux est le fa- meux th´eor`eme de Tarski sur les treillis complets et ceci concerne les applications monotones. Il a ´et´e con¸cu dans le but de prouver l’existence d’un plus petit mod`ele support´e pour les programmes positifs, voir Llyold [14].

Dans les programmes normaux disjonctifs, un ensemble de r´eponses peut ˆetre aussi formul´e comme un point fixe mais pour les fonctions multivoques. Dans le deuxi`eme paragraphe, nous rappelons le th´eor`eme multivoque du chapitre 2 que nous allons utiliser pour prouver l’existence d’un ensemble de r´eponses pour les programmes semi-strictement d´ecroissants par rapport `a une fonction niveau, classe qui coincide avec les programmes localement stratifi´es dans le sens de Przymusinski [16]. Dans le dernier paragraphe, nous d´eduisons l’existence d’un mod`ele support´e dans le cas non disjonctif.

Il est ´evident que les preuves constructives donn´ees par Seda et Hitzler [20] sont inop´erables dans le cas disjonctif, nous produisons ici une preuve simple d’existence et les r´esultats donn´es par Seda et Hitzler dans [20] apparaissent comme un cas particulier de l’existence d’un en- semble de r´eponses pour les programmes localement stratifi´es puisque, dans le cas univoque, l’ensemble de r´eponses coincide avec le mod`ele support´e pour les programmes non disjonctifs.

§7.2 Programmes normaux disjonctifs

Nous rappelons le th´eor`eme multivoque du chapitre 2.

Soit X un ensemble et soit (Γ, ≤) un ensemble ordonn´e avec 0 comme plus petit ´el´ement. Nous rappelons d’abord les propri´et´es des espaces ultram´etriques:

(1.1) Si 06= α ≤ β et Bα(a)∩ Bβ(b) 6= ∅, alors Bα(a)⊆ Bβ(b).

Th´eor`eme 7.2.1 Soit (X,d,Γ) un espace ultram´etrique hyperconvexe. Soit

F : X −→ 2X une application contractante non vide. Supposons que pour tout x∈ X, F (x)

est hyperconvexe , alors F a un point fixe ou il existe un sous ensemble hyperconvexe S de X tel que le diam`etre de S, δ(S)∈ min Πy pour tout y∈ S

Nous consid´erons les programmes suivants qu’on appelera programmes normaux disjonc- tifs o`u les clauses sont de la forme A1\...\An ←− An+1,...,Am,¬B1,...¬Bl1 avec Ai et Bj des atomes. L’antislash d´esigne la disjonction quant aux virgules, elles d´enotent la conjonction. La s´emantique formelle de la clause A1\...\An ←− An+1,...,Am,¬B1,...¬Bl1 est: si tous les An+1,...,Am sont vrais et si tous les B1,...,Bl1 sont faux, alors un ou plus d’un des A1,...,Anest vrai. Nous posons Head(r) = {A1,...An}, P os(r) = {An+1,...Am} et Neg(r) = {B1,...,Bl1}. Une unit clause de P est une clause o`u la partie positive et la partie n´egative sont vides. Nous reprenons les mˆemes notations et r´esultats du chapitre pr´ec´edent. Ainsi Bp d´esigne la

base de Herbrand du programme P , i.e. les ground atoms ou atomes `a variables libres. Nous assumons toujours que Bp coincide avec tous les atomes qui peuvent ˆetre formul´es dans

le langage du programme logique d’origine (avec les variables).

ground(P) est l’ensemble des instances des clauses A1\...\An ←− An+1,...,Am,¬B1,...¬Bl1 o`u Ai,Aj,Bl sont des ground atomes.

Ip d´esigne toujours l’ensemble des interpr´etations de Herbrand de P , il est toujours identifi´e

au power set P(Bp) de Bp.

Soit (∆0,≤) un ordre total qui est un bon ordre. l : Bp −→ ∆0 est une fonction niveau.

Soit ∆∗ l’ensemble ∆0 avec l’ordre inverse et supposons que 0 ≤ δ pour tout δ ∈ ∆∗. Posons ∆ = ∆∗∪ {0}

(∆0,≤) est l’ensemble des ordinaux γ. L’ensemble ∆∗ est identifi´e `a l’ensemble {2−α; α < γ} muni de l’ordre 2−α ≤ 2−β si et seulement si β ≤ α.

PosonsL0 =∅ et Lα ={A ∈ Bp,l(A) < α} pour α < γ.

(P(Bp),d,∆) avec la distance d de Fitting [8], d´efinie par d(I,I0) = inf{2−α,I∩Lα= I0∩Lα} si

I 6= I0 et 0 sinon, est un espace ultram´etrique hyperconvexe (d´ej`a d´emontr´e dans le chapitre pr´ec´edent).

Definition 7.2.1 Soit Π un tel programme, pour S ⊆ Bp, nous consid´erons la GL transfor-

mation du programme ΠS donn´e par l’ensemble des clauses :

si r ∈ Π est telle que Neg(r) ∩ S 6= ∅ alors r /∈ Πs;

si r ∈ Π est telle que Neg(r) ∩ S = ∅ alors la r`egle r0 d´efinie par Head(r0) = Head(r), P os(r0) = P os(r) et N eg(r0) = ∅ appartient `a ΠS.

Un sous ensemble S0 de Bp est ferm´e pour ΠS si pour toutes les clauses r ∈ Π telles que

P os(r)⊆ S, nous avons Head(r) ∩ S0 est non vide. Nous d´esignons par α(ΠS) l’ensemble des

parties ferm´ees minimales de ΠS.

L’ensemble S est dit un ensemble de r´eponses pour Π si S ∈ α(ΠS).

Nous d´efinissons l’op´erateur de Gelfond Lifschitz F : Ip −→ 2Ip par F (X) = α(ΠX).

En utilisant F , l’ensemble S est un ensemble de r´eponses de F si et seulement si S ∈ F (S), i.e. S est un point fixe de F

Si Π est nondisjunctif, alors F est univoque et S est un ensemble de r´eponses de Π si et seulement si S est un point fixe de F

(2.1) La d´efinition d’un ensemble de r´eponses suit la tradition de la s´emantique du mod`ele stable dans le sens qu’elle ´ecarte les parties n´egatives

(2.2) Nous pouvons voir facilement qu’un ensemble de r´eponse S de Π peut ˆetre identifı´e `a un ensemble ferm´e de ΠS tel que:

i) Pour chaque r∈ ΠS erifiant P os(r)⊆ S, nous avons Head(r) ∩ S est un singleton;

ii) pour les clauses qui restent de ΠS, nous avons Head(r)∩ S = ∅.

Proposition 7.2.1 Pour tout X ∈ Bp, F (X) est hyperconvexe.

Preuve. Soit X ∈ Bp. Montrons que F (X) est hyperconvexe. soit (BF (X)(Xi,2−αi))i∈K

une famille de boules de F (X) (αi ≤ γ pour tout i ∈ K et (Ii)i∈K ⊆ IP) avec d(Ii,Ij) ≤

sup(2−αi,2−αj). Nous avons B(X

i,2−αi)∩ F (X) 6= ∅.

Soit Y ∈ B(Xi,2−αi)∩ F (X), alors B(Xi,2−αi) = B(Y,2−αi) d’apr`es (1.1). Donc nous pouvons

supposer sans perte de g´en´eralit´e que tous les Xi sont dans F (X).

Soit r une clause de ΠX telle que P os(r)⊆ X. r est de la forme A1\...\An←− An+1,...,Am.

S’il existe un i∈ K tel que ∅ 6= Head(r) ∩ Xi ⊆ Lαi, alors nous prenons

Head(r)∩ Y = Head(r) ∩ Xi. S’il existe un autre j ∈ K tel que ∅ 6= Head(r) ∩ Xj ⊆ Lαj et

nous supposons que αi ≤ αj alors nous avons Head(r)∩ Xj ⊆ Head(r) ∩ Xi = singleton car

d(Xi,Xj)≤ 2−αj. Ainsi Head(r)∩ Xj = Head(r)∩ Xi. D’o`u Head(r)∩ Y est bien d´efini

Sinon pour tout i ∈ K, il existe 1 ≤ ji ≤ n tel que l(Aji) ≥ αi. Ainsi max

i∈K l(Aji) ≥ supi∈K αi.

Choisissons A ∈ Head(r) tel que l(A) = max

i∈K l(Aji). Nous prenons Head(r)∩ Y = {A}.

Par cons´equent Y est ferm´e et minimal dans ΠX puisque Head(r)∩ Y est un singleton pour

tout r ∈ ΠX tel que P os(r)⊆ X et donc Y ∈ F (X).

Maintenant, montrons que dl(Y,Xi)≤ 2−αi pour tout i∈ K. Soit A ∈ Bp tel que l(A) < αi. Si

A∈ Xi alors, d’apr`es la d´efinition de Y , A apparait n´ecessairement dans la tˆete d’une clause

r de ΠX telle que {A} = Head(r) ∩ X

i ⊆ Lαi={A} , donc Head(r) ∩ Xi = Head(r)∩ Y . Si A ∈ Y alors d’apr`es la d´efinition de Y , il existe j ∈ K tel que Head(r) ∩ Xj = {A} et

l(A) < αj, mais dl(Xi,Xj)≤ 2−inf (αi,αj). Ainsi A∈ Xi. Par suite Y ∈ T i∈K

B(Xi,2−αi)T F (X).

On conclut que F (X) est hyperconvexe.

Definition 7.2.2 Soit Π un programme logique normal disjponctif et l : Bp −→ γ, une fonc-

tion niveau, soit A1\...\An ←− An+1,...Am,¬B1,...,¬Bl1 une clause typique dans ground(Π). Nous disons que Π est

1) d´ecroissant par rapport `a l si l(A) ≥ l(Ai),l(Bj) pour tout A ∈ Head(r), i = n + 1..m et

j = 1..l1;

2) strictement d´ecroissant par rapport `a l si l(A) > l(Ai) et l(A) > l(Bj) pour tout

A∈ Head(r) et i,j;

3) semi-strictement d´ecroissant par rapport`a l si l(A)≥ l(Ai) et l(A) > l(Bj) pour tout

A∈ Head(r) et i,j.

§7.3 Programmes strictement d´ecroissants par rapport

`

a une fonction niveau