A counter-example guided abstraction refinement scheme for parameterized verification