Quantified expressions allow the user to specify how a predicate must be applied to the members of a set to determine the truth of the entire expression. For example, for a universally quantified expression to evaluate to true over a given set, the given predicate must evaluate to true for each member of that set, whereas an existentially quantified expression will succeed if there is at least one member of the set for which the predicate is true. The quantifiers provided are:
Example: print the names of all teachers who teach only fourth year courses.
|: for each t in teacher such that all c in
|: has_course(has_lecturer_inv(t)) have level(c) = 4
|: print(forename(t), surname(t));