// Reachability as a 1-bit LLP: forbidden = unreached vertex with reached predecessor. class LLPTraversal { void LLPTraversal(set[] pre, boolean[] G) { forbidden (j) : !G[j] && (exists i in pre[j] : G[i]) => advance : G[j] = true; } }