21#ifndef ABC__sat__pdr__pdrInt_h
22#define ABC__sat__pdr__pdrInt_h
44 #define sat_solver satoko_t
45 #define sat_solver_new satoko_create
46 #define sat_solver_delete satoko_destroy
47 #define zsat_solver_new_seed(s) satoko_create()
48 #define zsat_solver_restart_seed(s,a) satoko_reset(s)
49 #define sat_solver_nvars satoko_varnum
50 #define sat_solver_setnvars satoko_setnvars
51 #define sat_solver_addclause(s,b,e) satoko_add_clause(s,b,e-b)
52 #define sat_solver_final satoko_final_conflict
53 #define sat_solver_solve(s,b,e,c,x,y,z) satoko_solve_assumptions_limit(s,b,e-b,(int)c)
54 #define sat_solver_var_value satoko_read_cex_varvalue
55 #define sat_solver_set_runtime_limit satoko_set_runtime_limit
56 #define sat_solver_set_runid satoko_set_runid
57 #define sat_solver_set_stop_func satoko_set_stop_func
58 #define sat_solver_compress(s)
185 if (
p->timeToStop == 0 )
186 return p->timeToStopOne;
187 if (
p->timeToStopOne == 0 )
188 return p->timeToStop;
189 if (
p->timeToStop <
p->timeToStopOne )
190 return p->timeToStop;
191 return p->timeToStopOne;
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
struct Aig_Obj_t_ Aig_Obj_t
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
struct Vec_Str_t_ Vec_Str_t
typedefABC_NAMESPACE_HEADER_START struct Cnf_Man_t_ Cnf_Man_t
INCLUDES ///.
struct Cnf_Dat_t_ Cnf_Dat_t
struct Gia_Man_t_ Gia_Man_t
struct Hash_Int_t_ Hash_Int_t
PARAMETERS ///.
unsigned __int64 word
DECLARATIONS ///.
void Pdr_QueueStop(Pdr_Man_t *p)
sat_solver * Pdr_ManNewSolver(sat_solver *pSat, Pdr_Man_t *p, int k, int fInit)
Vec_Int_t * Pdr_ManDeriveInfinityClauses(Pdr_Man_t *p, int fReduce)
sat_solver * Pdr_ManFetchSolver(Pdr_Man_t *p, int k)
void Pdr_ManPrintClauses(Pdr_Man_t *p, int kStart)
int Pdr_ManCheckCubeCs(Pdr_Man_t *p, int k, Pdr_Set_t *pCube)
Vec_Int_t * Pdr_ManCountFlopsInv(Pdr_Man_t *p)
void Pdr_QueueClean(Pdr_Man_t *p)
Pdr_Set_t * Pdr_SetCreate(Vec_Int_t *vLits, Vec_Int_t *vPiLits)
void Pdr_ManDumpClauses(Pdr_Man_t *p, char *pFileName, int fProved)
void Pdr_OblDeref(Pdr_Obl_t *p)
Pdr_Obl_t * Pdr_OblRef(Pdr_Obl_t *p)
Pdr_Set_t * ZPdr_SetIntersection(Pdr_Set_t *p1, Pdr_Set_t *p2, Hash_Int_t *keep)
Pdr_Set_t * Pdr_SetDup(Pdr_Set_t *pSet)
int Pdr_ManCheckCube(Pdr_Man_t *p, int k, Pdr_Set_t *pCube, Pdr_Set_t **ppPred, int nConfLimit, int fTryConf, int fUseLit)
struct Pdr_Set_t_ Pdr_Set_t
Pdr_Man_t * Pdr_ManStart(Aig_Man_t *pAig, Pdr_Par_t *pPars, Vec_Int_t *vPrioInit)
void Pdr_SetDeref(Pdr_Set_t *p)
Pdr_Set_t * Txs3_ManTernarySim(Txs3_Man_t *p, int k, Pdr_Set_t *pCube)
void Txs_ManStop(Txs_Man_t *)
Pdr_Obl_t * Pdr_OblStart(int k, int prio, Pdr_Set_t *pState, Pdr_Obl_t *pNext)
Txs3_Man_t * Txs3_ManStart(Pdr_Man_t *pMan, Aig_Man_t *pAig, Vec_Int_t *vPrio)
FUNCTION DEFINITIONS ///.
int Pdr_QueueIsEmpty(Pdr_Man_t *p)
Pdr_Set_t * Pdr_ManTernarySim(Pdr_Man_t *p, int k, Pdr_Set_t *pCube)
Abc_Cex_t * Pdr_ManDeriveCexAbs(Pdr_Man_t *p)
void Txs3_ManStop(Txs3_Man_t *)
int Pdr_SetContains(Pdr_Set_t *pOld, Pdr_Set_t *pNew)
void Pdr_QueuePush(Pdr_Man_t *p, Pdr_Obl_t *pObl)
void Pdr_SetPrintStr(Vec_Str_t *vStr, Pdr_Set_t *p, int nRegs, Vec_Int_t *vFlopCounts)
void Pdr_ManStop(Pdr_Man_t *p)
void Pdr_ManPrintProgress(Pdr_Man_t *p, int fClose, abctime Time)
DECLARATIONS ///.
Pdr_Set_t * Pdr_SetRef(Pdr_Set_t *p)
void Pdr_SetPrint(FILE *pFile, Pdr_Set_t *p, int nRegs, Vec_Int_t *vFlopCounts)
Pdr_Set_t * Pdr_SetCreateFrom(Pdr_Set_t *pSet, int iRemove)
int Pdr_ManFreeVar(Pdr_Man_t *p, int k)
struct Txs3_Man_t_ Txs3_Man_t
void Pdr_ManSetPropertyOutput(Pdr_Man_t *p, int k)
Pdr_Obl_t * Pdr_QueuePop(Pdr_Man_t *p)
struct Pdr_Obl_t_ Pdr_Obl_t
int Pdr_SetIsInit(Pdr_Set_t *p, int iRemove)
typedefABC_NAMESPACE_HEADER_START struct Txs_Man_t_ Txs_Man_t
INCLUDES ///.
void Pdr_ManReportInvariant(Pdr_Man_t *p)
Vec_Int_t * Pdr_ManLitsToCube(Pdr_Man_t *p, int k, int *pArray, int nArray)
int Pdr_SetContainsSimple(Pdr_Set_t *pOld, Pdr_Set_t *pNew)
void ZPdr_SetPrint(Pdr_Set_t *p)
int Pdr_ObjSatVar(Pdr_Man_t *p, int k, int Pol, Aig_Obj_t *pObj)
FUNCTION DECLARATIONS ///.
int Pdr_SetCompare(Pdr_Set_t **pp1, Pdr_Set_t **pp2)
sat_solver * Pdr_ManCreateSolver(Pdr_Man_t *p, int k)
DECLARATIONS ///.
void Pdr_ManVerifyInvariant(Pdr_Man_t *p)
void Pdr_QueuePrint(Pdr_Man_t *p)
struct Pdr_Man_t_ Pdr_Man_t
Pdr_Obl_t * Pdr_QueueHead(Pdr_Man_t *p)
Vec_Int_t * Pdr_ManCubeToLits(Pdr_Man_t *p, int k, Pdr_Set_t *pCube, int fCompl, int fNext)
int Pdr_ObjRegNum(Pdr_Man_t *p, int k, int iSatVar)
Pdr_Set_t * Txs_ManTernarySim(Txs_Man_t *p, int k, Pdr_Set_t *pCube)
Abc_Cex_t * Pdr_ManDeriveCex(Pdr_Man_t *p)
Pdr_Set_t * Pdr_SetAlloc(int nSize)
DECLARATIONS ///.
Vec_Str_t * Pdr_ManDumpString(Pdr_Man_t *p)
int Pdr_ManCheckContainment(Pdr_Man_t *p, int k, Pdr_Set_t *pSet)
void Pdr_ManSolverAddClause(Pdr_Man_t *p, int k, Pdr_Set_t *pCube)
Pdr_Set_t * Pdr_SetCreateSubset(Pdr_Set_t *pSet, int *pLits, int nLits)
Txs_Man_t * Txs_ManStart(Pdr_Man_t *pMan, Aig_Man_t *pAig, Vec_Int_t *vPrio)
FUNCTION DEFINITIONS ///.
int ZPdr_SetIsInit(Pdr_Set_t *p)
void Pdr_ManCollectValues(Pdr_Man_t *p, int k, Vec_Int_t *vObjIds, Vec_Int_t *vValues)
typedefABC_NAMESPACE_HEADER_START struct Pdr_Par_t_ Pdr_Par_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct Abc_Cex_t_ Abc_Cex_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Wec_t_ Vec_Wec_t
INCLUDES ///.