Why is the Kleene star operator also called the Kleene 'closure' operator?
I've found that if I don't understand the etymology behind a cs/programming term, it usually means that I've missed or misunderstood some important underlying concept.
I don't understand why the Kleene star is also called the Kleene closure. Is it related to closures in programming, a function with bound non-local variables?
... on reflection, maybe it is because it allows an open ended set to be written in a closed expression form?
... well in good old rubber-duck-explaining fashion, I'm now guessing that is it, but would still welcome an authoritative answer.
Asked By : mallardz
Best Answer from StackOverflow
Question Source : http://cs.stackexchange.com/questions/35894
Answered By : David Richerby
A set is closed under some operator if the result of applying the operator to things in the set is always in the set. For example, the natural numbers are closed under addition because, whenever $n$ and $m$ are natural numbers, $n+m$ is a natural number. On the other hand, the naturals are not closed under subtraction since, for example, $3-5$ is not a natural number.
The closure of a set $S$ under some operator is the smallest set containing $S$ that is closed under the operator. For example, the closure of the natural numbers under subtraction is the integers; the closure of the natural numbers under addition is just the natural numbers, since the set is already closed.
So, "Kleene closure" is not an alternative name for "Kleene star". The Kleene star is the operator; the Kleene closure of a set is the closure of that set under the operator.
Post a Comment