As another consequence, we provide an interesting decomposition theorem of semilinear languages into linear parts.
Consider any semilinear language \(L\) , where its Parikh image is a finite union of linear sets
\(A_1, \ldots , A_k\) , and the constant and periods for each linear set can be constructed. Then we
can effectively create languages
in perhaps another semilinear full trio separately accepting those words in
\(L_i = \lbrace w \in L \mid \psi (w) \in A_i\rbrace \) , for each \(1 \le i \le k\) .

Let \({\cal L}\)  be a semilinear full trio, where semilinearity is effective. Given
\(L \in {\cal L}\) , we can determine representations of disjoint
simple sets (ie. disjoint linear sets where the periods form a basis) \(A_1, \ldots , A_k\) 
such that the Parikh image
of L is \(A = A_1\cup \cdots \cup A_k\) ,
and \(L_i = \lbrace  w \in L \mid \psi (w) \in A_i \rbrace  \in \hat{\cal F}_{}({\cal L})\) , for \(1 \le i \le k\) .


Since semilinearity is effective, we can construct a representation of
linear sets \(A_1 , \ldots , A_k\) .
Moreover, it is known that given any set of constants and periods generating a semilinear set \(Q\) ,
it is possible to effectively construct another set of constants and periods that forms a disjoint finite union of simple sets
also generating \(Q\)  [1]}, [2]}. Therefore, we can assume
\(A_1, \ldots , A_k\)  are of this form.
An \(\)  \(M_i\)  can be created to
accept \(\psi ^{-1}(A_i)\) , for each \(i\) , \(1 \le i \le k\)  as follows:
if \(L\subseteq \lbrace a_1, \ldots , a_n\rbrace ^*\) , then \(M_i\)  has \(n\)  counters. If
\((x_1, \ldots , x_n)\)  is the constant of \(A_i\) , then \(M_i\)  adds \(x_j\)  to counter \(j\)  for each \(j\) . Then, for each period, \((y_1, \ldots , y_n)\) , \(M_i\)  nondeterministically guesses some number \(c\)  and adds \(cy_j\)  to counter \(j\)  for each \(j\) . At this point, the counters can contain any value from \(A_i\) . From here, for every \(a_j\)  read as input, \(M_i\)  subtracts one from counter \(j\) , and accepts at the end of the input if all counters are empty.
Hence,
\(L_i = L \cap L(M_i) \in \hat{\cal F}_{}({\cal L})\) , for each \(i\) , \(1 \le i \le k\) .
