|
| MonoUnroll (z3::context &ctx, const std::string &suff="") |
| Default constructor.
|
|
| ~MonoUnroll () |
| Default destructor.
|
|
ZExpr | MonoSubs (const InstrLvlAbsPtr &top, const int &length, const int &pos=0) |
| Unroll the ILA with internal states substituted. More...
|
|
ZExpr | MonoAssn (const InstrLvlAbsPtr &top, const int &length, const int &pos=0) |
| Unroll the ILA while asserting states are equal between each step. More...
|
|
ZExpr | MonoNone (const InstrLvlAbsPtr &top, const int &length, const int &pos=0) |
| Unroll the ILA without asserting states relations between steps. More...
|
|
ZExpr | MonoIncr (const InstrLvlAbsPtr &top, const int &length, const int &pos) |
| Incrementally unrolling the ILA using MonoAssn (with transition relation being cached). More...
|
|
| Unroller (z3::context &ctx, const std::string &suffix) |
| Default constructor.
|
|
virtual | ~Unroller () |
| Default virtual destructor.
|
|
void | AddGlobPred (const ExprPtr &p) |
| Add a predicate that should be asserted globally.
|
|
void | AddInitPred (const ExprPtr &p) |
| Add a predicate that should be asserted in the initial condition.
|
|
void | AddStepPred (const ExprPtr &p, const int &k) |
| Add a predicate that should be asserted at the k-th step.
|
|
void | ClearGlobPred () |
| Clear the global predicates.
|
|
void | ClearInitPred () |
| Clear the initial predicates.
|
|
void | ClearStepPred () |
| Clear the step-specific predicates.
|
|
void | ClearPred () |
| Clear all predicates.
|
|
ZExpr | CurrState (const ExprPtr &v, const int &t) |
| Return the z3::expr representing the current state at the time.
|
|
ZExpr | NextState (const ExprPtr &v, const int &t) |
| Return the z3::expr representing the next state at the time.
|
|
ZExpr | GetZ3Expr (const ExprPtr &e, const int &t) |
| Return the z3::expr representing the current-based Expr at the time.
|
|
ZExpr | GetZ3Expr (const ExprPtr &e) |
| Return the z3::expr representing a unique Expr (regardless of time).
|
|
ZExpr | Equal (const ExprPtr &va, const int &ta, const ExprPtr &vb, const int &tb) |
| Return the z3::expr representing a and b are equal at their time.
|
|
z3::func_decl | GetZ3FuncDecl (const FuncPtr &f) const |
| Return the z3::func_decl representing f.
|
|
|
void | DefineDepVar () |
| [Application-specific] Define dependant state variables. More...
|
|
void | Transition (const int &idx) |
| [Application-specific] Define next state update functions. More...
|
|
ZExpr | UnrollSubs (const size_t &len, const int &pos) |
| Unroll while substituting internal expression.
|
|
ZExpr | UnrollAssn (const size_t &len, const int &pos, bool cache=false) |
| Unroll without substituting internal expression.
|
|
ZExpr | UnrollNone (const size_t &len, const int &pos) |
| Unroll without asserting state equality between each step.
|
|
Application class for unrolling the ILA as a monolithic transition system.