✖

Diferencia de lenguajes regulares

Tomemos dos lenguajes regulares L1, L2. Demostraremos que su diferencia L = L1 ∖ L2 es también un lenguaje regular.

Idea

En realidad no hay mucho que demostrar. Para la diferencia de dos conjuntos se cumple la siguiente relación:

L1∖L2=L1∩L2―,

donde L2― es el complemento del lenguaje L2. Por los capítulos sobre la intersección de lenguajes regulares y el complemento de un lenguaje regular sabemos que los lenguajes regulares son cerrados respecto de ambas operaciones. Esto significa que podemos construir un autómata que acepte la intersección de lenguajes y el complemento de un lenguaje. Podemos usar estos autómatas para construir un autómata que acepte el lenguaje L1∩L2―, que es a la vez el lenguaje L1 ∖ L2.

Ejemplo

Tomemos este autómata A1, que acepta todas las palabras que contienen un número par de 1:

y el autómata A2, que acepta las palabras que contienen un número impar de 0:

Construimos un autómata que aceptará la diferencia de estos lenguajes. Necesitamos, por tanto, un autómata A2′ que sea el complemento del autómata A2. Basta intercambiar los estados finales y los no finales:

Ahora solo nos queda construir el autómata A que aceptará la intersección de los lenguajes L(A1) y L(A2′):

Fuentes

Capítulos: Propiedades de cierre de los lenguajes regulares, Unión de lenguajes regulares, Intersección de lenguajes regulares, Diferencia de lenguajes regulares, Complemento de un lenguaje regular, Concatenación de lenguajes regulares, Clausura de un lenguaje regular