在 z3 中设置 LIA 逻辑

Setting LIA logic in z3

我正在尝试通过 python 接口使用一种特定于 LIA 实例的策略。我尝试使用:

solver = Tactic('lia').solver()

很遗憾,我收到了消息"unknown tactic 'lia'"。当我改用 'qflia' 时同样有效。我该怎么做才能对这种情况使用最佳策略?

LIA 问题没有自定义策略,但 QF_LIA 有一个(即,无量词 LIA),称为 "qflia",因此它不应报告错误那。这对我有用:

from z3 import *

s = Tactic('qflia').solver()

x = Int('x')
s.add(x < 5)
print(s.check())