This is similar to Is there such a thing as an "or" case in a dependency graph?
I am trying to represent a dependency graph where the dependencies for an individual node may be a general boolean function of other nodes.
For example, node A may be reachable from node B or node C.
I can't see how to represent this with a DAG. Is there way to represent general boolean dependencies in a DAG? If there isn't, what other sort of structure should I use?