Predicate Abstraction with Under-approximation Refinement (Logical Methods in Computer Science, 2007)