Answered step by step
Verified Expert Solution
Link Copied!

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.

image text in transcribed

image text in transcribed

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

DB2 Universal Database V7.1 Application Development Certification Guide

Authors: Steve Sanyal, David Martineau, Kevin Gashyna, Michael Kyprianou

1st Edition

0130913677, 978-0130913678

More Books

Students also viewed these Databases questions