2016-11-23 4 views

Répondre

0

Vous pouvez utiliser int2bv et bv2int, mais pour la plupart, ces fonctions seront traitées comme non interprétées (voir par exemple API doc). Si vous avez besoin de la sémantique réelle, vous devrez les implémenter vous-même. Ce n'est pas du tout difficile (juste une grosse somme sur les termes if-then-elses de 2^i*x1[i]), mais les contraintes que vous obtenez de cette façon sont fortement non-linéaires, donc il est probable que la théorie des nombres entiers abandonnera et retournera inconnue. Voir par exemple Z3 Performance with Non-Linear Arithmetic, How does Z3 handle non-linear integer arithmetic? et Z3 : Questions About Z3 int2bv?.