En una palabra
El nombre de cierre de Kleene está claramente destinado a significar cierre
bajo alguna operación de cadena.
Sin embargo, un análisis cuidadoso (gracias a un comentario crítico del OP Mallardz), muestra que la estrella de Kleene no puede cerrarse bajo concatenación, que más bien corresponde al operador Kleene plus.
El operador estrella de Kleene en realidad corresponde a un cierre bajo la operación de potencia derivada de la concatenación.
El nombre de estrella de Kleene proviene de la representación sintáctica de la operación con una estrella *
, mientras que el cierre es lo que hace.
Esto se explica más adelante a continuación.
Recuerde que el cierre en general, y la estrella de Kleene en particular, es una operación en conjuntos, aquí en conjuntos de cadenas, es decir, en idiomas. Esto se usará en la explicación.
Cierre de un subconjunto bajo una operación siempre definida
Un conjunto es cerrado bajo algunos n operación ary f si y sólo si f siempre se define para cualquier n tupla de argumentos en C y
C = { f ( c 1 , ... , c n ) | ∀ c 1 , ... , c n ∈ C } .CnffnCC={f(c1,…,cn)∣∀c1,…,cn∈C}
Extendiendo a conjuntos de valores de la manera habitual, es decir,
f ( S 1 , ... , S n ) = { f ( s 1 , ... , s n ) ∣ ∀ s i ∈ S i . 1 ≤ i ≤ n }
podemos reescribir la condición como una ecuación establecida: C = f ( C , ... , C )f
f(S1,…,Sn)={f(s1,…,sn)∣∀si∈Si.1≤i≤n}
C=f(C,…,C)
Para un dominio (o conjunto) con una operación f que siempre se define en D , y un conjunto S ⊂ D , el cierre de S bajo f es el conjunto más pequeño S f que
contiene S que satisface la ecuación:
S f = { f ( s 1 , ... , s n ) ∣ ∀ s 1 , ... , s n ∈ S f } .DfDS⊂DSfSfSSf={f(s1,…,sn)∣∀s1,…,sn∈Sf}
Más tersamente con una ecuación establecida, el cierre de bajo f puede definirse por:Sf
Sf is the smallest set such that S⊂Sf and Sf=f(Sf,…,Sf)
Este es un ejemplo de definición de punto menos fijo, a menudo usado en semántica, y también usado en lenguajes formales. Una gramática libre de contexto se puede ver como un sistema de ecuaciones de idiomas (es decir, ecuaciones de conjuntos de cadenas), donde las no-terminales representan variables de lenguaje. La solución con menos punto fijo asocia un lenguaje a cada variable, y el lenguaje así asociado al símbolo inicial es el definido por la gramática CF.
Extendiendo el concepto
El cierre como se definió anteriormente solo tiene la intención de extender un subconjunto
en un conjunto mínimo S f tal que la operación f siempre esté definida.SSff
Como señalado por el mallardz OP, esto no es una explicación suficiente, ya que no incluirá la palabra vacía en S f cuando no está ya en S . De hecho, este cierre corresponde a la definición de Kleene plus y no a la estrella de Kleene .ϵSfS+
*
En realidad, la idea de cierre puede extenderse o considerarse de diferentes maneras.
Extensión a otras propiedades algebraicas
En la forma de extenderlo (aunque ya no se llama cierre ) considera más generalmente una extensión a un conjunto tiene propiedades algebraicas específicas con respecto a la operación f .Sff
Si define como el conjunto más pequeño que contiene S que es un
Monoide para la función binaria f , entonces necesita tanto el cierre como un elemento neutro que es la palabra vacía ϵ .SfSfϵ
Extensión a través de una operación derivada
Hay una segunda forma, que es más adecuadamente un problema de cierre. Cuando define el cierre de , puede considerarlo con respecto a algunos de los argumentos, mientras permite valores de todo el conjunto D para los otros argumentos.S⊂DD
Considerando (por simplicidad) una función binaria sobre D , puede definir S f , 1 como el conjunto más pequeño que contiene S que satisface la ecuación: 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 ecuaciones establecidas:
Sf,1 is the smallest set such that S⊂Sf,1 and Sf,1=f(Sf,1,D)
Esto también tiene sentido cuando los argumentos no pertenecen al mismo conjunto. Entonces puede cerrar con respecto a algunos argumentos en un conjunto, mientras considera todos los valores posibles para los otros argumentos (son posibles muchas variaciones).
(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)
Y esto nos da la operación en estrella de Kleene cuando la construcción se aplica a la operación de concatenación del monoide de cadenas libre.
Para ser completamente honesto, no estoy seguro de que no haya estado haciendo trampa. Pero una definición es solo lo que haces, y esa fue la única forma en que encontré convertir la estrella de Kleene en un cierre. Puede que me esté esforzando demasiado.
Comentarios son bienvenidos
Cerrar un conjunto bajo una operación que no siempre está definida
Esta es una visión y uso ligeramente diferentes del concepto de cierre. Este punto de vista no responde realmente a la pregunta, pero parece bueno tenerlo en cuenta para evitar posibles confusiones.
fD
Df
D′Df′
DD′ff′
D′f′Df
Así es como se construyen los enteros a partir de números naturales, considerando el conjunto de pares de números naturales cotizados por una relación de equivalencia (dos pares son equivalentes si los dos elementos están en el mismo orden y tienen la misma diferencia).
Así también se pueden construir racionales a partir de los enteros.
Y así es como los reales clásicos se pueden construir a partir de los racionales, aunque la construcción es más compleja.