我如何知道z3中有多少个值有一个数组?

我如何知道z3中有多少个值有一个数组?,z3,z3py,Z3,Z3py,我使用的是Z3py,但是当我定义数组时 array=array('array',IntSort(),IntSort()) 我不知道如何才能知道数组中有多少个值。Z3(和SMT)中的数组大小是无限的。例如,请参见Z3(和SMT)中的阵列具有无限大小。请参阅,例如,尝试使用内置的len(array)函数,如果不起作用,请尝试查看哪些属性可用于数组对象,dir(array)尝试使用内置的len(array)函数,如果不起作用,请尝试查看哪些属性可用于数组对象,dir(数组)谢谢您的回复,但是如果我定义

我使用的是Z3py,但是当我定义数组时

array=array('array',IntSort(),IntSort())


我不知道如何才能知道数组中有多少个值。

Z3(和SMT)中的数组大小是无限的。例如,请参见Z3(和SMT)中的阵列具有无限大小。请参阅,例如,

尝试使用内置的
len(array)
函数,如果不起作用,请尝试查看哪些属性可用于数组对象,
dir(array)
尝试使用内置的
len(array)
函数,如果不起作用,请尝试查看哪些属性可用于数组对象,
dir(数组)
谢谢您的回复,但是如果我定义了“数组”的5个实例,我如何知道存在5个实例?例如
array[0]=…,array[1]=…,array[2]=…,array[3]=…,array[4]=…
然后,如果我使用例如int I=5这样的值,如果数组的实例数为5或更少,我如何与I进行比较?正如Christoph提到的,从
IntSort
IntSort
的数组将为每个整数元素定义。(从这个意义上讲,它更像是一个函数。)因此,询问“5或更少”没有意义。答案是,它总是超过5个:每个整数值都有一个元素。不要将它与C或Java等语言中的数组合并。谢谢你的回答,但是如果我定义了“数组”的5个实例,我怎么知道存在5个实例?例如
array[0]=…,array[1]=…,array[2]=…,array[3]=…,array[4]=…
那么,如果我使用例如int I=5这样的值,如果数组的实例数为5或更少,我如何与I进行比较?正如Christoph提到的,将为每个整数元素定义一个从
IntSort
IntSort
的数组。(从这个意义上讲,它更像是一个函数。)因此,询问“5或更少”没有意义。答案是,它总是大于5:每个整数值都有一个元素。不要将它与C或Java等语言中的数组混为一谈。