Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Z3 获取带有量化布尔变量问题的模型_Z3 - Fatal编程技术网

Z3 获取带有量化布尔变量问题的模型

Z3 获取带有量化布尔变量问题的模型,z3,Z3,我正在使用Z3检查逻辑的可满足性,其中包含线性整数算术、未解释的函数和布尔变量上的量词。Z3没有为可满足的问题提供模型,我想这是因为量词(或者我选择的逻辑:AUFLIA) 除了自己实例化所有布尔变量之外,有没有办法让Z3给我这些问题的模型?Z3原则上可以决定这个片段。我说“原则上”,是因为这个片段的决策问题的复杂性非常高。例如,它包含下一次完成的Bernays–Schönfinkel片段(又名EPR)。Z3可确定的片段列表可在以下位置找到: 我们必须确保在Z3中启用了基于模型的量词实例化(MBQ

我正在使用Z3检查逻辑的可满足性,其中包含线性整数算术、未解释的函数和布尔变量上的量词。Z3没有为可满足的问题提供模型,我想这是因为量词(或者我选择的逻辑:AUFLIA)


除了自己实例化所有布尔变量之外,有没有办法让Z3给我这些问题的模型?

Z3原则上可以决定这个片段。我说“原则上”,是因为这个片段的决策问题的复杂性非常高。例如,它包含下一次完成的Bernays–Schönfinkel片段(又名EPR)。Z3可确定的片段列表可在以下位置找到:

我们必须确保在Z3中启用了基于模型的量词实例化(MBQI)。您可以使用命令行选项
MBQI=true
或SMT2命令来实现这一点

(set-option :mbqi true)
Z3对MBQI步骤的迭代次数也有一个阈值。我们可以使用命令行选项
MBQI\u MAX\u ITERATIONS=
或命令更改阈值

(set-option :mbqi-max-iterations 1000000)
对于每个MBQI步骤,我们可以要求Z3显示当前候选模型不满足的量词。选项
MBQI\u TRACE=true

话虽如此,我最近修复了您发送给我的SMT2脚本暴露的一个bug(崩溃)。修复程序将在Z3.2中提供

可能与……有关。