void DFSPseudoNodeVisit(OrderGraph *graph, OrderNode *node);
void completePartialOrderGraph(OrderGraph *graph);
void DFSMust(OrderGraph *graph, VectorOrderNode *finishNodes);
-void DFSMustNodeVisit(OrderNode *node, VectorOrderNode *finishNodes, bool clearBackEdges);
-void DFSClearContradictions(OrderGraph *graph, VectorOrderNode *finishNodes);
-void reachMustAnalysis(OrderGraph *graph);
+void DFSMustNodeVisit(OrderNode *node, VectorOrderNode *finishNodes);
+void DFSClearContradictions(OrderGraph *graph, VectorOrderNode *finishNodes, bool computeTransitiveClosure);
+void reachMustAnalysis(OrderGraph *graph, bool computeTransitiveClosure);
void localMustAnalysisTotal(OrderGraph *graph);
void localMustAnalysisPartial(OrderGraph *graph);
void orderAnalysis(CSolver *This);