Prolog - problema con sentencias en prolog

   
Vista:

problema con sentencias en prolog

Publicado por Alex (1 intervención) el 19/02/2015 03:51:06
hola amigos, apenas estoy empezando a manejar el prolog, y tengo un problema con una sentencia que no
quiere arrojarme los resultados que se supone que debería dar.

les pongo la sentencia y les explico.

Tengo en el "archivo.pl" el siguiente codigo para definir las reglas del programa.

mortal(x) :- persona(x).
persona(socrates).
persona(platon).
persona(zenon).
persona(aristoteles).

reporte_mortales :-
write('los mortales conocidos son:'), nl,
mortal(x),
write(x),nl,
fail.

--------------------------------------------------------------------
Ahora cuando voy a consultar especificamente si alguna de las personas es mortal, me imprime siempre
falso, y solo me imprime "true" cuando lo hago especificamente con persona(x).

1 ?- mortal(socrates).
false.

2 ?- mortal(zenon).
false.

3 ?- persona(socrates).
true.

4 ?- reporte_mortales.
los mortales conocidos son:
false.

si me pueden ayudar a solucionar este pequeño inconveniente les estaré muy agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Prolog
- Código fuente de Prolog
- Cursos de Prolog
- Temas de Prolog
información
Códigos de Prolog
- Resolver Sudokus
- Problema resuelto
- Juego Rummy