变量是否有最大值大小?

Is there a maximum value size for variables?

假设我有以下(故意简单的)约束子部分:

..... SOME STUFF .....

(declare-const I Int)
(assert (and (>= I 0) (<= I 1)))

(define-fun W () Int
    2251799813685248
)

..... MORE STUFF .....

(maximize (* I W))
(check-sat)
(get-model)

我给W的尺码是不是太大了?或者更一般地说,是否有可以在 Z3 中分配的最大大小值(例如,如果变量存储为常规 ints/floats/longs/etc 而不是可变精度)?

一个Int值对应于一个数学整数。它可以是任意大小。没有最大值。

对于大小版本,您应该使用 bit-vectors:(_ BV n) 是大小为 n 的 bit-vector 的类型,它遵循机器算术规则。