Мова регулярна.
Підказка: викиньте дев’ять
Доказ ідеї
Для і ,a = 9 b < 9a=9b<9
побудувати автомат з станів, позначених від до . - початковий стан, а один кінцевий стан - . З стану , на цифрі , перехід у стан .9 0 8 0 b s d ( s + d )9080bsdм о д9(s+d)mod9
Для обробки інших значень які є спільними з ,a 10a10
групи цифр в пакетах , щоб знайти такі , що ділить (наприклад , взяти , якщо , тому що ).k a 10 k - 1 k = 3 a = 37 999 = 27 × 37ka10k−1k=3a=37999=27×37
Для обробки значень яких тільки прості чинники і ,a 2 5a25
зауважте, що мова йде про кінцеву кількість цифр наприкінці.
Щоб узагальнити всі значення і ,a bab
використовуйте той факт, що об'єднання та перетин регулярних мов є регулярними, що кінцеві мови є регулярними, і що множини є точно кратними обох, коли та є одночасними.a 1 ⋅ a 2 a 1 a 2a1⋅a2a1a2
Зауважте, що ми використовуємо будь-яку техніку зручно; три основні елементарні прийоми (регулярні вирази, кінцеві автомати, задані теоретичні властивості) представлені у цьому доказі.
Детальний доказ
Нехай з coprime з . Нехай і . За елементарною арифметикою числа, рівні модулю є рівно числами, рівними modulo і modulo , тому . Оскільки перетин регулярних мов є регулярним, іa = 2 p 5 q a ′ a ′ 10 M ′ = { ¯ a ′a=2p5qa′a′10x + b ∣x∈Z∧a′x + b ≥ 0 } M ″ = { ¯ 2 p 5 qM′={a′x+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈Z∧a′x+b≥0}x + b ∣x∈Z∧2p5qx + b ≥ 0 } b a b a ′ b 2 p 5 q M ∩ { ¯ xM′′={2p5qx+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈Z∧2p5qx+b≥0}baba′b2p5q ∣ x ≥ b } = M ′ ∩ M ″ ∩ { ¯ x ∣ x ≥ b } { ¯ x ∣ x ≥ b } M ′ M ″ M ∩ { ¯ x ∣ x ≥M∩{x¯¯¯∣x≥b}=M′∩M′′∩{x¯¯¯∣x≥b}{x¯¯¯∣x≥b}регулярна, тому що є доповненням кінцевої (отже, регулярної) мови, якщо і також регулярні, то є регулярним; і тому є регулярним, оскільки це об'єднання цієї мови з кінцевим набором. Отже, для завершення доказу достатньо довести, що і є регулярними.M′M′′b } M M ′ M ″M∩{x¯¯¯∣x≥b}MM′M′′
Почнемо з , тобто чисел по модулю . Цілі числа, десяткове розширення яких знаходиться в , характеризуються останніми цифрами, оскільки зміна цифр надалі ліворуч означає додавання кратного який кратний . Звідси де - алфавіт усіх цифр і - кінцевий набір слів довжиною , а - звичайна мова.M ″ 2 p 5 q M ″ m a x ( p , q ) 10 m a x (M′′2p5qM′′max(p,q) p , q ) 2 p 5 q 0 ∗ M ″ = ℵ ∗ FℵF m a x (p,q) M ″ =( ℵ ∗ F)∩((ℵ∖{10max(p,q)2p5q0∗M′′=ℵ∗FℵFmax(p,q)0 } ) ℵ ∗ )M′′=(ℵ∗F)∩((ℵ∖{0})ℵ∗)
Тепер ми переходимо до , тобто числа по модулю де є співвідношенням з . Якщо то - це набір десяткових розширень усіх натуралів, тобто , що є a звичайна мова. Тепер ми припускаємо, . Нехай . За малою теоремою Ферма , що означає, що ділить . Ми будуємо детермінований кінцевий автомат, який розпізнає наступним чином:M ′ a ′ a ′ 10 aM′a′a′10 ′ = 1 M ′ M ′ = { 0 } ∪ ( ( ℵ ∖ { 0 } ) ℵ ∗ ) a ′ > 1 k = a ′ - 1 10 a ′ - 1 ≡ 1a′=1M′M′={0}∪((ℵ∖{0})ℵ∗)a′>1k=a′−1модa ′ a ′ 10 k - 1 0 ∗ M ′10a′−1≡1moda′a′10k−10∗M′
- Стани . Перша частина являє собою позицію цифри, а друга частина являє собою числовий модуль .[ 0 , k - 1 ] × [ 0 , 10 k - 2 ] 10 k - 1[0,k−1]×[0,10k−2]10k−1
- Початковий стан дорівнює .( 0 , 0 )(0,0)
- Існує перехід, позначений від до iff і .d ( i , u ) ( j , v ) v ≡ d 10 i + ud(i,u)(j,v)мод10 к - 1 j ≡ i + 1v≡d10i+umod10k−1модк
- Стан є остаточним iff (зауважте, що ділить ).( i , u ) u ≡ bмодa ′ a ′ 10 k - 1
Стан досягнутий від слова задовольняє і . Це можна довести індукцією над словом, дотримуючись переходів на автоматі; для цього обчислюються переходи, використовуючи той факт, що . Таким чином, автомат розпізнає десяткові розширення (дозволяючи початкові нулі) чисел виду з ; оскільки , автомат розпізнає десяткові розширення чисел, рівних modulo дозволяючи початкові нулі, що є( i , u ) ¯ x i ≡ | ¯ x |модk u ≡ xмод10 к - 1 10 к ≡ 1мод10 k - 1 u + y 10 k u ≡ bмодa ′ 10 k ≡ 1модa ′ b a ′ 0 ∗ M ′ M ′ = ( 0 ∗ M ′ ) ∩ ( ( ℵ ∖ { 0 } ) ℵ ∗ ) . Таким чином, ця мова виявляється регулярною. Нарешті, є звичайною мовою.
Щоб узагальнити основи, відмінні від , замініть вище і усіма основними коефіцієнтами основи.10 2 5
Офіційне підтвердження
Залишилося як вправа для читача, у вашій улюбленій теоремі.