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
smt_array_theoryt::selectt::validate
static void validate(const smt_termt &array, const smt_termt &index)
Definition: smt_array_theory.cpp:29
smt_termt
Definition: smt_terms.h:20
smt_array_theoryt::select
static const smt_function_application_termt::factoryt< selectt > select
Definition: smt_array_theory.h:20
smt_array_theoryt::selectt::identifier
static const char * identifier()
Definition: smt_array_theory.cpp:5
smt_sortt
Definition: smt_sorts.h:17
smt_array_theoryt::selectt
Definition: smt_array_theory.h:11
smt_function_application_termt::factoryt
Definition: smt_terms.h:185
smt_array_theoryt::selectt::validation_errors
static std::vector< std::string > validation_errors(const smt_termt &array, const smt_termt &index)
Definition: smt_array_theory.cpp:17
smt_array_theoryt::storet
Definition: smt_array_theory.h:22
smt_array_theoryt::selectt::return_sort
static smt_sortt return_sort(const smt_termt &array, const smt_termt &index)
Definition: smt_array_theory.cpp:10
smt_array_theoryt
Definition: smt_array_theory.h:8
smt_array_theoryt::storet::validate
static void validate(const smt_termt &array, const smt_termt &index, const smt_termt &value)
Definition: smt_array_theory.cpp:51
smt_array_theoryt::store
static const smt_function_application_termt::factoryt< storet > store
Definition: smt_array_theory.h:34
smt_array_theoryt::storet::identifier
static const char * identifier()
Definition: smt_array_theory.cpp:40
smt_array_theoryt::storet::return_sort
static smt_sortt return_sort(const smt_termt &array, const smt_termt &index, const smt_termt &value)
Definition: smt_array_theory.cpp:44
smt_terms.h