This constraint is suspended until one of the two sets is bound to another set (variable or ground).
?- [] `/= [8], [7] `/= [8], [7,8] `/= [8], [7] `/= [7,8]. yes ?- [] `/= [] ; [a] `/= [a] ; [a,b] `/= [b,a]. no ?- sets([X,Y], [],[8,9], [cardinality:1]), X `/= Y, set_labeling([X,Y]). X = [8], Y = [9] ; X = [9], Y = [8] ; no ?- sets([X,Y], [],[8,9], []), X `/= Y, X=Y. no ?- X `:: [8]+[8,9], [8,9] `/= X, card_labeling([X]). X = [8] ; no