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

Z3 SMT-LIB中的QF_NRA逻辑是否可判定?,z3,smt,theorem-proving,cvc4,Z3,Smt,Theorem Proving,Cvc4,SMT-LIB中的QF_NRA逻辑是否可判定 我知道塔斯基证明了非线性算法是可判定的,从这个意义上说,实数多项式系统是可判定的。然而,QF_NRA是否属于这一保护伞并不明显,因为QF_NRA包含部门。因此,第一个问题是QF_NRA中的除法是否包括分母可能为零的变量除法,因为要回答这个问题,单靠它本身就已经足够困难了 如果零除法不是QF_NRA的一部分,那么QF_NRA中的除法可以转换为乘法,正如塔斯基所证明的那样,这个问题是可以判定的。如果部门实际上包括在QF_NRA中,那么我不太确定。我的感觉

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

我知道塔斯基证明了非线性算法是可判定的,从这个意义上说,实数多项式系统是可判定的。然而,QF_NRA是否属于这一保护伞并不明显,因为QF_NRA包含部门。因此,第一个问题是QF_NRA中的除法是否包括分母可能为零的变量除法,因为要回答这个问题,单靠它本身就已经足够困难了

如果零除法不是QF_NRA的一部分,那么QF_NRA中的除法可以转换为乘法,正如塔斯基所证明的那样,这个问题是可以判定的。如果部门实际上包括在QF_NRA中,那么我不太确定。我的感觉是,这个问题仍然可以根据具体情况来解决,在被零除的情况下引入新的变量。在这种情况下,QF\u NRA仍然是可判定的。

它是可判定的

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

t2 != 0 => t1 = (/ t1 t2)*t2  .
这实际上将QF_NRA的SMT-LIB理论简化为两种理论的结合:实数(无除法)和未解释函数。现在,因为实函数和未解释函数在无量词片段中都是可判定的理论,所以你可以依靠Nelson和Oppen的经典论点来证明组合理论是可判定的


例如,可以决定实数和未解释函数的这种组合(基于MCSAT)。据我所知,Z3不能将reals和未解释的函数结合起来,CVC4还没有reals的决策过程

这种公理化不等于直接使用
/
吗?谢谢你,你提出的理论组合方案是我想象的关于将
t2==0
案例与
t2!=0
情况下,后者允许消除除法,前者可通过为
(/t1 t2)
引入新符号自行解决。