El lenguaje es regular.
Sugerencia: expulsar nueves
Idea de prueba
Para y b < 9 ,a=9b<9
construir un autómata con estados etiquetados de 0 a 8 . 0 es el estado inicial, y el último estado es b . Desde el estado s , en el dígito d , transición al estado ( s + d )9080bsd .(s+d)mod9
Para manejar otros valores de que son coprimos con 10 ,a10
agrupe los dígitos en paquetes para encontrar algo de modo que a divida 10 k - 1 (por ejemplo, tome k = 3 si a = 37 porque 999 = 27 × 37 ).ka10k−1k=3a=37999=27×37
Para manejar valores de cuyos únicos factores primos son 2 y 5 ,a25
tenga en cuenta que se trata de un número finito de dígitos al final.
Para generalizar a todos los valores de y b ,ab
use el hecho de que la unión y la intersección de los lenguajes regulares son regulares, que los lenguajes finitos son regulares y que los múltiplos de son exactamente los múltiplos de ambos cuando un 1 y un 2 son coprimos.a1⋅a2a1a2
Tenga en cuenta que utilizamos la técnica que sea conveniente; Las tres técnicas elementales principales (expresiones regulares, autómatas finitos, propiedades de teoría de conjuntos) están representadas en esta demostración.
Prueba detallada
Sea con un ′ coprimo con 10 . Deje M ′ = { ¯ a ′a=2p5qa′a′10 y M ″ = { ¯ 2 p 5 qM′={a′x+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈Z∧a′x+b≥0} . Por aritmética elemental, los números iguales a b módulo a son exactamente los números iguales a b módulo a ′ y a b módulo 2 p 5 q , entonces M ∩ { ¯ x ∣ x ≥ b } = M ′ ∩ M ″ ∩ { ¯ x ∣ x ≥ b } . Dado que la intersección de los idiomas regulares es regular, yM′′={2p5qx+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈Z∧2p5qx+b≥0}baba′b2p5qM∩{x¯¯¯∣x≥b}=M′∩M′′∩{x¯¯¯∣x≥b} es regular porque es el complemento de un lenguaje finito (por lo tanto, regular), si M ′ y M ″ también son regulares, entonces M ∩ { ¯ x ∣ x ≥ b } es regular; y M es, por lo tanto, regular ya que es la unión de ese lenguaje con un conjunto finito. Por lo tanto, para concluir la prueba, es suficiente demostrar que M ' y M ″ son regulares.{x¯¯¯∣x≥b}M′M′′M∩{x¯¯¯∣x≥b}MM′M′′
Comencemos con , es decir, números módulo 2 p 5 q . Los enteros cuya decimal expansión está en M " se caracterizan por su último m un x ( p , q ) dígitos, ya que el cambio dígitos además medios que dejan la adición de un múltiplo de 10 m una x ( p , q ) que es un múltiplo de 2 p 5 q . Por lo tanto, 0 ∗ M ″ = ℵ ∗ F dondeM′′2p5qM′′max(p,q)10max(p,q)2p5q0∗M′′=ℵ∗F es el alfabeto de todos los dígitos y F es un conjunto finito de palabras de longitud m a x ( p , q ) , y M ″ = ( ℵ ∗ F ) ∩ ( ( ℵ ∖ { 0 } ) ℵ ∗ ) es un idioma.ℵFmax(p,q)M′′=(ℵ∗F)∩((ℵ∖{0})ℵ∗)
Ahora pasamos a , es decir, los números del módulo a ′ donde a ′ es coprimo con 10 . Si a ′ = 1, entonces M ′ es el conjunto de expansiones decimales de todos los naturales, es decir, M ′ = { 0 } ∪ ( ( ℵ ∖ { 0 } ) ℵ ∗ ) , que es un lenguaje normal. Imaginemos ahora un ' > 1 . Deje k = a ′ -M′a′a′10a′=1M′M′={0}∪((ℵ∖{0})ℵ∗)a′>1 . Según el pequeño teorema de Fermat, 10 a ′ - 1 ≡ 1k=a′−1 , lo que significa que a ′ divide 10 k - 1 . Construimos un autómata finito determinista que reconocerá 0 ∗ M ′ de la siguiente manera:10a′−1≡1moda′a′10k−10∗M′
- Los estados son . La primera parte representa una posición de dígitos y la segunda parte representa un módulo de número 10 k - 1 .[0,k−1]×[0,10k−2]10k−1
- El estado inicial es .(0,0)
- Hay una transición etiquetada de ( i , u ) a ( j , v ) iff v ≡ d 10 i + ud(i,u)(j,v) y j ≡ i + 1v≡d10i+umod10k−1 .j≡i+1modk
- Un estado es final si u ≡ b(i,u) (tenga en cuenta que a ′ divide 10 k - 1 ).u≡bmoda′a′10k−1
El estado alcanzado desde una palabra ¯ x satisface i ≡ | ¯ x |(i,u)x¯¯¯ y u ≡ xi≡|x¯¯¯|modk . Esto se puede probar por inducción sobre la palabra, siguiendo las transiciones en el autómata; las transiciones se calculan para esto, usando el hecho de que 10 k ≡ 1u≡xmod10k−1 . Así, el autómata reconoce las expansiones decimales (permitiendo ceros iniciales) de los números de la forma u + y 10 k con u ≡ b10k≡1mod10k−1u+y10k ; desde 10 k ≡ 1u≡bmoda′ , el autómata reconoce las expansiones decimales de los números iguales a b módulo a ′ permitiendo ceros iniciales, que es 0 ∗ M ′ . Este lenguaje se demuestra así regular. Finalmente, M ′ = ( 0 ∗ M ′ ) ∩ ( ( ℵ ∖ { 0 } ) ℵ ∗ ) es un lenguaje regular.10k≡1moda′ba′0∗M′M′=(0∗M′)∩((ℵ∖{0})ℵ∗)
Para generalizar a bases distintas de , reemplace 2 y 5 anteriores por todos los factores primos de la base.1025
Prueba formal
Dejado como ejercicio para el lector, en su probador de teoremas favorito.