Я использую API Python для Z3, чтобы создать инструмент для своих исследований. У меня возникла следующая проблема: я генерирую набор ограничений Z3 с помощью скрипта Python. Поскольку набор может быть непоследовательным, я отслеживаю каждую формулу с помощью assert_and_check. Например,
s.assert_and_track(occWrites_1== True, 'p16')
Конечно, occWrites объявляется логическим:
occWrites_1 = Bool('occWrites_1')
Однако в модели Z3 сообщает occWrites как целое число. Почему это происходит? Разве значение occWrites в модели не должно быть либо True, либо False?