- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以让 Z3 序列化某些断言的证明,并在以后的调用中重播证明,而不是再次运行证明搜索?我知道 Z3 可以为 unsat
输出反例,但它可以为 sat
的模型提供证明吗?
最佳答案
术语说明:Z3(和一般的 SAT/SMT 求解器)为 sat
输出模型,为 unsat
提供证明。
证明生成实际上是 SMT-Lib 的一项功能。参见 http://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.6-r2017-07-18.pdf 的第 56 页
而且Z3确实支持它,这是最简单的例子:
(set-option :produce-proofs true)
(declare-fun a () Bool)
(assert (= a (not a)))
(check-sat)
(get-proof)
Z3 说:
unsat
((proof
(mp (asserted (= a (not a))) (rewrite (= (= a (not a)) false)) false)))
格式是特定于求解器的。 SMTLib 文档说:
(get-proof) asks the solver for a proof of unsatisfiability for the set of all formulas in the current context. The command can be issued only if the most recent check command had an empty set of assumptions. The solver responds by printing a refutation proof on its regular output channel. The format of the proof is solver-specific. The only requirement is that, like all responses, it be a member of s_expr.
据我所知,没有“公共(public)”开关可以告诉 Z3 回读这个证明并对它做任何事情。然而,我不会感到惊讶,他们可能有内部工具来使用此输出。
Isabelle theorem prover可以回读Z3的证明并在内部重放以构造相应的证明。这可能更接近您要查找的内容。这是描述这项工作的论文:http://www21.in.tum.de/~boehmes/proofrec.pdf当然,具体支持哪些逻辑和是否主动维护连接是另外一个问题!您可能会发现该论文的“相关工作”部分很有帮助。
关于z3 - 我可以在 Z3 中重播证明吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49874498/
我想在 vim 中从光标到缓冲区末尾的打开缓冲区的每一行上运行我刚刚在寄存器“x”中记录的宏。我该怎么做? 我知道我可以重播宏 n 次: 15@x ...或者只需按住 @ 直到到达最后一行,但我只想按
因此,我最近尝试学习html5知识,并获得了音频标签。在PC的浏览器Chrome上似乎可以正常工作,但在Android(4.0,同时使用常规浏览器和海豚)上却不能正常工作。它将播放一次音频,但不会再播
我有兴趣使用 PHP 构建一个解析器来享受我的乐趣。我需要知道什么?你对我有什么建议?我什至如何使用 PHP 打开星际争霸 2 重播? 最佳答案 SC 回放文件实际上是一个 MPQ 存档文件。此 MP
我有一个使用 Animate.CSS 的动画如果用户愿意,我想重播,但我尝试的方法不起作用。这是代码: HTML:
在 ASP.NET MVC 中防止一个有效 cookie 一次被多个客户端使用的“最佳实践”是什么? 在这种情况下,我们使用了所有 OWASP 技巧。 严格的 HSTS:每个页面都使用 HTTPS/S
我有一个 AVPlayer 类,全部设置为流式传输音频文件。它有点长,所以我不能在这里发布整个内容。我坚持的是如何让用户在听完一次音频文件后重播。当它第一次完成时,我正确地收到通知 AVPlayerI
我正在尝试用 sipp 重播捕获的 pcap 文件。我的设置有 2 台电脑和一个代理。接收电脑有 linphone,应该能够接听来自另一台发送带有 sipp 的 pcap 文件的电脑的调用。我已经用
我有一个网页,如果应用了某些样式,滚动时可能会出现卡顿。我的问题是如何系统地测试个人风格的效果。我不想每次都手动向下滚动页面,我想执行一些可复制的操作,以便轻松比较两个不同样式表的效果。是否可以录制和
我想从 Clojurescript 建立一个 Om session ,它可以在另一台机器上回复整个 GUI。我如何才能将原子从客户端传递到服务器,以便只发送更改,以便可以在其他地方重播更改历史? 更新
我一直在使用 React Native Video 模块并且它工作得很好,但是我需要播放结束时的视频自动倒回到开头。视频实例可以选择使用: onEnd={this.onEnd} 视频播放结束后调用一个
我的计算机上有一些虚拟机,它们通过主机专用网络相互通信。 我想模拟这些机器之间的中间人攻击。我发现的所有运行 MITM 的工具都只是监视数据包,但我没有找到任何可以真正重放或更改它们的工具。 我发现了
我是 FreeGLUT 的当前维护者之一sourceforge 上的项目。此代码存储在 SVN 存储库中,但为了激发其他人的贡献,我想提供一个 git 存储库。我已经在 github 上有一个 svn
我正在开发一个有很多命令行交互的系统。有时甚至通过 SSH。命令有时可能需要长达 30 分钟才能完成。 目前,我正在停止对执行该系统调用的对象的大部分 system 调用。例如: class Back
我们如何在delve session 中轻松查看decimal.Decimal值的浮点值。尤其是在 mozilla rr 录制的 dlv replay session 中。 (dlv) args un
我是一名优秀的程序员,十分优秀!