predicates
% Fields: Fill name, academic title, courses
nondeterm professors(symbol, symbol, symbol).
% Fields: name of lesson, professor's name, time
nondeterm lessons(symbol, symbol, symbol).
% Fields: name of professor1, name of professor2
nondeterm getChange(symbol, symbol, symbol).
% Fields: professor name, lesson time
nondeterm getlesson(symbol, symbol, symbol).
nondeterm getProfessor(symbol, symbol).
clauses
% Get lesson name by time and professor name
getLesson(Name, Time, LessonName):- lessons(LessonName, Name, Time).
% Get professor name by lesson name
getProfessor(LessonName, ProfessorName):- professors(ProfessorName, _, LessonName).
% Get professor name, who can change another professor in Time
getChange(Name, Time, Name2):- getLesson(Name, Time, LessonName), getProfessor(LessonName, Name2), Name<>Name2, lessons(LessonName, Name2, Time2), Time<>Time2.
professors("professor_1", "professor", "lesson_6").
professors("professor_2", "professor", "lesson_6").
lessons("lesson_6", "professor_1", "00:00").
lessons("lesson_6", "professor_2", "01:00").
lessons("lesson_6", "professor_2", "02:00").
GOAL
% getLesson("professor_1","00:00", LessonName).
% getProfessor("lesson_6", Professor).
getChange("professor_1", "00:00", Name2).
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎