Model 指数约束在Z3CAPI中未知?

Model 指数约束在Z3CAPI中未知?,model,z3,exponent,Model,Z3,Exponent,我想从Z3 C API获得以下约束的解决方案: 2^x < a < 2^(x+1) “a”是一个int常量,其值为10: a=Z3_mk_int(ctx,10); 制约因素包括: c1=Z3_mk_lt(ctx,t_x,a); c2=Z3_mk_lt(ctx,a,t_x_plus_one); 然后我得到的模型是“未知的”,Z3 C API无法得到这样的模型?从描述中不清楚Z3最终采用了哪种求解方法,但一般来说非线性整数算法是不可判定的,Z3只能处理简单

我想从Z3 C API获得以下约束的解决方案:

   2^x < a < 2^(x+1)
“a”是一个int常量,其值为10:

   a=Z3_mk_int(ctx,10);
制约因素包括:

   c1=Z3_mk_lt(ctx,t_x,a);

   c2=Z3_mk_lt(ctx,a,t_x_plus_one);

然后我得到的模型是“未知的”,Z3 C API无法得到这样的模型?

从描述中不清楚Z3最终采用了哪种求解方法,但一般来说非线性整数算法是不可判定的,Z3只能处理简单的指数情况。另请参见Leo对类似问题的回答:


上次我把约束写错了,我又编辑了一次,这一次很清楚。我先读利奥的答案。谢谢。
   c1=Z3_mk_lt(ctx,t_x,a);

   c2=Z3_mk_lt(ctx,a,t_x_plus_one);