A language L is prefix-free if, whenever words u and v are in L and u is a prefix of v, then u = v. Suffix-, factor-, and subword-free languages are defined similarly, where "subword" means "subsequence". A language is bifix-free if it is both prefix-and suffix-free. We study the quotient complexity, more commonly known as state complexity, of operations in the classes of bifix-, factor-, and subword-free regular languages. We find tight upper bounds on the quotient complexity of intersection, union, difference, symmetric difference, concatenation, star, and reversal in these three classes of languages.One of the first results concerning the state complexity of an operation is the 1966 theorem by Mirkin [18], who showed that the bound 2 n for the reversal of an n-state dfa can be attained. In 1970 Maslov [17] stated without proof the bounds on the complexities of union, concatenation, star, and several other operations in the class of regular languages, and gave languages meeting these bounds. In 1994 these operations, along with intersection, reversal, and left and right quotients, were studied in detail by Yu, Zhuang and Salomaa [27].Results exist also for proper subclasses of the class of regular languages: unary [20,27], finite [8,10,26], cofinite [2], prefix-free [12,13], suffix-free [9,11,14], ideal [6], and closed [7]. The bounds can vary considerably.Free languages (with the exception of {ε}, where ε is the empty word) are codes, which constitute an important class of languages and have applications in such areas as cryptography, data compression, and information transmission. They have been studied extensively; see, for example, [3,15]. In particular, prefix and suffix codes [3] are prefix-free and suffix-free languages, respectively, infix codes [21,22] are factor-free, and hypercodes [21,22] are subword-free, where by subword we mean subsequence. Moreover, free languages are special cases of convex languages [1,23]. We are interested only in regular free languages.The state complexities of intersection, union, concatenation, star, and reversal were first studied by Han, K. Salomaa, and Wood [12] for prefix-free languages, and by Han and K. Salomaa [11] for suffix-free languages. In the present paper, these results are extended to bifix-, factor-and subword-free languages. In particular, we obtain tight upper bounds on the complexities of intersection, union, difference, symmetric difference, star, concatenation, and reversal in these three classes of free languages.
PreliminariesIt is assumed that the reader is familiar with finite automata and regular languages as treated in [19,25], for example. If Σ is a finite non-empty alphabet, then Σ * is the set of all words over this alphabet, with ε as the empty word. For w ∈ Σ * , let |w| be the length of w. A language is any subset of Σ * .The following set operations are defined on languages: complement (L = Σ * \ L), union (K ∪ L), intersection (K ∩ L), difference (K \ L), and symmetric difference (K ⊕ L). A general boolean operation with two arguments ...