• Aucun résultat trouvé

2.3 Automates

3.1.1 Arithmétique de Presburger

La logique de Presburger ou l’arithmétique de Presburger définie dans [72] est une logique du premier ordre interprétée sur N. Sa signature utilise un unique prédicat qui est le prédicat ternaire +(a, b, c), qu’on écrit souvent a + b = c, où

a, b et c sont des variables du premier ordre :

LP= {+(a, b, c)}

On note par Pn la classe des formules de Presburger ayant n ∈ N variables

libres et parP = ∪i∈NPi. Exemple 3.1.6. La formule

ρ(x, y) = ∃k x = y + k

est une formule de Presburger deP2.

L’univers d’interprétation des variables des formules de Presburger est l’en-semble des entiers naturels N. Pour tout n ∈ N, les formules de Pncaractérisent des sous-ensembles de Nn.

Soit ρ(x1, . . . , xn) une formule de Presburger dont les variables libres sont

x1, . . . , xn, pour n ∈ N. L’interprétation v = (v1, . . . , vn) ∈ Nn de (x1, . . . , xn) dans Nn satisfait (est un modèle pour ) ρ, noté v |= ρ si :

— ρ est de la forme xi= xj+ xk et vi= vj+ vk, pour i, j, k ∈ [n] ; — ρ est de la forme ρ1∨ ρ2 et v |= ρ1 ou v |= ρ2;

— ρ est de la forme ¬ρ0 et v 6|= ρ0;

— ρ est de la forme ∃x ρ0(x1, . . . , xn, x) et il existe une interprétation vn+1N de x telle que (v1, . . . , vn, vn+1) |= ρ0

où le symbole 6|= signifie « n’est pas un modèle ».

Soit ρ(x1, . . . , xn) une formule de Presburger dePn, pour n ∈ N. L’ensemble

de Presburger de ρ, noté L(ρ), est :

L(ρ) = {(v1, . . . , vn) ∈ Nn: (v1, . . . , vn) |= ρ}

Un sous-ensemble L de Nn est un ensemble de Presburger s’il est l’ensemble de

Presburger d’une formule de Presburger de Pn. Une tautologie de Presburger

est une formule de Presburger satisfaite par n’importe quelle interprétation de ses variables libres. Par convention l’ensemble {()} est l’ensemble de Presburger de toute tautologie de Presburger close. Une tautologie de Presburger close est notée par « vrai ».

Exemple 3.1.7. Reprenons la formule ρ(x1, x2) de l’Exemple 3.1.6. L’ensemble

de Presburger de ρ est l’ensemble de tous les couples d’entiers (v1, v2) tel que

3.1 - Logique du premier ordre 3 - Logique

Pour alléger les formules de logique de Presburger et pour qu’elles soient plus lisibles, nous utiliserons des abréviations qui font références à des formules définissables en arithmétique de Presburger. Par exemple, la formule :

ρ(x) = ∀y y = y + x

est notée x = 0, relativement à son ensemble de Presburger qui est L(ρ) = 0. En effet, il n’y a que 0 qui peut être ajouté à n’importe quel entier sans modifier sa valeur. Aussi :

y = z pour ∃x x = 0 ∧ y = z + x y < z pour ∃x z = y + x ∧ ¬x = 0 y ≤ z pour y < z ∨ y = z

x = y + 1 pour y < x ∧ (¬∃z y < z ∧ z < x)

x = n pour ∃y x = y + 1 ∧ y = n − 1, pour tout n ∈ N

pour tout n ∈ N :

x + y = n pour ∃z x + y = z ∧ z = n x + y + z = n pour ∨i≤n(x + y = i ∧ z = n − i)

x + y ≤ n pour ∨i≤n(x + y = i)

x + y > n pour ¬x + y ≤ n

Les autres abréviations que nous aurons à utiliser et qui ne sont pas dans la liste ci-dessus s’en déduisent facilement.

Exemple 3.1.8. Soit la formule de Presburger suivante :

ρ0(x, y) = ∃k∃k0 k = k0+ 1 ∧ x = y + k

L’ensemble de Presburger de ρ0est un sous-ensemble de l’ensemble de Presburger de la formule ρ de l’Exemple 3.1.7. Ici, nous spécifions que l’entier qui doit être ajouté à l’interprétation de y pour avoir comme résultat l’interprétation de x doit être supérieur strictement à 0. Par conséquent :

L(ρ) = {(x, y) ∈ N2: x < y}

Exemple 3.1.9. Reprenons l’expression rationnelle a k a~ k (a k a~ k b)~ de l’Exemple 2.4.5 (voir aussi Exemple 2.4.6) sur l’alphabet A = {a, b}. Rappelons que son langage est l’ensemble semi-linéaire L = a k (a k b+a)~de A~. L’image de Parikh de L correspond à l’ensemble de Presburger de la formule ρ00(x, y) =

x > y. Cette dernière est la négation de la formule ρ(x, y) de l’Exemple 3.1.6.

Les ensembles de Presburger et les ensembles semi-linéaires sont liés par le théorème suivant :

Théorème 3.1.10 ([47]). Soit A un alphabet de taille n ∈ N. Un langage L

de A~ est semi-linéaire si et seulement si il est l’ensemble de Presburger L(ρ) d’une formule de Presburger ρ(x1, . . . , xn), i.e. (|u|a

1, . . . , |u|a

n) ∈ L(ρ) si et

seulement si u ∈ L. De plus, les constructions d’un formalisme à l’autre sont effectives.

Ce théorème montre que tout ensemble de Presburger de Nn correspond à

l’image de Parikh d’un ensemble semi-linéaire de A~ et réciproquement, pour

tout alphabet A de taille n. L’ensemble semi-linéaire de A~correspondant à l’en-semble de Presburger d’une tautologie de Presburger close est {}. Remarquons que l’ordre des coordonnées des éléments de L(ρ) dépend de l’ordre implicite des lettres de l’alphabet A (voir Remarque 2.4.2).

Soit A un alphabet avec ξ ∈ A. En conséquence du Lemme 2.4.9, si deux langages L et L0 sont des ensembles semi-linéaires de A~ alors L ◦ξL0 et L∗ξle sont aussi. De plus, grâce au Théorème 3.1.10, on sait que l’image de Parikh de

L ◦ξL0 et L∗ξ est un ensemble de Presburger.

Définition 3.1.11. Soient ρ(x1, . . . , xk) et ρ0(x01, . . . , x0k0) deux formules de

Presburger et soient A = {a1, . . . , ak} et B = {b1, . . . , bk0} deux alphabets

dis-joints ou égaux. Considérons L et L0comme les ensembles semi-linéaires de A~ et B~ correspondants, par le Théorème 3.1.10, aux ensembles de Presburger res-pectivement de ρ et ρ0. Quand A et B sont disjoints, pour tout i ∈ [k0], L ◦biL0

est un ensemble semi-linéaire de (A ◦biB)~ et aussi, l’ensemble de Presburger d’une formule de Presburger qu’on note par ρ ◦x0

iρ0. Quand A = B, pour tout i ∈ [k0], L◦biL0est un ensemble semi-linéaire de A~ et l’ensemble de Presburger d’une formule de Presburger qu’on note par ρ•x0

iρ0.

Exemple 3.1.12. Soient ρ(x1, x2) = x1+ x2 = 1 et ρ0(x01, x02, x03) = x01= 1 ∧

x02+ x03≤ 1. Alors L(ρ) = {(1, 0), (0, 1)} et L(ρ0) = {(1, 0, 1), (1, 1, 0), (1, 0, 0)}.

Soient A = {a1, a2} et B = {b1, b2, b3} deux alphabets disjoints. Considérons

les ensembles de Presburger de ρ et ρ0 comme des ensembles semi-linéaires L et L0 de respectivement A~ et B~. Alors L, L0 et L ◦b3L0 sont respectivement les langages des expressions rationnelles a1+ a2, b1 k (b2 + b3 + ) et b1 k (b2+ a1+ a2+ ) de respectivement A~, B~ et (A ◦b3B)~. L’image de Parikh

{(1, 0, 0, 0), (1, 1, 0, 0), (1, 0, 1, 0), (1, 0, 0, 1)} de L ◦b3L0 est aussi l’ensemble de Presburger de ρ ◦x0

3ρ0 ≡ x1= 1 ∧ x2+ x3+ x4≤ 1.

L’opération de substitution sur les langages de mots commutatifs s’étend na-turellement à leurs images de Parikh. La relation entre les images de Parikh des langages de mots commutatifs intervenant dans une opération de substitution est décrite par les lemmes suivants. Ils sont obtenus par une simple application de la définition de l’opération de substitution.

Lemme 3.1.13. Soient A = {a1, . . . , ak} et B = {b1, . . . , bk0} deux alphabets

disjoints, L ⊆ A~, L0 ⊆ B~ et i ∈ [k0]. Alors (v001, . . . , v00k+k0−1) ∈ p(L ◦bi L0)

si et seulement si (v001, . . . , vi−100 , v0i, vi+k00 , . . . , v00k+k0−1) ∈ p(L0), pour v0i ∈ N, et

il existe (v1,1, . . . , v1,k), . . . , (vv0

i,1, . . . , vv0

i,k) ∈ p(L) tels que (vi00, . . . , v00i+k−1) = (v1,1, . . . , v1,k) + · · · + (vv0

i,1, . . . , vv0

i,k).

Lemme 3.1.14. Soient A = {a1, . . . , ak} un alphabet, L, L0 ⊆ A~ et i ∈ [k]. Alors (v100, . . . , vk00) ∈ p(L ◦aiL0) si et seulement si il existe (v10, . . . , vk0) ∈ p(L0)

et (vj,1, . . . , vj,k) ∈ p(L) pour tout j ∈ [vi0] tels que pour tout r ∈ [k]

v00r = (P j∈[v0 i]vj,r si r = i; v0r+P j∈[v0 i]vj,r sinon.

Similairement à la Définition 3.1.11, nous définissons des notations relatives aux substitutions itérées sur des ensembles semi-linéaires.

3.1 - Logique du premier ordre 3 - Logique

Définition 3.1.15. Soit ρ(x1, . . . , xk) une formule de Presburger et soit A = {a1, . . . , ak} un alphabet. Considérons L comme l’ensemble semi-linéaire de A~

correspondant, par le Théorème 3.1.10, à l’ensemble de Presburger de ρ. Pour tout j ∈ N et i ∈ [k], L∗ai et Ljai sont des ensembles semi-linéaires de A~

et aussi les ensembles de Presburger de formules de Presburger respectivement notées par ρ∗xi et ρjxi.

Exemple 3.1.16. Soit

ρ(x1, x2) = (x1+ x2= 1) ∨ (x1= 0 ∧ x2= 2) ∨ (x1= 1 ∧ x2= 1)

Soit A = {a1, a2} et considérons l’ensemble de Presburger de ρ comme un

en-semble semi-linéaire L de A~. Alors L = {a1, a2, a2k a2, a1k a2}. Considérons

L∗a2 = ∪i∈NLia2. De manière générale et par induction sur i on peut vérifier que

[

j≤i

Lja2= {u ∈ A~: 1 ≤ |u| ≤ 2i et |u|a

1≤ 2i−1}

Par conséquent L∗a2 = A~\ {}, et ρ∗x2(x1, x2) ≡ x1+ x2≥ 1. Maintenant,

pour tout i ∈ N soit ρi(x1, x2) ≡ 1 ≤ x1+ x2 ≤ 2i∧ x1≤ 2i−1. Alors L(ρi) est

l’image de Parikh de S

j≤i

Lja2. Ainsi ρ(i+1)x2 ≡ ρix2ρ et ρ0x2(x1, x2) ≡ x1 = 0 ∧ x2= 1.

D’un autre point de vue, L∗a2 est aussi le langage de la grammaire non contextuelle d’axiome ξ suivante :

ξ → a1 | a2 | a1k ξ | ξ k ξ

C’est aussi le point fixe du système suivant :

ξ → a1k (ξ + ) + ξ k ξ + a2

En s’inspirant de la définition de l’opération rationnelle de substitution ité-rée, on a le lemme suivant :

Lemme 3.1.17. Soient ρ(x1, . . . , xn) une formule de Presburger et i ∈ [n].

Pour tout j ∈ N, ρ(j+1)xi ≡ (∨k≤jρkxi)•xiρ. De plus, L(ρ∗xi) = ∪j∈NL(ρjxi).

Démonstration. Considérons l’ensemble de Presburger de ρ comme un ensemble

semi-linéaire sur l’alphabet {a1, . . . , an}. La première partie du lemme peut être déduite à partir des définitions :

L(ρ(j+1)xi) = L(ρ)(j+1)ai= (∪k≤jL(ρ)kai) ◦aiL(ρ)

= (∪k≤jL(ρkxi) ◦aiL(ρ) = L(∨k≤jρkxi) ◦aiL(ρ)

= L((∨k≤jρkxi)•xiρ)

Pour la deuxième partie du lemme : L(ρ∗xi) = L(ρ)∗ai = ∪j∈NL(ρ)jai =

j∈NL(ρjxi).

Le lemme suivant montre que toute lettre différente de ξ appartenant à l’ensemble semi-linéaire L∗ξest déjà présente dans l’ensemble semi-linéaire L.

Lemme 3.1.18. Soient ρ(x1, . . . , xk) une formule de Presburger pour k ∈ N, i ∈ [k] et t ∈ [k] \ {i}. Alors 1t∈ L(ρ) si et seulement si 1t∈ L(ρ∗xi).

Démonstration. L’implication de la gauche vers la droite est triviale puisque L(ρ) ⊆ L(ρ∗xi) en conséquence notamment du Lemme 3.1.17. Réciproquement, soit A = {a1, . . . , ak} un alphabet. Considérons l’ensemble de Presburger de

ρ comme un ensemble semi-linéaire L sur A. Par conséquent, ρ∗xi dénote une

formule de Presburger dont l’ensemble semi-linéaire correspondant est L∗ai.

Remarquons que 1t correspond à la lettre at ∈ A dans L∗ai. On doit montrer

que at∈ L. On procède par contraposée. Supposons que at6∈ L. On montre par

induction sur j que si at6∈ L alors at6∈ Ljai, pour tout j ∈ [n].

Si j = 0 alors L0ai = {ai} et at6= ai. Si j = 1 alors L1ai = L et at6∈ L par hypothèse. Maintenant, si j > 1 alors Ljai = (S

j0<j

Lj0ai) ◦aiL. Par hypothèse

d’induction, pour tout j0 < j, at 6∈ Lj0ai. De plus at 6∈ L. Puisque pour tout

j ∈ N, at6∈ Ljai alors at6∈ L∗ai.