Variables & Domains
A Constraint Prunes
A single constraint can remove values that cannot participate in any solution to that constraint. For A<B, the largest current value for A and the smallest current value for B are incompatible with the inequality. The diagram marks only the values pruned by this exact application, so the visual story is local and auditable.
A loses the largest slot
A loses 3. Bound-consistency for A<B says A cannot sit at the top of its current domain when B must be larger. Why: if A used that endpoint, no larger value would remain for B in this step's domain.
B loses the smallest slot
B loses 1. The same constraint also works from the other side: B cannot sit at the bottom if A must be smaller. Why: that endpoint would leave no legal supporting value for A.
Reduced domains
After A<B, the domains are A{1,2} B{2,3} C{1,2,3}. Interpretation: the grid is smaller, but it is not solved yet. Why: propagation keeps only values that can still satisfy the fired constraint, then waits for later constraints to continue the work.
Diagram note
Just-pruned cells are the values removed by this exact constraint application; remaining candidate cells are still possible. Propagation is sound here: it erases only values that cannot satisfy the local precedence relation. The important distinction is that pruning is not choosing a value; it is only deleting values that have lost support. Pixel positions are rounded for layout; every number shown is exact.