Language equations are equations where both the constants occurring in the equations and the solutions are formal languages. They have first been introduced in formal language theory, but are now also considered in other areas of computer science. In the present paper, we restrict the attention to language equations with one-sided concatenation, but in contrast to previous work on these equations, we allow not just union but all Boolean operations to be used when formulating them. In addition, we are not just interested in deciding solvability of such equations, but also in deciding other properties of the set of solutions, like its cardinality (finite, infinite, uncountable) and whether it contains least/greatest solutions. We show that all these decision problems are EXPTIMEcomplete. † Supported by the Academy of Finland under grants 134860 and 257857.
2
F. Baader and A. Okhotin / On Language Equations with One-sided Concatenationwere respectively represented as systems of equations with union and one-sided concatenation [?] and with union and unrestricted concatenation [14]. This topic was further studied in the monographs on algebraic automata theory by Salomaa [34] and Conway [12]. There has been a renewed interest in the topic over the last two decades, with the state-of-the-art as of 2007 presented in a survey by Kunc [19], and with more research on various aspects of language equations appearing in the last few years [13,16,17,20,22,30].As an example, consider the equation X = AX ∪ B, where A, B are fixed formal languages. It is well-known, that this equation has A * B as a solution. If the empty word does not belong to A, then this is the only solution. Otherwise, A * B is the least solution (w.r.t. inclusion), and all solutions are of the form C * B for C ⊇ A. Depending on A and the available alphabet, the equation may thus have finitely many, countably infinitely many, or even uncountably many solutions. The above equation is an equation with one-sided concatenation since concatenation occurs only on one side of the variable. In contrast, the equation X = aXb ∪ XX ∪ ε is not one-sided. 1 Its least solution is the Dyck language of balanced parentheses generated by the context-free grammar S → aSb | SS | ε, whereas its greatest solution isBoth examples are resolved equations in the sense that their left-hand sides consist of a single variable. If only monotonic operations (in the examples: union and concatenation) are used, then such resolved systems of equations X i = ϕ i (X 1 , . . . , X n ) with i = 1, . . . , n always have a least and a greatest solution due to the Tarski-Knaster fixpoint theorem [37]. Once the resolved form of equations is no longer required or non-monotonic operations (like complementation) are used, a given language equation need no longer have solutions, and thus the problem of deciding solvability of such an equation becomes non-trivial. The same is true for other decision problems, like asking for the existence of a least/greatest solution or determining the cardinality of th...