According to my understanding "predicate" mean a function that is used for a decision. I am not sure whether it is correct for a reduce function.