我正在使用用于 Z3 的 python API 为我的研究构建一个工具。我遇到以下问题:我正在使用 Python 脚本生成一组 Z3 约束。由于集合可能不一致,我正在使用 assert_and_check 跟踪每个公式。例如,
s.assert_and_track(occWrites_1== True, 'p16')
当然,occWrites 被声明为布尔值:
occWrites_1 = Bool('occWrites_1')
但是,在模型中,Z3 将 occWrites 报告为整数。为什么会这样?模型中occWrites的值不应该是True还是False?