In computer science and formal language theory, the ÃÂ-regular languages are a class of ÃÂ-languages that generalize the definition of regular languages to infinite words. As regular languages accept finite strings (such as strings beginning in an a, or strings alternating between a and b), ÃÂ-regular languages accept infinite words (such as, infinite sequences beginning in an a, or infinite sequences alternating between a and b).
Let A be a language. Denote by A<sup>ÃÂ</sup> the set whose elements are obtained by concatenating words from A infinitely many times, i.e the set of functions .
The class of ÃÂ-regular ÃÂ-languages is defined inductively as follows
Note that if A is regular, A<sup>ÃÂ</sup> is not necessarily ÃÂ-regular, since A could be for example {õ}, the set containing only the empty string, in which case A<sup>ÃÂ</sup>=A, which is not an ÃÂ-language and therefore not an ÃÂ-regular language.
It is a straightforward consequence of the definition that the ÃÂ-regular languages are precisely the ÃÂ-languages of the form A<sub>1</sub>B<sub>1</sub><sup>ÃÂ</sup> ⪠... ⪠A<sub>n</sub>B<sub>n</sub><sup>ÃÂ</sup> for some n, where the A<sub>i</sub>s and B<sub>i</sub>s are regular languages and the B<sub>i</sub>s do not contain the empty string.
Conversely, for a given Büchi automaton , we construct an ÃÂ-regular language and then we will show that this language is recognized by A. For an ÃÂ-word w = a<sub>1</sub>a<sub>2</sub>... let w(i,j) be the finite segment a<sub>i+1</sub>...a<sub>j−1</sub>a<sub>j</sub> of w. For every , we define a regular language L<sub>q,q'</sub> that is accepted by the finite automaton .
Büchi showed in 1962 that ÃÂ-regular languages are precisely the ones definable in a particular monadic second-order logic called S1S.