In this subsection we give three definitions regarding the labeling procedure.
This term denotes the whole labeling procedure that starts with the call
labeling/2 or an equivalent predicate and finishes by
exiting this predicate. Normally, there is at most one labeling
session per run.
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
labeling, several binary choicepoints are created.
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.