# 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