2015-09-19 5 views
1

Я заметил, что время проверки моих логических формул, написанных на z3py, сильно изменилось (от ~ 60 с до ~ 30 с, около 50%) после того, как я удалил «-» в именах переменных, которые я определил.z3py: почему время проверки меняется так сильно после переименования переменной?

Е.Г.,

vec = IntVector('vec-1',10) 

в

vec = IntVector('vec1',10) 

Ожидается, это что-то? Если да, то почему?

+0

Возможно, одна из этих форм имеет столкновение имен. В этом случае Z3 ссылается на одну и ту же константу дважды вместо того, чтобы бросать ошибку. Таким образом, вы решаете другую формулу. – usr

+0

Ха, это интересно. Благодаря! –

ответ

2

Возможно, одна из этих форм имеет столкновение имен. В этом случае Z3 ссылается на одну и ту же константу дважды вместо того, чтобы бросать ошибку. Таким образом, вы решаете другую формулу.

+0

Это звучит интересно. Не могли бы вы привести пример (SMTLib или Z3Py), который иллюстрирует проблему? –

+0

Я могу попытаться синтезировать один. –

+0

@ Zhongjun'Mark'Jin Это было бы здорово, спасибо –