Я проанализировал формулу в QF_AUFLIA с z3. Результат: sat
. Модель возвращаемого (get-model)
содержит следующие строки:Сортировка несоответствия в модели
(define-fun PCsc5_() Int
(ite (= 2 false) 23 33)
Согласно моему пониманию языка SMTLIBv2, это утверждение неверно сформированное. =
следует применять только к аргументам того же типа. Однако 2
имеет сортировку Int
и false
имеет сортировку Bool
.
Когда я кормлю назад как раз эти две линии z3, он согласен со мной, говоря:
invalid function application, sort mismatch on argument at position 2
Является ли это ошибка?
Если нет, то как я должен интерпретировать (= 2 false)
?
Да, это похоже на ошибку в построении модели. Не могли бы вы прислать нам формулу, которая генерирует эту фиктивную модель? Благодарю. –
Я только что отправил вам электронное письмо. – Georg