assignment-10

assignment-10 - answer. To get all the answers type a ';'...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Assignment #10 CSC301 – Fall 2010 -- Due Monday, 11/8, in Class In order to complete these exercises you will need to install prolog from the CSC301 Prolog webpage. Write a Prolog program by creating a file with you favorite program editor that contains the following facts: here the predicate parent(X,Y) means X is the parent of Y you can also download the following database from the course website female(pam). female(liz). female(ann). female(pat). male(tom). male(bob). male(jim). parent(pam,bob). parent(tom,bob). parent(tom,liz). parent(bob,ann). parent(bob,pat). parent(pat,jim). (a) Load this file into Prolog, usually this is done with the consult file predicate : ?- consult(‘<filename>’). On Windows you can load the fact database with the menu point File Consult. Once you have loaded the program pose the following queries: ?- female(ann). ?- female(jim). ?- parent(X,bob). ?- parent(tom,X). ?- parent(X,ann),parent(X,pat). What are the answers to these queries? Beware, for some queries here might be more than one
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: answer. To get all the answers type a ';' and carriage return at the question mark. (b) Now, using the parent predicate formulate the following Prolog queries: 1. Who is Pat's parent? 2. Does Liz have a child? 3. Who is Pat's grandparent? (c) Given the above facts, extend the program by writing rules defining the following predicates: sister(X,Y) -- X is the sister of Y. son(X,Y) -- X is the son of Y. father(X,Y) -- X is the father of Y. grandmother(X,Y) -- X is the grandmother of Y. ancestor(X,Y) -- X is an ancestor of Y. (Hint: this predicate might come in handy: different(X,Y):- not(X=Y). Some predicate definitions might be recursive.) Demonstrate that your program works by posing the following queries: 4. ?- sister(X,pat). 5. ?- sister(X,Y). 6. ?- son(jim,X). 7. ?- father(X,bob). 8. ?- grandmother(X,ann). 9. ?- ancestor(X,jim). Hand in the source code of your prolog program and a proof of the program execution....
View Full Document

This note was uploaded on 10/03/2011 for the course CSC 301 taught by Professor Hamel during the Spring '08 term at Rhode Island.

Page1 / 2

assignment-10 - answer. To get all the answers type a ';'...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online