Коротко
Назва закриття Kleene , очевидно, покликана означати закриття
під час деяких рядкових операцій.
Однак ретельний аналіз (завдяки критичному коментарю OP mallardz) показує, що зірка Клейна не може бути закритою при конкатенації, що скоріше відповідає оператору Kleene plus.
Оператор зірки Клейна фактично відповідає закриттю під час роботи енергії, отриманої в результаті конкатенації.
Назва зірки Kleene походить від синтаксичного зображення операції зіркою *
, тоді як закриття - це те, що вона робить.
Це далі пояснено нижче.
Нагадаємо, що закриття взагалі, і зірка Kleene зокрема, - це операція на множинах, тут на множинах рядків, тобто на мовах. Це буде використано в поясненні.
Закриття підмножини під час операції завжди визначається
Множина закрита під деякою n- операцією f iff f завжди визначається для будь-якого n- множини аргументів в C і
C = { f ( c 1 , … , c n ) ∣ ∀ c 1 , … , c n ∈ C } .СнffнСС= { f( c1, … , Cн) ∣ ∀ c1, … , Cн∈ 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, … , Sн) = { f( с1, … , Сн) ∣ ∀ si∈ Si. 1 ≤ i ≤ n }
С= f( С, … , С)
Для домену (або набору) з операцією 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( с1, … , Сн) ∣ ∀ s1, … , Сн∈ Sf}
Більш коротко з набором рівняння, закриття під f може бути визначене:Sf
Sf є найменшим набором таким, що S⊂ Sf і Sf= f( Sf, … , Sf)
Це приклад визначення найменшої фіксованої точки, що часто використовується в семантиці, а також використовується в формальних мовах. Безтекстова граматика може розглядатися як система рівнянь мов (тобто рівняння набору рядків), де нетермінальне значення є мовними змінними. Рішення з найменшою фіксованою точкою пов'язують мову з кожною змінною, а мова, пов'язана таким чином з символом intial, є тією, що визначена граматикою CF.
Розширення концепції
Закриття, як визначено вище, призначене лише для розширення підмножини
на мінімальний набір S f таким чином, що операція f завжди визначається.SSff
Як зазначає ОП mallardz, це не є достатнім поясненням, так як вона не буде включати в себе пусте слово в S е , коли він вже не в S . Дійсно, це закриття відповідає визначенню Клінова плюс, а не зірці Клінова .ϵSfS+
*
Власне, ідею закриття можна поширити або розглянути по-різному.
Поширення на інші алгебраїчні властивості
Sff
SfSfϵ
Розширення через похідну операцію
S⊂ DD
fDSf, 1S
Sf, 1= { f( с1, с2) ∣ ∀ s1∈ Sf, 1∧ ∀ с2∈ D }
або із заданими рівняннями:
Sf, 1 є найменшим набором таким, що S⊂ Sf, 1 і Sf, 1= f( Sf, 1, D )
Це також має сенс, коли аргументи не належать до одного набору. Тоді, можливо, вам доведеться закрити деякі аргументи в одному наборі, при цьому враховуючи всі можливі значення для інших аргументів (можливі багато варіантів).
( М, ф, ϵ ) --fМϵu ∈ M
∀ u ∈ M.у0= ϵ і ∀ n ∈ Nун= f( у , уn - 1)
унМN0
МнUн= { ун∣ u ∈ U}унf
{ U0= { у0∣ u ∈ U} = { ϵ }∀ n ∈ N ,Uн= f( U, Un - 1)
fМ
U∧ , 1U⊂ М
U∧ , 1 є найменшим набором таким, що U⊂ U∧ , 1 і U∧ , 1= f( U∧ , 1, N0)
І це дійсно дає нам операцію зірки Kleene, коли конструкція застосовується до операції конкатенації вільного Monoid рядків.
Якщо бути чесним, я не впевнений, що мене не обдурили. Але визначення - це лише те, що ви це зробите, і це був єдиний спосіб, який я виявив насправді перетворити зірку Клейна в закриття. Я, можливо, дуже стараюся.
Коментарі вітаються.
Закриття набору під час операції, яка не завжди визначена
Це дещо інший погляд і використання концепції закриття. Ця думка насправді не відповідає на питання, але, здається, добре пам’ятати про це, щоб уникнути можливих плутанин.
fD
Df
D'Df'
DD'ff'
D'f'Df
Ось так будуються цілі числа з натуральних чисел, враховуючи множину пар натуральних чисел, які визначаються співвідношенням еквівалентності (дві пари еквівалентні, якщо два елементи знаходяться в одному порядку і мають однакову різницю).
Це також те, як з цілих чисел можна побудувати раціональність.
Ось так можна побудувати класичні реалії з раціональних, хоча конструкція є більш складною.