Question: Prolog Programming. 5) Genealogy Design a set of predicates that encode genealogical relationships * male (X) - X is male * female (X) - X

Prolog Programming.

Prolog Programming. 5) Genealogy Design a set of predicates that encode genealogical

relationships * male (X) - X is male * female (X) -

5) Genealogy Design a set of predicates that encode genealogical relationships * male (X) - X is male * female (X) - X is female. parent (X,Y) - X is the parent of Y . mother (X, Y) _ X is the mother of Y father (X,Y) - X is the father of Y. . child(x,) -x is the child of Y * sibling/2 (reflexive) . grandparent(X,) -X is the grandparent of Y. grandmother (X,Y) - X is the grandmother of Y . grandfather (X,) -X is the grandfather of Y. . grandchild(x,) -x is the grandchild of Y grandson (X,Y) - X is the grandson of Y granddaughter (X,Y) - X is the granddaughter of Y Note: Your definitions should avoid infinite recursion and return a single result set. For example, siblings (x,y) should queries should return a single result set, i.e. not x-bob, Note: The Knowledge Base of people below is for example only. You are just responsible for the definitions of predicate rules. The Knowledge Base used for grading will be different. % Knowledge Base male(adam) male(bob) male(brett) male(charles) male(cbris) male(clay) female(ava) female(barbara) female(betty) female(colette) female( parentladam.beb) carrie) parent( parent( parent(b parent(b 5) Genealogy Design a set of predicates that encode genealogical relationships * male (X) - X is male * female (X) - X is female. parent (X,Y) - X is the parent of Y . mother (X, Y) _ X is the mother of Y father (X,Y) - X is the father of Y. . child(x,) -x is the child of Y * sibling/2 (reflexive) . grandparent(X,) -X is the grandparent of Y. grandmother (X,Y) - X is the grandmother of Y . grandfather (X,) -X is the grandfather of Y. . grandchild(x,) -x is the grandchild of Y grandson (X,Y) - X is the grandson of Y granddaughter (X,Y) - X is the granddaughter of Y Note: Your definitions should avoid infinite recursion and return a single result set. For example, siblings (x,y) should queries should return a single result set, i.e. not x-bob, Note: The Knowledge Base of people below is for example only. You are just responsible for the definitions of predicate rules. The Knowledge Base used for grading will be different. % Knowledge Base male(adam) male(bob) male(brett) male(charles) male(cbris) male(clay) female(ava) female(barbara) female(betty) female(colette) female( parentladam.beb) carrie) parent( parent( parent(b parent(b

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!