"The model is loosely based on an example from Koehler"
Kohler gives this example of a relation: R ={Student, Course, Chapter, Time, Room}
Whilst this may be true in mathematical terms, it does not contain the ORM concept of using a predicate to define the roles played by each of the "attributes" in the ...