Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/ic3/aux_types.hh
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/

#include <queue>
#include <string>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"

#ifndef UNUSED
#ifdef _MSC_VER
#define UNUSED
Expand Down
16 changes: 9 additions & 7 deletions src/ic3/build_prob/g3en_cnf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,20 @@ Module: CNF Generation (Part 4)
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"
#include "m0ic3.hh"

#include <algorithm>
#include <iostream>
#include <set>
#include <map>
#include <algorithm>
#include <queue>
#include <set>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"
#include "dnf_io.hh"
#include "ccircuit.hh"
#include "m0ic3.hh"


/*=======================================

Expand Down Expand Up @@ -48,7 +50,7 @@ void CompInfo::gen_constr_coi(CUBE &Gates,bool &tran_flag,bool &fun_flag,

assert(Stack.size() == 1);
Gate &G = N->get_gate(Stack.back());
assert(G.flags.label == 0);
INVARIANT(G.flags.label == 0, "Gate label should be zero.");

CUBE Labelled;

Expand Down
14 changes: 8 additions & 6 deletions src/ic3/dnf_io.hh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/

#ifndef DNF_IO_HH
#define DNF_IO_HH

#include <deque>
#include <iosfwd>
#include <map>
#include <set>
#include <vector>

typedef std::vector<int> CUBE;
typedef std::vector<CUBE> DNF;
Expand All @@ -20,11 +27,6 @@ typedef std::set<int> SCUBE;
typedef DNF CNF;
typedef std::vector <float> FltCube;


#define BUF_SIZE 1000
#define MAX_NUM 20


/*========================

C L A S S comp_lits
Expand Down Expand Up @@ -72,4 +74,4 @@ void print_srt_dnf(DNF &D);
void fprint_srt_dnf(DNF &D,char *fname);
void fprint_srt_dnf(DNF &D,const char *fname);


#endif
18 changes: 11 additions & 7 deletions src/ic3/e4xclude_state.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,20 @@ Module: Excludes a state from which a bad state is
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <queue>
#include <set>
#include <map>
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"
#include "m0ic3.hh"

#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
#include <set>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"
#include "dnf_io.hh"
#include "ccircuit.hh"
#include "m0ic3.hh"

/*=========================================

Expand Down Expand Up @@ -91,7 +95,7 @@ void CompInfo::form_res_cnf(CNF &G,int tf_ind,CUBE &St_cube)
add_assumps1(Assmps,St_cube);

bool sat_form = Slvr.Mst->solve(Assmps);
assert(sat_form == false);
INVARIANT(sat_form == false, "SAT check should fail here.");
CLAUSE C;
gen_assump_clause(C,Slvr,Assmps);
G.push_back(C);
Expand Down
16 changes: 10 additions & 6 deletions src/ic3/i1nit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,20 @@ Module: Initialization of IC3
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"
#include "m0ic3.hh"

#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <map>
#include <algorithm>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"
#include "dnf_io.hh"
#include "ccircuit.hh"
#include "m0ic3.hh"
/*==============================

C I _ I N I T
Expand Down Expand Up @@ -214,7 +218,7 @@ void CompInfo::form_cex()
add_assumps1(Assmps,Cex[i]);
add_assumps1(Assmps,Inp_trace[i]);
bool sat_form = check_sat2(Gen_sat,Assmps);
assert(sat_form);
INVARIANT(sat_form, "SAT check should fail here.");
CUBE Nst,St;
extr_cut_assgns1(Nst,Next_svars,Gen_sat);
conv_to_pres_state(St,Nst);
Expand Down
17 changes: 11 additions & 6 deletions src/ic3/i2nit_sat_solvers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@ Module: Initialization of Sat-solvers (Part 1)
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"
#include "m0ic3.hh"

#include <algorithm>
#include <map>
#include <queue>
#include <set>
#include <map>
#include <algorithm>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"
#include "dnf_io.hh"
#include "ccircuit.hh"
#include "m0ic3.hh"

/*======================================

Expand Down Expand Up @@ -141,7 +145,8 @@ void CompInfo::init_lbs_sat_solver()
for (size_t i=0; i < Fun_coi_lits.size(); i++) {
int lit = Fun_coi_lits[i];
int var_ind = abs(lit)-1;
assert (Var_info[var_ind].type == INTERN);
INVARIANT(
Var_info[var_ind].type == INTERN, "Type of literal should be INTERN");
U.push_back(-lit);
}

Expand Down
1 change: 1 addition & 0 deletions src/ic3/m0ic3.hh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Module: IC3 types
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/

#include "aux_types.hh"

extern int debug_flag;
Expand Down
4 changes: 2 additions & 2 deletions src/ic3/m1ain.cc
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ int CompInfo::run_ic3()


bool ok = check_init_states();
assert(ok);
INVARIANT(ok, "Initial states should be defined via single literal.");
assign_var_type();
assign_value();
get_runtime (usrtime0, systime0);
Expand Down Expand Up @@ -242,7 +242,7 @@ int CompInfo::run_ic3()
print_fclauses();
break;
default:
assert(false);
UNREACHABLE;
}
if (statistics) {
printf("*********\n");
Expand Down
17 changes: 10 additions & 7 deletions src/ic3/my_printf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,18 @@ Module: Structuring the output of large numbers by
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <util/invariant.h>

#include "dnf_io.hh"

#include <algorithm>
#include <assert.h>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <stdarg.h>
#include <stdio.h>
#include <set>
#include <algorithm>
#include <queue>
#include <map>
#include <iostream>
#include "dnf_io.hh"
const int factor = 1000;

/*================================================
Expand Down Expand Up @@ -65,7 +68,7 @@ void my_printf(const char *format,...)
int c = *format++;
if (c != '%') {printf("%c",c); continue;}
int spec = *format++;
assert(spec == 'm');
INVARIANT(spec == 'm', "Character should be 'm' in format string.");
int num = va_arg(ap,int);
print_num_with_commas(num);
// printf("%d",num);
Expand Down
20 changes: 11 additions & 9 deletions src/ic3/p5ick_lit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@ Module: Picking a literal to remove when generalizing
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <queue>
#include <set>
#include <map>
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"
#include "m0ic3.hh"

#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
#include <set>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"
#include "dnf_io.hh"
#include "ccircuit.hh"
#include "m0ic3.hh"


/*=============================

Expand Down Expand Up @@ -52,6 +55,5 @@ int CompInfo::fxd_ord_lit(CUBE &Curr,SCUBE &Tried)
return(lit);
}

assert(false); // shouldn't reach this line

UNREACHABLE;
} /* end of function fxd_ord_lit */
3 changes: 2 additions & 1 deletion src/ic3/r0ead_input.cc
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,8 @@ void ic3_enginet::form_inputs()
CCUBE Name;
if (orig_names) {
bool ok = form_orig_name(Name,lit);
assert(ok);}
INVARIANT(ok, "Literal should have an original name.");
}
else {
char Inp_name[MAX_NAME];
sprintf(Inp_name,"i%d",lit_val);
Expand Down
2 changes: 1 addition & 1 deletion src/ic3/r4ead_input.cc
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ void ic3_enginet::form_latch_name(CCUBE &Latch_name,literalt &lit)
{
if (orig_names) {
bool ok = form_orig_name(Latch_name,lit);
assert(ok);
INVARIANT(ok, "Literal should have original name.");
return; }

char Buff[MAX_NAME];
Expand Down
20 changes: 12 additions & 8 deletions src/ic3/s2horten_clause.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,20 @@ Module: Generalization of an inductive clause
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <queue>
#include <set>
#include <map>
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"
#include "m0ic3.hh"

#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
#include <set>

#include "minisat/core/Solver.h"
#include "minisat/simp/SimpSolver.h"
#include "dnf_io.hh"
#include "ccircuit.hh"
#include "m0ic3.hh"

/*==================================

Expand Down Expand Up @@ -86,8 +90,8 @@ void CompInfo::find_fixed_pnt(CLAUSE &C,CLAUSE &C0,SatSolver &Slvr,
// run a SAT-check

bool sat_form = check_sat2(Slvr,Assmps);
assert(sat_form == false);

INVARIANT(sat_form == false, "SAT check should fail here.");
CLAUSE B;
gen_assump_clause(B,Slvr,Assmps);
CLAUSE B1;
Expand Down
22 changes: 13 additions & 9 deletions src/ic3/seq_circ/a4dd_spec_buffs.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,20 @@ Module: Treating the case when a gate feeds more
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/
#include <util/invariant.h>

#include "ccircuit.hh"
#include "dnf_io.hh"

#include <algorithm>
#include <assert.h>
#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <queue>
#include <assert.h>
#include <string.h>
#include <set>
#include <stdio.h>
#include "dnf_io.hh"
#include "ccircuit.hh"

#include <string.h>
#include <vector>

/*=========================================

Expand Down Expand Up @@ -121,7 +123,9 @@ int spec_buff_gate_ind(Circuit *N,int ind)
int gate_ind = N->Pin_list[fake_name];

Gate &G = N->get_gate(gate_ind);
assert(G.spec_buff_ind == ind);
INVARIANT(
G.spec_buff_ind == ind,
"Special buffer index of gate should be equal to value of `ind`");

return(gate_ind);

Expand Down
3 changes: 3 additions & 0 deletions src/ic3/seq_circ/ccircuit.hh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ Module: Basic types (gate, circuit and so on)
Author: Eugene Goldberg, eu.goldberg@gmail.com

******************************************************/

#include "dnf_io.hh"

struct ConstrGateInfo {
unsigned neg_lit:1;
unsigned fun_coi:1;
Expand Down
Loading