61 int RetValue, iNode = -1, iFanin, i, k;
100 assert( p->pPars->nTfoLevMax > 0 );
164 word * pSign, uCube, uTruth = 0;
165 int status, i, Div, iVar, nFinal, * pFinal, nIter = 0;
174 status =
sat_solver_solve( p->pSat, pLits, pLits + 2, p->pPars->nBTLimit, 0, 0, 0 );
202 for ( i = 0; i < nFinal; i++ )
204 if ( pFinal[i] == pLits[0] )
259 printf(
"The problem is SAT.\n" );
261 printf(
"The problem is UNDEC.\n" );
static int * Vec_IntArray(Vec_Int_t *p)
#define Sfm_ObjForEachFanin(p, Node, Fan, i)
static ABC_NAMESPACE_IMPL_START word s_Truths6[6]
DECLARATIONS ///.
int sat_solver_addclause(sat_solver *s, lit *begin, lit *end)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_InfoHasBit(unsigned *p, int i)
int sat_solver_solve(sat_solver *s, lit *begin, lit *end, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, ABC_INT64_T nConfLimitGlobal, ABC_INT64_T nInsLimitGlobal)
static void Abc_InfoXorBit(unsigned *p, int i)
static int Abc_Var2Lit(int Var, int fCompl)
static int Vec_IntFind(Vec_Int_t *p, int Entry)
static void Sfm_NtkCleanVars(Sfm_Ntk_t *p)
static int sat_solver_add_xor(sat_solver *pSat, int iVarA, int iVarB, int iVarC, int fCompl)
typedefABC_NAMESPACE_HEADER_START struct Sfm_Ntk_t_ Sfm_Ntk_t
INCLUDES ///.
static void Sfm_ObjCleanSatVar(Sfm_Ntk_t *p, int Num)
void Kit_DsdPrintFromTruth(unsigned *pTruth, int nVars)
static abctime Abc_Clock()
static int sat_solver_var_value(sat_solver *s, int v)
static int Sfm_ObjIsNode(Sfm_Ntk_t *p, int i)
static int sat_solver_final(sat_solver *s, int **ppArray)
int Sfm_NtkCreateWindow(Sfm_Ntk_t *p, int iNode, int fVerbose)
static void Vec_IntWriteEntry(Vec_Int_t *p, int i, int Entry)
static int Abc_LitIsCompl(int Lit)
static int Sfm_ObjIsPi(Sfm_Ntk_t *p, int i)
#define Vec_WecForEachLevel(vGlob, vVec, i)
MACRO DEFINITIONS ///.
static int Sfm_ObjSatVar(Sfm_Ntk_t *p, int iObj)
void sat_solver_setnvars(sat_solver *s, int n)
static int Vec_IntEntry(Vec_Int_t *p, int i)
unsigned __int64 word
DECLARATIONS ///.
int sat_solver_nvars(sat_solver *s)
#define ABC_NAMESPACE_IMPL_END
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define ABC_NAMESPACE_IMPL_START
word Sfm_ComputeInterpolant(Sfm_Ntk_t *p)
static Vec_Int_t * Vec_WecEntry(Vec_Wec_t *p, int i)
static int Abc_LitNot(int Lit)
int sat_solver_simplify(sat_solver *s)
static int Vec_IntSize(Vec_Int_t *p)
void Sfm_ComputeInterpolantCheck(Sfm_Ntk_t *p)
static void Sfm_ObjSetSatVar(Sfm_Ntk_t *p, int iObj, int Num)
#define ABC_CONST(number)
PARAMETERS ///.
static int sat_solver_var_literal(sat_solver *s, int v)
void Sfm_TranslateCnf(Vec_Wec_t *vRes, Vec_Str_t *vCnf, Vec_Int_t *vFaninMap, int iPivotVar)
static int Abc_Lit2Var(int Lit)
int Sfm_NtkWindowToSolver(Sfm_Ntk_t *p)
FUNCTION DEFINITIONS ///.
static void Vec_IntClear(Vec_Int_t *p)
void sat_solver_restart(sat_solver *s)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
static word * Vec_WrdEntryP(Vec_Wrd_t *p, int i)