0: property predicate definition implementation