1. A method for verifying a property of a design of a system, the method comprising: performing bounded model checking on a design description for the system to a depth of K steps, the design description including a plurality of constraints referring to states of components within the system, each constraint including at least one variable; abstracting the design description responsive to a proof generated in performing the bounded model checking when no counterexample of depth K is found in performing the bounded model checking, the proof including at least one inference derived from a constraint of the plurality of constraints, each inference including at least one variable; and performing an unbounded model checking on the abstracted design description.