Es ist regelmäßig. Lassen Sie uns zunächst in Binärform arbeiten, die auf jede Basis> 1 verallgemeinert wird. Sei die fragliche Sprache. Für a = 1, b = 0 erhalten wirMa,b
M1,0={1,10,11,100,101,...}
Das sind alle Zeichenfolgen über ohne führende Nullen, was regulär ist (konstruiere einen regulären Ausdruck dafür).{0,1}
Nun erhalten wir für jedes mit b noch 0 von indem wir numerisch mit a multiplizieren, dh die Transformation für jede Zeichenfolge von ausführen . Dies kann bitweise durch eine Folge von Verschiebungen und Additionen von , die von den Bits der festen Zeichenfolge abhängen . Die zwei Transformationen, die wir brauchen, sind:M a , 0 M 1 , 0 ˉ x → ¯ a x M a , 0 x ˉ aaMa,0M1,0x¯→ax¯¯¯¯¯¯Ma,0xa¯
ˉ x → ˉ x 0x¯→2x¯¯¯¯¯ , alsox¯→x¯0
und
x¯→2x+x¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Durch Verketten einer 0 auf der rechten Seite bleibt die Regelmäßigkeit deutlich erhalten. Wir müssen also nur beweisen, dass die zweite Operation die Regelmäßigkeit bewahrt. Der Weg dazu ist mit einem Finite-State-Wandler, der von rechts nach links an . Das ist der schwierigste Schritt. Ich schlage vor, dies mit einem Pseudocode-Programm und einem endlichen Hilfsspeicher (wie einigen Bitvariablen) zu tun, anstatt Zustände zu verwenden. Solange der Speicher über alle Eingänge hinweg eine feste Größe hat und Sie streng von rechts nach links scannen, handelt es sich um eine endliche Zustandsübertragung und behält die Regelmäßigkeit bei.x¯
Um schließlich von , müssen wir jedem String numerisch hinzufügen , aber dies geschieht mit einem ähnlichen Wandler der von der festen Zahl b abhängt. M a , 0 b T bMa,bMa,0bTb
Um dasselbe in jeder Basis zu tun, zeigen Sie zusätzlich, wie eine Multiplikation mit einer einzelnen Ziffer in dieser Basis unter Verwendung eines Wandlers , der von d abhängt. Damit können wir mit mehrstelligen Zahlen multiplizieren und bleiben dennoch in den regulären Sprachen. Oder wir können dies verfeinern, indem wir sagen, dass die Multiplikation mit nur eine wiederholte Addition ist.S d ddSdd
Sie wollten nur Hinweise. Jeder dieser Schritte hängt von einem ziemlich komplexen Theorem / einer ziemlich komplexen Technik ab. Daher ist es die zusätzliche Arbeit, zu beweisen, dass diese einen vollständigen Beweis erhalten.