From 5161978d05d3298d1f2212d88f81855220f352c8 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 1 Dec 2011 01:14:32 -0500 Subject: Started proof transformations. --- abclib.dsp | 4 + src/misc/vec/vecInt.h | 16 ++ src/sat/bsat/module.make | 1 + src/sat/bsat/satProof.c | 476 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 497 insertions(+) create mode 100644 src/sat/bsat/satProof.c diff --git a/abclib.dsp b/abclib.dsp index 6bc62da1..d91c22e9 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 59c91e53..0d0c24a8 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 4f633df4..d04abc2a 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 00000000..b3cf2b6c --- /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