#include <MicroUnroller.hpp>
|
| | MicroUnroller (const char *suffix, Abstraction &abs, Abstraction &uabs, z3::context &c, z3::solver &s, bool InitCond) |
| |
| | ~MicroUnroller () |
| |
| void | reset (z3::solver *solver) |
| |
| void | addAssump (z3::expr &a) |
| | register literal as an assumption More...
|
| |
| std::vector< z3::expr > & | getAssumps () |
| | return all assumptions More...
|
| |
| unsigned | frame () |
| |
| void | newFrame () |
| |
| unsigned | frames () |
| |
| unsigned | addPrimaryInput (z3::expr in) |
| |
| z3::expr & | getPrimaryInput (int nNum) |
| |
| z3::expr & | getPrimaryInput (Node *var) |
| |
| std::vector< z3::expr > & | getPrimaryInputs () |
| |
| unsigned | addOutput (z3::expr out) |
| |
| z3::expr & | getOutput (Node *var) |
| |
| z3::expr & | getOutput (unsigned nFrame, Node *var) |
| |
| z3::expr & | getOutput (unsigned nFrame, int nNum) |
| |
| std::vector< z3::expr > & | getOutputs (unsigned nFrame) |
| |
| std::vector< std::vector< z3::expr > > & | getAllOutputs () |
| |
| bool | checkAssertion (NodeRef *assertion) |
| |
| void | dumpAssertion (NodeRef *assertion, const std::string &fileName) |
| |
| void | addAssumption (NodeRef *assumption) |
| |
| z3::expr | subsFormulaOnFrame (unsigned nframe, nptr_t &formula) |
| |
| z3::expr | getNodeOnFrame (unsigned nframe, nptr_t &node) |
| |
| void | unrollToStep (unsigned bound) |
| |
| void | InsertAssumptions () |
| |
| void | InsertAssumptSub (z3::expr_vector &src, z3::expr_vector &dest) |
| |
|
| static MicroUnroller * | NewUnroller (AbstractionWrapper *Abs, AbstractionWrapper *Uabs, bool InitCond) |
| |
| static void | EqOffline (const std::string &fileName, MicroUnroller *m1, MicroUnroller *m2, const std::string &n1, const std::string &n2) |
| |
| static void | EqOffline (const std::string &fileName, MicroUnroller *m1, MicroUnroller *m2, const std::string &n1, const std::string &n2, py::list &assumps) |
| |
| static bool | EqCheck (MicroUnroller *m1, MicroUnroller *m2, const std::string &n1, const std::string &n2) |
| |
| static bool | EqCheck (MicroUnroller *m1, MicroUnroller *m2, const std::string &n1, const std::string &n2, py::list &assumps) |
| |
◆ MicroUnroller()
| ilasynth::MicroUnroller::MicroUnroller |
( |
const char * |
suffix, |
|
|
Abstraction & |
abs, |
|
|
Abstraction & |
uabs, |
|
|
z3::context & |
c, |
|
|
z3::solver & |
s, |
|
|
bool |
InitCond |
|
) |
| |
|
inline |
◆ ~MicroUnroller()
| ilasynth::MicroUnroller::~MicroUnroller |
( |
| ) |
|
|
inline |
◆ _initVar()
| void ilasynth::MicroUnroller::_initVar |
( |
Z3ExprAdapter & |
z3expr, |
|
|
const npair_t & |
p, |
|
|
bool |
allowInit |
|
) |
| |
|
private |
◆ addAllStatesToLaterFrame()
| void ilasynth::MicroUnroller::addAllStatesToLaterFrame |
( |
| ) |
|
|
private |
◆ addAllStatesToSecondFrame()
| void ilasynth::MicroUnroller::addAllStatesToSecondFrame |
( |
bool |
initCondSet | ) |
|
|
private |
◆ addArchStatesToFirstFrame()
| void ilasynth::MicroUnroller::addArchStatesToFirstFrame |
( |
| ) |
|
|
private |
◆ addAssump()
| void ilasynth::MicroUnroller::addAssump |
( |
z3::expr & |
a | ) |
|
|
inline |
register literal as an assumption
◆ addAssumption()
| void ilasynth::MicroUnroller::addAssumption |
( |
NodeRef * |
assumption | ) |
|
◆ addInputNodes()
| void ilasynth::MicroUnroller::addInputNodes |
( |
| ) |
|
|
private |
◆ addOutput()
| unsigned ilasynth::MicroUnroller::addOutput |
( |
z3::expr |
out | ) |
|
|
inline |
◆ addPrimaryInput()
| unsigned ilasynth::MicroUnroller::addPrimaryInput |
( |
z3::expr |
in | ) |
|
|
inline |
◆ checkAssertion()
| bool ilasynth::MicroUnroller::checkAssertion |
( |
NodeRef * |
assertion | ) |
|
◆ checkMiter()
| static bool ilasynth::MicroUnroller::checkMiter |
( |
z3::solver & |
S, |
|
|
z3::expr & |
e1, |
|
|
z3::expr & |
e2, |
|
|
MicroUnroller * |
u1, |
|
|
MicroUnroller * |
u2 |
|
) |
| |
|
staticprivate |
◆ debugFrame()
| void ilasynth::MicroUnroller::debugFrame |
( |
| ) |
|
|
private |
◆ dumpAssertion()
| void ilasynth::MicroUnroller::dumpAssertion |
( |
NodeRef * |
assertion, |
|
|
const std::string & |
fileName |
|
) |
| |
◆ EqCheck() [1/2]
| static bool ilasynth::MicroUnroller::EqCheck |
( |
MicroUnroller * |
m1, |
|
|
MicroUnroller * |
m2, |
|
|
const std::string & |
n1, |
|
|
const std::string & |
n2 |
|
) |
| |
|
static |
◆ EqCheck() [2/2]
| static bool ilasynth::MicroUnroller::EqCheck |
( |
MicroUnroller * |
m1, |
|
|
MicroUnroller * |
m2, |
|
|
const std::string & |
n1, |
|
|
const std::string & |
n2, |
|
|
py::list & |
assumps |
|
) |
| |
|
static |
◆ EqOffline() [1/2]
| static void ilasynth::MicroUnroller::EqOffline |
( |
const std::string & |
fileName, |
|
|
MicroUnroller * |
m1, |
|
|
MicroUnroller * |
m2, |
|
|
const std::string & |
n1, |
|
|
const std::string & |
n2 |
|
) |
| |
|
static |
◆ EqOffline() [2/2]
| static void ilasynth::MicroUnroller::EqOffline |
( |
const std::string & |
fileName, |
|
|
MicroUnroller * |
m1, |
|
|
MicroUnroller * |
m2, |
|
|
const std::string & |
n1, |
|
|
const std::string & |
n2, |
|
|
py::list & |
assumps |
|
) |
| |
|
static |
◆ EvalEachFrame()
| static void ilasynth::MicroUnroller::EvalEachFrame |
( |
z3::model & |
m, |
|
|
MicroUnroller * |
u, |
|
|
std::ostream & |
cexf |
|
) |
| |
|
staticprivate |
◆ frame()
| unsigned ilasynth::MicroUnroller::frame |
( |
| ) |
|
|
inline |
◆ frame2suffix()
| static std::string ilasynth::MicroUnroller::frame2suffix |
( |
unsigned |
fr, |
|
|
bool |
init = false |
|
) |
| |
|
staticprivate |
◆ frames()
| unsigned ilasynth::MicroUnroller::frames |
( |
| ) |
|
|
inline |
◆ getAllOutputs()
| std::vector<std::vector<z3::expr> >& ilasynth::MicroUnroller::getAllOutputs |
( |
| ) |
|
|
inline |
◆ getAssumps()
| std::vector<z3::expr>& ilasynth::MicroUnroller::getAssumps |
( |
| ) |
|
|
inline |
◆ getNodeOnFrame()
| z3::expr ilasynth::MicroUnroller::getNodeOnFrame |
( |
unsigned |
nframe, |
|
|
nptr_t & |
node |
|
) |
| |
◆ getOutput() [1/3]
| z3::expr& ilasynth::MicroUnroller::getOutput |
( |
Node * |
var | ) |
|
|
inline |
◆ getOutput() [2/3]
| z3::expr& ilasynth::MicroUnroller::getOutput |
( |
unsigned |
nFrame, |
|
|
Node * |
var |
|
) |
| |
|
inline |
◆ getOutput() [3/3]
| z3::expr& ilasynth::MicroUnroller::getOutput |
( |
unsigned |
nFrame, |
|
|
int |
nNum |
|
) |
| |
|
inline |
◆ getOutputs()
| std::vector<z3::expr>& ilasynth::MicroUnroller::getOutputs |
( |
unsigned |
nFrame | ) |
|
|
inline |
◆ getPrimaryInput() [1/2]
| z3::expr& ilasynth::MicroUnroller::getPrimaryInput |
( |
int |
nNum | ) |
|
|
inline |
◆ getPrimaryInput() [2/2]
| z3::expr& ilasynth::MicroUnroller::getPrimaryInput |
( |
Node * |
var | ) |
|
|
inline |
◆ getPrimaryInputs()
| std::vector<z3::expr>& ilasynth::MicroUnroller::getPrimaryInputs |
( |
| ) |
|
|
inline |
◆ InsertAssumptions()
| void ilasynth::MicroUnroller::InsertAssumptions |
( |
| ) |
|
◆ InsertAssumptSub()
| void ilasynth::MicroUnroller::InsertAssumptSub |
( |
z3::expr_vector & |
src, |
|
|
z3::expr_vector & |
dest |
|
) |
| |
◆ newFrame()
| void ilasynth::MicroUnroller::newFrame |
( |
| ) |
|
|
inline |
◆ NewUnroller()
◆ reset()
| void ilasynth::MicroUnroller::reset |
( |
z3::solver * |
solver | ) |
|
|
inline |
◆ setup2Frames()
| void ilasynth::MicroUnroller::setup2Frames |
( |
bool |
initCond | ) |
|
|
private |
◆ subsFormula()
| z3::expr ilasynth::MicroUnroller::subsFormula |
( |
Node * |
n | ) |
|
|
private |
◆ subsFormulaOnFrame()
| z3::expr ilasynth::MicroUnroller::subsFormulaOnFrame |
( |
unsigned |
nframe, |
|
|
nptr_t & |
formula |
|
) |
| |
◆ unrollToStep()
| void ilasynth::MicroUnroller::unrollToStep |
( |
unsigned |
bound | ) |
|
◆ debug
| bool ilasynth::MicroUnroller::debug |
◆ m_Assumps
| std::vector<z3::expr> ilasynth::MicroUnroller::m_Assumps |
|
private |
◆ m_mInputIndices
| std::unordered_map<Node*, int, decltype(&nodeHash), decltype(&nodeEqual)> ilasynth::MicroUnroller::m_mInputIndices |
|
private |
Map between primary input pointers and indices into m_vPrimaryInputs.
◆ m_mStateIndices
| std::unordered_map<Node*, unsigned, decltype(&nodeHash), decltype(&nodeEqual)> ilasynth::MicroUnroller::m_mStateIndices |
|
private |
Map between state pointers and indices into m_vOutputs.
◆ m_nFrames
| unsigned ilasynth::MicroUnroller::m_nFrames |
|
private |
◆ m_pAbstraction
◆ m_pContext
| z3::context* ilasynth::MicroUnroller::m_pContext |
|
private |
◆ m_pSolver
| z3::solver* ilasynth::MicroUnroller::m_pSolver |
|
private |
◆ m_pUAbstraction
◆ m_sName
| std::string ilasynth::MicroUnroller::m_sName |
|
private |
◆ m_vOutputs
| std::vector<std::vector<z3::expr> > ilasynth::MicroUnroller::m_vOutputs |
|
private |
◆ m_vPrimaryInputs
| std::vector<z3::expr> ilasynth::MicroUnroller::m_vPrimaryInputs |
|
private |
Primary Inputs, by frame.
◆ MicroUnrollContext
| z3::context ilasynth::MicroUnroller::MicroUnrollContext |
|
staticprivate |
◆ MicroUnrollSolver
| z3::solver ilasynth::MicroUnroller::MicroUnrollSolver |
|
staticprivate |
The documentation for this class was generated from the following file: