Делает
(=> (f g))
всегда означает то же самое, что и
(or (not f) g))
?
Два выражения ведут себя по-разному в моей модели. В то время как использование => дает мне UNSAT, использование другого варианта не дает никакого результата (время ожидания). Я был бы доволен, если бы у меня был список операторов и их значений. Я знаю о стандарте SMTLIB, но в документах явно не говорится о значениях операторов. В частности, «=>», по-видимому, удваивается как псевдоним для оператора «ite» (if_then_else), если он используется в троичном выражении, и я совершенно смущен этим.
Я устанавливаю логику AUFLIA, если это уместно.
Сначала я ищу простой ответ да или нет. И во-вторых, правильная документация по SMT2 (возможно, книга).
У меня есть эта довольно большая модель, сгенерированная на основе модели Marksweep Дэниела Джексона для сплава4 для тех из вас, кто желает видеть для себя.