CBMC
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 {
10 public:
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();
25  static smt_sortt return_sort(
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)