Funcion recursiva en prolog que no funciona

Esta funcion no se porque no va ,a ver si alguien me lo aclara,es un arbol genealogico y la funcion debe encontrar a los sucesores(si es hijo,nieto,bisnieto..lo encontrara).
progenitor(clara,jose).
progenitor(tomas,jose).
progenitor(tomas,isabel).
progenitor(jose,ana).
progenitor(jose,patricia).
progenitor(patricia,jaime).

sucesor(X,Z):-progenitor(Z,X).
sucesor(X,Z):-progenitor(Y,Z),sucesor(X,Y).
zaius5 escribió:Esta funcion no se porque no va ,a ver si alguien me lo aclara,es un arbol genealogico y la funcion debe encontrar a los sucesores(si es hijo,nieto,bisnieto..lo encontrara).
progenitor(clara,jose).
progenitor(tomas,jose).
progenitor(tomas,isabel).
progenitor(jose,ana).
progenitor(jose,patricia).
progenitor(patricia,jaime).

sucesor(X,Z):-progenitor(Z,X).
sucesor(X,Z):-progenitor(Y,Z),sucesor(X,Y).


Ufff hace tiempo que no veo el prolog, espero que te puedan ayudar (subo esto)

Por lo poco que recuerdo debes definir bien tu base del conocimiento y luego tus funciones no me quedan muy claro solo veo progenitor definido y no sucesor, recuerdo haber hecho una de dinosaurios usando el visual prolog :) (Perdona el offtopic)
1 respuesta