不知道如何描述的形式的樹關係:合金:檢查與謂語樹關係
module tree
pred isTree (r: univ −> univ) {...} run isTree for 4
,如果我有:
refines module Graph
pred isConnected {
some n: Node |
(Graph.nodes = n) || (Graph.nodes = n.^(edges.(src + dest)))
}
pred noCycles {
all n: Node | n not in (n.^(outEdges.dest) + n.^(inEdges.src))
}
pred loneParent {
all n: Node | lone n.inEdges
}
fact isTree {
noDoubleEdges && isConnected && noCycles && loneParent
}
我想知道上面怎麼限制在樹上可以用r:univ - > univ來建模。
非常感謝你提前!