英文:
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的技术是否保持等价性或等同性的任何信息。
参考资料
-
[Bradley, Manna] The Calculus of Computation,
https://community.wvu.edu/~krsubramani/courses/backupcourses/dm2Spr2013/coursetext/CalcofComp.pdf
英文:
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
-
[Bradley, Manna] The Calculus of Computation,
https://community.wvu.edu/~krsubramani/courses/backupcourses/dm2Spr2013/coursetext/CalcofComp.pdf
答案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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论