SMT-LIB 中的 QF_NRA 逻辑是否可判定?

Is the QF_NRA logic in SMT-LIB decidable?

SMT-LIB中的QF_NRA逻辑是否可判定?

我知道 Tarski 证明了非线性算术是可判定的,即实数多项式系统是可判定的。但是,QF_NRA 属于这个保护伞并不明显,因为 QF_NRA 包含除法。所以第一个问题是 QF_NRA 中的除法是否包括分母可能为零的变量除法。 ,因为单独回答这个问题已经很困难了。

如果除以零不是QF_NRA的一部分,那么QF_NRA中的除法可以转换为乘法,并且这个问题将是可判定的,正如Tarski所证明的那样。如果除法实际上包含在 QF_NRA 中,那么我不太确定。我的感觉是,问题仍然可以按情况分解,为发生被零除的情况引入新变量。在这种情况下 QF_NRA 仍然是可判定的。

这是可判定的。

您可以通过将除法视为未解释的函数来对 SMT-LIB 除法进行编码,您可以在需要的地方将其公理化,即对于问题中出现的每个 (/ t1 t2),您可以添加

t2 != 0 => t1 = (/ t1 t2)*t2  .

这实际上将 QF_NRA 的 SMT-LIB 理论简化为两种理论的结合:实数(不除法)和未解释函数。现在,由于实函数和未解释函数都是无量词片段中的可判定理论,您可以依靠 Nelson 和 Oppen 的经典论证来证明组合理论是可判定的。

Yices2,例如,可以决定实数和未解释函数的这种组合(基于 MCSAT)。据我所知,Z3 不能结合实数和未解释的函数,而 CVC4 还没有实数的判定程序。