sig List {
header: set Node
}
sig Node {
link: set Node,
elem: set Int
}
같은 요소를 가리 키도록 두 개의 노드를 원하지 않습니다. 어떻게이 일을 성취 할 수 있습니까?연결된 목록, 같은 요소가 없습니다.
는 정말 * 연산자를 이해하지 않지만, 나는 그 N 가정
all n: Node | n.elem != n.*link.elem
했습니다. * link.elem는
n.link.elem
n.link.link.elem
n.link.link.link.elem
과 세트의 모든 요소를 가리키는 것 그러나 이것은 효과가 없습니다. 당신 ELEM 필드
sig List {
header: set Node
}
sig Node {
link: set Node,
disj elem: set Int
}
를 선언 할 때