i don't understand it all either, but i believe Triska's comment was addressing only a certain part of the code, for example, here's some propagation code the handles multiplication github.com/SWI-Prolog/swipl-devel/blob/master/library/clp/…
basically, you've got X Y and Z, and if one or some of them is 'missing', i believe the term is not ground (the ground case is covered with nonvar/1), you can restrict their domains with the new information given by X op Y #= Z
some of these can get messy, having to consider signs of the variables and their domains 'manually', so i think Triska was addressing a better more error-prone way to generate these constraints or restrictions