手短に
Kleeneクロージャーという名前は明らかに
、何らかの文字列操作の下でのクロージャーを意味することを意図しています。
ただし、慎重な分析(OPマラルズによる批判的なコメントのおかげ)は、Kleene星が連結下で閉包することはできず、むしろKleene plus演算子に対応することを示しています。
Kleeneの星演算子は、実際には、連結から派生した電源操作の下での閉包に対応します。
名前クリーネスターはスターで、操作の構文表現から来て*
いる間、閉鎖はそれが何をするかです。
これについては以下でさらに説明します。一般にクロージャー、特にKleeneスターは、セット、ここではストリングのセット、つまり言語に対する操作であることを
思い出してください。これは説明で使用されます。
常に定義されている操作の下でのサブセットの閉鎖
セットいくつかの下では閉じているN進演算F IFF fは常にいずれかのために定義されているn個の引数のタプルC及び
C = { F (C 1、... 、C N)| ∀ C 1、... 、C N ∈ C }。CnffnCC= { f(c1、… 、cn)| ∀ C1、… 、cn∈ C}
拡張することによって通常の方法で値のセットに、すなわち
F (S 1、··· 、S N)= { F (S 1、... 、sはN)| ∀ S I ∈ S I。1 ≤ I ≤ N }
我々は、設定された式として条件を書き換えることができる:C = F (C 、... 、C )f
f(S1、… 、Sn)= { f(s1、… 、sn)| ∀ S私∈ S私。1 ≤ I ≤ N }
C= f(C、… 、C)
ドメイン(またはセット)のために動作とF常に上で定義されたD、および集合S ⊂ Dの閉鎖S下fはある最小の集合S F
を含むSを:満たす方程式こと
S F = { F (S 1、... 、sはN)| ∀ S 1、... 、sはN ∈ S F }。DfDS⊂ DSfSfSSf= { f(s1、… 、sn)| ∀ S1、… 、sn∈ Sf}
もっと簡潔に言えば、fの下でのの閉包は次の式で定義できます。Sf
Sf は、 S⊂ Sf と Sf= f(Sf、… 、Sf)
これは、セマンティクスでよく使用され、形式言語でも使用される最小固定小数点定義の例です。文脈自由文法は、非終端記号が言語変数を表す言語方程式のシステム(つまり、文字列セット方程式)として見ることができます。最小固定小数点ソリューションは、言語を各変数に関連付けます。したがって、初期シンボルに関連付けられた言語は、CF文法で定義された言語です。
コンセプトを拡張する
上記で定義されたクロージャは、サブセット
を最小セットS fに拡張して、操作fが常に定義されるようにすることのみを目的としています。SSff
OPのmallardzにより述べたように、これは空の単語が含まれないため、十分な説明ではないでS Fが既にない場合にS。確かに、この閉鎖は、Kleene星ではなく、Kleene plusの定義に対応しています。ϵSfS+
*
実際、閉鎖の概念は拡張することも、さまざまな方法で検討することもできます。
他の代数的性質への拡張
これを拡張する方法では(クロージャとは呼ばれなくなりましたが)、より一般的には、操作fに関して特定の代数的性質を持つ集合への拡張を検討します。Sff
あなたが定義した場合含む最小セットとしてSをある
モノイドバイナリ関数のためのF、あなたが閉鎖し、空の単語である中立要素の両方が必要ですεを。SfSfϵ
派生操作による拡張
より適切には閉鎖の問題である2番目の方法があります。あなたが閉鎖定義する際に使用すると、全体のセットから値を許可しながら、あなたは、引数の一部に関して、それを考慮することができますD他の引数について。S⊂ DD
(簡単にするために)バイナリ関数考慮オーバーDを、あなたが定義することができ、S 、F 、1を含む最小セットとしてSを満たす方程式こと:S F 、1 = { F (S 1、sは2)| ∀ S 1 ∈ S F 、1 ∧ ∀ S 2 ∈ D }fDSf、1S
Sf、1= { f(s1、s2)| ∀ S1∈ Sf、1∧ ∀ 秒2∈ D }
または設定された方程式:
Sf、1 は、次のような最小セットです S⊂ Sf、1 と Sf、1=f(Sf、1、D )
これは、引数が同じセットに属していない場合にも意味があります。次に、1つのセット内のいくつかの引数に関して、他の引数のすべての可能な値を考慮して閉鎖することができます(多くのバリエーションが可能です)。
(M、f、ϵ ) −−fMϵU ∈ M
∀ のu ∈ M。あなたは0= ϵ そして ∀ N ∈ Nあなたはn= f(u 、un − 1)
あなたはnMN0
Mnうんn= { un| U ∈ U}あなたはnf
{ U0= { u0| U ∈ U} = { ϵ }∀n∈N,Un=f(U,Un−1)
fM
U∧,1U⊂M
U∧,1 is the smallest set such that U⊂U∧,1 and U∧,1=f(U∧,1,N0)
そして、これは、文字列の無料モノイドの連結操作に構造が適用されるとき、私たちにKleene star操作を与えます。
完全に正直に言うと、私は不正行為をしていないかどうかわかりません。しかし、定義はあなたがそれを作ることだけであり、それは実際にKleeneの星を閉鎖に変えるために私が見つけた唯一の方法でした。私は一生懸命努力しているかもしれません。
コメントを歓迎します。
常に定義されているわけではない操作の下でセットを閉じる
これは、閉鎖の概念の見方と使用法が少し異なります。この見方は実際に質問に答えているわけではありませんが、混乱を避けるために心に留めておくと良いようです。
fD
Df
D′Df′
DD′ff′
D′f′Df
これは、同値関係によって商化された自然数のペアのセットを考慮して、整数が自然数から構築される方法です(2つの要素が同じ順序で同じ差がある場合、2つのペアは等価です)。
これは、整数から有理数を構築する方法でもあります。
そして、これは、理論が古典的な実数をどのように構築できるかですが、構築はより複雑です。