合金pred / fun参数约束

时间:2017-04-11 03:17:26

标签: alloy

以下Alloy谓词p将参数t声明为S类型的单例。调用run p给出正确的结果,因为谓词体声明t可能包含两个不同的元素s和{{ 1}}。但是,在第二个s'命令中,将一组类型为run的两个不相交元素传递给谓词S,并且此命令提供一个实例。为什么会这样?

p

1 个答案:

答案 0 :(得分:1)

https://stackoverflow.com/a/43002442/1547046。我认为同样的问题。

顺便说一下,这里有一个很好的研究问题。你能为更好的参数声明定义一个连贯的语义(即更简单,更令人惊讶,并在所有上下文中定义良好)?