PathSpec PathSpec : Join | Simple . Join = "(join" PathSpec PathSpec ")". Simple = "->" Node Node. satisfies(p,ps) if p is an expansion of ps. p satisfies R(p,ps) ps = Simple(n1,n2): source(p) = source(ps)=n1 target(p) = target(ps)=n2 ps = Join(ps1,ps2): well-formed: target(ps1) = source(ps2) source(p) = source(ps1) target(p) = target(ps2) p contains target(ps1) ps =