This is not a regular Prolog syntax: ISO Prolog does not allow ";" operators in the head, to the left of ": -". I guess that means: "For p, it's each of academic, student, other_staff, p(X) :- works_in(X, university)".
P, Herb (P) - , , , . , P: , : , , . , Herb (P), .