Answer :
To prove that recognizable languages are closed under concatenation, we need to show that given two recognizable languages [tex]L_1[/tex] and [tex]L_2[/tex], their concatenation [tex]L_1 \circ L_2[/tex] is also recognizable.
Definitions:
- A language is recognizable if there exists a Turing machine that accepts every string in the language and either rejects or loops forever on strings not in the language.
- Concatenation of two languages [tex]L_1[/tex] and [tex]L_2[/tex] is defined as [tex]L_1 \circ L_2 = \{ xy \mid x \in L_1 \text{ and } y \in L_2 \}[/tex].
Proof:
Construct a Turing Machine for [tex]L_1 \circ L_2[/tex]:
- Let [tex]M_1[/tex] be a Turing machine that recognizes [tex]L_1[/tex], and [tex]M_2[/tex] be a Turing machine that recognizes [tex]L_2[/tex].
- We need to construct a machine [tex]M[/tex] that recognizes [tex]L_1 \circ L_2[/tex].
High-level Strategy:
- Given an input string [tex]w[/tex], [tex]M[/tex] should identify a split point such that the first part belongs to [tex]L_1[/tex] and the second part belongs to [tex]L_2[/tex].
Detailed Construction:
- [tex]M[/tex] guesses a position [tex]k[/tex] at which to split the input string [tex]w[/tex] into two parts: [tex]x[/tex] and [tex]y[/tex] such that [tex]w = xy[/tex] with [tex]x = w[1:k][/tex] and [tex]y = w[k+1:|w|][/tex].
- [tex]M[/tex] runs [tex]M_1[/tex] on [tex]x[/tex] and checks if [tex]x[/tex] is accepted by [tex]M_1[/tex].
- [tex]M[/tex] also runs [tex]M_2[/tex] on [tex]y[/tex] and checks if [tex]y[/tex] is accepted by [tex]M_2[/tex].
- If both [tex]M_1[/tex] accepts [tex]x[/tex] and [tex]M_2[/tex] accepts [tex]y[/tex] for any possible split point [tex]k[/tex], then [tex]M[/tex] accepts [tex]w[/tex].
- If no such split is found for which both are accepted, [tex]w[/tex] is rejected or [tex]M[/tex] loops forever.
Why This Works:
- This method effectively "guesses" the right split of [tex]w[/tex] into [tex]x[/tex] and [tex]y[/tex] and then simulates both [tex]M_1[/tex] and [tex]M_2[/tex] to verify if [tex]x \in L_1[/tex] and [tex]y \in L_2[/tex].
- The crucial part is that [tex]M[/tex] accepts [tex]w[/tex] as long as there is any valid split [tex]w = xy[/tex] such that [tex]x \in L_1[/tex] and [tex]y \in L_2[/tex].
Conclusion:
- The existence of such a Turing machine [tex]M[/tex] for recognizing [tex]L_1 \circ L_2[/tex] implies that the concatenation of recognizable languages [tex]L_1[/tex] and [tex]L_2[/tex] is itself recognizable. Thus, recognizable languages are closed under concatenation.