Singleton variables prolog

Iniciado por m@o_614, 15 Diciembre 2013, 19:34 PM

0 Miembros y 1 Visitante están viendo este tema.

m@o_614

Saludos, estoy haciendo mi primer programa en Prolog, es un simple árbol genealógico pero me aparece un warning que dice singleton variables[C,D] y no se que significa esto

los hechos del programa son del tipo padre(-,-) y madre(-,-).
hermanos(A,B):-padre(C,A),padre(C,B);madre(D,A),madre(D,B).
abuelo(E,A):-padre(E,padre(C,A)),padre(E,madre(D,A)).

?-abuelo(daniel,maria).

de antemano gracias

lnvisible

No debes poner una variable una sola vez, debes usar el símbolo _

Código (prolog) [Seleccionar]

hermanos(A,B):-padre(C,A),padre(C,B);madre(D,A),madre(D,B).
abuelo(E,A):-padre(E,padre(_,A)),padre(E,madre(_,A)).

?-abuelo(daniel,maria).


Pero eso no tiene sentido, es así:

Código (prolog) [Seleccionar]
hermanos(A,B):-padre(C,A),padre(C,B),madre(D,A),madre(D,B).
progenitor(A,B):-padre(A,B).
progenitor(A,B):-madre(A,B).
abuelo(E,A):-padre(E,B), progenitor(B,A).

?-abuelo(daniel,maria).