HomeHome More SamplesMore Samples
///////////////////////////////////////////////////////////////////////////////
//
// Title: Lecture Series
// Author: Alex Knight
// Publication: Dell Logic Puzzles
// Issue: April, 1998
// Page: 10
// Stars: 2
// 
// Last week at school was made varied by a series of lectures, one each day 
// (Monday through Friday), in the auditorium. None of the lectures was 
// particularly interesting (on choosing a college, physical hygiene, modern 
// art, nutrition, and study habits), but the students figured that anything 
// that got them out of fourth period was okay. The lecturers were two women 
// named Alice and Bernadette, and three men named Charles, Duane, and Eddie; 
// last names were Felicidad, Garber, Haller, Itakura, and Jeffreys. 
// Can you find each day's lecturer and subject?
// 
// 1. Alice lectured on Monday.
// 2. Charles's lecture on physical hygiene wasn't given on Friday.
// 3. Dietician Jeffreys gave the lecture on nutrition.
// 4. A man gave the lecture on modern art.
// 5. Ms. Itakura and the lecturer on proper study habits spoke on consecutive
//    days, in one order or the other.
// 6. Haller gave a lecture sometime after Eddie did.
// 7. Duane Felicidad gave his lecture sometime before the modern art lecture. 
//
///////////////////////////////////////////////////////////////////////////////
//
// query: 
//          all LectureSeries(surname,lecture, date)
//
///////////////////////////////////////////////////////////////////////////////
//
// result:
//
//
// surname = [ {Felicidad} Duane, {Garber} Eddie, {Haller} Charles, 
//             {Itakura} Alice, {Jeffreys} Bernadette]
//
// lecture = [ {Alice} College, {Bernadette} Nutrition, {Charles} Hygiene, 
//             {Duane} Habits, {Eddie} Art]
//
// date    = [ {Monday} College, {Tuesday} Habits, {Wednesday} Art, 
//             {Thursday} Hygiene {Friday} Nutrition]   
//
///////////////////////////////////////////////////////////////////////////////

Day = Monday | Tuesday | Wednesday | Thursday | Friday
Lecture = College | Hygiene | Art | Nutrition | Habits
Name = Alice | Bernadette | Charles | Duane | Eddie
Lastname = Felicidad | Garber | Haller | Itakura | Jeffreys

pred LectureSeries(surname::Lastname->>Name,lecture::Name->>Lecture, 
    date::Day->>Lecture) iff

// 1. Alice lectured on Monday.
    lecture(Alice) = date(Monday) &

// 2. Charles's lecture on physical hygiene wasn't given on Friday.
    lecture(Charles) = Hygiene & date(Friday) <> Hygiene &

// 3. Dietician Jeffreys gave the lecture on nutrition.
    lecture(surname(Jeffreys)) = Nutrition &

// 4. A man gave the lecture on modern art.
    lecture(man) = Art & (man = Duane | man = Eddie | man = Charles) &

// 5. Ms. Itakura and the lecturer on proper study habits spoke on consecutive
//    days, in one order or the other.
    (surname(Itakura) = Alice | surname(Itakura) = Bernadette) &  //"Ms." Itakura
    date(day_Itakura) = lecture(surname(Itakura)) &
    date(day_Habits) = Habits & 
    (day_Itakura = day_Habits + 1 | day_Itakura = day_Habits - 1) &
    
// 6. Haller gave a lecture sometime after Eddie did.
    date(day_Haller) = lecture(surname(Haller)) & date(day_Eddie) = lecture(Eddie) & 
    day_Haller > day_Eddie &

// 7. Duane Felicidad gave his lecture sometime before the modern art lecture. 
    surname(Felicidad) = Duane &
    date(day_Art) = Art &
    date(day_Duane) = lecture(Duane) & day_Duane < day_Art 
     




This page was created by F1toHTML