Why is $S(L)$ regular? Let $L$ be a regular language, and $\Sigma$ be its alphabet. Then, the language $S(L) = \{y \in \Sigma^*~|~xy \in L \text{ for some string }x \in \Sigma^*\}$ is also regular.
I am trying to demonstrate this by constructing a Non-deterministic Finite Automata for $S(L)$. The solution says to construct epsilon transitions from that start state of a DFA $D$ representing $L$ to the final states of $D$, but I don't understand how that works.
Could someone please clarify what that means? By the way, this is practice, not homework.

This is an instance of a more general result. If $L$ is regular, then for any language $X$ (regular or not), the language
$$
  X^{-1}L = \bigl\{\ y \in A^* \mid \text{there exists $x \in X$ such that $xy \in L$}\ \bigr\}
$$
is regular. This can be proved as follows. First, for each word $x \in A^*$, the language $x^{-1}L$ is regular. Indeed, if $\mathcal{A} = (Q, A, \cdot, i, F)$ is a DFA accepting $L$, then the automaton $(Q, A, \cdot, i.x, F)$ (obtained from $\mathcal{A}$ by changing the initial state $i$ to $i\cdot x$) accepts $x^{-1}L$. It follows that there are only finitely many languages of the form $x^{-1}L$, a (famous) result known as Nerode's lemma.
Now observe that
$$
  X^{-1}L = \bigcup_{x \in X} x^{-1}L
$$
but according to Nerode's lemma, this apparently infinite union is a finite one. Therefore $X^{-1}L$ is a finite union of regular sets and hence is regular.
In your case, you take $X = A^*$.
