Language $L$ may contain both even and odd length strings. half(L) takes/contains first half of even length strings of Language $L$ ( $|u| = |v|$ is possible only if string $uv \in L$ is of even length.)
So, we proceed further and take every even length string of language $L$ and put it's first half in some other set (or) Language.
If $L$ is a finite lanuage, then definitely new formed language is also finite and is thus Regular.
And if it is infinite, and is Regular, So, there exists a FA for that. So, strings formed by taking first half must reach some state in between intial and final state. And we need to modify some states to accept that language.
Another way i could think of is, If $L$ is regular, then RegExp exists, and RegExp for half(L) will surely be prefix of RegExp of $L$, and If we are able to give some RegExp, then we can say it is Regular. (But, Cann't comeup with a formal proof)
- $L = a^*$ , then
half(L) $= a^*$
- $L = a(aa)^*$, then
half(L) $= \phi$
- $L = a^*b^*$, then
half(L) $= a^*b^*$