SMT-LIB中的QF_NRA逻辑是否可判定?
我知道塔斯基证明了非线性算术是可判定的,即实数多项式系统是可判定的。然而,QF_NRA 属于这个范畴并不明显,因为 QF_NRA 包含除法。因此,第一个问题是 QF_NRA 中的除法是否包括除以分母可能为零的变量。 I posted that as a separate question ,因为事实证明,仅仅回答这个问题就已经足够困难了。
如果除以零不是 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 还没有实数的决策过程。
关于z3 - SMT-LIB中的QF_NRA逻辑是否可判定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40182537/