Labeling Levels

In this subsection we give three definitions regarding the labeling procedure.

labeling session

This term denotes the whole labeling procedure that starts with the call of labeling/2 or an equivalent predicate and finishes by exiting this predicate. Normally, there is at most one labeling session per run.

labeling attempt

One choicepoint of a labeling session. Exactly one variable is associated with a labeling attempt, although this is not necessarily true vice versa. For example in enum mode labeling, a single labeling attempt tries every possible value, but in step mode labeling, several binary choicepoints are created.

labeling step

The event of somehow constraining the domain of a variable. This usually means either setting the variable to a specific value or limiting it with a lower or an upper bound.

As you can see there is a hierarchical relation among these definitions: a labeling session consists of several labeling attempts, which, in turn, might consist of several labeling steps.

A labeling event, on the other hand, can either be a labeling step, or the start of a labeling attempt, or the failure of the same. See FDBG Events.

Send feedback on this subject.