predicate and function schelam diff