W skrócie
Nazwa zamknięcie Kleene ma wyraźnie oznaczać zamknięcie
w przypadku niektórych operacji łańcuchowych.
Jednak dokładna analiza (dzięki krytycznemu komentarzowi OP mallardz) pokazuje, że gwiazda Kleene nie może być zamknięta podczas konkatenacji, co raczej odpowiada operatorowi Kleene plus.
Operator gwiazdy Kleene w rzeczywistości odpowiada zamknięciu pod operacją mocy pochodzącą z konkatenacji.
Nazwa gwiazda Kleene pochodzi od syntaktycznego przedstawienia operacji z gwiazdą *
, podczas gdy zamknięcie jest tym, co robi.
Jest to wyjaśnione poniżej.
Przypomnijmy, że zamknięcie w ogóle, a zwłaszcza gwiazda Kleene, jest operacją na zbiorach, tutaj na zbiorach ciągów, tj. Na językach. Zostanie to wykorzystane w wyjaśnieniu.
Zamknięcie podzbioru w ramach operacji zawsze zdefiniowane
CnffnCC={f(c1,…,cn)∣∀c1,…,cn∈C}
f
f(S1,…,Sn)={f(s1,…,sn)∣∀si∈Si.1≤i≤n}
C=f(C,…,C)
DfDS⊂DSfSfSSf={f(s1,…,sn)∣∀s1,…,sn∈Sf}
Sf
Sf is the smallest set such that S⊂Sf and Sf=f(Sf,…,Sf)
Jest to przykład definicji o najmniej ustalonym punkcie, często używanej w semantyce, a także używanej w językach formalnych. Gramatyka bezkontekstowa może być postrzegana jako układ równań języków (tj. Równań ciągów znaków), gdzie nieterminalne oznaczają zmienne językowe. Najmniej rozwiązywanym punktem kojarzy język z każdą zmienną, a językiem związanym w ten sposób z symbolem początkowym jest język zdefiniowany przez gramatykę CF.
Rozszerzenie koncepcji
SSff
ϵSfS+
*
W rzeczywistości pomysł zamknięcia można rozszerzyć lub rozważyć na różne sposoby.
Rozszerzenie na inne właściwości algebraiczne
Sff
SfSfϵ
Rozszerzenie poprzez operację pochodną
S⊂DD
fDSf,1S
Sf,1={f(s1,s2)∣∀s1∈Sf,1∧∀s2∈D}
lub z ustalonymi równaniami:
Sf,1 is the smallest set such that S⊂Sf,1 and Sf,1=f(Sf,1,D)
Ma to również sens, gdy argumenty nie należą do tego samego zestawu. Wtedy możesz mieć zamknięcie w odniesieniu do niektórych argumentów w jednym zestawie, biorąc pod uwagę wszystkie możliwe wartości dla innych argumentów (możliwych jest wiele odmian).
(M,f,ϵ) −−fMϵu∈M
∀u∈M.u0=ϵ and ∀n∈Nun=f(u,un−1)
unMN0
MnUn={un∣u∈U}unf
{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)
To daje nam operację gwiazdy Kleene, gdy konstrukcja jest zastosowana do operacji konkatenacji wolnego Monoidu z łańcuchów.
Szczerze mówiąc, nie jestem pewien, czy nie oszukiwałem. Ale definicja jest tylko tym, co stworzysz, i to był jedyny sposób, w jaki znalazłem sposób, aby zmienić gwiazdę Kleene w zamknięcie. Być może próbuję zbyt mocno.
Komentarze są mile widziane.
Zamykanie zestawu w ramach operacji, która nie zawsze jest zdefiniowana
Jest to nieco inny pogląd i zastosowanie koncepcji zamknięcia. Ten pogląd tak naprawdę nie odpowiada na pytanie, ale wydaje się, że warto o tym pamiętać, aby uniknąć pewnych nieporozumień.
fD
Df
D′Df′
DD′ff′
D′f′Df
Tak buduje się liczby całkowite z liczb naturalnych, biorąc pod uwagę zestaw par liczb naturalnych ilorazowych przez relację równoważności (dwie pary są równoważne, jeśli dwa elementy są w tej samej kolejności i mają tę samą różnicę).
W ten sposób można również tworzyć racjonalne liczby całkowite.
I w ten sposób można zbudować klasyczne realia z racjonalności, chociaż konstrukcja jest bardziej złożona.