Given two Turing Machines M1 and M2, we build a new machine M that does the following on input x:
- Run M1 on x. If M1 accepts x, then go to an accept state.
- Run M2 on x. If m2 accepts x, then go to an accept state.
What would be the language of such a Turing Machine? My first intuition was that $L(M)=L(M1) \cup L(M2)$ , but this can't be the case since if $x \notin L(M1)$ and $x \in L(M2)$, then there is the possibility that M1 runs forever, so M2 will never get the chance to recognize x and go to an accept state.
Unless we assume that M1 never runs forever, how is it possible to express $L(M)$? Thanks!