Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
Python 如何在Z3Py中验证axiom?_Python_Z3_Z3py - Fatal编程技术网

Python 如何在Z3Py中验证axiom?

Python 如何在Z3Py中验证axiom?,python,z3,z3py,Python,Z3,Z3py,我不熟悉Z3,但我知道公理是一个假设的前提,不管它是否明显,它被用来证明其他命题 我试图定义一个结合Z3Py的方法长度和包含的公理,我的想法的一个例子是: lista = Const('lista', SeqSort(IntSort())) a, b = Ints('a b') solve(ForAll(lista, Length(lista)> 3)) 这段代码会被认为是一条公理吗?这让我回想起“没有解决办法”,我不明白为什么。它是否应该支持两个元素的列表,对吗?这个问题非常混乱,根

我不熟悉Z3,但我知道公理是一个假设的前提,不管它是否明显,它被用来证明其他命题

我试图定义一个结合Z3Py的方法长度和包含的公理,我的想法的一个例子是:

lista = Const('lista', SeqSort(IntSort()))

a, b = Ints('a b')
solve(ForAll(lista, Length(lista)> 3))

这段代码会被认为是一条公理吗?这让我回想起“没有解决办法”,我不明白为什么。它是否应该支持两个元素的列表,对吗?

这个问题非常混乱,根本不清楚你在问什么。一个公理通常是一个量化的陈述,也就是说,所有的和/或都存在于其中。下面是一个示例,复制自:

f=函数('f',IntSort(),IntSort(),IntSort())
x、 y=整数('x y')
打印所有([x,y],f(x,y)==0)
打印存在(x,f(x,x)>=0)
a、 b=整数('AB')
求解(对于所有(x,f(x,x)==0),f(a,b)==1)
如您所见,公理通常用于表示未解释函数的属性:
f
,在上述示例中

你的描述很难理解,但听起来你可能有XY问题:看看你是否能用你想要达到的目标来重新表述这个问题,而不是做出假设!(很抱歉说了双关语!)祝你好运

关于您的编码: 让我们关注一下您所写的内容:

solve(ForAll(lista,Length(lista)>3))
这里您要说的是,对于所有列表(您命名为
lista
),它们的长度都大于3。你用更数学的符号表示:

∀x. length (x) > 3
这显然不是真的,因为您可以将空列表作为反例


一般来说,公理将创建一个新的未解释的排序和/或未解释的函数及其状态属性。你已经表示你是一个新用户,很可能在这个级别上你不需要任何实用的公理。当您就特定主题提出非常具体的问题时,Stack overflow确实效果最好,因此请随意提出不同的问题。

谢谢您的帮助,我编辑了我的第一条评论,希望现在能更清楚。不幸的是,没有这么多。我试着解释一下你的编码的真正含义,但是具体的问题会比模糊的陈述更有效。