PLEASE USE TuProlog for this. Also the facts need to be Binary Facts. No screenshot please.
You have been charged to develop a computational family tree for the goddesses and gods and in
Greek mythology. The figure shows the family relations of 20 individuals.
1. Gaea and Uranus were the two primordial deities (i.e., they are the only two who do not have
any parents). Uranus and Gaea had three off-springs: Cronus, Dione, and Rhea.
2. Rhea and Cronus had six off-springs: Hestia, Demeter, Hera, Hades, Poseidon, and Zeus. 3.
Hera and Zeus were the parents of three children: Ares, Hebe, and Ilithyia.
4. Demeter and Zeus had one child together: Persephone.
5. Dione and Zeus had one off-spring, Aphrodite.
6. Aphrodite and Ares had one off-spring Harmonia. 7. Kadmos and Harmonia had one off-
spring, Semele. 8. Semele and Zeus had one off-spring: Dionysus.
Task 1: Create a model of this family in Prolog. Start with facts (i.e., ground axioms) about the
family. For the ground axioms choose a consistent scheme of BINARY predicates. Develop the
facts such that there are no redundancies in the facts. Deliver a complete copy of your facts in
correct Prolog syntax.
Task 2: Analyze the properties and potential dependencies of the following family relations:
parent, child, silbling grandparent grandchild greatgrandchild
Task 3: Add rules (i.e., logical axioms) for the six family relations (Task 2), using only first-
order predicate calculus notation. The rules should be able to determine the relations (as defined
by you, but consistent with your cultural norm) for the following concepts). If you used one as
your base predicates, then you do not need a rule for that. Define these rules as concisely as
possible. It will help if you consult the properties and dependencies of these family relations
(Task 3). You do not need to use the setoff predicate to eliminate duplicates in query results.
For all rules that you write, use only basic Prolog statements as introduced in class (i.e., only
Horn clauses, with each rule having a single consequent predicate and all antecedent predicates
linked by commas representing conjunctions). Do not use any other syntax, even if Prolog parses
and processes it. Deliver a complete copy of your rules in correct Prolog syntax.
Show one query per relationship, and the results of those queries when executed in Prolog.
Task 4: Add a discussion of up to one page (double spaced) that addresses why you chose your
scheme for the ground axioms. Elaborate what could have been at least one alternative to your
chosen design. Provide arguments for why you did not choose that alternative.
*PLEASE TAKE A LOOK AT THE IMAGE AND THE COMMENT(In blue ink) AND
PROVIDE THE RIGHT ANSWERS TO THE QUESTIONS ACCORDING TO THE
COMMENTS IN the blue ink. binary_fact(pr_deity, gaea, uranus). binary_fact(pr_deity, uranus,
gaea). \% Chirdren of Uranus and Gaea binary_fact(parent, uranus, cronos) binary_fact(parent,
uranus, dione). binary_fact(parent, uranus, rhea).
PLEASE USE TuProlog for this. Also the facts need to be Binary Fac.pdf
1. PLEASE USE TuProlog for this. Also the facts need to be Binary Facts. No screenshot please.
You have been charged to develop a computational family tree for the goddesses and gods and in
Greek mythology. The figure shows the family relations of 20 individuals.
1. Gaea and Uranus were the two primordial deities (i.e., they are the only two who do not have
any parents). Uranus and Gaea had three off-springs: Cronus, Dione, and Rhea.
2. Rhea and Cronus had six off-springs: Hestia, Demeter, Hera, Hades, Poseidon, and Zeus. 3.
Hera and Zeus were the parents of three children: Ares, Hebe, and Ilithyia.
4. Demeter and Zeus had one child together: Persephone.
5. Dione and Zeus had one off-spring, Aphrodite.
6. Aphrodite and Ares had one off-spring Harmonia. 7. Kadmos and Harmonia had one off-
spring, Semele. 8. Semele and Zeus had one off-spring: Dionysus.
Task 1: Create a model of this family in Prolog. Start with facts (i.e., ground axioms) about the
family. For the ground axioms choose a consistent scheme of BINARY predicates. Develop the
facts such that there are no redundancies in the facts. Deliver a complete copy of your facts in
correct Prolog syntax.
Task 2: Analyze the properties and potential dependencies of the following family relations:
parent, child, silbling grandparent grandchild greatgrandchild
Task 3: Add rules (i.e., logical axioms) for the six family relations (Task 2), using only first-
order predicate calculus notation. The rules should be able to determine the relations (as defined
by you, but consistent with your cultural norm) for the following concepts). If you used one as
your base predicates, then you do not need a rule for that. Define these rules as concisely as
possible. It will help if you consult the properties and dependencies of these family relations
(Task 3). You do not need to use the setoff predicate to eliminate duplicates in query results.
For all rules that you write, use only basic Prolog statements as introduced in class (i.e., only
Horn clauses, with each rule having a single consequent predicate and all antecedent predicates
linked by commas representing conjunctions). Do not use any other syntax, even if Prolog parses
and processes it. Deliver a complete copy of your rules in correct Prolog syntax.
Show one query per relationship, and the results of those queries when executed in Prolog.
Task 4: Add a discussion of up to one page (double spaced) that addresses why you chose your
scheme for the ground axioms. Elaborate what could have been at least one alternative to your
chosen design. Provide arguments for why you did not choose that alternative.
2. *PLEASE TAKE A LOOK AT THE IMAGE AND THE COMMENT(In blue ink) AND
PROVIDE THE RIGHT ANSWERS TO THE QUESTIONS ACCORDING TO THE
COMMENTS IN the blue ink. binary_fact(pr_deity, gaea, uranus). binary_fact(pr_deity, uranus,
gaea). % Chirdren of Uranus and Gaea binary_fact(parent, uranus, cronos) binary_fact(parent,
uranus, dione). binary_fact(parent, uranus, rhea). binary_fact(parent, gaea, cronos).
binary_fact(parent, gaea, dione). binary_fact(parent, gaea, rhea). % Children of Gromus and
Rhea binary_fact(parent, cronos, hestia). binary_fact(parent, cronos, demeter).
binary_fact(parent, cronos, hera). binary_fact(parent, cronos, hades). binary_fact(parent, cronos,
poseidon). binary_fact(parent, cronos, zeus). binary_fact(parent, rhea, hestia).
binary_fact(parent, rhea, demeter). binary_fact(parent, rhea, hera). binary_fact(parent, rhea,
hades). binary_fact(parent, rhea, poseidon). binary_fact(parent, rhea, zeus). % Children of Hera
and Zeus binary_fact(parent, hera, ares). binary_fact(parent, hera, hebe). binary_fact(parent,
hera, ilithyia). binary_fact(parent, zeus, ares). binary_fact(parent, zeus, hebe). binary fact(parent,
zeus, ilithyia).