Quantifier elimination 保留等价性吗?在 Z3 中呢?

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

Does quantifier elimination preserve equi-satisfiability or equivalence? And in Z3?

问题

Quantifier elimination (QE)是否保持等价性或等价性?我一直认为QE保持等价性(而不是等同性),但在[Bradley, Manna]的书中,他们说Cooper的方法(用于Presburger算术)和Ferrante-Rackoff(用于有理算术)这两种QE方法都保持等价性。

那么,QE是否总是保持等价性?有保持等价性的QE方法和保持等同性的其他方法吗?如果是这样,有没有这两种类型的例子?

我感到困惑,因为[ETHZ][Wiki]说,斯科莱姆化可以消除“存在量词”,它保持等价性但不一定保持等同性。我认为,即使消除存在性量词听起来像是QE方法,斯科莱姆化本身并不是一个QE方法。

至于Z3(和其他求解器),我找不到关于它是否用于QE的技术是否保持等价性或等同性的任何信息。

参考资料

英文:

Does quantifier elimination (QE) preserve equi-satisfiability or equivalence?

I always thought QE preserves equi-satisfiability (and not equivalence) but in the book [Bradley, Manna], they say both Cooper's method (for Presburger arithmetic) and Ferrante-Rackoff (for rational arithmetic), which are QE methods, preserve equivalence.

So, does QE always preserve equivalence? Are there QE methods that preserve equi-satisfiability and others that preserve equivalence? In such case, any example of both types?

I am confused, because [ETHZ][Wiki] say that Skolemization, with which "existential quantifiers can be eliminated" preserves equi-satisfiability but not necessarily equivalence. What I think is that, even if eliminating existential quantifiers sounds to me like a QE method, Skolemization is not a QE method itself.

As for Z3 (and other solvers), I cannot find any information about whether the techniques it uses for QE preserves equivalence or equi-satisfiability.

Reference

答案1

得分: 1

你回答了自己的问题。根据定义,QE算法会产生一个等价的公式(不仅仅是等可满足的)。

Skolem化只允许从公式中删除存在量词,并且它产生等可满足的公式,而不是等价的公式。但实际上,在SAT/SMT求解中,这几乎不重要,因为我们只关心可满足性。

关于z3中具体的实现:再次强调,根据定义,如果它们实现了一个QE过程,那么该转换会保持等价性。

请注意,Skolem化是一种适用于所有理论的通用技术。但量词消除是理论特定的:并不是所有理论都允许QE,也不一定廉价。另一方面,Skolem化适用于所有量化公式,相对较便宜,但只保持等可满足性,不会消除普遍量词。

英文:

You answered your own question. By definition, a QE algorithm produces an equivalent formula. (Not just equi-satisfiable.)

Skolemization only allows existentials to be removed from a formula, and it produces equi-satisfiable formulas, not equivalent formulas. (But in practice of SAT/SMT solving, this hardly matters since all we care about is satisfiability.)

Regarding specific implementations in z3: Again, by definition, if they implement a QE procedure, then that transformation preserves equivalence.

Note that skolemization is a general technique that applies to all-theories. But quantifier-elimination is theory specific: Not all theories admit QE, nor they are necessarily cheap. Skolemization, on the other hand, applies universally to all quantified formulae, it is relatively cheap, but it only preserves equi-satisfiability, and does not get rid of universals.

huangapple
  • 本文由 发表于 2023年5月11日 15:24:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/76225058.html
匿名

发表评论

匿名网友

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

确定