Patent attributes
A simultaneous satisfiability algorithm, or SSAT, allows simultaneous checks to be made efficiently for a number of literals, x1, . . . ,xn whether x1 is true under any satisfying assignments of a formula (written in conjunctive normal form) built from the variables of these literals and other variables (or, equivalently whether x1 is a logical consequence of the formula). Thus, several related satisfiability checks are performed simultaneously in SSAT. Temporal induction algorithms allow the verification of the sequential behavior of finite state machines, e.g., hardware. Temporal induction algorithms may employ a SSAT solver to perform simultaneous model checking of several invariant (or safety) properties efficiently. These SSAT-based temporal induction algorithms are double-incremental, such that all learned clauses in the SSAT solver are re-used both across verified properties as well as across time frames.