|
|
| 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.
|
| |
|
| virtual void | DefineDepVar ()=0 |
| | [Application-specific] Define dependant state variables. More...
|
| |
| virtual void | Transition (const int &idx)=0 |
| | [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.
|
| |
Base class for unrolling ILA execution in different settings.