0

谁能告诉我如何使用 Alloy 中的函数输出二元关系?例如,学生与老师链接,学生也与课程链接。如何将学生作为输入,然后输出教师与课程之间的二元关系?

4

1 回答 1

4

像这样的东西?

sig Course {}
sig Teacher {}
sig Student {
  teacher: one Teacher, 
  course: some Course
}

fun binrel [s: Student]: Teacher -> Course {
  s.teacher -> s.course
}

run {
  some s: Student | (#binrel[s] > 2)
}

从函数返回二元关系没有特殊规则。我假设您的问题更多关于关系乘积运算符 ( ->),在这种情况下您需要使用它来从两个标量(或两个一元关系)构造二元关系

于 2013-03-10T19:40:32.890 回答