I am going through the book , introduction to compiler design , by Torben Ægidius Mogensen.
It provides the following definition of an epsilon closure :
Given a set M of NFA states, we define $\ \epsilon $-closure($\ M $) to be the least (in terms of the subset relation) solution to the set equation $\ \epsilon $-closure($\ M $) =$\ M $ $\ \cup $ {$\ t $|$\ s $ ∈ $\ \epsilon $-closure($\ M $) and $\ s^\epsilon t$∈T}, where T is the set of transitions in the NFA.
Initially , it defined the notion $\ a^b c $ to mean that a transition from state $\ a $ to $\ b$ takes place when a symbol $\ c $ is encountered .
But in the above definition $\ s^\epsilon t $ , $\ t$ is an element of the set of transitions , not the set of states .
This has resulted in a bit of confusion as to what exactly does an epsilon closure mean .
One more terminology word-play that wanted to be clear about is , the exact meaning of a sentence of the following sort :
"We extend the set of NFA states with those you can reach from these by using only epsilon transitions ."
But in a set of NFA states , the epsilon transition would direct one state to another which would be already included in the set of NFA states. So , how is it possible to extend the same set with the elements already contained in it ?