不知道如何描述的形式的树关系:合金:检查与谓语树关系
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来建模。
非常感谢你提前!