Complementation of nondeterministic B\"uchi automata (BAs) is an important problem in automata theory with numerous applications in formal verification, such as termination analysis of programs, model checking, or in decision procedures of some logics. We build on ideas from a recent work on BA determinization by Li et al. and propose a new modular algorithm for BA complementation. Our algorithm allows to combine several BA complementation procedures together, with one procedure for a subset of the BA's strongly connected components (SCCs). In this way, one can exploit the structure of particular SCCs (such as when they are inherently weak or deterministic) and use more efficient specialized algorithms, regardless of the structure of the whole BA. We give a general framework into which partial complementation procedures can be plugged in, and its instantiation with several algorithms. The framework can, in general, produce a complement with an Emerson-Lei acceptance condition, which can often be more compact. Using the algorithm, we were able to establish an exponentially better new upper bound of $O(4n)$ for complementation of the recently introduced class of elevator automata. We implemented the algorithm in a prototype and performed a comprehensive set of experiments on a large set of benchmarks, showing that our framework complements well the state of the art and that it can serve as a basis for future efficient BA complementation and inclusion checking algorithms.
翻译:对非确定性 B\\\\"uchi automata (BAs) 进行补充,是自动化理论中的一个重要问题,在正式核查中有许多应用,例如程序的终止分析、模型检查或某些逻辑的决策程序。我们借鉴了李等人最近关于BA确定性工作的想法,并为BA补充提出了新的模块算法。我们的算法允许将BA的一些补充程序与BA连接紧密的构成部分(SCCs)的一个子子程序结合起来。这样,人们就可以利用某些SCC的结构(例如,当它们本身很弱或确定性时),并使用效率更高的专门算法,而不管整个BA的结构如何。我们给出了一个总的框架,部分补充程序可以插入BAA 等的确定性程序,并用几种算法来进行。一般来说,可以用Emerson-Lei的接受条件来补充一个通常比较紧凑的子(SCs) 。我们可以用这个算法来建立一个指数性更好的新框框, $(4n) 来补充某个特殊的Squal 。我们可以用一个指数来补充最近推出的Aqulal 样模型,用来补充一个完整的Aqulasqulational 的基础, 。