Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Prolog Programming. 5) Genealogy Design a set of predicates that encode genealogical relationships * male (X) - X is male * female (X) - X
Prolog Programming.
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started