я запускаю команду сплава, который включает в себя поиск свидетелей для некоторых экзистенциалов, как этот:Полиморфное пустое отношение в сплаве?
pred foo {
some x, y : E -> E |
baz[x,y] || qux[x,y]
}
сплава приходит с моделью, в которой foo
верно. Я смотрю на модель в Visualizer и обнаруживаю, что y
оказывается пустым отношением. Я хочу углубиться в модель и посмотреть, действительно ли baz
или qux
. Поэтому я запускаю окно Evaluator и набираю baz[$foo_x, ???]
. Но что я могу напечатать для ???
? Поскольку y
пуст, нет переменной с именем $foo_y
. И ввод none
или {}
дает ошибку проверки типа.
Имеет ли сплав пустое отношение, которое может использоваться в любом типе? Или есть ли какой-нибудь способ получить в свидетеле y
, хотя он пуст?
Обходной путь, который я использовал: '$ foo_x - $ foo_x' дает мне пустое отношение в правильном типе. Но это довольно уродливый взлом! Есть ли более принципиальный путь? –