#ifndef _CSOLVER_
#define _CSOLVER_ 
#include "sharing.h"
#include "state.h"
#include "twfo.h"
#include "groundgen.h"
#include "condense.h"
#include "lmodel.h"
#include "fredund.h"
#include "meta.h"
#include "abstract.h"
typedef struct CSTATE_HELP {
  TRAIL trail;
  TWFO twfo;
  ARRAY cons;
  ARRAY prem;
  ARRAY conc;
  ARRAY parents;
  ABSTR abstr;
  ARRAY reductions;
} CSTATE_NODE, *CSTATE;
CSTATE csolver_Create(MEMORY, SUBSTSTATE, TERMSTATE, SYMBSTATE, FOLSTATE, SHARER, SCLSTATE);
void csolver_Delete(MEMORY, CSTATE);
void csolver_Solve(SCLSTATE, KBOSTATE, BOOL *, METAHEUR Mode);
#ifdef SPASS_CHECK
void csolver_IsNTWFOConsistent(SCLSTATE, TRAIL, TWFO, NTWFO);
#endif
#endif
