Question: Consider a deductive database with the following rules: DESCENDANT(X, Y) :- PARENT(X, Y) DESCENDANT (X, Y) :- DESCENDANT (X, Z), PARENT (Z, Y) Notice that

Consider a deductive database with the following rules: DESCENDANT(X, Y) :- PARENT(X, Y) DESCENDANT (X, Y) :- DESCENDANT (X, Z), PARENT (Z, Y) Notice that PARENT (X, Y) means that X is the (biological) parent of Y; DESCENDANT(X, Y) means that Y is the descendant of X.

Consider the following fact base: PARENT(john, steve), PARENT(john, olivia), PARENT(olivia, emma), PARENT(olivia, sophia).

(a) Construct a model theoretic interpretation of the above rules using the given facts. Consider that a database contains the following relations PERSON(X), PARENT(X, Y), and a third relation BIRTH(X, B), where B is the birth date of a person X. The following information is used for question (b), (c) and (d). Assume that we have the following family tree: john steve olivia michael isabella emma sophia david anthony sarah christopher With given fact defined predicates: PERSON(john). PERSON(steve). PERSON(olivia). PERSON(michael). PERSON(isabella). PERSON(emma). PERSON(sohia). PERSON(david). PERSON(anthony). PERSON(sarah). PERSON(christopher). PARENT(john, steve) PARENT(john, olivia) PARENT(olivia, emma) PARENT(olivia, sophia) PARENT(steve, michael) PARENT(steve, isabella) PARENT(michael, david) PARENT(michael, anthony) PARENT(emma, sarah) PARENT(emma, christopher) BIRTH(john, 01/01/1930). BIRTH(steve, 01/01/1950). BIRTH(olivia, 01/01/1952). BIRTH(michael, 01/01/1974). BIRTH(isabella, 01/01/1977). BIRTH(emma, 01/01/1972). BIRTH(sohia, 01/01/1975). BIRTH(david, 01/01/2000). BIRTH(anthony, 01/01/2002). BIRTH(sarah, 01/01/1995). BIRTH(christopher, 01/01/1999).

(b) 1. Construct a proof theoretic interpretation of DESCENDANT(steve, X) to find all descendants of Steve.

2. State a rule named as SIBLING(X, Y) and construct a proof theoretic interpretation of this rule to find all siblings (c)Given the following rules: FIRST_COUSIN(X, Y) :- PARENT(Z, X), PARENT(T, Y), SIBLING(Z, T) COUSIN(X, Y) :- FIRST_COUSINS(X, Y) COUSIN(X, Y) :- PARENT(Z, X), PARENT(T, Y), COUSIN(Z, T) Note: Two people are first cousins if their parents are siblings. Cousins means any kind of cousins. Cousins can be second cousins who are the children of the two first cousins or third cousins who are the children of two second cousins etc. 1. Prove that FIRST_COUSIN(isabella, emma) is true. 2. Prove that COUSIN(david, christopher) is true.

(d) State a rule named as COUSIN_BORN_BEFORE_2000 that computes a pair of cousins such that both of them were born before the year 2000. You may use < (less than) as a built-in predicate.

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!