Particionar un lenguaje regular infinito en 2 idiomas regulares infinitos disjuntos

9

Dado cualquier lenguaje regular infinito , ¿cómo puedo probar que puede dividirse en 2 idiomas regulares infinitos disjuntos ? Esto es: , , y y son ambos tanto infinito y regular.LLL1,L2L1L2=LL1L2=L1L2

Hasta ahora, pensé en:

  1. usando el lema de bombeo de manera que pero no pudo probar que están dichoint o que cubren completamente.

    L1={xynzn is even}L2={xymzm is odd}
    L
  2. Usando las particiones de lenguaje regular en dichas clases de equivalencia, pero no he descubierto cómo determinar si una clase de equivalencia es regular o infinita.Σ

Tom
fuente

Respuestas:

4

Deje . El teorema de Parikh muestra que es un conjunto eventualmente periódico. Deje que el período final sea . Como es infinito, hay algún desplazamiento tal que para todo . Por lo tanto, el lenguaje es infinito (contiene todas las palabras de longitud para algunos ), y el lenguaje también es infinito (contiene todo palabras de longitud para algunosS={|w|:wL}SLaa+kSk0L1={wL:|w|a(mod2)}a+2kk0L2=LL1a+(2k+1)k0, así como posiblemente otras palabras). Te dejaré mostrar que son ambos regulares.L1,L2

Yuval Filmus
fuente
Esto incluso funciona para lenguajes sin contexto.
Yuval Filmus
8

Cada lenguaje normal es aceptado por algunos DFA mínimos. Para un lenguaje regular infinito , llamemos a tal DFA . Considere cualquier estado que se pueden visitar más de una vez durante el procesamiento de un trozo de cuerda en . Si se puede visitar más de una vez, se deduce que se puede visitar cualquier número de veces. Definir y Este es un DFA, por lo que solo hay un camino. Cualquier cadena enLMLqLq

L1={wLq is visited an odd number of times}
L0={wLq is visited an even number of times}
Les aceptado por el DFA y debe visitar el estado varias veces (tal vez cero). El estado puede ser visitado un número ilimitado de veces; por lo tanto, sabemos que hay infinitas cadenas en (ya que hay palabras que hacen que el estado se visite 1 vez, 3 veces, etc.) y que hay infinitas cadenas en (ya que hay palabras que causan estado para ser visitado 0 veces, 2 veces, etc.). Cualquier cadena dada es o bien en o , y no puede estar en ambos, por lo . Sin embargo, cualquier palabra en está garantizado a estar en uno de estos dos conjuntos, por lo .L1L0L1L0L0L1=LL0L1=L
Patrick87
fuente
Todavía necesito convencer a OP de que los sublenguajes son regulares ...
vonbrand