  The goal of Inductive Logic Programming (ILP) is to learn a program that
explains a set of examples. Until recently, most research on ILP targeted
learning Prolog programs. The ILASP system instead learns Answer Set Programs
(ASP). Learning such expressive programs widens the applicability of ILP
considerably; for example, enabling preference learning, learning common-sense
knowledge, including defaults and exceptions, and learning non-deterministic
theories.
  Early versions of ILASP can be considered meta-level ILP approaches, which
encode a learning task as a logic program and delegate the search to an ASP
solver. More recently, ILASP has shifted towards a new method, inspired by
conflict-driven SAT and ASP solvers. The fundamental idea of the approach,
called Conflict-driven ILP (CDILP), is to iteratively interleave the search for
a hypothesis with the generation of constraints which explain why the current
hypothesis does not cover a particular example. These coverage constraints
allow ILASP to rule out not just the current hypothesis, but an entire class of
hypotheses that do not satisfy the coverage constraint.
  This paper formalises the CDILP approach and presents the ILASP3 and ILASP4
systems for CDILP, which are demonstrated to be more scalable than previous
ILASP systems, particularly in the presence of noise.
  Under consideration in Theory and Practice of Logic Programming (TPLP).
