Solutions for 10.2, by Wynn Yin

With respect to the interpretation which:

which of the following are valid:

Problem 1

•• x < y à (x - z) < (y -z)


valid


Problem 2

•• x < y v y < x


not valid


Problem 3

•• (x < y v x == y) ^ (y < x v x == y) à (x == y)


Assuming that equal and distinct are predicates such that equal(X, Y) is true when X and Y are the same, and distinct(X, Y) is true when they are different, express rules with respect to the preceding Prolog database that define:

Problem 4

•• sibling(X, Y) means X and Y are siblings (different people having the same parents)


sibling(X, Y) :- parent(Z, X), parent(Z, Y).


Problem 5

•• cousin(X, Y) means that X and Y are children of siblings


cousin(X, Y) :- parent(U, X), parent(V, Y), sibling(U,V).


Problem 6

••• uncle(X, Y) means that X is the sibling of a Z such that Z is the parent of Y, or that X is the spouse of such a Z.


uncle(X, Y) :- sibling(X, Z), parent(Z, Y).

uncle(X, Y) :- husband(X, Z), parent (Z, Y).


Problem 7

••• brother_in_law(X, Y) [consult a dictionary for the definition]

Which of the following are valid for the natural numbers interpretation?

Problem 8

• ($x) (x != x)


not valid


Problem 9

• (œy)($x) (x != y)


valid


Problem 10

• (œy)($x) (x = y)


valid


Problem 11

•• (œy)(œx)(x = y) v (x > y) v (x < y)


valid


Problem 12

•• (œy) [ (y = 0) v ($x) (x < y) ]


valid


Problem 13

•• (œy) [ (y = 0) v ($x) (x > y) ]


valid