Ngôn ngữ là thường xuyên.
Gợi ý: bỏ ra số tiền phạt
Ý tưởng bằng chứng
Với a = 9 và b < 9 ,a=9b<9
xây dựng một máy tự động với 9 trạng thái được dán nhãn từ 0 đến 8 . 0 là trạng thái ban đầu và trạng thái cuối cùng là b . Từ trạng thái s , trên chữ số d , chuyển sang trạng thái ( s + d )9080bsdm o d9 .(s+d)mod9
Để xử lý các giá trị khác của một số nguyên tố cùng với 10 ,a10
nhóm chữ số trong các gói để tìm một số k sao cho a chia 10 k - 1 (ví dụ: lấy k = 3 nếu a = 37 vì 999 = 27 × 37 ).ka10k−1k=3a=37999=27×37
Để xử lý các giá trị của một yếu tố duy nhất là 2 và 5 ,a25
lưu ý rằng đó là tất cả về một số chữ số hữu hạn ở cuối.
Để khái quát cho tất cả các giá trị của a và b ,ab
sử dụng thực tế là công đoàn và giao điểm của ngôn ngữ thường xuyên là thường xuyên, mà ngôn ngữ hữu hạn là bình thường, và rằng các bội số của một 1 ⋅ một 2 là chính xác bội số của cả hai khi một 1 và một 2 nguyên tố cùng nhau.a1⋅a2a1a2
Lưu ý rằng chúng tôi sử dụng bất kỳ kỹ thuật nào là thuận tiện; ba kỹ thuật cơ bản chính (biểu thức chính quy, automata hữu hạn, thuộc tính lý thuyết tập hợp) đều được trình bày trong bằng chứng này.
Bằng chứng chi tiết
Đặt a = 2 p 5 q a ′ với a ′ cùng với 10 . Hãy M ' = { ¯ một 'a=2p5qa′a′10x + b |x∈Z∧một'x + b ≥ 0 } và M " = { ¯ 2 p 5 qM′={a′x+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈Z∧a′x+b≥0}x + b |x∈Z∧2p5qx + b ≥ 0 } . Bởi số học tiểu học, các con số tương đương với b modulo một được chính xác những con số tương đương với b modulo một ' và b modulo 2 p 5 q , vì vậy M ∩ { ¯ x | x ≥ b } = M ' ∩ M " ∩ { ¯ x ∣ x ≥ b } . Vì giao điểm của các ngôn ngữ thông thường là thường xuyên vàM′′={2p5qx+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈Z∧2p5qx+b≥0}baba′b2p5qM∩{x¯¯¯∣x≥b}=M′∩M′′∩{x¯¯¯∣x≥b}{ ¯ x | x ≥ b } là bình thường bởi vì nó là phần bù của một hữu hạn (vì thế thường xuyên) ngôn ngữ, nếu M ' và M " cũng là bình thường, sau đó M ∩ { ¯ x | x ≥ b } là thường xuyên; và M do đó là thường xuyên vì nó là sự kết hợp của ngôn ngữ đó với một tập hợp hữu hạn. Vì vậy, để kết luận chứng minh nó cũng đủ để chứng minh rằng M ' và M " là bình thường.{x¯¯¯∣x≥b}M′M′′M∩{x¯¯¯∣x≥b}MM′M′′
Chúng ta hãy bắt đầu với M " , số tức là modulo 2 p 5 q . Các số nguyên có khai triển thập phân bằng M ″ được đặc trưng bởi các chữ số m a x ( p , q ) cuối cùng của chúng , vì việc thay đổi các chữ số còn lại có nghĩa là thêm bội của 10 m a x ( p , q ) là bội số của 2 p 5 q . Do đó 0 * M " = ℵ * F nơiM′′2p5qM′′max(p,q)10max(p,q)2p5q0∗M′′=ℵ∗Fℵ là bảng chữ cái của tất cả các chữ số và F là một tập hợp hữu hạn các từ có độ dài m một x ( p , q ) , và M " = ( ℵ * F ) ∩ ( ( ℵ ∖ { 0 } ) ℵ * ) là thường xuyên ngôn ngữ.ℵFmax(p,q)M′′=(ℵ∗F)∩((ℵ∖{0})ℵ∗)
Bây giờ chúng ta chuyển sang M ' , tức là số modulo một ' nơi một ' là nguyên tố cùng nhau với 10 . Nếu một ' = 1 thì M ' là tập hợp các mở rộng thập phân của tất cả bẩm, tức là M ' = { 0 } ∪ ( ( ℵ ∖ { 0 } ) ℵ * ) , mà là một ngôn ngữ thông thường. Bây giờ chúng ta giả định một ' > 1 . Hãy k = một ' -M′a′a′10a′=1M′M′={0}∪((ℵ∖{0})ℵ∗)a′>11 . Bởi định lý nhỏ Fermat, 10 một ' - 1 ≡ 1k=a′−1modmột ' , mà là để nói rằng một ' chia 10 k - 1 . Chúng tôi xây dựng một automaton hữu hạn xác định rằng sẽ nhận ra 0 * M ' như sau:10a′−1≡1moda′a′10k−1
- Các trạng thái là [ 0 , k - 1 ] × [ 0 , 10 k - 2 ] . Phần đầu tiên đại diện cho một vị trí chữ số và phần thứ hai đại diện cho một số modulo 10 k - 1 .
- Trạng thái ban đầu là ( 0 , 0 ) .
- Có một chuyển đổi được gắn nhãn d từ ( i , u ) sang ( j , v ) iff v ≡ d 10 i + umod10 k - 1 và j ≡ i + 1modk .
- Một nhà nước ( i , u ) là thức khi và chỉ khi u ≡ bmodmột ' (lưu ý rằng một ' chia 10 k - 1 ).
Trạng thái ( i , u ) đạt từ một từ ¯ x thỏa mãn i ≡ | ¯ x |modk và bạn ≡ xmod10 k - 1 . Điều này có thể được chứng minh bằng cách cảm ứng qua từ, sau các chuyển đổi trên máy tự động; quá trình chuyển đổi được tính cho điều này, sử dụng thực tế là 10 k ≡ 1mod10 k - 1 . Do đó, automaton nhận ra các mở rộng thập phân (cho phép các số 0 ban đầu) của các số có dạng u + y 10 k với u ≡ bmodmột ′ ; từ 10 k ≡ 1modmột ' , các automaton công nhận mở rộng thập phân của những con số tương đương với b modulo một ' phép zero ban đầu, đó là 0 * M ' . Ngôn ngữ này do đó được chứng minh thường xuyên. Cuối cùng, M ' = ( 0 * M ' ) ∩ ( ( ℵ ∖ { 0 } ) ℵ * ) là một ngôn ngữ thông thường.
Để khái quát hóa cho các cơ sở khác ngoài 10 , thay thế 2 và 5 ở trên bằng tất cả các yếu tố chính của cơ sở.
Bằng chứng chính thức
Còn lại như một bài tập cho người đọc, trong câu tục ngữ yêu thích của bạn.