Greedily Minimizing Information Gathering Plans
Remove non-recursive IDB predicates
Sort the rules so those with dom predicates come before those without dom predicates
let r be a rule of P that has not yet been considered
let P be the program obtained by deleting rule r from P
if P[s s l] uniformly contains r[s s v] then
replace P with P. Prune unreachable rules.
Uniform containment check is exponential in the worst case