Zaslat SMS: Generalisation through negation and predicate invention