Logic for predicates