Так что давайте предположим, что у меня есть большая проблема для решения в Z3, и если я попытаюсь решить ее за один раз, это займет слишком много времени. Поэтому я разделяю эту проблему по частям и решаю их индивидуально. В качестве примера игрушка позволяет предположить, что моя сложная задача заключается в решении этих уравнений 3:Управляйте стратегией решения Z3
eq1: x>5
eq2: y<6
eq3: x+y = 10
Так что мой вопрос, является ли, например, можно было бы решить EQ1 и EQ2 первым. А затем используя результат, разрешите eq3.
assert eq1
assert eq2
(check-sat)
assert eq3
(check-sat)
(get-model)
, похоже, работает, но я не уверен, имеет ли смысл производительность? Может ли инкрементное решение помочь мне там? Или есть ли какая-либо другая функция z3, которую я могу использовать для разделения моей проблемы?