Two definitions
•
Semantics of to and from relations
def succ {
all s | s.succ = {t|t.from=s.to}
}
•
A segment conflicts with another segment if their
successors overlap
def conflicts {
all s | s.conflicts =
{t | some(s.succ & t.succ.overlaps)} – s
}