The ability to generalise from a small number of examples is a fundamental challenge in machine learning. To tackle this challenge, we introduce an inductive logic programming (ILP) approach that combines negation and predicate invention. Combining these two features allows an ILP system to generalise better by learning rules with universally quantified body-only variables. We implement our idea in N OPI which can learn normal logic programs with negation and predicate invention, including Datalog with stratified negation. Our experimental results on multiple domains show that our approach improves predictive accuracies and learning times.