src/extend.cpp
// The extension stack allows to reconstruct an assignment for the original
// formula after removing eliminated clauses.  This was pioneered by Niklas
// Soerensson in MiniSAT and for instance is described in our inprocessing
// paper, published at IJCAR'12.  This first function adds a clause to this
// stack.  First the blocking or eliminated literal is added, and then the
// rest of the clause.
The extension stack allows to reconstruct an assignment for the original
formula after removing eliminated clauses.  This was pioneered by Niklas
Soerensson in MiniSAT and for instance is described in our inprocessing
paper, published at IJCAR'12.  This first function adds a clause to this
stack.  First the blocking or eliminated literal is added, and then the
rest of the clause.
The extension stack allows to reconstruct an assignment for the original formula after removing eliminated clauses . This was pioneered by Niklas Soerensson in MiniSAT and for instance is described in our inprocessing paper published at IJCAR ' 12 . This first function adds a clause to this stack . First the blocking or eliminated literal is added and then the rest of the clause .
void External::push_unit_on_extension_stack (int pivot) {
  extension.push_back (0);
  LOG ("pushing 0 on extension stack");
  const int epivot = internal->externalize (pivot);
  assert (epivot);
  extension.push_back (epivot);
  LOG ("pushing pivot %d on extension stack (internal %d)", epivot, pivot);
}
void External :: push_unit_on_extension_stack ( int pivot ) { extension . push_back ( 0 ) ; LOG ( " " ) ; const int epivot = internal -> externalize ( pivot ) ; assert ( epivot ) ; extension . push_back ( epivot ) ; LOG ( " " , epivot , pivot ) ; }
The extension stack allows to reconstruct an assignment for the original
formula after removing eliminated clauses.
The extension stack allows to reconstruct an assignment for the original formula after removing eliminated clauses .