We saw earlier that LT is not closed under concatenation. If we think in terms of the LT graphs, recognizing the concatenation of LT languages would seem to require knowing, while scanning a string in L1 . L2, for instance, when to switch from keeping track of factors for L1 to keeping track of factors from L2.
Assuming that the alphabets were not disjoint, there is (evidently, since LT is not closed under concatenation) no way, in general, to know that. For the recognizable languages, on the other hand, we have the convenience of being able to work with non-determinism. We don't actually have to know when to switch from one automaton to the next. Whenever we get to a point in the string that could possibly be the end of the pre?x that is in L1 we can just allow for a non-deterministic choice of whether to continue scanning for A1 (the machine recognizing L1) or to switch to scanning for A2. Since whenever the string is in L1 . L2 there will be some correct place to switch and since acceptance by a NFA requires only that there some accepting computation, the combined automaton will accept every string in L1 . L2. Moreover, the combined automaton will accept a string iff there is some point at which it can be split into a string accepted by A1 followed by one accepted by A2: it accepts all and only the strings in L1 . L2.