Supongamos que hay dos palabras en el idioma cuyas longitudes son relativamente primas. Deje que estas longitudes sean e . Sabemos (vea esto ) que al sumar estos números entre sí repetidamente, podemos obtener cualquier número mayor que . Entonces, si e son y , podemos escribir cualquier número mayor que como una combinación lineal de y . Lo que esto significa para nosotros: consiste en un lenguaje finito arbitrario (regular, como todos los idiomas finitos), en unión con el idiomaxy(x−1)(y−1)−1xy13772713L∗2{w∈a∗∣|a|>(x−1)(y−1)−1}. Este idioma es regular ya que es el idioma de todas las palabras con un conjunto finito de palabras eliminado. Como es una unión de lenguajes regulares, también debe ser regular.L∗2
Si todas las palabras en tienen longitudes que comparten un máximo factor común (llame a este factor común ), entonces repita el argumento anterior, pero en lugar de usar longitudes de cadena, use longitudes de cadena divididas por . En este caso, será la concatenación de un lenguaje finito arbitrario (regular) y el idioma , también regular (ya que $ (a ^ m) ^ * es regular y estamos eliminando finitamente muchas palabras de él).L∗2mmL∗2{w∈(am)∗∣|w|>m2[(x/m−1)(y/m−1)−1]}
Por ejemplo, suponga que todas las palabras en tienen un MCD de 2, y el lenguaje contiene las palabras y . Tenemos , e , que son relativamente primos. Por lo tanto, sabemos que podemos obtener cualquier palabra cuya longitud sea múltiplo de si la longitud es mayor que concatenando y .La4a10m=2x/m=4/2=2y/m=10/2=5mm2[(x/m−1)(y/m−1)−1]=22[(2−1)(5−1)−1]=(4)(3)=12a4a10