30 std::chrono::time_point<std::chrono::steady_clock> &
_dest)
37 dest = std::chrono::steady_clock::now();
41 std::chrono::time_point<std::chrono::steady_clock> &
dest;
45 std::vector<framet> &
frames,
46 const std::unordered_set<symbol_exprt, irep_hash> &
address_taken,
49 std::vector<propertyt> &properties,
54 property.start = std::chrono::steady_clock::now();
73 std::cout <<
"Doing " <<
format(
property.condition) <<
" iteration "
79 switch(result.outcome)
82 property.status = propertyt::PASS;
108 const std::vector<exprt> &constraints,
118 std::cout <<
"address_taken: " <<
format(
a) <<
'\n';
128 if(properties.empty())
130 std::cout <<
"\nThere are no properties to show.\n";
137 for(std::size_t i = 0; i < properties.size(); i++)
std::unordered_set< symbol_exprt, irep_hash > address_taken(const std::vector< exprt > &src)
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
std::chrono::time_point< std::chrono::steady_clock > & dest
take_time_resourcet(std::chrono::time_point< std::chrono::steady_clock > &_dest)
void generalization(std::vector< framet > &frames, const workt &dropped, const propertyt &property, const solver_optionst &solver_options)
inductiveness_resultt inductiveness_check(std::vector< framet > &frames, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const solver_optionst &solver_options, const namespacet &ns, std::vector< propertyt > &properties, std::size_t property_index)
solver_resultt overall_outcome(const std::vector< propertyt > &properties)
void report_properties(const std::vector< propertyt > &properties)
void report_traces(const std::vector< framet > &frames, const std::vector< propertyt > &properties, bool verbose, const namespacet &ns)
void solver(std::vector< framet > &frames, const std::unordered_set< symbol_exprt, irep_hash > &address_taken, const solver_optionst &solver_options, const namespacet &ns, std::vector< propertyt > &properties, std::size_t property_index)
Solver Progress Reporting.
std::vector< framet > setup_frames(const std::vector< exprt > &constraints)
void find_implications(const std::vector< exprt > &constraints, std::vector< framet > &frames)
std::vector< propertyt > find_properties(const std::vector< exprt > &constraints, const std::vector< framet > &frames)