esplicacion de codigi

yanet
12 de Junio del 2008
alguien puede esplicarme que significan o que hacen, y si en winprolog correrá sin problemas:

labeling(Lista).
##
?-use_module(library(fd)).
labeling([]).
labeling([X|Y]):-
indomain(X),
labeling(Y).

en este codigo:

?-use_module(library(fd)).
asigregalos(Lista):-
Lista = [Pepe,Juan,Rafael,Ana,Concha,Eva],
Lista :: [coche,casa,viaje,barco],
Pepe ## Juan, Pepe ## Rafael, Pepe ## Ana, Pepe ## Concha, Pepe ## Eva,
Juan ## Rafael, Juan ## Ana, Juan ## Concha,
Rafael ## Concha, Rafael ## Eva,
Ana ## Concha,
Concha ## Eva,
labeling(Lista).
labeling([]).
labeling([X|Y]):-
indomain(X),
labeling(Y).