51 int RetValue, Beg, End, i, k;
52 int CounterBase = 0, CounterInd = 0;
57 printf(
"Invariant verification: Can only verify for K = 1\n" );
81 pStart = Vec_IntArray( vLits );
85 for ( k = Beg; k < End; k++ )
86 pStart[k] = lit_neg(pStart[k]);
88 for ( k = Beg; k < End; k++ )
89 pStart[k] = lit_neg(pStart[k]);
103 pStart = Vec_IntArray( vLits );
112 printf(
"Invariant verification: SAT solver is unsat after adding a clause.\n" );
126 pStart = Vec_IntArray( vLits );
130 for ( k = Beg; k < End; k++ )
132 pStart[k] += 2 * pCnf->
nVars;
133 pStart[k] = lit_neg(pStart[k]);
135 RetValue =
sat_solver_solve( pSat, pStart + Beg, pStart + End, 0, 0, 0, 0 );
136 for ( k = Beg; k < End; k++ )
138 pStart[k] = lit_neg(pStart[k]);
139 pStart[k] -= 2 * pCnf->
nVars;
150 printf(
"Invariant verification: %d clauses (out of %d) FAILED the base case.\n", CounterBase, Vec_IntSize(vClauses) );
152 printf(
"Invariant verification: %d clauses (out of %d) FAILED the inductive case.\n", CounterInd, Vec_IntSize(vClauses) );
153 if ( CounterBase || CounterInd )
155 printf(
"Invariant verification: %d clauses verified correctly. ", Vec_IntSize(vClauses) );
156 ABC_PRT(
"Time", Abc_Clock() - clk );