Algèbre de Kleene - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En mathématiques, une algèbre de Kleene (du nom du logicien américain Stephen Cole Kleene) correspond à l'un des deux concepts suivants :

  • Un treillis ordonné et distributif avec une involution satisfaisant les lois de De Morgan et l'inégalité x∧−x ≤ y∨−y. Ce qui fait que chaque algèbre booléenne est une algèbre de Kleene, la réciproque étant fausse. À l'instar des algèbres de Boole qui sont basées sur les propositions logiques classiques, les algèbres de Kleene sont basées sur la logique ternaire de Kleene.
  • Une structure algébrique qui généralise les opérations connues à partir d'expressions rationnelles. La suite de cet article traitera de cette notion d'algèbre de Kleene. À l'origine de cette notion on trouve le mathématicien John Horton Conway qui l'a introduite sous le nom d'algèbres régulières.

Définition

De nombreuses définitions non équivalentes des algèbres de Kleene et des structures liées ont été données dans la littérature. Nous donnerons ici la définition qui semble la plus communément admise aujourd'hui.

Une algèbre de Kleene est un ensemble doté des deux lois de composition interne + : A × A → A et · : A × A → A et de l'opérateur * : A → A. Ces lois et cet opérateur sont notés a + b, ab et a* respectivement. Ces opérations satisfont les axiomes suivants :

  • associativité de + et · : a + (b + c) = (a + b) + c et a(bc) = (ab)c pour tout a, b, c de A.
  • commutativité de + : a + b = b + a pour tout a, b de A.
  • distributivité : a(b + c) = (ab) + (ac) et (b + c)a = (ba) + (ca) pour tout a, b, c de A.
  • éléments neutres pour + et · : il existe un élément 0 de A tel que pour tout a de A : a + 0 = 0 + a = a. Il existe un élément 1 de A tel que pour tout a de A : a1 = 1a = a.
  • 0 est un élément absorbant : a0 = 0a = 0 pour tout a de A.

Les axiomes ci-dessus définissent un semi-anneau. On ajoute de plus :

  • l'idempotence de + : pour tout a de A, a + a = a.

Il est dès lors possible de définir un préordre ≤ sur A en postulant a ≤ b si et seulement si a + b = b (ou de manière équivalente, a ≤ b si et seulement il existe c dans A tel que a + c = b). Cette relation d'ordre permet de poser les deux derniers axiomes sur l'opérateur * :

  • 1 + a(a*) ≤ a* pour tout a de A.
  • 1 + (a*)a ≤ a* pour tout a de A.
  • si a et b sont deux éléments de A tels que ab ≤ b alors a*b ≤ b.
  • si a et b sont deux éléments de A tels que ba ≤ b alors b(a*) ≤ b.

De manière intuitive, on peut penser à a + b comme l'union ou le plus petit majorant de a et b, et à ab comme une multiplication croissante, dans le sens où a ≤ b implique ax ≤ bx. L'idée sousjacente à l'opérateur « étoile » est que a*=1 + a + aa + aaa + ... Du point de vue de la théorie de la programmation, on peut interpréter + comme un opérateur de « choix » non déterministe, · comme la « composition séquentielle » et * comme l'« itération ».

Propriétés

Zéro, noté 0, est le plus petit élément de l'ensemble, autrement dit 0 ≤ a pour tout a dans A.

La somme a + b est le plus petit majorant de a et b : on a a ≤ a + b et b ≤ a + b et si x est un élément de A avec a ≤ x et b ≤ x, alors a + b ≤ x. De manière similaire, a1 + ... + an est le plus petit majorant des éléments a1, ..., an.

La multiplication et l'addition sont monotoniques : si a ≤ b, alors a + x ≤ b + x, ax ≤ bx et xa ≤ xb pour tout x de A.

Considérant l'opération *, nous avons 0* = 1 et 1* = 1, ce * est croissant (a ≤ b implique a* ≤ b*), et que an ≤ a* pour tout entier naturel n. De plus, (a*)(a*) = a*, (a*)* = a*, et a ≤ b* si et seulement si a* ≤ b*.

Les séries formelles forment une algèbre de Kleene à condition de prendre pour f * la série (1 - f )-1.

Si A est une algèbre de Kleene et n un entier naturel, on peut considérer l'ensemble Mn(A) constituées de toutes les matrices n par n avec entrées dans A. En utilisant les notions ordinaires d'additions et de multiplications matricielles, on peut définir une opération * unique telle que Mn(A) devienne une algèbre de Kleene.

Page générée en 0.081 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise