with

a reporter that takes a set of agents and a Boolean expression as input and reports a new set of agents containing only the agents from the original set that report true for the Boolean expression