diff --git a/abclib.dsp b/abclib.dsp index 6bc62da16..d91c22e98 100644 --- a/abclib.dsp +++ b/abclib.dsp @@ -1267,6 +1267,10 @@ SOURCE=.\src\sat\bsat\satMem.h # End Source File # Begin Source File +SOURCE=.\src\sat\bsat\satProof.c +# End Source File +# Begin Source File + SOURCE=.\src\sat\bsat\satSolver.c # End Source File # Begin Source File diff --git a/src/misc/vec/vecInt.h b/src/misc/vec/vecInt.h index 59c91e535..0d0c24a8f 100644 --- a/src/misc/vec/vecInt.h +++ b/src/misc/vec/vecInt.h @@ -316,6 +316,22 @@ static inline int * Vec_IntArray( Vec_Int_t * p ) return p->pArray; } +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +static inline int * Vec_IntLimit( Vec_Int_t * p ) +{ + return p->pArray + p->nSize; +} + /**Function************************************************************* Synopsis [] diff --git a/src/sat/bsat/module.make b/src/sat/bsat/module.make index 4f633df4d..d04abc2af 100644 --- a/src/sat/bsat/module.make +++ b/src/sat/bsat/module.make @@ -3,6 +3,7 @@ SRC += src/sat/bsat/satMem.c \ src/sat/bsat/satInterA.c \ src/sat/bsat/satInterB.c \ src/sat/bsat/satInterP.c \ + src/sat/bsat/satProof.c \ src/sat/bsat/satSolver.c \ src/sat/bsat/satSolver2.c \ src/sat/bsat/satStore.c \ diff --git a/src/sat/bsat/satProof.c b/src/sat/bsat/satProof.c new file mode 100644 index 000000000..b3cf2b6ce --- /dev/null +++ b/src/sat/bsat/satProof.c @@ -0,0 +1,476 @@ +/**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 [$Id: satProof.c,v 1.4 2005/09/16 22:55:03 casem Exp $] + +***********************************************************************/ + +#include "satSolver.h" +#include "vec.h" +#include "aig.h" + +ABC_NAMESPACE_IMPL_START + + +/* + Proof is represented as a vector of integers. + The first entry is -1. + The clause is represented as an offset in this array. + One clause's entry is