|
abc-master
|
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include "misc/vec/vec.h"#include "misc/vec/vecSet.h"#include "aig/aig/aig.h"#include "satTruth.h"Go to the source code of this file.
Data Structures | |
| struct | satset_t |
Macros | |
| #define | Proof_ForeachClauseVec(pVec, p, pNode, i) for ( i = 0; (i < Vec_IntSize(pVec)) && ((pNode) = Proof_ClauseRead(p, Vec_IntEntry(pVec,i))); i++ ) |
| #define | Proof_ForeachNodeVec(pVec, p, pNode, i) for ( i = 0; (i < Vec_IntSize(pVec)) && ((pNode) = Proof_NodeRead(p, Vec_IntEntry(pVec,i))); i++ ) |
| #define | Proof_ForeachNodeVec1(pVec, p, pNode, i) for ( i = 1; (i < Vec_IntSize(pVec)) && ((pNode) = Proof_NodeRead(p, Vec_IntEntry(pVec,i))); i++ ) |
| #define | Proof_NodeForeachFanin(pProof, pNode, pFanin, i) for ( i = 0; (i < (int)pNode->nEnts) && (((pFanin) = (pNode->pEnts[i] & 1) ? NULL : Proof_NodeRead(pProof, pNode->pEnts[i] >> 2)), 1); i++ ) |
Typedefs | |
| typedef typedefABC_NAMESPACE_IMPL_START struct satset_t | satset |
Functions | |
| static satset * | Proof_NodeRead (Vec_Set_t *p, int h) |
| DECLARATIONS ///. More... | |
| static int | Proof_NodeWordNum (int nEnts) |
| void | Proof_ClauseSetEnts (Vec_Set_t *p, int h, int nEnts) |
| void | Proof_CleanCollected (Vec_Set_t *vProof, Vec_Int_t *vUsed) |
| FUNCTION DEFINITIONS ///. More... | |
| void | Proof_CollectUsed_iter (Vec_Set_t *vProof, int hNode, Vec_Int_t *vUsed, Vec_Int_t *vStack) |
| Vec_Int_t * | Proof_CollectUsedIter (Vec_Set_t *vProof, Vec_Int_t *vRoots, int fSort) |
| void | Proof_CollectUsed_rec (Vec_Set_t *vProof, int hNode, Vec_Int_t *vUsed) |
| Vec_Int_t * | Proof_CollectUsedRec (Vec_Set_t *vProof, Vec_Int_t *vRoots) |
| int | Proof_MarkUsed_rec (Vec_Set_t *vProof, int hNode) |
| int | Proof_MarkUsedRec (Vec_Set_t *vProof, Vec_Int_t *vRoots) |
| void | Sat_ProofCheck0 (Vec_Set_t *vProof) |
| int | Sat_ProofReduce (Vec_Set_t *vProof, void *pRoots, int hProofPivot) |
| Vec_Int_t * | Sat_ProofCollectCore (Vec_Set_t *vProof, Vec_Int_t *vUsed) |
| void * | Proof_DeriveCore (Vec_Set_t *vProof, int hRoot) |
| #define Proof_ForeachClauseVec | ( | pVec, | |
| p, | |||
| pNode, | |||
| i | |||
| ) | for ( i = 0; (i < Vec_IntSize(pVec)) && ((pNode) = Proof_ClauseRead(p, Vec_IntEntry(pVec,i))); i++ ) |
Definition at line 64 of file satProof.c.
| #define Proof_ForeachNodeVec | ( | pVec, | |
| p, | |||
| pNode, | |||
| i | |||
| ) | for ( i = 0; (i < Vec_IntSize(pVec)) && ((pNode) = Proof_NodeRead(p, Vec_IntEntry(pVec,i))); i++ ) |
Definition at line 66 of file satProof.c.
| #define Proof_ForeachNodeVec1 | ( | pVec, | |
| p, | |||
| pNode, | |||
| i | |||
| ) | for ( i = 1; (i < Vec_IntSize(pVec)) && ((pNode) = Proof_NodeRead(p, Vec_IntEntry(pVec,i))); i++ ) |
Definition at line 68 of file satProof.c.
| #define Proof_NodeForeachFanin | ( | pProof, | |
| pNode, | |||
| pFanin, | |||
| i | |||
| ) | for ( i = 0; (i < (int)pNode->nEnts) && (((pFanin) = (pNode->pEnts[i] & 1) ? NULL : Proof_NodeRead(pProof, pNode->pEnts[i] >> 2)), 1); i++ ) |
Definition at line 72 of file satProof.c.
CFile****************************************************************
FileName [satProof.c]
SystemName [ABC: Logic synthesis and verification system.]
PackageName [SAT solver.]
Synopsis [Proof manipulation procedures.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 1.0. Started - June 20, 2005.]
Revision [
]
Definition at line 41 of file satProof.c.
| void Proof_ClauseSetEnts | ( | Vec_Set_t * | p, |
| int | h, | ||
| int | nEnts | ||
| ) |
Definition at line 61 of file satProof.c.
FUNCTION DEFINITIONS ///.
Function*************************************************************
Synopsis [Cleans collected resultion nodes belonging to the proof.]
Description []
SideEffects []
SeeAlso []
Definition at line 96 of file satProof.c.
| void Proof_CollectUsed_iter | ( | Vec_Set_t * | vProof, |
| int | hNode, | ||
| Vec_Int_t * | vUsed, | ||
| Vec_Int_t * | vStack | ||
| ) |
Function*************************************************************
Synopsis []
Description []
SideEffects []
SeeAlso []
Definition at line 115 of file satProof.c.
Function*************************************************************
Synopsis [Recursively collects useful proof nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 187 of file satProof.c.
Definition at line 145 of file satProof.c.
Definition at line 199 of file satProof.c.
| void* Proof_DeriveCore | ( | Vec_Set_t * | vProof, |
| int | hRoot | ||
| ) |
Function*************************************************************
Synopsis [Computes UNSAT core.]
Description [The result is the array of root clause indexes.]
SideEffects []
SeeAlso []
Definition at line 913 of file satProof.c.
| int Proof_MarkUsed_rec | ( | Vec_Set_t * | vProof, |
| int | hNode | ||
| ) |
Function*************************************************************
Synopsis [Recursively visits useful proof nodes.]
Description []
SideEffects []
SeeAlso []
Definition at line 221 of file satProof.c.
Definition at line 233 of file satProof.c.
|
inlinestatic |
Definition at line 59 of file satProof.c.
| void Sat_ProofCheck0 | ( | Vec_Set_t * | vProof | ) |
Function*************************************************************
Synopsis [Checks the validity of the check point.]
Description []
SideEffects []
SeeAlso [] Function*************************************************************
Synopsis [Reduces the proof to contain only roots and their children.]
Description [The result is updated proof and updated roots.]
SideEffects []
SeeAlso []
Definition at line 371 of file satProof.c.
Function*************************************************************
Synopsis [Collects nodes belonging to the UNSAT core.]
Description [The resulting array contains 1-based IDs of root clauses.]
SideEffects []
SeeAlso []
Definition at line 607 of file satProof.c.
| int Sat_ProofReduce | ( | Vec_Set_t * | vProof, |
| void * | pRoots, | ||
| int | hProofPivot | ||
| ) |
Definition at line 383 of file satProof.c.