Z3 v4.3和x2B;支持非线性算法的量词消除

Z3 v4.3和x2B;支持非线性算法的量词消除,z3,nonlinear-functions,quantifiers,Z3,Nonlinear Functions,Quantifiers,我不知道Z3完全支持什么样的量词消除。 我得到的是一个普遍量化的非线性公式。我想得到一个等价的无量词公式。Z3有可能吗 谢谢, FriedrichZ3对非线性算法的量词消除的支持非常有限。此外,默认情况下不启用它。下面是一个关于如何启用它的示例,并演示其局限性。它也可以在网上获得 嗨,利奥,qe对非线性算法的支持会在不久的将来扩展吗?不会在不久的将来。除非有人想做这件事。顺便说一句,我们有所有的机器来实现基于CAD的量词消除程序。谢谢,这听起来是一个非常有趣的项目。 (set-option :p

我不知道Z3完全支持什么样的量词消除。 我得到的是一个普遍量化的非线性公式。我想得到一个等价的无量词公式。Z3有可能吗

谢谢,
Friedrich

Z3对非线性算法的量词消除的支持非常有限。此外,默认情况下不启用它。下面是一个关于如何启用它的示例,并演示其局限性。它也可以在网上获得


嗨,利奥,qe对非线性算法的支持会在不久的将来扩展吗?不会在不久的将来。除非有人想做这件事。顺便说一句,我们有所有的机器来实现基于CAD的量词消除程序。谢谢,这听起来是一个非常有趣的项目。
(set-option :pp-max-depth 20) ;; set option for Z3 pretty printer
(declare-const a Real)
(assert (exists ((x Real)) (= (* x x) a )))
(apply qe)
(echo "enabling nonlinear support...")
(apply (! qe :qe-nonlinear true))
;; It is very limited, it will fail in the following example
(echo "trying a cubic polynomial...")
(assert (exists ((x Real)) (= (* x x x) a)))
(apply (! qe :qe-nonlinear true))