【发布时间】:2016-01-21 03:42:56
【问题描述】:
我运行了一个 Alloy 命令,该命令涉及为一些存在物寻找证人,比如这个:
pred foo {
some x, y : E -> E |
baz[x,y] || qux[x,y]
}
Alloy 提出了一个模型,其中foo 为真。我在 Visualizer 中查看模型,发现 y 恰好是空关系。我想深入挖掘模型,看看baz 或qux 是否正确。所以我启动了评估器窗口并输入baz[$foo_x, ???]。但是我可以为??? 输入什么内容?由于y 为空,因此没有名称为$foo_y 的变量。输入none 或{} 会出现类型检查错误。
Alloy 是否提供可用于任何类型的空关系?或者有什么方法可以让y 见证人即使它是空的?
【问题讨论】:
-
我一直在使用的解决方法:
$foo_x - $foo_x给了我正确类型的空关系。但这是一个非常丑陋的黑客!有没有更原则的方式?
标签: alloy