首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >z3:超时的原因可能是什么(rise4fun)

z3:超时的原因可能是什么(rise4fun)
EN

Stack Overflow用户
提问于 2015-05-30 16:27:04
回答 1查看 136关注 0票数 1

问题是:在rise4fun中尝试时超时:

我已经试着不使用"forall",但它也不起作用。

代码语言:javascript
复制
(declare-const x Real)
(declare-const y Real)
(declare-const t Real)
(declare-const u Real)
(declare-const v Real)
(declare-const w Real)
(declare-fun f (Real) Real)
(assert (forall ((x Real) (y Real)) (<= (+ (f x) (f y)) (* 2 (f (/ (+ x y) 2))))))

(assert (<= (+ 2 (f (* 2 (+ t u))) (f (* 2 (+ v w))) (f (+ t u v w))) (+ 2 (* 3 (f (+ t u v w))))))

(check-sat)
(get-model)

有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-13 08:53:51

该示例同时使用了非线性算术、函数和量词。Z3不会以任何特定的方式处理这种组合。最新版本的Z3确实在没有量词的默认模式下快速终止,但主要是因为幸运,而不是在本例中使用决策过程。然而,有了量词,tZ3就进入了一个搜索空间,在那里它无法求解函数f。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30543990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档