En ciertos rincones oscuros de la informática y la teoría de grupos, a menudo se quiere demostrar que un lenguaje no es un lenguaje regular (es decir, un lenguaje aceptado por un autómata de estado finito).
La única técnica en general sé que para hacer esto es el llamado "lema de bombeo", que dice que si L es un lenguaje regular, entonces existe algún n>0 con la siguiente propiedad. Si w es una palabra en L de longitud al menos n, entonces podemos escribir w=xyz (aquí x, y, y z son subpalabras) tales que y es trivial y xy^{k}z es un elemento de L para todo k>0.
Este lema básicamente refleja el hecho trivial de que en cualquier grafo dirigido, hay algunos n tal que cualquier camino de longitud al menos n contiene un bucle.
Pregunta: ¿existen otras técnicas generales para demostrar que un lenguaje no es regular?