Success: variant(1,1). variant(X,Y). variant(f(a,b),f(a,b)). variant(f(a,X),f(a,Y)). variant(f(X,Y),f(Y,X)). variant([X,2], [Y,2]). Fail: variant(f(a,b),f(a,Y)). variant(f(a,X),f(a,b)). variant(f(X,Y),f(Z,Z)).