1) Si nous autorisons également l'intersection et le complément, les expressions résultantes sont parfois appelées expressions régulières étendues; comme les langues régulières sont fermées sous des opérations booléennes, rien n'y est gagné. C'est juste du sucre syntaxique. Une conclusion similaire vaut pour l'opération inverse. Une partie de la raison pour laquelle en première instance toutes les autres opérations ne sont pas mentionnées est le but de garder la définition aussi simple que possible, de sorte que les preuves (inductives) n'aient pas à prendre en charge de nombreux cas. Une autre cause pourrait être que si nous autorisons certaines opérations, mais pas d'autres, dans certains cas, des classes de langage très distinctes (sous-régulières), par exemple si nous considérons l'expression régulière étendue sans l'opérateur étoile, alors nous obtenons une sous-classe appropriée des classes régulières , les langues dites sans étoiles ou apériodiques, voir wikipedia: langage sans étoiles .
2) Si nous conservons les éléments 1. - 6. mais modifions simplement l'élément 4. en utilisant l'intersection au lieu de l'union, nous obtenons une sous-classe appropriée des langues régulières. Par exemple, nous ne pourrions plus décrire le langage car il impliquerait l'union de { a } et { b } (voir la preuve ci-dessous). Si nous permettons la complémentation, les choses changent car nous avons l'union de retour par les lois de DeMorgan.L = { a , b }{ a }{ b }
3) J'ai répondu en partie en 1), mais que voulez-vous dire lorsque vous dites que cette définition est préférée? Je connais les définitions où 2. est omis (comme nous l'avons par 6. que ), ou 3. est omis (comme nous avons ∅ = L ( ¯ X ∗ )), ou les deux sont omis ; donc celle-ci n'est pas la définition minimale possible (elle nous donne aussi du sucre syntaxique car nous avons des symboles supplémentaires pour décrire { ε } et ∅ ).L ( ∅∗) = { ε }∅ = L ( X∗¯¯¯¯¯¯¯{ ε }∅
EDIT : Mon premier commentaire mentionné en 2) était faux, les langues dans la fermeture inductive sous , ∗ et ∩ ne sont pas nécessairement des sous-ensembles de x ∗ pour certains x ∈ X , par exemple, considérons L ( a ∘ b ) = { a b } . Néanmoins nous avons que L = { a , b } ne pourrait pas être décrit par une telle expression. Je vais donner une preuve, à savoir je prouve que si L = L ( R )∘∗∩X∗x ∈ XL ( a ∘ b ) = { a b }L = { a , b }L = L ( R )pour une expression avec l'élément 4 modifié, alors si (et donc un ≠ b )
{ a , b } ⊆ L ⇒ un b ∈ L .
La preuve passe par induction sur l'expression R . Pour le cas de base, il est vide, supposons maintenant qu'il vaut pour L ( R 1 ) , L ( R 2 ) . Si L = L ( R 1 ∩X= { a , b }a ≠ b
{ A , b } ⊆ L ⇒ un b ∈ L .
RL ( R1) , L ( R2) et
{ a , b } ⊆ L , puis
{ a , b } ⊆ L ( R i ) , i = 1 , 2 donc par hypothèse d'induction on a
a b ∈ L ( R 1 ) ∩ L ( R 2 ) . Si
L = L ( R1∩ R2) = L ( R1) ∩ L ( R2){a,b}⊆L{a,b}⊆L(Ri),i=1,2ab∈L(R1)∩L(R2) alors comme
a = a ⋅ ε = ε ⋅ a nous devons avoir
a ∈ L ( R 1 ) et
ε ∈ L ( R 2 ) ou vice versa. Supposons le premier cas. Si
b ∈ L ({a,b}⊆L(R1∘R2) = L ( R1) L ( R2)a = a ⋅ ε = ε ⋅ aa ∈ L ( R1)ε ∈ L ( R2) , puis
a b ∈ L ( R 1 ) par hypothèse d'induction, d'où
a b = a b ⋅ ε ∈ L ( R 1 ) L ( R 2 ) . Supposons maintenant
b ∈ L ( R 2 ) , alors nous avons
un ⋅ b ∈ L ( R 2 ) L ( R 2 ) par définition de
b ∈ L ( R1)a b ∈ L ( R1)a b = a b ⋅ ε ∈ L ( R1) L ( R2)b ∈ L ( R2)a ⋅ b ∈ L ( R2) L ( R2) . Enfin si
a , b ∈ L ( R ∗ 1 ) , alors
a ∈ L ( R 1 ) n
et
b ∈ L ( R 2 ) m pour certains
n , m > 0 . Si
n = m = 1 on trouve
a b ∈ L ( RL ( R1) L ( R2)a , b ∈ L ( R∗1)a ∈ L ( R1)nb ∈ L ( R2)mn,m>0n=m=1 par hypothèse d'induction, supposons donc
n > 1 , mais cela donne
a ∈ L ( R 1 ) , similaire soit
m = 1 ou
m > 1 donne
b ∈ L ( R 1 ) et l'hypothèse d'induction donne
a b ∈ L ( R 1 ) ⊆ L ( R ∗ 1 ) .
◻ab∈L(R1)n>1a∈L(R1)m=1m>1b∈L(R1)ab∈L(R1)⊆L(R∗1)□
Remarque: Une conclusion couramment utilisée: si , alors u = a ou w = a . Cela suit comme 1 = | a | = | u w | = | u | + | w | , donc | u | = 0 et | w | = 1 ou | u | = 1 et | w | =a=uwu=aw=a1=|a|=|uw|=|u|+|w||u|=0|w|=1|u|=1 . Dans le premier cas, nous avons u = ε et donc a = w .|w|=0u=εa=w