Les Bases de Prolog IV - Colmerauer, Alain
Les Bases de Prolog IV - Colmerauer, Alain
Les Bases de Prolog IV - Colmerauer, Alain
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.4 Axiomatisations <strong>de</strong>s interactions <strong>de</strong>s sous-domaines avec les opérations<br />
<strong>Les</strong> 4 propriétés retenues qui suivent concernent les interactions <strong>de</strong>s contraintes <strong>de</strong><br />
sous-domaines et <strong>de</strong>s opérations :<br />
7 ∀x ⎛ 1 . . . ∀x n<br />
⎜<br />
⎝<br />
x 1 = t 1 (x 1 , . . . , x n )<br />
. . .<br />
∧ x n = t n (x 1 , . . . , x n )<br />
⎞<br />
⎟<br />
⎠ ≡<br />
⎛<br />
⎜<br />
⎝<br />
⎞<br />
in{a 1 } x 1<br />
⎟<br />
. . . ⎠<br />
∧ in{a n } x n<br />
8 ∀x 1 . . . ∀x<br />
⎛ n<br />
x 0 = fx 1 . . . x n<br />
∧ inA 0 x 0<br />
∧ inA<br />
⎜ 1 x 1<br />
⎝ . . .<br />
∧ inA n x n<br />
⎞<br />
⎟<br />
⎠<br />
≡<br />
⎛<br />
⎜<br />
⎝<br />
x 0 = fx 1 . . . x n<br />
∧ inA ′ 0 x 0<br />
∧ inA ′ 1 x 1<br />
. . .<br />
∧ inA ′ n x n<br />
⎞<br />
⎟<br />
⎠<br />
9 ∀x<br />
⎛ 1 . . . ∀x n ⎞<br />
x 1 = s 1 (x 2 )<br />
∧ x 2 = s 2 (x 3 )<br />
⎜<br />
⎟<br />
⎝ . . . ⎠ ⇒ inI x 1<br />
∧ x n = s n (x 1 )<br />
10 ∀x<br />
⎛ 1 . . . ∀x n ∀y 1 . . . ∀y<br />
⎞ n<br />
y 1 = . x 1 y 2<br />
∧ y 2 = . x 2 y 3<br />
⎜<br />
⎟<br />
⎝ . . . ⎠ ⇒ inK y 1<br />
∧ y n = . x n y 1<br />
où les t i (x 1 , . . . , x n ) sont <strong>de</strong>s termes construits avec un symbole d’opération et <strong>de</strong>s variables<br />
prises dans {x 1 , . . . , x n }, où les a i sont <strong>de</strong>s arbres doublement rationnels vérifiant<br />
l’équivalence 7, où les A i et A ′ i sont <strong>de</strong>s sous-domaines privilégiés <strong>de</strong> catégorie (a) vérifiant<br />
l’équivalence 8, où les s i (x j ) sont <strong>de</strong>s termes construits avec un symbole d’opération et au<br />
moins une occurrence <strong>de</strong> x j , où I est l’ensemble <strong>de</strong>s arbres infinis et où K est l’ensemble<br />
<strong>de</strong>s arbres qui ne sont pas <strong>de</strong>s listes. Rappelons que les listes sont construites à l’ai<strong>de</strong> du<br />
constructeur point.<br />
La propriété 7 établit l’équivalence entre <strong>de</strong>ux propriétés : « être contraint par les<br />
opérations et les égalités à n’avoir qu’une seule valeur » et « appartenir à un sous-domaine<br />
privilégié singletonique ».<br />
»X ~ cc(2,2).<br />
X = 2.<br />
La propriété 8 permet <strong>de</strong> réduire les sous-domaines <strong>de</strong>s variables intervenant dans une<br />
opération et entre autres d’obtenir le sous-domaine vi<strong>de</strong>, qui d’après la propriété 1 à la<br />
page 23 va produire false.<br />
»X = [Y|Z],<br />
X ~ list,<br />
26