Prolog Scheduler

As a course requirement, I have designed and implemented a scheduler written completely in prolog. It was messy, I mean I really do not know of any 'good' reason to use that except that it was required to write in that only.

The application is required to generate the schedule from the inputs given in the file as facts. The details of the facts are described in the user manual. The generalized logic to get the optimized schedule requires implementation of avoid of conflict. The most usual conflict is when there are more than 3 free professors available in a given day. Then two classes will be at a same time but different timeslot. This conflict is solved in this application.