Interface ICause

    • Method Detail

      • explain

        default void explain​(ExplanationForSignedClause explanation,
                             ValueSortedMap<IntVar> front,
                             Implications implicationGraph,
                             int pivot)
        Clausal explanation for this cause.

        This method must filled explanations with inferred literals. These literals are inferred from the analysis of (a subset of) conflicting nodes stored in front, the implication graph ig and the current node in conflict, not yet contained in front.

        Optionally, this method can update front by looking for a predecessor of any node that seems more relevant than the declared one.

        Parameters:
        explanation - explanation to compute
        front - ordered map of (variable,node> in the conflict frontier of the implication graph.
        implicationGraph - an implication graph
        pivot - the pivot node out of front
      • forEachIntVar

        default void forEachIntVar​(Consumer<IntVar> action)
        Apply an action on each variable declared on the scope of this cause, if any.
        Parameters:
        action - action to perform on each variable declared in this cause.