• Aucun résultat trouvé

Complétude pour les demi-anneaux et algèbres de Kleene étoile-continues avec domaine

N/A
N/A
Protected

Academic year: 2021

Partager "Complétude pour les demi-anneaux et algèbres de Kleene étoile-continues avec domaine"

Copied!
137
0
0

Texte intégral

(1)

Complétude pour les demi-anneaux et algèbres de

Kleene étoile-continues avec domaine

Mémoire

Sokhna Diarra Mbacke

Maîtrise en informatique - avec mémoire

Maître ès sciences (M. Sc.)

(2)

Complétude pour les demi-anneaux et algèbres de

Kleene étoile-continues avec domaine

Mémoire

Sokhna Diarra Mbacke

Sous la direction de:

(3)

Résumé

À cause de la complexité croissante des systèmes informatiques, ces derniers sont aujourd’hui étudiés au moyen de multiples modèles et formalismes. Ainsi, il est nécessaire de développer des théories qui unifient différentes approches afin de limiter les risques d’erreurs lorsqu’on passe d’un formalisme à l’autre. C’est dans cette optique que les monoïdes avec domaine, demi-anneaux avec domaine et algèbres de Kleene avec domaine ont vu le jour, il y a environ une décennie. L’idée est de définir un opérateur de domaine sur des structures algébriques classiques, afin d’unifier l’algèbre et la logique des programmes. La question concernant la complétude pour ces algèbres est encore ouverte. Elle constitue l’objet de ce mémoire.

Nous définissons des structures arborescentes appelées arbres avec sommet et représentées sous forme matricielle. Après avoir donné des propriétés fondamentales de ces arbres, nous définissons des relations permettant de les comparer. Ensuite, nous démontrons que, modulo une certaine re-lation d’équivalence, l’ensemble des arbres avec sommet est muni d’une structure de monoïde avec domaine. Ce résultat permet de définir un modèle pour les demi-anneaux avec domaine et d’en prou-ver la complétude. Nous définissons également un modèle pour les algèbres de Kleene avec domaine

(4)

Abstract

Due to their increasing complexity, today’s computer systems are studied using multiple models and formalisms. Thus, it is necessary to develop theories that unify different approaches in order to limit the risks of errors when moving from one formalism to another. It is in this context that monoids, semirings and Kleene algebras with domain were born about a decade ago. The idea is to define a domain operator on classical algebraic structures, in order to unify algebra and the classical logics of programs. The question of completeness for these algebras is still open. It constitutes the object of this thesis.

We define tree structures called trees with a top and represented in matrix form. After having given fundamental properties of these trees, we define relations that make it possible to compare them. Then, we show that, modulo a certain equivalence relation, the set of trees with a top is provided with a monoid with domain structure. This result makes it possible to define a model for semirings with domain and prove its completeness. We also define a model for∗-continuous Kleene algebras with domain as well and prove its completeness modulo a new axiom.

(5)

Table des matières

Résumé iii

Abstract iv

Table des matières v

Remerciements vi 1 Introduction 1 1.1 Contributions . . . 2 1.2 Structure du mémoire . . . 3 2 Notions de base 4 2.1 Matrices . . . 4

2.2 Relations et sommes directes . . . 5

2.3 Monoïdes et demi-anneaux avec domaine . . . 13

3 Algèbres de Kleene et extensions 18

3.1 Historique et axiomatisation . . . 18

3.2 Algèbres de Kleene avec tests. . . 25

3.3 Algèbres de Kleene avec domaine . . . 30

4 Arbres avec sommet 32

4.1 Alphabet et termes . . . 32

4.2 Construction des arbres avec sommet . . . 37

4.3 Simulation . . . 46

5 Complétude 74

5.1 Résultats préliminaires . . . 74

5.2 Modèles pourDAD et AKD∗ . . . 106

5.3 Complétude . . . 114

6 Conclusion 127

(6)

Remerciements

Je tiens à remercier mon directeur de recherche Jules Desharnais pour sa générosité intellectuelle, sa disponibilité et son soutien financier. Je lui suis infiniment reconnaissante de m’avoir fait confiance depuis le début de mes études supérieures et de m’avoir soutenue tout au long de ma maîtrise. Sa grande rigueur, son souci du détail et son amour du travail bien fait font de lui une véritable source d’inspiration. C’est un plaisir de travailler avec lui.

Je tiens également à remercier mes amis et ma famille. Je remercie plus particulièrement ma mère pour son immense soutien moral, ses encouragements et son amour inconditionnel.

Pour finir, je tiens à exprimer ma gratitude aux membres du jury pour avoir accepté d’évaluer ce travail.

(7)

Chapitre 1

Introduction

Les monoïdes, demi-anneaux et algèbres de Kleene sont des structures fondamentales en infor-matique théorique. Ils ont été appliqués à de nombreux domaines tels que l’algèbre des relations [Ng84,Tar41], la logique et sémantique des programmes [Koz81,Pra88], la théorie des automates finis et langages formels [Kui87,KS86,Pin97], ainsi que la construction et l’analyse d’algorithmes [AH74,Koz92]. L’intérêt principal de ces structures algébriques est qu’elles permettent d’effectuer des raisonnements abstraits, concis et systématiques. Les monoïdes et demi-anneaux sont des struc-tures mathématiques classiques. En ce qui concerne les algèbres de Kleene, elles ont été étudiées pour la première fois par Kleene [Kle56] et ont connu un développement important, tant du point de vue théorique qu’au niveau des applications. Il existe de nombreuses axiomatisations des algèbres de Kleene et la plus utilisée est celle de Kozen [Koz94]. Cette dernière est constituée d’un nombre fini d’équations et d’implications équationnelles.

Afin de concilier l’approche algébrique avec les méthodes classiques d’analyse de programmes telles que la logique temporelle, la logique dynamique ou la logique de Hoare, un opérateur de do-maine a été défini sur les monoïdes, demi-anneaux et algèbres de Kleene. Au-delà des algèbres de Kleene avec domaine, il existe de nombreuses variantes et extensions des algèbres de Kleene, notam-ment les algèbres de Kleene avec tests [Koz97], les algèbres de Kleene avec relations [Des03] et les algèbres de Kleene avec inverse [BP14].

Les algèbres de Kleene avec domaine (AKD) ont été introduites par Desharnais et al. [DMS06]. La démarche utilisée dans [DMS06] est de partir des algèbres de Kleene avec tests [Koz97] et d’ajouter trois axiomes définissant un opérateur de domaine. Ces axiomes permettent d’obtenir un gain sub-stantiel en termes d’expressivité. En effet, il est prouvé dans [DMS06] que le langage des algèbres de Kleene avec domaine permet la définition d’opérateurs de modalité (utiles dans les domaines de la spécification et l’analyse de programmes et de systèmes de transitions), l’expression de la Noe-thericité1(utilisée en analyse de terminaison de programmes) et la reconstruction algébrique de la

(8)

logique de Hoare. Par ailleurs, une autre axiomatisation des algèbres avec domaine, appelée axioma-tisation interne, est définie dans [DS11]. Cette axiomatisation présente de nombreux avantages sur celle de [DMS06]. En effet, elle permet d’étudier l’opérateur de domaine sans passer par les algèbres de Kleene avec tests. De plus, avec l’axiomatisation de [DMS06], le domaine est unique, alors qu’avec l’axiomatisation interne, on peut avoir plusieurs fonctions de domaine distinctes.

La théorie des algèbres munies d’un opérateur de domaine (monoïdes avec domaine, demi-anneaux avec domaine, algèbres de Kleene avec domaine) est très riche et a connu un développement impor-tant au cours de la dernière décennie. Toutefois, les questions concernant la complétude et la décida-bilité de la théorie équationnelle de ces algèbres sont encore largement ouvertes, même si elles sont fondamentales. Dans [JS08], les auteurs étudient la structure des demi-anneaux avec domaines géné-rés par un seul élément. Au terme de leur étude, ils soutiennent que même le cas des demi-anneaux générés par deux éléments est beaucoup plus complexe et concluent que l’approche utilisée dans leur article ne fonctionne pas pour ces algèbres. Par ailleurs, il est clair que l’étude des questions de complétude et de décidabilité pour les algèbres de Kleene avec domaine est bien plus complexe que celle pour les algèbres de Kleene avec tests (AKT). En effet, puisque dans ces structures l’algèbre de tests contient des atomes, il est possible, dans un certain sens, d’énumérer, pour un test primitif p, tous les tests atomiquesα tels que α ≤ p (voir la section3.2). C’est ainsi que les auteurs de [KS96] ont construit un modèle complet pourAKT basé sur des « séquences gardées ». Cette approche ne peut pas fonctionner pour les algèbres avec domaine, puisqu’il n’y a pas d’atomes dans l’algèbre de tests.

1.1

Contributions

Dans ce mémoire, nous étudions la structure de certaines algèbres avec domaine, générées par un nombre fini arbitraire d’éléments. Nous introduisons une structure appelée arbre avec sommet. Un arbre avec sommet est un triplet de matrices construit à partir d’un terme. Nous démontrons plusieurs résultats importants sur la structure de ces arbres, ainsi que sur le lien entre la forme d’un terme et les propriétés de l’arbre correspondant. Par ailleurs, nous définissons la notion de terme monogène et montrons que, dans un certain sens, tout terme simple est équivalent à un produit de termes monogènes. Ce résultat est très utile pour l’étude des monoïdes avec domaine, car il permet de se ramener à des termes ayant une forme bien spécifique.

Nous prouvons que, modulo l’équivalence de simulation, l’ensemble des arbres avec sommet sur un alphabet fini est muni d’une structure de demi-anneau avec domaine. À partir de ce résultat, nous construisons un modèle pour les demi-anneaux avec domaine et un pour les algèbres de Kleene avec domaine∗-continues (AKD∗). Ainsi, pourAKD∗, le modèle est constitué d’ensembles d’arbres avec sommet. Sur ces ensembles, nous définissons une autre notion de simulation et utilisons l’équivalence de simulation comme relation d’équivalence.

(9)

Après avoir prouvé la cohérence de nos modèles, nous démontrons leur complétude. Ces résultats contribuent à l’avancement des connaissances sur la structure des algèbres munies d’un opérateur de domaine.

1.2

Structure du mémoire

Dans le chapitre2, nous présentons les bases mathématiques nécessaires à la compréhension de ce mémoire. Nous discutons des matrices et de quelques structures algébriques de base. Ensuite, nous présentons les algèbres booléennes, les algèbres de relations et les sommes directes. Le chapitre3est une introduction aux algèbres de Kleene. Nous y présentons une axiomatisation et donnons les prin-cipaux modèles. Puis, nous présentons les algèbres de Kleene avec tests et leur modèle classique basé sur les séquences gardées, avant de donner un résumé des idées principales utilisées pour prouver sa complétude.

Les chapitres4et5contiennent les principaux contributions de ce mémoire. Dans le chapitre4, nous présentons les arbres avec sommet et donnons des exemples. Nous voyons comment construire, pour chaque terme d’un monoïde avec domaine, l’arbre avec sommet correspondant. De plus, nous définissons la notion de simulation d’arbres et prouvons plusieurs résultats sur les arbres avec som-met, les termes et le lien entre la forme d’un terme et la structure de l’arbre correspondant. Dans le chapitre5, nous montrons le modèle des arbres avec sommet est complet pour les demi-anneaux avec domaine. De plus, nous définissons le modèle pour les algèbres de Kleene avec domaine∗-continues et prouvons la complétude de celui-ci modulo un nouvel axiome.

(10)

Chapitre 2

Notions de base

Ce chapitre contient les notions mathématiques nécessaires à la compréhension du mémoire. La section2.1concerne les matrices et les notations que nous utiliserons pour les manipuler ; la sec-tion2.2est une brève introduction à l’algèbre de relations et aux sommes directes ; enfin, la section

2.3présente les monoïdes et demi-anneaux avec domaine ainsi que quelques résultats de base les concernant.

2.1

Matrices

Définition 2.1.1. On définit une matrice M sur un ensemble E comme une fonction M : {1, . . . , m}× {1, . . . , n} → E où m, n ∈ N. La dimension de M est m × n et on dira de m que c’est le nombre de lignes de la matrice etn le nombre de colonnes. On peut avoir m = 0 ou n = 0 (ou les deux). Dans tout le document, on suppose que les matrices sont finies

Notation 2.1.2. Voici quelques notations que nous utiliserons. Soit M une matrice et m, n, i, j ∈ N. M : Matrice M sans indication de la dimension.

M : m × n : Matrice M de dimension m × n. M [i, j] : Entrée i, j de la matrice M.

I : Une matrice identité, sans indication de la dimension. Im : La matrice identité de dimension m × m.

0 : Une matrice nulle (dont toutes les entrées sont 0), sans indication de la dimension. 0m×n : La matrice nulle de dimension m × n.

1 : Une matrice dont toutes les entrées sont 1, sans indication de la dimension. 1m×n : La matrice de dimension m × n dont toutes les entrées sont 1.

Sim = n, on dira que M est unematrice carrée. Par ailleurs, M est un vecteur si n = 1 et un covecteur sim = 1. Si v est un vecteur ou un covecteur dont toutes les entrées sont 0 sauf une, qui est 1, alors on dira quev estunitaire. Enfin, une matrice est binaire si toutes ses entrées sont dans {0, 1}.

(11)

Remarque 2.1.3. Soit E un ensemble sur lequel + et · sont définis et soit M1, M2deux matrices sur E telles que M1: m1× n1etM2 : m2× n2. La matriceM1+ M2: m1× n1existe si et seulement sim1= m2etn1= n2 et est définie comme suit, pour tout1 ≤ i ≤ m1et1 ≤ j ≤ n1.

(M1+ M2)[i, j] = M1[i, j] + M2[i, j].

De plus, la matriceM1· M2 : m1× n2, que nous noteronsM1M2, existe si et seulement sin1 = m2 et est définie ainsi :

(M1M2)[i, j] = (P k | 1 ≤ k ≤ n1: M1[i, k] · M2[k, j]),

pour tout1 ≤ i ≤ m1 et1 ≤ j ≤ n2. Une matrice en blocs est une matrice représentée à l’aide de plusieurs matrices de dimension inférieure mises côte à côte. Par exemple, si

M =    a b c d e f g h i   , alors en posant N1 = " a b d e # , N2 = " c f # , N3 = h g h i et N4 = h i i , on peut écrire M = " N1 N2 N3 N4 # .

L’addition et le produit de matrices en blocs se font exactement comme avec des matrices classiques. Par exemple, soit

M1 = " A B C D # et M2= " E F G H #

oùA, B, C, D, E, F, G et H sont des matrices. Alors, M1M2 = " AE + BG AF + BH CE + DG CF + DH # .

On suppose bien entendu que les dimensions des matricesA, B, C, D, E, F, G et H permettent ces opérations.

2.2

Relations et sommes directes

Dans cette section, nous discutons de quelques notions fondamentales sur les relations. Mais d’abord, voyons quelques structures algébriques élémentaires.

(12)

2.2.1 Monoïdes et demi-anneaux

Définition 2.2.1. Un monoïde est toute structure hM, ·, 1i telle que M est un ensemble, · : M × M → M, 1 ∈ M et pour tout x, y, z ∈ M, on a

(x · y) · z = x · (y · z) et

x · 1 = 1 · x = x.

Autrement dit,· est un opérateur associatif qui admet 1 pour élément neutre. De plus, on appelle demi-anneau toute structure hS, +, ·, 0, 1i telle que + : S × S → S, · : S × S → S, 0, 1 ∈ S et pour toutx, y, z ∈ S, les propriétés suivantes sont vérifiées :

(x + y) + z = x + (y + z) (2.1) 0 + x = x (2.2) x + 0 = x (2.3) (x · y) · z = x · (y · z) (2.4) 1 · x = x (2.5) x · 1 = x (2.6) x + y = y + x (2.7) x · (y + z) = x · y + x · z (2.8) (x + y) · z = x · z + y · z (2.9) 0 · x = 0 (2.10) x · 0 = 0. (2.11)

Les axiomes (2.1)–(2.3) disent quehS, +, 0i est un monoïde ; les axiomes (2.4)–(2.6) disent quehS, ·, 1i est également un monoïde. On dira quehS, +, ·, 0, 1i est un demi-anneau idempotent si + est idem-potent, c’est-à-dire :

x + x = x, (2.12)

pour toutx ∈ S.

Dans la suite, nous omettons l’opérateur·, en écrivant xy au lieu de x · y. 2.2.2 Relations binaires et algèbres de relations

SoitE1, E2deux ensembles. Unerelation binaire R entre E1etE2est un sous-ensemble du produit cartésienE1× E2, autrement dit,

(13)

Nous écrirons x R y pour (x, y) ∈ R. Lorsque E1 et E2 sont des ensembles finis, nous pouvons représenter la relationR à l’aide d’unematrice binaire, c’est-à-dire une matrice dont toutes les entrées sont dans {0, 1}. On considère que les éléments de E1 et E2 sont numérotés de façon arbitraire à l’aide des entiers {1, . . . , |E1|} et {1, . . . , |E2|} respectivement. La matrice R est de dimension |E1| × |E2| et pour 1 ≤ i ≤ |E1|, 1 ≤ j ≤ |E2| :

R[i, j] = (

1, sii R j 0, sinon.

En notation matricielle, la relation identité de dimensionm × m, pour m ≥ 1 est la matrice carrée Imdéfinie comme suit :

I[i, j] = (

1, sii = j 0, sinon.

Tel qu’indiqué dans la notation2.1.2, on écriraI pour dénoter une matrice identité quelconque, sans indication de la dimension.

Exemple 2.2.2. Soit E1 = {1, 2}, E2 = {1, 2, 3} et R = {(1, 2), (2, 1), (2, 3)}. La matrice qui

correspond àR est : R = " 0 1 0 1 0 1 # .

Dans la suite, nous pourrons utiliser les termesrelation et matrice binaire de façon interchangeable. Définition 2.2.3. Soit R : E × E une relation binaire. On dit que R est un pré-ordre si elle vérifie les propriétés suivantes, pour toutx, y, z ∈ E :

x R x, pour tout x ∈ E (Réflexivité) x R y et y R z ⇒ x R z, pour tous x, y, z ∈ E (Transitivité) De plus,R est unerelation d’équivalence si en plus de la réflexivité et de la transitivité, R possède la propriété de symétrie, c’est-à-dire :

x R y ⇒ y R x, pour tous x, y ∈ E (Symétrie)

Enfin, R est une relation d’ordre (ou ordre partiel) si R est un pré-ordre satisfaisant la propriété d’antisymétrie :

x R y ∧ y R x ⇒ x = y, pour tous x, y ∈ E. (Antisymétrie) SiR : E × E est une relation d’ordre, alors on dit que E est partiellement ordonné par R.

(14)

Proposition 2.2.4. Soit E un ensemble et R : E × E un pré-ordre. Soit Rsym : E × E la relation

définie ainsi :

x Rsymy

déf

⇔ x R y et y R x. Alors, Rsymest une relation d’équivalence.

Démonstration. D’abord, Rsymest réflexive carR l’est. Ensuite, soit x, y, z ∈ E tels que x Rsymy ety Rsymz.

x Rsymy ∧ y Rsymz

⇒ h Définition de Rsymi

x R y ∧ y R x ∧ y R z ∧ z R y

⇔ h Commutativité et associativité de la conjonction i x R y ∧ y R z ∧ z R y ∧ y R x

⇒ h Par hypothèse, R est un pré-ordre donc R est transitive i x R z ∧ z R x

⇔ h Définition de Rsymi

x Rsymz

Enfin,Rsymest symétrique, par définition. 

La proposition suivante montre qu’il est possible de définir une relation d’ordre dans tout demi-anneau idempotent.

Proposition 2.2.5. Soit hS, +, ·, 0, 1i un demi-anneau idempotent. L’ensemble S est partiellement ordonné par la relation ≤ définie comme suit :

x ≤ y ⇔ x + y = y.déf (2.13)

La relation ≤ est appelée ordre naturel sur S.

La preuve de la proposition2.2.5est triviale. Voyons quelques propriétés de l’ordre naturel sur les demi-anneaux.

Proposition 2.2.6. Soit hS, +, ·, 0, 1i un demi-anneau idempotent et ≤ l’ordre naturel sur S. Pour tout x, y, z ∈ S, les propriétés suivantes sont valides.

1. x + y ≤ z si et seulement si x ≤ z et y ≤ z.

2. Si x ≤ y, alors x + z ≤ y + z. Autrement dit, l’addition + est monotone.

3. Si x ≤ y, alors xz ≤ yz et zx ≤ zy. Autrement dit, la composition · est monotone. Démonstration.

(15)

1. D’abord, supposons x + y ≤ z et montrons x + z = z et y + z = z ce qui, par (2.13), est équivalent àx ≤ z et y ≤ z. L’hypothèse x + y ≤ z équivaut à x + y + z = z. En utilisant x + y + z = z, l’idempotence de +, et x + y + z = z encore, on obtient

x + z = x + x + y + z = x + y + z = z et

y + z = y + x + y + z = x + y + z = z.

Ensuite, supposonsx ≤ z et y ≤ z et montrons x + y ≤ z. Avec les hypothèses x ≤ z et y ≤ z, on a :

x + y + z = x + z = z. Ainsi,x + y ≤ z si et seulement si x ≤ z et y ≤ z.

2. Supposonsx ≤ y. En utilisant (2.1), (2.7), l’idempotence de+ et l’hypothèse x ≤ y qui est équivalente àx + y = y par (2.13), on obtient :

(x + z) + (y + z) = x + y + z = y + z. Par (2.13), cela revient à direx + z ≤ y + z.

3. Supposonsx ≤ y. En utilisant la distributivité (2.9) et l’hypothèsex ≤ y, on obtient xz + yz = (x + y)z = yz,

qui est équivalent àxz ≤ yz. De même, en utilisant la distributivité (2.8) et l’hypothèsex ≤ y, on obtient

zx + zy = z(x + y) = zy,

qui est équivalent àzx ≤ zy. 

Définition 2.2.7. On appelle algèbre booléenne [GH08] toute structurehB, +, u, , 0, 1i telle que hB, +, u, 0, 1i est un demi-anneau idempotent et pour tout x, y, z ∈ B, les propriétés suivantes sont satisfaites. x u x = x (2.14) x u y = y u x (2.15) x + (y u z) = (x + y) u (x + z) (2.16) x + x = 1 (2.17) x u x = 0 (2.18) (x + y) = x u y (2.19) (x u y) = x + y (2.20) x = x (2.21) x u (x + y) = x (2.22) x + (x u y) = x (2.23)

(16)

À présent, nous introduisons les algèbres de relations.

Définition 2.2.8. Une algèbre de relations [SS12] est toute structurehR, +, ·, u, , `, 0, I, >i telle quehR, +, u, , 0, Ti est une algèbre booléenne, hR, +, ·, 0, Ii est un demi-anneau idempotent et la règle de Schroder est vérifiée :

Règle de Schroder : R1R2≤ R3 ⇔ R`

1R3 ≤ R2 ⇔ R3R`2 ≤ R1.

Dans toute algèbre de relations, les propriétés suivantes sont valides, pour tousR1, R2, R3∈ R.

R1 ≤ T (2.24) R`1` = R1 (2.25) R1u R1 = 0 (2.26) R1 ≤ R1R`1R1 (2.27) (R1+ R2)` = R`1 + R ` 2 (2.28) (R1R2)` = R`2R ` 1 (2.29) R1u R2 ≤ R1 (2.30) R1u R2 ≤ R2 (2.31) R1 = R1u (R2+ R2) (2.32) R1(R2u R3) ≤ R1R2u R1R3 (2.33) (R1u R2)R3 ≤ R1R3u R2R3 (2.34) R1 ≤ R2 ⇔ R1= R1u R2 (2.35) R1 ≤ R2 ⇔ R`1 ≤ R ` 2 (2.36) R1 ≤ I ⇒ R`1 = R1 (2.37) R1 ≤ I ⇒ I = R1+ (I u R1) (2.38)

En plus des lois ci-dessus, les règles suivantes sont également vérifiées : — Règle de Dedekind :R1R2u R3 ≤ (R1u R3R`

2)(R2u R`1R3).

— SiR1etR2 sont des vecteurs, alors

R1 ≤ R2T ⇔ R1 ≤ R2. (2.39)

Lorsque la relationR est représentée sous forme d’une matrice R : m × n, alors la transposée R` deR est une matrice de type R` : n × m définie ainsi :

R`[i, j] déf= R[j, i], pour tout1 ≤ i ≤ n et 1 ≤ j ≤ m. (2.40)

Par exemple, Si R = " 0 1 0 0 0 1 # , alors R`=    0 0 1 0 0 1   .

(17)

Définition 2.2.9. Soit R une relation. On dira que R est injective si RR` ≤ I, déterministe si R`R ≤ I,surjective si I ≤ R`R ettotale si I ≤ RR`. SiR est à la fois totale et déterministe, on dira queR est uneapplication.

La proposition suivante donne quelques résultats sur les relations.

Proposition 2.2.10. Soit R1 et R2 des relations et I la matrice identité. Les propriétés suivantes sont

valides.

1. Si R1≤ I et R2 ≤ I, alors R1u R2 = R1R2.

2. Si R1+ R2 = I et R1R2 = 0, alors I u R1 = R2.

3. Si R2est injective, alors R1R2 ≤ R1R2.

4. Si R1et R2sont des vecteurs, alors R1 ≤ R2si et seulement si R1R`1 ≤ R2R`2.

Démonstration.

1. En utilisant l’hypothèseR1, R2≤ I, (2.35), (2.33), (2.34), (2.30) et (2.31), on a : R1R2 = (R1u I)(R2u I) ≤ R1R2u R1u R2u I ≤ R1u R2.

Ensuite,

R1u R2

≤ h R1= R1I & Règle de Dedekind i

(R1u R2I)(I u R`1R2)

≤ h R1u R2≤ R1 ≤ I par (2.30) et hypothèseR1 ≤ I & monotonie i I u R`1R2

≤ h I u R`1R2 ≤ R`1R2 par (2.31)i R`1R2

= h Hypothèse R1 ≤ I & (2.37)i R1R2.

Ainsi, puisqueR1R2≤ R1u R2etR1u R2≤ R1R2, on a bienR1R2 = R1u R2. 2. SupposonsR1+ R2 = I et R1R2 = 0. D’abord, on a

I u R1

= h Hypothèse R1+ R2= I i

(R1+ R2) u R1

(18)

(R1u R1) + (R2u R1) = h R1u R1= 0 i R2u R1 ≤ h (2.30)i R2. Ensuite, R2 = h Par (2.32)i R2u (R1+ R1) = h Distributivité de u sur + i (R2u R1) + (R2u R1)

= h Hypothèses R1+ R2 = I et R1R2 = 0 impliquent R1u R2 = 0, par la

proposition2.2.10.1 & commutativité deu i R2u R1

= h Hypothèse R1+ R2= I, donc R2≤ I & (2.35) i R2u I u R1

≤ h Par (2.31)i I u R1.

Ainsi, on a montré queI u R1 ≤ R2etR2 ≤ I u R1, ce qui revient à dire queI u R1= R2. 3. En utilisant la définition de l’injectivité2.2.9, la monotonie de·, la règle de Schröder et (2.25),

on obtient :

R2injective ⇔ R2R`

2 ≤ I ⇒ R1R2R`2 ≤ R1 ⇔ R1R`2

`≤ R

1R2 ⇔ R1R2 ≤ R1R2.

4. Supposons queR1etR2sont des vecteurs tels queR1 ≤ R2. En utilisant l’hypothèseR1 ≤ R2, la monotonie de· et (2.36), on obtient

R1R`1 ≤ R2R`1 ≤ R2R`2.

On a donc prouvé R1 ≤ R2 ⇒ R1R`

1 ≤ R2R`2. La dérivation suivante prouveR1R`1 ≤

R2R`2 ⇒ R1 ≤ R2. R1R`1 ≤ R2R`2

⇒ h Monotonie de · i R1R`1R1 ≤ R2R`2R1

(19)

⇒ h R1 ≤ R1R`1R1 par (2.27) & R`

2R1 ≤ T par (2.24) & monotonie & transitivité de≤ i

R1≤ R2T

⇔ h (2.39)i R1≤ R2



2.3

Monoïdes et demi-anneaux avec domaine

Il est possible de définir un opérateur de domaine sur les demi-anneaux idempotents et sur les mo-noïdes.

Définition 2.3.1. Un monoïde avec domaine [DJS09] est une structurehM, ·,p, 1i telle que · : M × M → M,p : M → M et 1 ∈ M, et les axiomes suivants sont vérifiés, pour tout x, y, z ∈ M :

x(yz) = (xy)z (MD1) 1x = x (MD2) x1 = x (MD3) pxx = x (MD4) p(xy) = p(xpy) (MD5) p(pxy) = pxpy (MD6) pxpy = pypx. (MD7)

Autrement dit, hM, ·, 1i est un monoïde et les axiomes (MD4)-(MD7) sont vérifiés. Le système d’axiomes (MD1)-(MD7) sera désigné parMD.

La proposition suivante donne quelques propriétés basiques.

Proposition 2.3.2. Soit hM, ·,p, 1i un monoïde avec domaine et x ∈ M. Les propriétés suivantes sont vérifiées. 1. p1 = 1. 2. ppx = px. 3. pxpx = px. Démonstration. 1. En utilisant (MD3) et (MD4), on a :p1 = p11 = 1.

(20)

2. Par (MD3), (MD6) et la proposition2.3.2.1on a :ppx = p(px1) = pxp1 = px1 = px. 3. En utilisant (MD6) et (MD4), on obtient :pxpx = p(pxx) = px.

 Définition 2.3.3. Un demi-anneau avec domaine [DS11] est toute structurehS, +, ·,p, 0, 1i telle que hS, +, ·, 0, 1i est un demi-anneau idempotent et l’opérateurp : S → S vérifie :

x +pxx = pxx (DAD1)

p(xy) = p(xpy) (DAD2)

px + 1 = 1 (DAD3)

p0 = 0 (DAD4)

p(x + y) = px + py. (DAD5)

Puisque hS, +, ·,p, 0, 1i est idempotent, les axiomes (DAD1) et (DAD3) peuvent être reformulés comme suit, par (2.13) :

x ≤pxx, (2.41)

px ≤ 1. (2.42)

Ainsi, nous pourrons utiliser la forme qui convient le mieux. Par ailleurs le système constitué des axiomes (2.1)-(2.11) et (DAD1)-(DAD5) sera désigné parDAD. Ainsi, si on écrit

DAD ` x = y,

cela signifie que l’égalitéx = y peut être démontrée grâce aux axiomes de DAD.

On peut montrer que les axiomes (MD1)-(MD7) sont valides dans tout demi-anneau avec domaine. Théorème 2.3.4. Soit hS, +, ·,p, 0, 1i un demi-anneau avec domaine. Alors hS, ·, p, 1i est un monoïde avec domaine.

Démonstration. Il reste seulement à prouver (MD4), (MD6) et (MD7). Dans [DS11], les propriétés suivantes sont prouvées.

(i) pxx = x. (ii) pxpy = pypx. (iii) p(pxy) = pxpy.

Cela revient à dire que les égalités (MD4), (MD6) et (MD7) sont toutes prouvées dans [DS11].  Ainsi, si un théorème est démontrable dans tout monoïde avec domaine, il est également démontrable dans tout demi-anneau avec domaine. Autrement dit, siX est un théorème, alors

(21)

Proposition 2.3.5. Soit hS, +, ·,p, 0, 1i un demi-anneau avec domaine. Pour tout x, y, z ∈ S, les propriétés suivantes sont vérifiées.

1. Si x ≤ y, alorspx ≤ py. Autrement dit, l’opérateur p est monotone. 2. Sipx ≤ py, alors pxpy = px.

3. px ≤ py si et seulement si x ≤ pyx. Démonstration.

1. En utilisant la définition de≤ et (DAD5), on obtient

x ≤ y ⇔ x + y = y ⇒ p(x + y) =py ⇔ px + py = py ⇔ px ≤ py. 2. Supposonspx ≤ py. D’abord, en utilisant (DAD3), la monotonie de· et (2.6), on obtient

pxpy ≤ px1 = px.

Ensuite, en utilisant la monotonie de· et la proposition2.3.2.3, on a px ≤ py ⇒ pxpx ≤ pxpy ⇔ px ≤ pxpy. Ainsi, sipx ≤ py, alors pxpy = px.

3. Supposonspx ≤ py. Par (DAD1), l’hypothèsepx ≤ py et la monotonie de ·, on obtient x ≤pxx ≤ pyx.

Il reste à prouverx ≤pyx ⇒ px ≤ py. D’abord, par (DAD3) et la monotonie de·, on a

pypx ≤ py. (2.43)

En utilisant la proposition2.3.5.1, (MD6), (2.43), (DAD3) et la transitivité de≤, on obtient x ≤pyx ⇒ px ≤ p(pyx) ⇔ px ≤ pypx ≤ py ⇒ px ≤ py.

 2.3.1 Sommes directes

Définition 2.3.6 (Sommes directes). Soit k ≥ 1 et {X1, . . . , Xk} un ensemble de k relations. On dit

quehX1, . . . , Xki est une somme directe si pour tout 1 ≤ i, j ≤ k avec i 6= j, on a :

XiX`i = I, (SD1)

XiX`j = 0, (SD2)

(P i | 1 ≤ i ≤ k : X`

(22)

Dans tout le document, les sommes directes que nous manipulons sont des tuples de relations sous forme matricielle. Exemple 2.3.7. Soit X1 = h 1 0 0 i et X2= " 0 1 0 0 0 1 # .

Vérifions quehX1, X2i est une somme directe. Pour commencer, on a :

X1X`1 = h 1 0 0 i    1 0 0   = [1] et X2X` 2 = " 0 1 0 0 0 1 #    0 0 1 0 0 1   = " 1 0 0 1 # .

Donc (SD1) est satisfaite. Ensuite,

X1X`2 = h 1 0 0 i    0 0 1 0 0 1   = h 0 0 i et X2X`1 = " 0 1 0 0 0 1 #    1 0 0   = " 0 0 # .

Ce qui prouve que (SD2) est satisfaite. Enfin, vérifions quehX1, X2i satisfait (SD3) :

X1`X1+ X`2X2=    1 0 0 0 0 0 0 0 0   +    0 0 0 0 1 0 0 0 1   =    1 0 0 0 1 0 0 0 1   .

La somme directe de l’exemple2.3.7est un cas particulier des sommes directes de la formehX1, X2i oùX1 = [I | 0] et X2 = [0 | I]. Le résultat suivant montre qu’un tel couple hX1, X2i est nécessai-rement une somme directe.

Proposition 2.3.8.

1. Soit m et n deux entiers naturels et soit X1 = [Im | 0m×n]et X2= [0n×m | In]. Alors le couple

hX1, X2i est une somme directe.

2. Soit hX1, . . . , Xki une somme directe. Alors pour tout 1 ≤ p ≤ k,

I u Xp`Xp = (P i | 1 ≤ i ≤ k ∧ i 6= p : X`i Xi).

3. Soit hX1, . . . , Xki une somme directe et soit R1et R2deux matrices. Alors pour tout 1 ≤ p ≤ k,

R1Xp ≤ R2 ⇔ R1 ≤ R2Xp`

et

(23)

Démonstration. 1. D’abord, X1X1`= [Im | 0m×n] " Im 0n×m # = Im et X2X` 2 = [0n×m | In] " 0m×n In # = In.

Donc (SD1) est satisfaite. Ensuite,

X1X2`= [Im | 0m×n] " 0m×n In # = 0m×n et X2X1` = [0n×m | In] " Im 0n×m # = 0n×m.

Ce qui montre que (SD2) est également satisfaite. Enfin, X1`X1+ X2`X2 = " Im 0m×n 0n×m 0n×n # + " 0m×m 0m×n 0n×m In # = Im+n.

Ainsi, (SD3) est également satisfaite. 2. D’abord, Xp`Xp(P i | 1 ≤ i ≤ k ∧ i 6= p : X`i Xi) = h Distributivité (2.8)i Xp`(P i | 1 ≤ i ≤ k ∧ i 6= p : XpX`i Xi) = h Par (SD2)XpX` i = 0, si i 6= p & (2.10) & (2.11)i 0. Puisque, par (SD3), on a X`pXp+ (P i | 1 ≤ i ≤ k ∧ i 6= p : Xi`Xi) = I,

d’après la dérivation précédente et la proposition2.2.10.2, on a

I u Xp`Xp = (P i | 1 ≤ i ≤ k ∧ i 6= p : X`i Xi).

3. Par (SD1),Xp est totale et par (SD3),Xp est déterministe. Donc,Xp est une application, ce qui, par les propositions1et2termine la preuve.

(24)

Chapitre 3

Algèbres de Kleene et extensions

Ce chapitre constitue une brève introduction aux algèbres de Kleene (AK) et à leurs extensions. La section3.1présente un bref historique, une axiomatisation et donne les principaux modèles d’AK ; la section3.2contient la définition et quelques résultats des algèbres de Kleene avec tests ; enfin, la section3.3présente les algèbres de Kleene avec domaine et certains de leurs modèles.

3.1

Historique et axiomatisation

3.1.1 Historique

Les algèbres de Kleene (AK) portent le nom du mathématicien et logicien du 20esiècle Stephen Cole Kleene. Ce dernier pose, en1956, le problème de l’axiomatisation de la théorie équationnelle des langages réguliers. En1964, Redko [Red64] prouve qu’il n’existe aucun ensemble fini d’axiomes équationnels permettant de capturer cette théorie. Au fil des années, plusieurs axiomatisations non équivalentes sont proposées. Ainsi, en1966, Salomaa [Sal66] donne deux axiomatisations complètes pour la théorie des langages réguliers. Malheureusement, ces systèmes d’axiomes ne sont pas satis-faits par certains modèles non standards. Dans un ouvrage entièrement dédié aux algèbres de Kleene [Con71,Con12], John Conway propose cinq définitions possibles de ces algèbres et étudie en pro-fondeur leurs propriétés. Dans son livre, Conway utilise une sommation infinie pour définir l’étoile de Kleene. Par ailleurs, l’axiomatisation la plus utilisée aujourd’hui est celle proposée par Dexter Kozen [Koz94] en1994. Cette dernière est constituée d’un nombre fini d’équations et d’implications équationnelles.

(25)

3.1.2 Axiomatisation

Définition 3.1.1. On appelle algèbre de Kleene [Koz94] toute structurehK, +, ·,∗, 0, 1i telle que hK, +, ·, 0, 1i est un demi-anneau idempotent (voir section2.3) et∗ : K → K vérifie :

1 + aa∗≤ a∗ (3.1)

1 + a∗a ≤ a∗ (3.2)

b + ax ≤ x ⇒ a∗b ≤ x (3.3)

b + xa ≤ x ⇒ ba∗ ≤ x (3.4)

où≤ est l’ordre naturel sur K, voir (2.13).

Il est possible de démontrer la monotonie de l’opérateur∗, c’est-à-dire que pour tousa, b ∈ K, on a : a ≤ b ⇒ a∗ ≤ b∗.

Les axiomes (3.1) - (3.4) décrivent le comportement de l’opérateur∗. En utilisant l’axiome (3.1), la distributivité (2.9) et la monotonie de·, on montre que :

b + aa∗b ≤ a∗b.

Ainsi,a∗b est le plus petit point préfixe de la fonction x 7→ b + ax. De même, ba∗est le plus petit point préfixe de la fonctionx 7→ b + xa. Nous n’insistons pas sur la notion de point préfixe, car cela n’a pas d’intérêt pour la suite du document.

Définition 3.1.2. Soit hK, +, ·,∗, 0, 1i une algèbre de Kleene et a ∈ K. On définit an, pour tout n ∈ N, inductivement :

a0 = 1, (3.5)

an+1 = ana. (3.6)

Une autre façon d’axiomatiser l’algèbre de Kleene est d’utiliser l’axiome d’étoile-continuité. Définition 3.1.3. Une algèbre de Kleene étoile-continue (AK∗) est toute structure hK, +, ·,∗, 0, 1i telle quehK, +, ·, 0, 1i est un demi-anneau idempotent et∗ : K → K est définie comme suit

ab∗c = (P n | n ∈ N : abnc), (3.7)

où Σ désigne le suprémum par rapport à l’ordre partiel ≤ défini sur K. L’axiome (3.7) est appelé axiome d’étoile-continuité. Il est à noter que cet axiome impose l’existence d’un supremum pour tout ensemble de la forme{abnc : n ∈ N}, pour tout a, b, c ∈ K. En posant a = c = 1, on obtient une définition deb∗, par opposition aux axiomes (3.1) - (3.4) qui donnent unedescription de l’étoile.

(26)

Les algèbres de Kleene étoile-continues sont des algèbres de Kleene au sens de la définition3.1.1, mais la réciproque est fausse car il existe des algèbres de Kleene qui ne sont pas étoile-continues [Koz90]. Toutefois,AK et AK∗ ont la même théorie équationnelle [Koz94].

3.1.3 Matrices sur une algèbre de Kleene

SoithK, +, ·,∗, 0, 1i une algèbre de Kleene et hM, Ki l’ensemble des matrices sur K. On peut étendre les opérateurs+, · et∗surhM, Ki de façon assez naturelle [Koz94]. Ainsi, soitM, N ∈ hM, Ki deux matrices de dimensionm1× m2 et n1× n2 respectivement, avecm1, m2, n1, n2 ∈ N. La matrice M + N est définie si et seulement si m1= n1 etm2= n2et est donnée par :

(M + N )[i, j] = M [i, j] + N [i, j], pour touti ≤ i ≤ m1, 1 ≤ j ≤ m2. La matriceM N est définie si et seulement si m2 = n1et est donnée par :

(M N )[i, j] = (P k | 1 ≤ k ≤ m2: M [i, k]N [k, j]).

La matriceM∗est définie si et seulement siM est une matrice carrée et de dimension finie. De plus, la définition deM∗est un peu compliquée. SiM est une matrice de dimension 0×0, alors M∗

déf = M . Dans le cas d’une matrice de dimension1 × 1, on a :

h a i∗ déf = h a∗ i

poura ∈ K. La définition générale est inductive. D’abord, il faut remarquer que toute matrice M : m × m avec m ≥ 2 peut être décomposée ainsi :

M = "

A B

C D

#

oùA, B, C et D sont des matrices et A et D sont des matrices carrées de dimension non nulle. Dans ce cas, on poseF = A + BD∗C et on définit [Koz94] :

M∗ déf= " F∗ F∗BD∗ D∗CF∗ D∗+ D∗CF∗BD∗ # (3.8)

La définition (3.8) semble étrange à première vue. Pour mieux la comprendre, prenons l’exemple d’une matriceM de dimension 2 × 2 définie par

M = " a b c d # , oùa, b, c, d ∈ K. Par (3.8), on a : M∗ = " f∗ f∗bd∗ d∗cf∗ d∗+ d∗cf∗bd∗ #

(27)

avecf = a + bd∗c. Maintenant considérons l’automate A fini à deux états dont la matrice de tran-sitions estM . Le diagramme de transitions de A est :

1 2

a

b

c

d

L’automateA permet de comprendre que l’expression donnée pour M∗[i, j] est l’expression régu-lière correspondant à l’ensemble des mots lus en allant de l’étati à l’état j, pour i, j ∈ {1, 2}. 3.1.4 Modèles

Nous présentons quelques modèles d’AK. On retrouve ces modèles dans [DMS06].

Exemple 3.1.4 (Langages réguliers). Soit Σ un alphabet fini et soit Σ∗ l’ensemble des mots finis sur Σ. La structure LanΣ = h2Σ

, ∪, ·,∗, ∅, {ε}i est une algèbre de Kleene étoile-continue, où 2Σ∗ désigne l’ensemble des sous-ensembles deΣ∗,∪ l’union ensembliste, · la concaténation mot-à-mot, ∅ l’ensemble vide et ε le mot vide. Dans cette algèbre, l’étoile est définie ainsi : pour tout L ⊆ Σ∗,

L∗= {w1w2. . . wn: n ≥ 0, wi ∈ L}.

Exemple 3.1.5 (Langages de matrices). Soit Σ un alphabet fini et soit Σ∗l’ensemble des mots finis surΣ. L’ensemble hM, 2Σ

i des matrices sur Σ∗est munie d’une structure de demi-anneau

idem-potent. On peut étendre cette structure pour obtenir une algèbre de Kleene en utilisant la définition de∗de la section3.1.3.

Exemple 3.1.6 (Modèles relationnels). Soit E un ensemble et 2E×E l’ensemble des relations bi-naires surE. L’algèbre RelE = h2E×E, ∪, ◦,∗, ∅, Ii est une algèbre de Kleene, avec ∪ étant l’union ensembliste,∗ la fermeture réflexive et transitive etI la relation identité, c’est-à-dire

I = {(x, x) : x ∈ E}.

Dans cette algèbre, la composition◦ est la composition relationnelle :

R1◦ R2 = {(x, z) : (∃y | y ∈ E : (x, y) ∈ R1 ∧ (y, z) ∈ R2)}.

Exemple 3.1.7 (Modèle de chemins). Soit Σ un ensemble d’états (ou nœuds). Alors Σ∗peut être vu comme l’ensemble des chemins possibles dans le graphe complet dont les nœuds sont exactement

(28)

ceux dansΣ. Dans ce cas, ε désigne le chemin vide et la composition1 peut être définie comme suit poura, b ∈ Σ et x, y ∈ Σ∗: xa1 by = ( xay, sia = b indéfini sinon. De plus, ε1 ε = ε et les expressions ε1 xa et xa 1 ε sont indéfinies. Pour toutA, B ∈ 2Σ

, la compositionA1 B est définie ainsi : A1 B = {x 1 y : x ∈ A et y ∈ B}.

De plus, A∗ = (S n | n ≥ 0 : An), avec A0 = Σ ∪ {ε} et An+1 = An 1 A pour tout n ∈ N. L’algèbreCheΣ = h2Σ

, ∪,1,∗, ∅, Σ ∪ {ε}i ainsi définie forme une algèbre de Kleene.

La proposition suivante donne quelques propriétés bien connues desAK.

Proposition 3.1.8 ([Koz94]). Soit hK, +, ·,∗, 0, 1iune algèbre de Kleene et a, b, x ∈ K. Les propriétés suivantes sont satisfaites.

1. 1 + aa∗= a∗. 2. 1 + a∗a = a∗.

3. xa ≤ bx ⇒ xa∗ ≤ b∗x. Démonstration.

1. Il suffit de montrera∗ ≤ 1 + aa∗, puisque1 + aa∗ ≤ a∗est un axiome (3.1). D’abord, remar-quons que1 + a(1 + aa∗) ≤ 1 + aa∗. En effet, par (3.1) et monotonie, on a :

1 + aa∗≤ a∗ ⇒ a(1 + aa∗) ≤ aa∗ ⇒ 1 + a(1 + aa∗) ≤ 1 + aa∗. Par (3.3) et élément neutre (2.6), cela impliquea∗ ≤ 1 + aa∗.

2. Il suffit de prouvera∗ ≤ 1 + a∗a. La preuve est similaire à la précédente. On remarque d’abord que par (3.2) et monotonie, on a :

1 + a∗a ≤ a∗ ⇒ (1 + a∗a)a ≤ a∗a ⇒ 1 + (1 + a∗a)a ≤ 1 + a∗a. Ainsi, par (3.4) et élément neutre (2.5), on en déduit :a∗ ≤ 1 + a∗a.

3. D’abord, en utilisant la distributivité (2.9), l’idempotence de+ (2.12) et la définition de≤ (2.13), on a

x ≤ (1 + b∗b)x ⇔ x ≤ x + b∗bx ⇔ vrai. Donc, on peut utiliser

x ≤ (1 + b∗b)x (3.9)

(29)

xa ≤ bx

⇒ h Monotonie de · i b∗xa ≤ b∗bx

⇒ h Idempotence de + & (2.13)i b∗xa ≤ b∗bx ≤ x + b∗bx

⇒ h Transitivité de ≤ & Distributivité (2.9)i b∗xa ≤ (1 + b∗b)x ⇒ h Par (3.9)i x ≤ (1 + b∗b)x ∧ b∗xa ≤ (1 + b∗b)x ⇔ h Proposition3.1.8.2i x ≤ b∗x ∧ b∗xa ≤ b∗x ⇔ h Proposition2.2.6.1i x + b∗xa ≤ b∗x ⇒ h (3.4)i xa∗ ≤ b∗x 

À présent, nous définissons la notion d’élément nilpotent dans un demi-anneau.

Définition 3.1.9. Soit hK, +, ·, 0, 1i un demi-anneau et x ∈ K. On dit que x est nilpotent s’il existe un entiern ∈ N tel que xn= 0. Dans ce cas, on définit l’ordre de x comme le plus petit entier n tel quexn= 0.

L’intérêt de la définition3.1.9est illustré par le théorème suivant.

Théorème 3.1.10. Soit hK, +, ·,∗, 0, 1iune algèbre de Kleene et M ∈ K un élément nilpotent d’ordre n. Alors,

M∗ = (P i | 0 ≤ i ≤ n : Mi) (3.10)

Le théorème3.1.10donne donc une façon effective de calculerM∗ à partir deM et de toute borne supérieure de l’ordre deM . En effet, puisque pour tout p ≥ n on a Mp = 0, on peut remplacer n par n’importe quel entierp ≥ n dans l’équation (3.10). Ainsi, dans les chapitres suivants, lorsqu’on ma-nipulera des matrices vues comme des éléments nilpotents d’une algèbre de Kleene, nous pourrons utiliser (3.10) au lieu de (3.8), qui est bien moins commode.

(30)

Lemme 3.1.11. Soit hK, +, ·,∗, 0, 1iune algèbre de Kleene et x ∈ K. Alors, pour tout k ∈ N, on a : x∗= (P i | 0 ≤ i ≤ k : xi) + xk+1x

Démonstration. Soit x ∈ K. On effectue une preuve par induction sur k. Le prédicat d’induction estP .

P (k) : x∗= (P i | 0 ≤ i ≤ k : xi) + xk+1x

On doit prouver(∀k | k ∈ N : P (k)).

— Étape de base :k = 0. Par définition de P , on a :

P (0) : x∗= x0+ x0+1x∗,

ce qui est équivalent àx∗ = 1 + xx∗, ce qui est vrai par la proposition3.1.8.1. — Étape d’induction : supposonsk ≥ 1 ∧ P (k − 1). Montrons P (k).

x∗ = h Hypothèse P (k − 1) i (P i | 0 ≤ i ≤ k − 1 : xi) + xkx∗ = h Proposition3.1.8.1 i (P i | 0 ≤ i ≤ k − 1 : xi) + xk(1 + xx) = h Distributivité (2.8)i (P i | 0 ≤ i ≤ k − 1 : xi) + xk+ xk+1x∗ = h Sommation i (P i | 0 ≤ i ≤ k : xi) + xk+1x∗ 

Avec le lemme3.1.11, la preuve du théorème3.1.10est simple.

Démonstration (Démonstration du théorème3.1.10). On suppose donc que M ∈ K est nilpotent d’ordren. Par le lemme3.1.11, on a :

M∗ = (P i | 0 ≤ i ≤ n : Mi) + Mn+1M.

Or, puisque M est d’ordre n, on a Mn+1 = 0. Comme 0 est à la fois l’élément absorbant de la multiplication (2.10) et l’élément neutre de l’addition (2.2), (2.3), on a :

M∗= (P i | 0 ≤ i ≤ n : Mi).

(31)

Définition 3.1.12. Soit Σ un alphabet fini ne contenant pas 0 et 1. L’ensemble RegΣdesexpressions régulières sur Σ est le plus petit ensemble tel que

— 0, 1 ∈ Reg Σ, — Σ ⊆ Reg Σ, — s, t ∈ Reg Σ ⇒ s∗, s + t, st ∈ RegΣ.

Le modèle des langages réguliers ou modèle standard des expressions régulières est le morphisme L : RegΣ → 2Σ∗défini comme suit :

— L(0) = ∅, — L(1) = {ε},

— L(a) = {a}, pour tout a ∈ Σ, — L(x + y) = L(x) ∪ L(y),

— L(xy) = L(x)L(y) = {vw : v ∈ L(x) et w ∈ L(y)},

— L(x∗) = (S n | n ∈ N : L(x)n), avec L(x)0 = {ε} et L(x)n+1 = L(x)nL(x). Dans [Koz94], Kozen prouve que le modèle des langages réguliers est complet pourAK.

3.2

Algèbres de Kleene avec tests

Les algèbres de Kleene avec tests (AKT) ont été introduites par Kozen [Koz97] et ont connu de nom-breux développements tant du point de théorique qu’au niveau des applications. L’idée est d’enrichir les algèbres de Kleene avec des éléments appeléstests. Dans une algèbre de Kleene avec tests, l’en-semble des tests est muni d’une structure d’algèbre booléenne.

Les définitions et résultats présentés dans cette section sont issus de [Koz97] et [KS96]. 3.2.1 Définition

Définition 3.2.1. Une algèbre de Kleene avec tests est une structure hK, B, +, ·,∗, , 0, 1i telle que hK, +, ·,∗, 0, 1i est une algèbre de Kleene, hB, +, u, , 0, 1i une algèbre booléenne et B ⊆ K. Les opérateurs+, · et∗sont définis dansK et est défini dans B seulement.

3.2.2 Séquences gardées

Le modèle standard d’AKT est basé sur des structures appelées séquences gardées. Ces séquences peuvent être vues comme une extension des séquences classiques sur un alphabet Σ. Étant donné que l’on a deux algèbresK et B, les termes considérés dans le langage d’AKT sont plus riches que les expressions régulières.

(32)

Dans le reste de la section, nous supposons qu’on a deux alphabets finis et disjointsΣ et B. Les éléments deΣ sont appelésactions primitives et ceux de B tests primitifs. On suppose également que 0 et 1 ne sont ni dans Σ, ni dans B.

L’ensembleTBdesAKT-termes booléens est le plus petit ensemble tel que : — 0, 1 ∈ TB,

— B ⊆ TB,

— s, t ∈ TB ⇒ s + t, st, s ∈ TB.

Ensuite, nous définissons l’ensembleTΣ,B desAKT-termes comme le plus petit ensemble vérifiant les propriétés suivantes :

— TB ⊆ TΣ,B, — Σ ⊆ TΣ,B,

— x, y ∈ TΣ,B ⇒ x + y, xy, x∗∈ TΣ,B.

SoithK, B, +, ·,∗, , 0, 1i une algèbre de Kleene avec tests. On appelle interprétation tout morphisme (application qui préserve les opérations)I : TΣ,B→ K qui envoie les éléments de TB versB. Avant de définir les séquences gardées, une définition préliminaire.

Définition 3.2.2 ([KS96]). Un atome sur B = {p1, . . . , pk} est une séquence x1. . . xktelle que pour chaque1 ≤ i ≤ k, on a xi ∈ {pi, pi}.

Ainsi, siα est un atome sur B, alors pour chaque 1 ≤ i ≤ k, α contient exactement un élément de {pi, pi}. Lorsque α contient pi, on dit quepiapparait positivement dans α.

L’ensemble des atomes surB est noté AB. Notons que cette définition suppose un ordre arbitraire mais fixe sur les éléments deB. Notons également que l’ensemble AB est fini de cardinalité2k, où k = |B|.

Exemple 3.2.3. Soit B = {p1, p2, p3}. On a :

AB = {p1p2p3, p1p2p3, p1p2p3, p1p2p3, p1p2p3, p1p2p3, p1p2p3, p1p2p3}.

Quelques contre-exemples :p1p2p2 n’est pas un atome car nip3 nip3n’apparaissent ;p1p3p2 n’est pas un atome car les éléments n’apparaissent pas dans le bon ordre ;p1p2p4 n’est pas un atome car p4∈ B./

Définition 3.2.4. On appelle séquence gardée [KS96] tout mot du langage AB(ΣAB)∗. Autrement dit, c’est une séquence de la forme

(33)

où n ≥ 0, ai ∈ Σ pour tout 1 ≤ i ≤ n et αi ∈ AB pour tout 0 ≤ i ≤ n. Lorsque n = 0, la séquence obtenue est un atomeα0. L’ensemble des séquences gardées surΣ et B est noté SG et est bien évidemment infini siΣ 6= ∅.

L’exemple suivant permet de mieux comprendre la définition3.2.4.

Exemple 3.2.5. Soit Σ = {a, b, c, d} et B = {p1, p2, p3}. Voici quelques exemples de séquences

gardées :

p1p2p3dp1p2p3dp1p2p3, p1p2p3, p1p2p3ap1p2p3cp1p2p3bp1p2p3

Et voici quelques contre-exemples :

w1 = p1p2p3ap1p2p3b, w2 = p1p2p3p1p2p3, w3 = c, w4= p1p2p3abp1p2p3.

Le problème avecw1 est qu’elle se termine par un élément deΣ et pas par un atome ; w2contient deux atomes qui ne sont pas séparés par une action primitive ;w3 ne contient même pas d’atome et w4contient deux éléments deΣ qui ne sont pas séparés par un atome.

L’analogue de la concaténation pour les séquences gardées est le produit coalescent.

Définition 3.2.6. Le produit coalescent de deux séquences gardées, noté , est défini comme suit :

xα  βy déf= (

xαy, siα = β indéfini, sinon.

Autrement dit, lorsque le dernier atome de la première séquence est identique au premier atome de la seconde, le produit coalescent concatène les deux séquences et supprime l’atome qui se répète. Dans le cas où ces deux atomes sont distincts, le produit n’est pas défini. On voit donc une diffé-rence flagrante avec la concaténation, puisque cette dernière est définie quelles que soient les deux séquences.

On peut généraliser le produit coalescent aux ensembles de séquences gardées. Soit A, B ⊆ SG. A  B déf= {w1 w2 : w1 ∈ A et w2 ∈ B}.

Remarquons que pour toutA, B ⊆ SG, le produit A  B est défini. En effet, lorsque w1 w2 est indéfini pour toutw1∈ A et w2 ∈ B, on a A  B = ∅.

L’interprétation standard des AKT-termes, notée H, envoie chaque élément de TΣ,B vers un en-semble de séquences gardées.

Définition 3.2.7. L’interprétation H : TΣ,B→ 2SGest définie inductivement : — H(0) = ∅.

(34)

— H(1) = AB, l’ensemble des atomes surB.

— H(p) = {α ∈ AB : p apparait positivement dans α}, pour tout p ∈ B. — H(a) = {αaβ : α, β ∈ AB}, pour tout a ∈ Σ.

— H(x + y) = H(x) ∪ H(y), pour x, y ∈ TΣ,B. — H(xy) = H(x)  H(y), pour x, y ∈ TΣ,B. — H(s) = AB\ H(s), pour tout s ∈ TB.

— H(x∗) = H(x)∗ = (S n | n ∈ N : H(x)n), avec H(x)0 = AB etH(x)n+1 = H(x)n H(x), pour toutx ∈ TΣ,B.

Voyons quelques exemples de construction deH(x) pour x ∈ TΣ,B.

Exemple 3.2.8. On suppose encore Σ = {a, b, c, d} et B = {p1, p2, p3}. On a :

H(p1) = {p1p2p3, p1p2p3, p1p2p3, p1p2p3},

H(p2) = {p1p2p3, p1p2p3, p1p2p3, p1p2p3},

H(p2) = AB\ H(p2) = {p1p2p3, p1p2p3, p1p2p3, p1p2 p3},

H(p3) = {p1p2p3, p1p2p3, p1p2p3, p1p2p3}

Considérons lesAKT-termes p1p3etp3p2ap3p2. Par la définition inductive3.2.7, on a : H(p1p3) = {p1p2p3, p1p2p3}

et

H(p3p2ap3p2) = {p1p2p3ap1p2p3, p1p2p3ap1 p2p3, p1p2p3ap1p2p3, p1p2p3ap1 p2p3}.

3.2.3 Complétude

L’image de H est munie d’une structure d’algèbre de Kleene avec tests étoile-continue, avec l’en-semble des atomes2ABcomme algèbre booléenne correspondante. Dans [KS96], les auteurs prouvent que pour toutx, y ∈ TΣ,B, siH(x) = H(y), alors pour toute AKT∗-interprétationI, I(x) = I(y). Autrement dit,H est un modèle complet pour les algèbres de Kleene avec tests étoile-continues.

Afin de prouver que ce modèle est également complet pourAKT, les auteurs de [KS96] démontrent queAKT et AKT∗ont la même théorie équationnelle. La démonstration de ce résultat repose sur le lemme clé suivant.

Lemme 3.2.9. [KS96] Soit x ∈ TΣ,B. Il existe ˆx ∈ TΣ,Btel que :

(i) AKT  x = ˆx, (ii) L(ˆx) = H(ˆx),

(35)

où L est l’interprétation standard des expressions régulières. Autrement dit, il existe un certain alphabet fini Σ tel que ˆxest une expression régulière sur Σ et les ensembles L(ˆx)et H(ˆx)sont identiques.

Il est clair que pour démontrer ce lemme, on peut supposer qu’il n’y a pas d’occurrence de0 et 1 dans x. L’idée est de remarquer, dans un premier temps, que chaque AKT-terme x ne contenant pas 0 et 1 peut être transformé en un autre AKT-terme x0 tel queAKT  x = x0 et l’opérateur ne s’applique que sur des tests primitifs dansx0. Autrement dit,x0 est une expression régulière sur l’alphabetΣ ∪ B ∪ B, où B = {p : p ∈ B} est une copie disjointe de B. Pour transformer x en x0, il suffit d’utiliser itérativement les axiomes (2.19)–(2.21). Ensuite, une construction inductive permet de passer dex0 àx. La preuve complète du lemmeˆ 3.2.9est dans [KS96].

Une fois qu’on a le lemme3.2.9, on peut facilement montrer qu’AKT et AKT∗ont la même théorie équationnelle.

Théorème 3.2.10. [KS96] Soit x, y ∈ TΣ,B. On a

AKT∗  x = y ⇔ AKT  x = y.

Démonstration. Il est clair que AKT  x = y ⇒ AKT∗  x = y, puisque toute algèbre de Kleene avec tests étoile-continue est une algèbre de Kleene avec tests. Il reste à prouver l’implication dans l’autre sens. Soitx et ˆˆ y vérifiant les propriétés du lemme3.2.9pourx et y respectivement.

AKT∗  x = y

h AKT  x = ˆx et AKT  y = ˆy i AKT∗  ˆx = ˆy

⇔ h Le modèle H est complet pour AKT∗i H(ˆx) = H(ˆy)

⇔ h Par le lemme3.2.9,L(ˆx) = H(ˆx) et L(ˆy) = H(ˆy) i L(ˆx) = L(ˆy)

⇔ h Le modèle L est complet pour AK (voir [Koz94])i AK  ˆx = ˆy

⇒ h Toute algèbre de Kleene avec tests est une algèbre de Kleene i AKT  ˆx = ˆy

h AKT  x = ˆx et AKT  y = ˆy i AKT  x = y



(36)

3.2.4 Décidabilité

La décidabilité de la théorie équationnelle d’AKT, telle que présentée dans [KS96], repose sur une réduction à la logique propositionnelle dynamique [FL79]. Cette réduction place la théorie dans la classe de complexitéEXPTIME. Dans un autre article [CKS96], un algorithmePSPACE est présenté. PuisqueAK est PSPACE-complet, on en déduit qu’AKT l’est également.

3.3

Algèbres de Kleene avec domaine

3.3.1 Historique et axiomatisations

Les algèbres de Kleene avec domaine ont été introduite dans [DMS06]. Dans cet article, les auteurs partent des algèbres de Kleene avec tests, et rajoutent un opérateur de domaine. Par ailleurs, dans [DS11], une axiomatisation interne des algèbres de Kleene avec domaine est présentée. Cette ap-proche est plus générale, puisque l’opérateur de domaine est défini dans tous les demi-anneaux. C’est cette approche que nous utiliserons.

3.3.2 Définition

Définition 3.3.1. Une algèbre de Kleene avec domaine (AKD) est toute structure hK, +, ·,∗, 0, 1,pi telle que hK, +, ·,∗, 0, 1i est une algèbre de Kleene et hK, +, ·,p, 0, 1i un demi-anneau avec do-maine [DS11]. LorsquehK, +, ·,∗, 0, 1i est une algèbre de Kleene étoile-continue, alors on dira que hK, +, ·,∗, 0, 1,pi est une algèbre de Kleene avec domaine étoile-continue.

3.3.3 Modèles

Nous présentons quelques exemples d’algèbres de Kleene avec domaine.

Exemple 3.3.2. Soit Σ un alphabet fini. Comme nous l’avons vu dans l’exemple3.1.4, la structure LanΣ= h2Σ

, ∪, ·,∗, ∅, {ε}i est une algèbre de Kleene étoile-continue. Il est possible d’étendre LanΣ

en une algèbre de Kleene avec domaine en définissant, pour toutA ⊆ Σ∗, pA =

(

∅, siA = ∅, {ε}, sinon.

Exemple 3.3.3. Soit E un ensemble et RelE = h2E×E, ∪, ◦,∗, ∅, Ii l’algèbre définie dans l’exemple

3.1.6. En définissant pour toutR ⊆ E × E

pR = {(x, x) : (∃y | y ∈ E : (x, y) ∈ R)},

(37)

Exemple 3.3.4. Dans l’exemple3.1.7, nous avons présenté l’algèbre de KleeneCheΣ = h2Σ

, ∪,1 ,∗, ∅, {ε}i. En définissant pour tout w ∈ Σ∗

pw = ( ε, siw = ε, a siw = ax, avec a ∈ Σ et x ∈ Σ∗, et pour toutA ⊆ Σ∗ pA = {px : x ∈ A}, la structureh2Σ ∗

(38)

Chapitre 4

Arbres avec sommet

Dans ce chapitre, nous introduisons les arbres avec sommet. Il s’agit des structures arborescentes uti-lisées dans les preuves de complétude du chapitre5. Les arbres avec sommet sont des arbres (au sens de la théorie des graphes) dont les arêtes sont étiquetées avec les éléments d’un alphabet fini. Dans ce chapitre, nous présentons la construction inductive des arbres avec sommet et quelques-unes de leurs propriétés. Dans la première section, nous définissons les termes simples sur un alphabet fini et définissons des fonctions sur ces termes ; ensuite, dans la section4.2nous présentons la construction inductive des arbres avec sommet, à partir des termes ; enfin, dans la section4.3nous définissons la notion de simulation pour les arbres avec sommet et démontrons des résultats.

4.1

Alphabet et termes

Définition 4.1.1. Soit Σ un alphabet fini ne contenant pas 0 et 1. L’ensemble MΣdestermes simples surΣ est le plus petit ensemble tel que :

— 1 ∈ MΣ, — Σ ⊆ MΣ,

— x, y ∈ MΣ ⇒ px, xy ∈ MΣ.

On définit l’ensembletest comme le sous-ensemble de MΣdéfini inductivement comme suit : — 1 ∈ test,

— x ∈ MΣ ⇒ px ∈ test, — x, y ∈ test ⇒ xy ∈ test.

Les éléments de l’ensembletest sont appeléstests. On appelle terme monogène tout terme simple de la forme ax ou p(ax) où a ∈ Σ et x ∈ MΣ. De plus, les termes monogènes de la forme p(ax) sont appeléstests monogènes. Par ailleurs, on définit l’ensemble DΣdesDAD-termes comme le plus petit ensemble tel que

(39)

— Σ ⊆ DΣ,

— x, y ∈ DΣ ⇒ px, xy, x + y ∈ DΣ.

Enfin, l’ensemble desAKD-termes est le plus petit ensemble vérifiant les propriétés suivantes : — 0, 1 ∈ TΣ,

— Σ ⊆ TΣ,

— x, y ∈ TΣ ⇒ px, xy, x + y, x∗ ∈ TΣ.

L’ensemble des termes simplesMΣcontient donc lesAKD-termes dans lesquels + et∗n’apparaissent pas, alors queDΣcontient lesAKD-termes dans lesquels∗n’apparait pas.

La préséance des opérateurs de la plus élevée à la plus faible est :∗,p, ·, +.

Remarque 4.1.2. Afin d’éviter toute confusion, nous utilisons 0 et 1 pour les demi-anneaux et 0 et 1 pour les relations et dans les expressions d’éléments de RegΣ,MΣ,DΣetTΣ.

Dans la manipulation des termes, nous pourrons raisonner modulo les axiomes des demi-anneaux avec domaine, en considérant0 et 1 comme 0 et 1 respectivement. En effet, le but étant de prouver l’égalité de termes modulo les axiomes deDAD, on peut utiliser ceux-ci dans nos raisonnements. En ce qui concerne les matrices, d’après [DMS06, Exemple 2.8], sihS, +, ·, 0, 1i est un demi-anneau idempotent, alors l’ensemble des matrices sur S est muni d’une structure de demi-anneau idem-potent. Donc, les axiomes deDAD peuvent être utilisés sur les matrices également.

À présent, nous allons définir des fonctions que nous utiliserons dans la suite. Définition 4.1.3. Soit ε : MΣ→ {0, 1} la fonction définie ainsi :

— ε(1) = 1,

— ε(a) = 0, pour tout a ∈ Σ, — ε(ps) = 1, pour tout s ∈ MΣ,

— ε(st) = ε(s)ε(t), pour tout s, t ∈ MΣ.

Ensuite, on définit|s| comme le nombre d’occurrences d’éléments de Σ dans un terme simple s. Plus formellement,|s| est défini inductivement comme suit :

— |1| = 0,

— |a| = 1, pour tout a ∈ Σ, — |ps| = |s|, pour tout a ∈ MΣ, — |st| = |s| + |t|, pour tout s, t ∈ MΣ.

(40)

La remarque4.1.4est facile à vérifier en utilisant la définition inductive detest4.1.1. En effet, par définition, on aε(1) = ε(ps) = 1, pour tout s ∈ MΣ. Enfin, sis, t ∈ test avec ε(s) = ε(t) = 1, alors

on aε(st) = ε(s)ε(t) = 11 = 1. 

À présent, nous définissons une fonction supp appelée support. Dans [KTW15], les auteurs défi-nissent et étudient une fonction semblable à celle-ci. Toutefois, nous ne pouvons pas utiliser leurs résultats car ils utilisent le produit de Hadamard au lieu du produit matriciel classique.

Définition 4.1.5. Soit x, y ∈ DΣdeuxDAD-termes dans lesquelsp n’apparait pas et soit a ∈ Σ. On définit supp(0) déf = 0, (4.1) supp(1) déf= 1, (4.2) supp(a) déf = 1, (4.3)

supp(x + y) déf= supp(x) + supp(y), (4.4)

supp(xy) déf

= supp(x) supp(y). (4.5)

SoitM : m × n une matrice dont toutes les entrées sont des DAD-termes dans lesquelsp n’apparait pas. Alors la matrice supp(M ) est la matrice de même dimension que M définie comme suit :

( supp(M ))[i, j] déf= supp(M [i, j]), (4.6) pour tout1 ≤ i ≤ m et 1 ≤ j ≤ n.

Exemple 4.1.6. Soit Σ = {a, b, c, d}.

Si M = " a + d 0 b 0 1 c # , alors supp(M ) = " 1 0 1 0 1 1 # .

La proposition suivante donne quelques propriétés de la fonctionsupp.

Proposition 4.1.7. Soit X1et X2deux matrices dont toutes les entrées sont des DAD dans lesquelsp

n’apparait pas. Alors les propriétés suivantes sont vérifiées.

1. Si X1 est une matrice binaire, alors supp(X1) = X1. On rappelle qu’une matrice est binaire

lorsque toutes ses entrées sont dans {0, 1}.

2. X1 ≤ X2 ⇒ supp(X1) ≤ supp(X2). Autrement dit, la fonction supp est monotone sur les

matrices.

(41)

4. supp(X1X2) = supp(X1) supp(X2).

5. supp( supp(X1)) = supp(X1).

Démonstration.

1. Il suffit de remarquer que par la définition4.1.5, six ∈ {0, 1}, alors supp(x) = x. Ainsi, si X1 : m × n est une matrice telle que X1[i, j] ∈ {0, 1} pour tout 1 ≤ i ≤ m et 1 ≤ j ≤ n,

alors( supp(X1)[i, j]) = X1[i, j] et donc supp(X1) = X1.

2. D’abord, on va montrer que pour toutx, y ∈ Σ ∪ {0, 1}, on a x ≤ y ⇒ supp(x) ≤ supp(y). En utilisant la définition4.1.5et l’hypothèsex ≤ y, qui est équivalente à x + y = y, on a :

supp(x) + supp(y) = supp(x + y) = supp(y).

Ainsi, par la définition de≤, on a supp(x) ≤ supp(y). À présent, considérons deux matrices X1etX2de dimensionm×n telles que X1≤ X2. Par définition, cela équivaut à dire que pour tout1 ≤ i ≤ m et 1 ≤ j ≤ n, on a X1[i, j] ≤ X2[i, j]. D’après ce que nous venons de prouver, cela implique supp(X1[i, j]) ≤ supp(X2[i, j]) ce qui, par la définition4.1.5, est équivalent à ( supp(X1))[i, j] ≤ ( supp(X2))[i, j]. Ainsi, X1 ≤ X2 ⇒ supp(X1) ≤ supp(X2).

3. SoitX1: m × n et X2 : m × n pour m, n ≥ 1. Pour tout 1 ≤ i ≤ m et 1 ≤ j ≤ n, on a ( supp(X1+ X2))[i, j]

= h (4.6)i supp((X1+ X2)[i, j])

= h Addition matricielle i supp(X1[i, j] + X2[i, j])

= h (4.4)i

supp(X1[i, j]) + supp(X2[i, j])

= h (4.6)i

( supp(X1))[i, j] + ( supp(X2))[i, j]

= h Addition matricielle i ( supp(X1) + supp(X2))[i, j].

Donc, on a bien supp(X1+ X2) = supp(X1) + supp(X2).

4. Soit X1 : m × n et X2 : n × p. Lorsque l’un des entiers m, n, p est égal à 0, la propriété est trivialement vraie. Donc, on peut supposerm, n, p ≥ 1. Il suffit de montrer que pour tout 1 ≤ i ≤ m et 1 ≤ j ≤ p, on a ( supp(X1X2))[i, j] = ( supp(X1) supp(X2))[i, j]. Soit donc

(42)

( supp(X1X2))[i, j]

= h (4.6)i supp((X1X2)[i, j])

= h Définition de la multiplication matricielle i supp((P k | 1 ≤ k ≤ n : X1[i, k]X2[k, j]))

= h (4.4)i

(P k | 1 ≤ k ≤ n : supp(X1[i, k]X2[k, j]))

= h (4.5)i

(P k | 1 ≤ k ≤ n : supp(X1[i, k]) supp(X2[k, j]))

= h (4.6)i

(P k | 1 ≤ k ≤ n : ( supp(X1))[i, k]( supp(X2))[k, j])

= h Définition de la multiplication matricielle i ( supp(X1) supp(X2))[i, j]

Ainsi, on a bien supp(X1X2) = supp(X1) supp(X2).

5. Puisque supp(X1) est une matrice binaire, la proposition4.1.7.1implique supp( supp(X1)) = supp(X1).

 Proposition 4.1.8. Soit Q1, Q2 des matrices dont les entrées sont des DAD-termes dans lesquels p

n’apparait pas et σ une relation.

1. Si σ est une application, alors Q1σ ≤ Q2 ⇔ Q1≤ Q2σ`.

2. Si σ est une application, alors σ`Q1 ≤ Q2 ⇔ Q1 ≤ σQ2.

Démonstration.

1. On suppose que σ est une application, ce qui, par définition, revient à dire que σ est totale et déterministe. D’abord, en utilisant la monotonie de ·, l’hypothèse que σ est totale et la transitivité de≤, on obtient

Q1σ ≤ Q2 ⇒ Q1σσ` ≤ Q2σ` ⇒ Q1 ≤ Q2σ`.

Ensuite, la monotonie de·, l’hypothèse que σ est déterministe et la transitivité de ≤ donnent Q1≤ Q2σ` ⇒ Q1σ ≤ Q2σ`σ ⇒ Q1σ ≤ Q2.

(43)

2. Là encore, supposons que σ est une application. En utilisant la monotonie de ·, l’hypothèse queσ est totale et la transitivité de ≤, on obtient

σ`Q1 ≤ Q2 ⇒ σσ`Q1≤ σQ2 ⇒ Q1≤ σQ2.

De plus, avec la monotonie de·, l’hypothèse σ est déterministe et la transitivité de ≤, on a Q1 ≤ σQ2 ⇒ σ`Q1 ≤ σ`σQ2 ⇒ σ`Q1 ≤ Q2.

Ainsi, nous avons prouvé queσ`Q1 ≤ Q2 ⇔ Q1 ≤ σQ2. 

4.2

Construction des arbres avec sommet

Nous définissons, pour chaques ∈ MΣ, unarbre avec sommet T (s). L’arbre T (s) peut être considéré comme une représentation alternative du terme simples. Nous commençons par présenter les arbres de façon schématique, avant de passer aux définitions formelles.

Unarbre est un graphe fini, dirigé, connexe et acyclique. La racine d’un arbre est l’unique nœud sans aucun arc entrant. Unarbre avec sommet est défini comme étant un arbre avec un nœud spécial appelésommet. Les arcs sont étiquetés par des éléments de l’alphabet Σ. Dans les figures suivantes, on suppose que les arcs sont orientés de haut en bas. Le sommet est représenté par un cercle creux, comme dans les deux arbres ci-dessous :

T1 = a a b T2= d d c a

L’arbreT (s) est construit inductivement.

— On définitT (1) comme étant l’arbre avec un seul nœud, qui est à la fois racine et sommet. T (1) =

— Pour touta ∈ Σ,

a T (a) =

(44)

— Soits ∈ MΣ. L’arbreT (ps) est obtenu à partir de T (s) en définissant le sommet comme étant la racine. Par exemple,

T (s) = d d c a ⇒ T (ps) = d d c a

— Soits, t ∈ MΣ. L’arbre T (st) est obtenu en fusionnant le sommet de T (s) avec la racine de T (t). La racine de T (st) est la racine de T (s) et le sommet de T (st) est le sommet de T (t). Par exemple, T (s) = d c et T (t) = a b ⇒ T (st) = d c a b

Définition 4.2.1. Un arbre avec sommet (ou tout simplement arbre) est un triplet de matrices hu, M, vi = h " 11×1 0m×1 # , " 01×1 λ1×m 0m×1 Am×m # , " ε1×1 ζm×1 # i, (4.7)

oùm ∈ N, les vecteurs u et v sont respectivement laracine et le sommet de l’arbre, et M est une matrice carrée dont les entrées sont dansΣ ∪ {0} qui est la matrice d’adjacence d’un arbre dont la racine est donnée paru.

À présent, nous définissons inductivement, pour chaque terme simples ∈ MΣ, un arbre T (s) = hus, Ms, vsi = h " 11×1 0m×1 # , " 01×1 λs 0m×1 As # , " ε(s) ζs . # i (4.8) avecm = |s|.

On définitT (s) par induction structurelle.

— T (1) = hu1, M1, v1i = h[1], [0], [1]i. Cette structure a la forme de (4.8) avecm = |1| = 0 et ε(1) = 1. L’arbre T (1) est un arbre possédant un seul nœud et aucune transition.

— Sia ∈ Σ, T (a) = hua, Ma, vai = h " 11×1 01×1 # , " 01×1 a 01×1 01×1 # , " 01×1 11×1 # i.

Références

Documents relatifs

Dans [A, théorème 4} Myers établit que dans le cas où T est compact C (T) est réflexif si et seulement si T est fini. De même que Warner dans £5] pour l'espace C c ,

Anneaux de polynômes.

Une partie non vide C de A est appelée sous-anneau de A si C est stable par addition et multiplication et si C est un anneau pour l’addition et la multiplication induites...

You can answer in any order that you like, but indicate the question numbers in your answers. Now consider each of the following statements and say whether it is true, false, or an

Leur structure d’algèbre de Gerstenhaber à homotopie près est définie comme la donnée d’un espace gradué A et d’une différentielle d (de degré 1) sur l’algèbre

Tout idéal à gauche dual primai est dual secondaire et tout idéal à gauche admet une représentation réduite comme somme d'un nombre fini d idéaux à gauche duaux secondaires,

La Section B (voir ES.C.C.B.3) est consacrée au pro- blème de la suffisante complétude connexe proprement dit : sous-quelles conditions une amphi-syntaxe D' peut-elle Être

idempotents et des demi-groupes inverses, avec les ordres de Drazin et de Hartwig : elles en sont des extensions.. On s’attache à définir sur les demi-groupes et