Progol is an implementation of inductive logic programming that combines inverse entailment with general-to-specific search through a refinement graph.
[1][2] Inverse entailment is used with mode declarations to derive the bottom clause, the most-specific clause within the mode language[definition needed] which subsume a given example.
Unlike the searches of Ehud Shapiro's model inference system (MIS) and J. Ross Quinlan's FOIL, Progol's search has a provable guarantee of returning a solution having the maximum compression[definition needed] in the search-space.
In 1996, it was used by Ashwin Srinivasan, Muggleton, Michael Sternberg and Ross King[3] to predict the mutagenic activity in nitroaromatic compounds.
This was considered a landmark application for inductive logic programming, as a general purpose inductive learner had discovered results that were both novel and meaningful to domain experts.