CBMC
Loading...
Searching...
No Matches
functions.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Uninterpreted Functions
4
5Author: Daniel Kroening, kroening@kroening.com
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_SOLVERS_LOWERING_FUNCTIONS_H
13#define CPROVER_SOLVERS_LOWERING_FUNCTIONS_H
14
15#include <map>
16#include <set>
17
19
21
23{
24public:
29
30 virtual ~functionst()
31 {
32 }
33
34 void record(const function_application_exprt &function_application);
35
37 {
39 }
40
41protected:
43
44 typedef std::set<function_application_exprt> applicationst;
45
50
51 typedef std::map<exprt, function_infot> function_mapt;
53
54 virtual void add_function_constraints();
55 virtual void add_function_constraints(const function_infot &info);
56
58};
59
60#endif // CPROVER_SOLVERS_LOWERING_FUNCTIONS_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:562
An interface for a decision procedure for satisfiability problems.
Base class for all expressions.
Definition expr.h:56
std::vector< exprt > operandst
Definition expr.h:58
Application of (mathematical) function.
function_mapt function_map
Definition functions.h:52
virtual void finish_eager_conversion()
Definition functions.h:36
virtual ~functionst()
Definition functions.h:30
virtual void add_function_constraints()
Definition functions.cpp:21
exprt arguments_equal(const exprt::operandst &o1, const exprt::operandst &o2)
Definition functions.cpp:27
std::set< function_application_exprt > applicationst
Definition functions.h:44
void record(const function_application_exprt &function_application)
Definition functions.cpp:15
std::map< exprt, function_infot > function_mapt
Definition functions.h:51
functionst(decision_proceduret &_decision_procedure)
Definition functions.h:25
decision_proceduret & decision_procedure
Definition functions.h:42
API to expression classes for 'mathematical' expressions.
applicationst applications
Definition functions.h:48