30#ifndef Z3_EXAMPLE_RELATIONSOLVER_H 
   31#define Z3_EXAMPLE_RELATIONSOLVER_H 
   87    void decide_cpa_ext(
const Z3Expr &
phi, 
Map<u32_t, Z3Expr>&, 
Map<u32_t, s32_t>&, 
Map<u32_t, s32_t>&, 
Map<u32_t, s32_t>&, 
Map<u32_t, s32_t>&);
 
 
Z3Expr gamma_hat(const AbstractState &exeState) const
Return Z3Expr according to valToValMap.
 
AbstractState RSY(const AbstractState &domain, const Z3Expr &phi)
 
AbstractState bilateral(const AbstractState &domain, const Z3Expr &phi, u32_t descend_check=0)
 
Map< u32_t, s32_t > BoxedOptSolver(const Z3Expr &phi, Map< u32_t, s32_t > &ret, Map< u32_t, s32_t > &low_values, Map< u32_t, s32_t > &high_values)
 
AbstractState beta(const Map< u32_t, s32_t > &sigma, const AbstractState &exeState) const
 
virtual Z3Expr toIntZ3Expr(u32_t varId) const
Return Z3 expression lazily based on SVFVar ID.
 
void updateMap(Map< u32_t, s32_t > &map, u32_t key, const s32_t &value)
 
AbstractState abstract_consequence(const AbstractState &lower, const AbstractState &upper, const AbstractState &domain) const
 
void decide_cpa_ext(const Z3Expr &phi, Map< u32_t, Z3Expr > &, Map< u32_t, s32_t > &, Map< u32_t, s32_t > &, Map< u32_t, s32_t > &, Map< u32_t, s32_t > &)
 
AbstractState BS(const AbstractState &domain, const Z3Expr &phi)
 
Z3Expr toRealVal(BoundedDouble f) const
 
Z3Expr toIntVal(s32_t f) const
 
static z3::context & getContext()
Get z3 context, singleton design here to make sure we only have one context.
 
llvm::IRBuilder IRBuilder