Language equations are mathematical statements that resemble numerical equations, but the variables assume values of formal languages rather than numbers. Instead of arithmetic operations in numerical equations, the variables are joined by language operations. Among the most common operations on two languages A and B are the set union A ∪ B, the set intersection A ∩ B, and the concatenation A⋅B. Finally, as an operation taking a single operand, the set A* denotes the Kleene star of the language A. Therefore, language equations can be used to represent formal grammars, since the languages generated by the grammar must be the solution of a system of language equations.
Language equations and context-free grammars Ginsburg and Rice gave an alternative definition of context-free grammars by language equations. To every context-free grammar G = ( V , Σ , R , S ) {\displaystyle G=(V,\Sigma ,R,S)} , is associated a system of equations in variables V {\displaystyle V} . Each variable X ∈ V {\displaystyle X\in V} is an unknown language over Σ {\displaystyle \Sigma } and is defined by the equation X = α 1 ∪ … ∪ α m {\displaystyle X=\alpha _{1}\cup \ldots \cup \alpha _{m}} where X → α 1 {\displaystyle X\to \alpha _{1}} , ..., X → α m {\displaystyle X\to \alpha _{m}} are all productions for X {\displaystyle X} . Ginsburg and Rice used a fixed-point iteration argument to show that a solution always exists, and proved that the assignment X = L G ( X ) {\displaystyle X=L_{G}(X)} is the least solution to this system, i.e. any other solution must be a subset of this one. For example, the grammar
S → a S c ∣ b ∣ S {\displaystyle S\to aSc\mid b\mid S}
corresponds to the equation system
S = ( { a } ⋅ S ⋅ { c } ) ∪ { b } ∪ S {\displaystyle S=(\{a\}\cdot S\cdot \{c\})\cup \{b\}\cup S}
which has as solution every superset of { a n b c n ∣ n ∈ N } {\displaystyle \{a^{n}bc^{n}\mid n\in {\mathcal {N}}\}} . Language equations with added intersection analogously correspond to conjunctive grammars.
Language equations and finite automata Brzozowski and Leiss studied left language equations where every concatenation is with a singleton constant language on the left, e.g. { a } ⋅ X {\displaystyle \{a\}\cdot X} with variable X {\displaystyle X} , but not X ⋅ Y {\displaystyle X\cdot Y} nor X ⋅ { a } {\displaystyle X\cdot \{a\}} . Each equation is of the form X i = F ( X 1 , . . . , X k ) {\displaystyle X_{i}=F(X_{1},...,X_{k})} with one variable on the right-hand side. Every nondeterministic finite automaton has such corresponding equation using left-concatenation and union, see Fig. 1. If intersection operation is allowed, equations correspond to alternating finite automata.
Baader and Narendran studied equations F ( X 1 , … , X k ) = G ( X 1 , … , X k ) {\displaystyle F(X_{1},\ldots ,X_{k})=G(X_{1},\ldots ,X_{k})} using left-concatenation and union and proved that their satisfiability problem is EXPTIME-complete.
Conway's problem Conway proposed the following problem: given a constant finite language L {\displaystyle L} , is the greatest solution of the equation L X = X L {\displaystyle LX=XL} always regular? This problem was studied by Karhumäki and Petre who gave an affirmative answer in a special case. A strongly negative answer to Conway's problem was given by Kunc who constructed a finite language L {\displaystyle L} such that the greatest solution of this equation is not recursively enumerable. Kunc also proved that the greatest solution of inequality L X ⊆ X L {\displaystyle LX\subseteq XL} is always regular.
… excerpt ends here. Continue reading the full article.

