If a theory is decidable in the existential fragment, does this mean that there is a (terminating) method to obtain witnesses of satisfaction?

huangapple go评论49阅读模式
英文:

If a theory is decidable in the existential fragment, does this mean that there is a (terminating) method to obtain witnesses of satisfaction?

问题

我关注的是是否有算法(例如,在SMT求解器中实现)可以保证在给出存在公式的模型时终止任务,就像它们对可满足性问题保证终止一样。让我试着解释一下。


如果第一阶理论 T 在其存在片段上是可判定的,这意味着存在一种方法(保证终止),可以解决 T 的所有存在公式的可满足性问题。我理解对吗?

我的问题是:T 是否存在可判定意味着我们有一种方法(保证终止)可以在 T 中获得存在公式的模型?换句话说,如果我们有一种解决 T 的存在公式可满足性问题的方法,是否意味着我们也有一种获得这些公式模型的方法(在可满足的情况下)?

例如,考虑线性整数算术的理论。我们知道有一种终止算法(即,Cooper 的方法)可以执行量词消除(QE),从而获得一个决策过程,如果所有变量都受量词限制。这意味着 Cooper 可以用终止保证解决线性算术的可满足性问题。这也意味着,如果SMT求解器(比如,Z3)在可满足性问题上实现了 Cooper,那么它(理论上)提供终止。对吗?

然而,如果我们想要询问一个模型怎么办?显然,对于这个理论,不需要计算满足的证人(使用了QE),因此可能没有获得这个证人的方法。换句话说,我们可以使用 Cooper 来决定 ∃x, y. (x < y) 的可满足性,但无法获得一个证人!

那么,是否有类似的方法可以保证终止并提供一个模型? 或许可以修改QE方法?我认为可能是这样,因为QE方法在某种程度上计算了测试点,也许我们可以提取这些点的证人......

另外,考虑有限理论(例如,自然数上限为 100)。然后,很明显,通过枚举,我们可以同时拥有一种决定可满足性并返回证人的方法。我关心的是无限理论。正如我们所见,QE并不意味着获得证人,但也许有一些结果可以保证,如果一个理论通过QE方法被证明是可判定的,那么还有另一种方法可以计算出证人。

如果回答是肯定的,那么SMT求解器(任何一个)是否实现了这些保证模型提供?如果没有,为什么呢?关于SMT求解器的文献中是否有任何相关信息?

英文:

I am concerned with whether there are algorithms (e.g., implemented in SMT solvers) that guarantee termination on the task of giving models of existential formulae; in the same way they guarantee termination for the satisfiability problem. Let me try to explain myself.


If a first-order theory T is decidable on its existential fragment, this means that there is a method (that guarantees termination) that solves the satisfiability problem for all existential formulae of T. Am I right?

My question is: does T being existential-decidable imply that we have a method (that guarantees termination) to obtain models of existential formulae within T? In other words, if we have a method to solve satisfiability on existential formulae of T, does this mean we also have a method to obtain models of such formulae (in satisfiable instances)?

For instance, consider the theory of linear integer arithmetic. We know there is a terminating algorithm (i.e., Cooper's method) that performs quantifier elimination (QE) yielding a decision procedure if all variables are bounded by the quantifiers. This means that Cooper can solve the satisfiability problem of linear arithmetic with a termination guarantee. And this also means that, if an SMT solver (say, Z3) implements Cooper for the satisfiability problem, then it (in theory) offers termination. Right?

However, what if we want to ask for a model? It is clear that, for this theory, it has not been necessary to compute a witness of satisfaction (it has been done using QE), so maybe there is no method to get this witness. In other words, we can e.g., decide satisfiability of ∃x,y. (x&lt;y) using Cooper, but not get a witness!

So, is there a similar method that guarantees termination and offers a model? Maybe some modification of QE methods? I think it could be the case, because QE methods somehow compute test-points and maybe we can extract witnesses of such points...

Also, consider finite theories (e.g., naturals up to 100). Then, it is clear that, by enumeration, we can both have a method to decide satisfiability and return a witness. My concern is with respect to infinite theories. As we saw, QE does not imply witness obtention, but maybe there is some result out there that guarantees that if a theory is shown to be decidable with a QE method, then there is another method that computes witnesses.

In case of positive answer, do SMT solvers (any of them) implement these guarantee model-provision? If not, why is this so? Is there any information about this in the literature of SMT solvers?

答案1

得分: 1

如果我正确理解您的问题,您正在询问是否存在SMT求解器可以说“是的,这是可满足的”,但无法显示一个模型的情况。

根据典型的基于DPLL(T)的SMT求解方式,这种情况是不会发生的。这些求解器的工作方式是总是在可满足的情况下找到一个模型。这并不意味着您可以使用其他算法来确定某些东西是否可满足,但却无法生成一个模型。这在一般的定理证明中是完全可能的,但在我们通常认为属于SMT求解范围内的情况下不会发生。(来自定理证明的示例:在没有排中律的逻辑中,您可以证明某些东西是假的,但却无法展示一个实例。这就是选择公理发挥作用的地方。但这些技术远远超出了通常的SMT求解范围。)

在SMT求解的上下文中,我们通常关心的是有限模型的查找。也就是说,我们是否能够展示一个小型模型?(这在实践中非常重要,因为模型通常是反例,而反例越小越好。)如果模型只能是无限的,您会发现SMT求解器通常不会终止。关于这个主题有很多研究。这是一篇不错的论文可以阅读:http://homepage.divms.uiowa.edu/~ajreynol/cav13.pdf

英文:

If I understand your question correctly, you're asking if there are any scenarios where the SMT solver can say "yes this is SAT," but is unable to display a model for it.

This, by construction, doesn't happen in the typical DPLL(T) based SMT solving. The way such solvers work is by always finding a model in case of SAT. This does not mean that you can have some other algorithm to determine if something is SAT, but not be able to come up with a model. That's entirely possible in general theorem proving, but does not happen in what we usually consider under the purview of SMT solving. (Example from theorem proving: In a logic without excluded middle, you can establish something is false, yet not be able to show an instance. This is where the axiom-of-choice comes into play. But such techniques are way outside the realm of usual SMT solving.)

In the context of SMT solving, what we care about (usually) is finite-model finding. That is, can we demonstrate a small model? (This is very important in practice, as models are usually counter-examples, and the smaller the counter-example, the better.) If the model can only be infinite, you'll find that the SMT solvers usually won't terminate. There's a lot of research on this topic. This is a good paper to read: http://homepage.divms.uiowa.edu/~ajreynol/cav13.pdf

huangapple
  • 本文由 发表于 2023年4月17日 18:45:57
  • 转载请务必保留本文链接:https://go.coder-hub.com/76034318.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定