We consider a first-order logic for the integers with addition. This logic extends classical first-order logic by modulo-counting, threshold-counting, and exact-counting quantifiers, all applied to tuples of variables. Further, the residue in modulo-counting quantifiers is given as a term. Our main result shows that satisfaction for this logic is decidable in two-fold exponential space. If only threshold- and exact-counting quantifiers are allowed, we prove an upper bound of alternating two-fold exponential time with linearly many alternations. This latter result almost matches Berman's exact complexity of first-order logic without counting quantifiers. To obtain these results, we first translate threshold- and exact-counting quantifiers into classical first-order logic in polynomial time (which already proves the second result). To handle the remaining modulo-counting quantifiers for tuples, we first reduce them in doubly exponential time to modulo-counting quantifiers for single elements. For these quantifiers, we provide a quantifier elimination procedure similar to Reddy and Loveland's procedure for first-order logic and analyse the growth of coefficients, constants, and moduli appearing in this process. The bounds obtained this way allow to replace quantification in the original formula to integers of bounded size which then implies the first result mentioned above. Our logic is incomparable with the logic considered recently by Chistikov et al. They allow more general counting operations in quantifiers, but only unary quantifiers. The move from unary to non-unary quantifiers is non-trivial, since, e.g., the non-unary version of the H\"artig quantifier results in an undecidable theory.
翻译:我们把整数加加进的一阶逻辑视为一阶。 这个逻辑将经典一阶逻辑扩展为双倍指数时间的上限, 包括模块计算、 阈值计算和精确计算量化符, 所有这些都适用于变量的图普尔。 此外, 元模计算量化符的残余值被作为一个术语给定。 我们的主要结果显示, 对这个逻辑的满意度在两倍指数空间中是可变的。 如果只允许顶点和精确计算量化符, 我们就会证明一个双倍指数时间的上限, 与许多线性交替的双倍指数时间交替。 后一种结果几乎匹配了 Berman 一阶逻辑的精确复杂性, 而没有计算量化符。 为了获得这些结果, 我们首先将起始点和精确计算量化符的量化符转换成一个典型的一阶次逻辑( 这已经证明了第二个结果 ) 。 要处理其余的调值计数量化符, 我们首先在最小指数时间将它们减为最小值, 然后在最小值中将它们算出一个不固定的量化程序。