Verification of infinite state systems