CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
smt_array_theory.h
Go to the documentation of this file.
1// Author: Diffblue Ltd.
2
3#ifndef CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_ARRAY_THEORY_H
4#define CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_ARRAY_THEORY_H
5
7
9{
10public:
11 struct selectt final
12 {
13 static const char *identifier();
14 static smt_sortt
15 return_sort(const smt_termt &array, const smt_termt &index);
16 static std::vector<std::string>
17 validation_errors(const smt_termt &array, const smt_termt &index);
18 static void validate(const smt_termt &array, const smt_termt &index);
19 };
21
22 struct storet final
23 {
24 static const char *identifier();
26 const smt_termt &array,
27 const smt_termt &index,
28 const smt_termt &value);
29 static void validate(
30 const smt_termt &array,
31 const smt_termt &index,
32 const smt_termt &value);
33 };
35};
36
37#endif // CPROVER_SOLVERS_SMT2_INCREMENTAL_SMT_ARRAY_THEORY_H
static const smt_function_application_termt::factoryt< storet > store
static const smt_function_application_termt::factoryt< selectt > select
static const char * identifier()
static smt_sortt return_sort(const smt_termt &array, const smt_termt &index)
static void validate(const smt_termt &array, const smt_termt &index)
static std::vector< std::string > validation_errors(const smt_termt &array, const smt_termt &index)
static const char * identifier()
static void validate(const smt_termt &array, const smt_termt &index, const smt_termt &value)
static smt_sortt return_sort(const smt_termt &array, const smt_termt &index, const smt_termt &value)