3.7. EXPRESIONES REGULARES 63Ya que no hay estados con numeración mayor que N, Rij Nq i a q j .Es posible <strong>de</strong>finir Rij k <strong>de</strong> la siguiente manera formal:<strong>de</strong>nota todos los strings que llevan al AFD <strong>de</strong>R k ij = R k−1ikR 0 ij =(Rk−1 kk)∗ R k−1kj∪ R k−1ij (∀1 ≤ k ≤ N){ {a/δ(qi , a) = q j } si i ≠ j{a/δ(q i , a) = q j } ∪ {ε} si i = jInformalmente, la <strong>de</strong>finición anterior para R k ij significa que los strings que hacen que el AFD vaya <strong>de</strong> q ia q j , sin pasar por un estado mayor que q k , son <strong>de</strong> dos tipos:• están en R k−1ij , es <strong>de</strong>cir, no pasan ni siquiera por q k• están compuestos <strong>de</strong> un string en R k−1ik, que lleva a M <strong>de</strong> q 1 a q k por primera vez, seguido por cero omás strings en R k−1kk, que lleva a M <strong>de</strong> q k a q k sin pasar ni por q k , ni por un estado mayor, seguidofinalmente por un string en R k−1kj, que lleva a M <strong>de</strong> q k a q j .Se <strong>de</strong>be <strong>de</strong>mostrar que para cada i, j y k, existe una expresión regular rij k , que representa al lenguajeR ij . La prueba es por inducción en k.Base (k = 0): Rij 0 es un conjunto finito <strong>de</strong> strings, cada uno <strong>de</strong> los cuales es ε o un solo símbolo <strong>de</strong>l alfabeto.Por lo tanto, rij 0 pue<strong>de</strong> ser escrito como a 1 + a 2 + · · · + a p (o a 1 + a 2 + · · · + a p + ε si i = j), en que{a 1 , . . . , a p } es el conjunto <strong>de</strong> todos los símbolos a, tales que δ(q i , a) = q j . Si no los hay, entonces ∅ (oε si i = j) sirve como rij 0 .Inducción: La fórmula recursiva para Rij k envuelve sólo las operaciones : unión, concatenación y clausura.Por la hipótesis, para cada l y m existe una expresión regular r ′ , tal queL(r k−1lm) = Rk−1 lmPor lo tanto, para r k−1ijse pue<strong>de</strong> usar la expresión regular(r k−1lm)(rk−1 kk)∗ (r k−1kj) + r k−1ijlo que completa la prueba por inducción.Para terminar la <strong>de</strong>mostración <strong>de</strong>l teorema, basta con observar queL(M) = ∪ qj ∈F R N 1jdado que R N 1j <strong>de</strong>nota las etiquetas <strong>de</strong> los caminos <strong>de</strong> q 1, el estado inicial, a q j . Por lo tanto, L(M) se pue<strong>de</strong>representar por la expresión regularr N 1j 1+ r N 1j 2+ . . . + r N 1j pen que F = {q j1 , q j2 , . . . , q jp }✷
64 CHAPTER 3.ACEPTACIÓN Y GENERACIÓN DE LENGUAJES REGULARESEjemplo 60 Se construirá una expresión regular que <strong>de</strong>scribe el lenguaje aceptado por el siguiente AFD✬★✥✲ q 01✧✦✻ 0✧1✬✩★✥✲ q 12✫✪✧✦0, 1✌ ✻✍✩✬✩★✥❄✲ q3✫✪✧✦✕Interesa r = r 3 12 + r3 13r 3 12 = r 2 12 + r2 13 (r2 33 )∗ r 2 32r 2 12 = r 1 12 + r 1 12(r 1 22) ∗ r 1 22r 1 12 = r 0 12 + r0 11 (r0 11 )∗ r 0 12= 0 + ε(ε) ∗ 0 = 0r 1 22 = r 0 22 + r 0 21(r 0 11) ∗ r 0 12 = ε + 0ε ∗ 0 = ε + 00r 2 12 = 0 + 0(ε + 00) ∗ (ε + 00) = 0 + 0(ε + 00) + = 0(00) ∗r 2 13 = r 1 13 + r1 13 (r1 22 )∗ r 1 23r 1 13 = r 0 13 + r 0 11(r 0 11) ∗ r 0 13 = 1 + ε(ε) ∗ 1 = 1r 1 23 = r 0 23 + r 0 21(r 0 11) ∗ r 0 13 = 1 + 0(ε) ∗ 1 = 1 + 01r13 2 = 1 + 0(ε + 00) ∗ (1 + 01) = 1 + 0(00) ∗ 1 = ε= 1 + 00 ∗ 1 = 0 ∗ 1r 2 33 = r 1 33 + r1 32 (r1 22 )∗ r 1 23r 1 33 = r 0 33 + r0 31 (r0 11 )∗ r 0 13 = ε + ∅(ε) ∗ 1 = εr 1 32 = r 0 32 + r0 31 (r0 11 )∗ r 0 12 = (0 + 1) + ∅(ε) ∗ 0 = 0 + 1r 2 33 = ε + (0 + 1)(ε + 00) ∗ (1 + 01) = ε + (0 + 1)0 ∗ 1r 2 32 = r 1 32 + r1 32 (r1 22 )∗ r 1 22 = (0 + 1) + (0 + 1)(ε + 00) ∗ (ε + 00)= 0 + 1 + (0 + 1)(00) ∗ = (0 + 1)(00) ∗luegor 3 12 = 0(00) ∗ + 0 ∗ 1(ε + (0 + 1)0 ∗ 1) ∗ (0 + 1)(00) ∗= 0(00) ∗ + 0 ∗ 1((0 + 1)0 ∗ 1) ∗ (0 + 1)(00) ∗similarmente,