合金谓词演算后期制作

时间:2016-12-14 20:49:30

标签: alloy

由于我刚接触合金,这很可能是一个简单的问题。我已经阅读了在线教程,现在正在阅读软件抽象,修订版。在页34的底部有一个示例:

r' = {b:B, a:A, c:C | a->b->c in r}

其中文本说明这定义了B-> A-> C的新关系。我没有看到这个陈述如何实现r'的显式顺序。

1 个答案:

答案 0 :(得分:1)

这是集合理解的属性

  • {a: A | somePredicate1[a]}的类型为A,并返回一个包含somePredicate1所有原子的集合;
  • {a: A, b: B | somePredicate2[a, b]}的类型为A->B,并返回包含a->b所有somePredicate2个元组的关系;

set comprehension的语法基本上由两部分组成(1)类型声明(在|字符之前),以及(2)谓词必须包含在返回集合中的每个元素。