無限単項言語のクリーネスターは常に通常の言語を生成します


8

ましょL={ann0}0 = εとのすべてのためのn 1a0=ϵan=an1an1

従ってLの配列で構成された長さの配列を含む全ての長さの、0。してみましょうL 2は、任意の無限のサブセットであるLL を認識するDFAが常に存在することを示す必要がありますa0L2LL2ます。

場合はL2有限のサブセットであることは、として非常に明白であるL2クリーネの閉鎖により、DFA、ひいてはだろうL2 DFAによって認識されるだろう。ただし、文字列の長さが素数である場合など、L2はDFAとして表現されない可能性があるため、無限サブセットについては取得できません。

回答:


8

言語の長さが比較的素数である2つの単語があるとします。これらの長さをyとします。これらの数値を繰り返し加算することで、x 1 y 1 1より大きい任意の数値を取得できることはわかっています(これを参照)。したがって、xy137の場合、72より大きい任意の数を713の線形結合として書き込むことができます。これが私たちに意味すること:L 2xy(x1)(y1)1xy13772713L2言語と労働組合で、(すべての有限の言語として、定期的に)いくつかの任意の有限言語で構成され。この言語は、有限の単語セットが削除されたすべての単語の言語であるため、規則的です。以来L * 2が正規言語の労働組合である、それはまた、定期的にする必要があります。{wa|a|>(x1)(y1)1}L2

すべての単語の長さが最大の共通因子を共有する場合(この共通因子をmと呼びます)、上記の引数を繰り返しますが、文字列の長さを使用する代わりに、mで割った文字列の長さを使用します。この場合には、L * 2は、任意の有限言語(正規)の連結及び言語であろう{ wはM * | | w | > m 2 [ x / m 1 y / mL2mmL2、また規則的($(a ^ m)^ *は規則的であり、有限数の単語をそこから削除しているため)。{w(am)|w|>m2[(x/m1)(y/m1)1]}

たとえば、すべての単語のGCFが2で、言語に単語a 4a 10が含まれているとします。我々は、M = 2X / M = 4 / 2 = 2、及びY / M = 10 / 2 = 5互いに素です。したがって、長さがm 2 [ x / m 1よりも大きい場合、長さがmの倍数であるすべての単語を取得できることがわかります。La4a10m=2x/m=4/2=2y/m=10/2=5m4 a 10を連結することによって得られます。m2[(x/m1)(y/m1)1]=22[(21)(51)1]=(4)(3)=12a4a10

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.