Closure of regular Language - Transition Function : Sipser Proof I was going through construction proofs for closure of regular languages under union, star and concatenation operation in the book: "Introduction to Theory of Computation" by Michael Sipser.

I have doubts regarding how he wrote the transition function. 



When $Q \in F_1$ and $a=\epsilon$ he wrote $\delta_1(q,a) \cup \{q_2\}$. I couldn't understand why its so. When the input is epsilon, the state moves to $q_2$ and what is the need for writing that $\delta_1(q,a)$

Also if that is so, the $A^*$ example he wrote for the transition function $\{q_1\}$ only  when $q=q_0$ and $a=\epsilon$
The idea is that whenever $A_1$ reaches an accepting state, it "guesses" that this is a good place to split the word, and run the second part in $A_2$. But maybe this guess is wrong? There are many ways to split a word, and you only need one such splitting to work.

As an example, consider the languages $L_1=(a+b)^*a$ and $L_2=b(a+b)^*$. Now consider what would happen in your suggestion with the word $aab$.
After reading the first $a$, $A_1$ will be in an accepting state, so it will move to the initial state of $A_2$, and upon reading the second $a$, will move to a rejecting sink.

However, as Sipser suggests, $A_1$ may continue using $\delta_1$ for the second $a$ as well, and only then move to $A_2$. 

Same goes for the construction for Kleene star.