Z3中多线性有理算术的量词消除

时间:2013-07-15 18:52:09

标签: z3 smt

据我了解,Z3在遇到量化的线性实数/有理算术时,应用了Bjørner,IJCAR 2010中描述的量词消除形式以及Bjørner和Monniaux最近的工作(qe_sat_tactic.cpp所说的是,至少)。

我想知道

  1. 如果公式是多线性的,它是否仍然有效,在某种意义上“常量”是象征性的。例如。 ∀x,ax≤b⇒ax≤0可以通过分离情况a< 0,a = 0和a> 0来处理。这可以使用Weispfenning的虚拟替换方法,但我不知道最终在Z3中实现了什么(即,它是实现了一般方法还是限制为常量系数的方法)。

  2. 在Z3中是否可以输出消除结果而不是仅仅求解一个模型。可能有Z3策略这样做,但我不知道应该如何请求。

  3. 在Z3中是否可以执行如上所述的消除,然后使用新的非线性求解器来获得模型。同样,一连串的策略可能会成功,但我不知道应该如何请求它。

  4. 感谢。

1 个答案:

答案 0 :(得分:0)

经过长途旅行(包括我在会议上遇到大卫的旅行),这里有一个简短的摘要来回答他们提出的问题。

  1. 对多线性表单没有特定支持。
  2. 'qe'策略产生消除的结果,但可能作为副作用决定可满足性。
  3. 这是一个非常有趣的问题需要调查,但不支持开箱即用。