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
No debes poner una variable una sola vez, debes usar el símbolo _
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í:
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).