In poche parole
Il nome di chiusura di Kleene è chiaramente inteso come chiusura
con alcune operazioni di stringa.
Tuttavia, un'attenta analisi (grazie a un commento critico dell'OP mallardz), mostra che la stella di Kleene non può essere chiusa sotto concatenazione, il che corrisponde piuttosto all'operatore Kleene plus.
L'operatore stella Kleene corrisponde effettivamente a una chiusura sotto l'operazione di potenza derivata dalla concatenazione.
Il nome stella di Kleene deriva dalla rappresentazione sintattica dell'operazione con una stella *
, mentre chiusura è ciò che fa.
Questo è ulteriormente spiegato di seguito.
Richiamare che la chiusura in generale, e la stella di Kleene in particolare, è un'operazione sui set, qui sui set di stringhe, cioè sulle lingue. Questo sarà usato nella spiegazione.
Chiusura di un sottoinsieme in un'operazione sempre definita
Un insieme viene chiuso con un'operazione n -ary f iff f è sempre definito per qualsiasi n -tupla di argomenti in C e
C = { f ( c 1 , … , c n ) ∣ ∀ c 1 , … , c n ∈ C } .CnffnCC={f(c1,…,cn)∣∀c1,…,cn∈C}
Estendendo agli insiemi di valori nel solito modo, cioè
f ( S 1 , ... , S n ) = { f ( s 1 , ... , s n ) ∣ ∀ s i ∈ S i . 1 ≤ i ≤ n }
possiamo riscrivere la condizione come un'equazione impostata: C = f ( C , … , C )f
f(S1,…,Sn)={f(s1,…,sn)∣∀si∈Si.1≤i≤n}
C=f(C,…,C)
Per un dominio (o insieme) con un'operazione f che è sempre definita su D e un insieme S ⊂ D , La chiusura di S sotto f è l' insieme più piccolo S f
contenente S che soddisfa l'equazione:
S f = { f ( s 1 , … , s n ) ∣ ∀ s 1 , … , s n ∈ S f } .DfDS⊂DSfSfSSf={f(s1,…,sn)∣∀s1,…,sn∈Sf}
Più tersamente con un'equazione impostata, la chiusura di sotto f può essere definita da:Sf
Sf is the smallest set such that S⊂Sf and Sf=f(Sf,…,Sf)
Questo è un esempio di definizione a virgola fissa, spesso usata in semantica e usata anche in linguaggi formali. Una grammatica senza contesto può essere vista come un sistema di equazioni linguistiche (cioè equazioni di stringhe), in cui il non terminale rappresenta le variabili linguistiche. La soluzione a virgola fissa associa una lingua a ciascuna variabile e la lingua così associata al simbolo iniziale è quella definita dalla grammatica CF.
Estendere il concetto
La chiusura come sopra definita ha il solo scopo di estendere un sottoinsieme
in un insieme minimo S f tale che l'operazione fSSff sia sempre definita.
Come sottolineato dal mallardz OP, questa non è una spiegazione sufficiente, poiché non comprende la parola vuota in S f quando non è già in S . In effetti questa chiusura corrisponde alla definizione del Kleene plus e non alla stella KleeneϵSfS+
*
.
In realtà, l'idea di chiusura può essere estesa o considerata in diversi modi.
Estensione ad altre proprietà algebriche
Sulla strada per estenderlo (anche se non è più chiamato chiusura ) considera più in generale un'estensione a un insieme con proprietà algebriche specifiche rispetto all'operazione f .Sff
Se definisci come l'insieme più piccolo contenente S che è un
Monoide per la funzione binaria f , allora hai bisogno sia della chiusura che di un elemento neutro che è la parola vuota ϵ .SfSfϵ
Estensione attraverso un'operazione derivata
C'è un secondo modo, più propriamente un problema di chiusura. Quando definisci la chiusura di , puoi considerarla rispetto ad alcuni degli argomenti, mentre consenti i valori dell'intero set DS⊂DD per gli altri argomenti.
Considerando (per semplicità) una funzione binaria su D , puoi definire S f , 1 come l'insieme più piccolo contenente S che soddisfa l'equazione: 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∧∀s2∈D}
o con equazioni impostate:
Sf,1 is the smallest set such that S⊂Sf,1 and Sf,1=f(Sf,1,D)
Questo ha senso anche quando gli argomenti non appartengono allo stesso set. Quindi potresti avere la chiusura rispetto ad alcuni argomenti in un set, considerando tutti i possibili valori per gli altri argomenti (sono possibili molte varianti).
Dato un Monoide - ad esempio il monoide di stringhe con concatenazione - dove f è un'operazione binaria associativa sugli elementi dell'insieme M con un elemento di identità
ϵ , è possibile definire i poteri di un elemento u ∈ M come:
∀ u ∈ M .(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)
E questo ci dà l'operazione a stella di Kleene quando la costruzione viene applicata all'operazione di concatenazione del Monoide libero di stringhe.
Ad essere sincero, non sono sicuro di non aver tradito. Ma una definizione è solo ciò che la crei, ed è stato l'unico modo in cui ho scoperto di trasformare la stella di Kleene in una chiusura. Forse sto provando troppo.
I commenti sono ben accetti
Chiudere un set in un'operazione che non è sempre definita
Questa è una visione e un uso leggermente diversi del concetto di chiusura. Questo punto di vista non risponde realmente alla domanda, ma sembra bene tenerlo a mente per evitare alcune possibili confusioni.
fD
Df
D′Df′
DD′ff′
D′f′Df
È così che gli interi sono costruiti da numeri naturali, considerando l'insieme di coppie di numeri naturali quotate da una relazione di equivalenza (due coppie sono equivalenti se i due elementi sono nello stesso ordine e hanno la stessa differenza).
Questo è anche il modo in cui i razionali possono essere costruiti dagli interi.
Ed è così che i reali classici possono essere costruiti dai razionali, sebbene la costruzione sia più complessa.