The cut of two languages is a subset of their concatenation given by the leftmost maximal prefix match. We study the state complexity of the cut operation assuming that both operands belong to some, possibly different, subclasses of convex languages, namely, right, left, two-sided, and all-sided ideal, prefix-, suffix-, factor-, and subword-closed, -free, and proper convex languages. This state complexity is defined as the function that assigns the maximal state complexity of the language resulting from the cut operation to the pair of numbers m and n representing the sizes of deterministic finite automata recognizing the operands of this operation. For all considered pairs of classes, we get the exact state complexity of cut. We show that it is m or 1 whenever the first language is a right ideal, and it is m+n−1 or m+n−2 if the first language is prefix-closed, prefix-free, or proper prefix-convex. In the other cases, the state complexity of cut is between mn−2n−m+4 and mn−n+m, the latter being the known state complexity of cut on regular languages. All our witnesses are described over a fixed alphabet of size at most three, except for four cases when the witness languages are described over an alphabet of size m or m−1.
Read full abstract