Node:FDBG Labeling Levels, Next:, Previous:FDBG Events, Up:FDBG Concepts

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.