Ejercicio Ejemplo Prolog
El siguiente programa Prolog especifica una base de datos (deductiva) sobre relaciones familiares:
%%% HECHOS
padre(abraham,isaac).padre(haran,lot).
padre(haran,melca).
padre(haran,jesca).
hombre(isaac).
hombre(lot).
mujer(melca).
mujer(jesca).
%%% REGLAS
ascendiente_directo(X, Y) :- (padre(X, Y); madre(X, Y)).ascendiente(X, Z) :- ascendiente_directo(X, Z).
ascendiente(X, Z) :- ascendiente_directo(X, Y), ascendiente(Y, Z).
hijo(X,Y) :- hombre(X), ascendiente_directo(Y,X).
hija(X,Y) :-mujer(X), ascendiente_directo(Y,X).
Ampliar la base de conocimiento (hechos) anterior mediante la atenta lectura de estos fragmentos del Génesis:
``He aquí la descendencia de Teraj: Teraj engendróa Abram (posteriormente llamado `Abraham', que significa `Padre de multitud'), Najor, y Harán. Harán engendró a Lot ... La mujer de Abram se llamaba Sarai (o Sara) y la de Najor Melca, hija de Harán,padre de Melca y de Jesca.''
``Sarai, la mujer de Abram, no le había dado hijos, pero ella tenía una esclava egipcia de nombre Agar. ... tomó a Agar y se la dio por mujer a Abram, ... Agar parióun hijo a Abram y a este hijo tenido de Agar, Abram le llamó Ismael.''
Estando en la tierra de Guerar, Abram confeso que: `` es verdad que ella (Sarai) también es mi hermana, hija de mi padrepero no de mi madre, y ahora es mi mujer.''
``Sara, pues, concibió y parió un hijo en su vejez, en el tiempo predicho por Dios. Y Abraham llamó al hijo que le nació Isaac (que significa `el queríe').'' Isaac casó con Rebeca, ``hija de Batuel, el que Melca parió a Najor'' y hermana de Labán. Isaac y Rebeca tuvieron dos hijos, Esaú y
Jacob, pero ésta es otra historia.
Sólo incluir comohechos los datos aportados sobre quien es hombre o mujer, padre o madre de alguien o casado con alguien, que se consideran los símbolos primitivos de nuestra representación. El resto de relaciones...
Regístrate para leer el documento completo.