是否可以序列化/反序列化 Z3 上下文(来自 C#)?
如果没有,这个功能有计划吗?
我认为这个功能对于现实世界的应用程序很重要。
当前 API 不直接支持此功能。下一版本将支持多个求解器,我们将提供用于将断言从一个求解器复制到另一个求解器并检索断言的命令。使用这些命令,可以通过将表达式转储到文件(SMT 2.0 格式)中来实现序列化。要反序列化,我们只需读回文件即可。
请注意,如果您跟踪在逻辑上下文中断言的断言,则可以使用当前 API 来实现此解决方案。
话虽这么说,我已经在许多使用 Z3 的项目中看到了以下方法。他们有自己的公式表示形式。当他们调用 Z3 时,他们将其表示转换为 Z3 的表示。在大多数情况下,性能开销是最小的。这种方法给了他们很大的灵活性。序列化就是一个很好的例子。一些编程环境(例如Python)已经为序列化提供了一些内置支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)