CSE472/572 KNOWLEDGE-BASED ARTIFICIAL INTELLIGENCE
Spring, 2000

HOMEWORK 3
PROPOSITIONAL & FIRST-ORDER LOGIC
(35 Points)
Due: at start of Lecture, Tuesday, March 21, 2000

1. (9) Use truth tables to show that the following sentences are valid, and thus that the equivalences hold. [Text, Exercise 6.2, p. 180]

1. (P => Q) <=> (~P v Q)
2. ~(P & Q) <=> (~P v ~Q)
3. P & (Q v R) <=> (P & Q) v (P & R)

2. Consider Exercise 6.5 of the text (p. 181).
1. (6) Choose atomic propositions to use to represent the information in this exercise, and give the intensional semantics of each atomic proposition.

2. (4) Express each of the following sentences in Propositional Logic using the atomic propositions you chose above.
1. If the unicorn is mythical, then it is immortal.
2. If the unicorn is not mythical, then it is a mortal mammal.
3. If the unicorn is either immortal or a mammal, then it is horned.
4. The unicorn is magical if it is horned.

3. (6) Using the Lisp function `wang`, which you can get by loading `/projects/shapiro/AIclass/wang.cl` determine if the above sentences logically imply
1. The unicorn is mythical.
2. The unicorn is magical.
3. The unicorn is horned.
Show the trace of the `wang` function on each of these three problems. If `wang` succeeds in showing logical implication, state clearly what the implication is. If `wang` shows that the implication does not hold, give a falsifying set of truth values. (Show a falsifying line of the truth table.)

You can see examples of `wang` in use in Foundations of Logic & Inference, starting at p. 59.

4. (10) Using the following predicates
• `Male(x)`: x is male.
• `Female(x)`: x is female.
• `Spouse({x,y})`: x and y are married.
• `Parent(x,y)`: x is a parent of y.
enter some or all of the family tree from Figure 7.4 (page 215) of the text into `SNePSLOG`.

Then enter into `SNePSLOG` definitions of the following predicates:

1. `Mother(x,y)`: x is the mother of y.
2. `Father(x,y)`: x is the father of y.
3. `Brother(x,y)`: x is the brother of y.
4. `Sister(x,y)`: x is the sister of y.
5. `Grandmother(x,y)`: x is the grandmother of y.
6. `Grandfather(x,y)`: x is the grandfather of y.
Include interactions with `SNePSLOG` to show that your definitions are correct.

See the instructions) for running `SNePSLOG`. and either the PS version, or the HTML version of the SNePS 2.5 User's Manual.

Back to CSE4/572 Syllabus.

Stuart C. Shapiro <shapiro@cse.buffalo.edu>