A language S on a free monoid $$A^*$$A∗ is called a solid code if S is an infix code and overlap-free. A congruence $$\rho $$ρ on $$A^*$$A∗ is called principal… Click to show full abstract
A language S on a free monoid $$A^*$$A∗ is called a solid code if S is an infix code and overlap-free. A congruence $$\rho $$ρ on $$A^*$$A∗ is called principal if there exists $$L\subseteq A^*$$L⊆A∗ such that $$\rho =P_L$$ρ=PL, where $$P_L$$PL is the syntactic congruence determined by L. For any solid code S over A, Reis defined a congruence $$\sigma _S$$σS on $$A^*$$A∗ by means of S and showed it is principal (Semigroup Forum 41:291–306, 1990). A new simple proof of the fact that $$\sigma _S$$σS is principal is given in this paper. Moreover, two congruences $$\rho _S$$ρS and $$\lambda _S$$λS on $$A^*$$A∗ defined by solid code S are introduced and proved to be principal. For every class of the classification of $${{\mathbf {D}}}_{\mathbf{r}}$$Dr and $${{\mathbf {R}}}_{\mathbf{r}}$$Rr, languages are given by means of three principal congruences $$\sigma _S$$σS, $$\rho _S$$ρS and $$\lambda _S$$λS.
               
Click one of the above tabs to view related content.