В примечаниях к выпуску z3 версии 4.6 упоминается новая функция «выполнение нескольких вызовов (check-sat) до тех пор, пока он не вернет unsat». Является ли это эквивалентом для ALLSAT?
Где я могу найти дополнительную документацию или пример для этой функции?
выполнение нескольких вызовов (check-sat) до тех пор, пока он не вернет unsat
comment
Да, это про вызовы Оптимизации. Это не связано с AllSAT. Для ALL-SAT нет встроенного метода.
- person Nikolaj Bjorner   schedule 06.02.2018
Ответы (1)
Нет, это было сделано для решения этой проблемы: https://github.com/Z3Prover/z3/issues. /1008а>
Команда ALLSAT не поддерживается z3; хотя было бы легко закодировать его, используя цикл «подтвердить отрицание предыдущей модели и перепроверить». Большинство высокоуровневых интерфейсов обеспечивают это как уровень поверх того, что возможно при использовании SMT-Lib2. Если вам нужна поддержка для этого, лучше сначала убедить разработчиков SMTLib (http://smtlib.cs.uiowa.edu/), поэтому будет разработан стандартный способ сделать это, и его можно будет реализовать с помощью нескольких решателей.
person
alias
schedule
06.02.2018
Я согласен с тем, что использование check-sat в цикле и возврат обратно инвертированной модели в качестве утверждения — это простой способ имитировать ALLSAT. Однако из моих результатов я вижу, что внутренняя стратегия сброса никоим образом не зависит от внешнего цикла. Было бы неплохо иметь хоть какое-то влияние извне.
- person ChristianJ; 07.02.2018
Кроме того, есть также вопросы о том, как all-sat должен вести себя при наличии квантификаторов. (Распространенная стратегия заключается в том, чтобы печатать только разные префиксы-экзистенциалы, и как только вы нажмете на все, оставьте все остальное в покое.) Но ни один из этих пунктов не является четко определенным или общепризнанным. Я думаю, что здесь есть место как для стандарта (например, SMTLib), чтобы установить основные ожидания, так и для инструмента (z3/yices и т. д.), чтобы реализовать то, как строится следующая модель, на которую вы намекаете.
- person alias; 07.02.2018