  A major challenge in inductive logic programming is learning big rules. To
address this challenge, we introduce an approach where we join small rules to
learn big rules. We implement our approach in a constraint-driven system and
use constraint solvers to efficiently join rules. Our experiments on many
domains, including game playing and drug design, show that our approach can (i)
learn rules with more than 100 literals, and (ii) drastically outperform
existing approaches in terms of predictive accuracies.
