title: Lema del bombeo para lenguajes regulares
text: # Lema del bombeo para lenguajes regulares
  
  En la teoría de lenguajes formales, el lema del bombeo para lenguajes regulares describe una propiedad esencial de todo lenguaje regular. Informalmente, dice que cualquier palabra suficientemente larga en un lenguaje regular puede ser bombeada - eso es, repetir una sección en la mitad de la palabra un número arbitrario de veces - para producir una nueva palabra que también pertenece al mismo lenguaje.
  El lema de bombeo fue enunciado por primera vez por Y. Bar-Hillel, M. Perles, E. Shamir en 1961. Es útil para demostrar que un lenguaje específico no es regular.
  
  # Lema del bombeo para lenguajes regulares
  ## Enunciado formal
  
  Sea $L$ un lenguaje regular. Entonces existe un entero $p\geq 1$ (al que llamaremos "longitud de bombeo" y que dependerá exclusivamente de $L$) tal que cualquier cadena $w$ perteneciente a $L$, de longitud mayor o igual que $p$, puede ser escrita como $w=xyz$ (p. ej. dividiendo $w$ en tres subcadenas), de forma que se satisfacen las siguientes condiciones:
  * $|y|\geq 1$
  * $|xy|\leq p$
  * $(\forall n\geq 0)(xy^{n}z\in L)$
  $y$ es la subcadena que puede ser bombeada (borrada o repetida un número $n$ de veces como se indica en (3), y la cadena resultante seguirá perteneciendo a $L$). (1) significa que la cadena $y$ que se bombea debe tener como mínimo longitud uno. (2) significa que $y$ debe estar dentro de los $p$ primeros caracteres y que $x$ tiene una longitud finita. No hay restricciones acerca de $z$.
  
  # Lema del bombeo para lenguajes regulares
  ## Uso del lema
  
  El lema del bombeo se usa a menudo para probar que un lenguaje particular no es regular: una demostración por reducción al absurdo (de que un lenguaje no es regular) puede consistir en encontrar una palabra (de una longitud requerida) en el lenguaje, que carece de la propiedad descrita en el lema del bombeo.
  Por ejemplo, del lenguaje $L=\{a^{n}b^{n}\ :n\geq 0\}$ sobre el alfabeto $\Sigma =\{a,b\}$ puede demostrarse que no es regular como sigue:
  Supongamos que $L$ es regular. La palabra
      $w=a^{p}b^{p}$
  donde $p$ es la constante del lema de bombeo, es una palabra de $L$.
  Sea
      $w=xyz$
  una descomposición que cumple las condiciones del lema. Aplicando el lema, sabemos que
      $xy^{i}z\in L$
  Sin embargo, como
      $|xy|\leq p,\ |y|>0$
  necesariamente
      $xy=a^{k}$
  siendo $k\leq p$. Entonces,
      $x=a^{k_{1}},\ y=a^{k_{2}}$
  siendo $k_{1}+k_{2}=k$ y $z=a^{p-k}b^{p}$.
  El número de $a$ en la palabra $xy^{2}z\in L$, que por el lema pertenece al lenguaje $L$, es
      $k_{1}+2k_{2}+p-k=k+k_{2}+p-k=k_{2}+p>p$
  Por tanto, la palabra tiene más $a$ que $b$, por lo que no puede ser una palabra de $L$.
  La suposición de que $L$ es regular es incorrecta. Por tanto, $L$ no es regular.