cprover
cprover_builtin_headers.h
Go to the documentation of this file.
1// clang-format off
2void __CPROVER_assume(__CPROVER_bool assumption);
3void __VERIFIER_assume(__CPROVER_bool assumption);
4void __CPROVER_assert(__CPROVER_bool assertion, const char *description);
5void __CPROVER_precondition(__CPROVER_bool precondition, const char *description);
6void __CPROVER_postcondition(__CPROVER_bool assertion, const char *description);
8void __CPROVER_havoc_slice(void *, __CPROVER_size_t);
9__CPROVER_bool __CPROVER_equal();
10__CPROVER_bool __CPROVER_same_object(const void *, const void *);
11__CPROVER_bool __CPROVER_is_invalid_pointer(const void *);
12_Bool __CPROVER_is_zero_string(const void *);
13__CPROVER_size_t __CPROVER_zero_string_length(const void *);
14__CPROVER_size_t __CPROVER_buffer_size(const void *);
15__CPROVER_bool __CPROVER_r_ok();
16__CPROVER_bool __CPROVER_w_ok();
17__CPROVER_bool __CPROVER_rw_ok();
18
19// bitvector analysis
20__CPROVER_bool __CPROVER_get_flag(const void *, const char *);
21void __CPROVER_set_must(const void *, const char *);
22void __CPROVER_clear_must(const void *, const char *);
23void __CPROVER_set_may(const void *, const char *);
24void __CPROVER_clear_may(const void *, const char *);
25void __CPROVER_cleanup(const void *, const void *);
26__CPROVER_bool __CPROVER_get_must(const void *, const char *);
27__CPROVER_bool __CPROVER_get_may(const void *, const char *);
28
29void __CPROVER_printf(const char *format, ...);
30void __CPROVER_input(const char *id, ...);
31void __CPROVER_output(const char *id, ...);
32void __CPROVER_cover(__CPROVER_bool condition);
33
34// concurrency-related
37void __CPROVER_fence(const char *kind, ...);
38
39// contract-related functions
40__CPROVER_bool __CPROVER_is_fresh(const void *mem, __CPROVER_size_t size);
41void __CPROVER_old(const void *);
42void __CPROVER_loop_entry(const void *);
43
44// pointers
45__CPROVER_size_t __CPROVER_POINTER_OBJECT(const void *);
47__CPROVER_size_t __CPROVER_OBJECT_SIZE(const void *);
48__CPROVER_bool __CPROVER_DYNAMIC_OBJECT(const void *);
49void __CPROVER_allocated_memory(__CPROVER_size_t address, __CPROVER_size_t extent);
50
51// float stuff
52int __CPROVER_fpclassify(int, int, int, int, int, ...);
53__CPROVER_bool __CPROVER_isnanf(float f);
54__CPROVER_bool __CPROVER_isnand(double f);
55__CPROVER_bool __CPROVER_isnanld(long double f);
56__CPROVER_bool __CPROVER_isfinitef(float f);
57__CPROVER_bool __CPROVER_isfinited(double f);
58__CPROVER_bool __CPROVER_isfiniteld(long double f);
59__CPROVER_bool __CPROVER_isinff(float f);
60__CPROVER_bool __CPROVER_isinfd(double f);
61__CPROVER_bool __CPROVER_isinfld(long double f);
62__CPROVER_bool __CPROVER_isnormalf(float f);
63__CPROVER_bool __CPROVER_isnormald(double f);
64__CPROVER_bool __CPROVER_isnormalld(long double f);
65__CPROVER_bool __CPROVER_signf(float f);
66__CPROVER_bool __CPROVER_signd(double f);
67__CPROVER_bool __CPROVER_signld(long double f);
68double __CPROVER_inf(void);
69float __CPROVER_inff(void);
70long double __CPROVER_infl(void);
71int __CPROVER_isgreaterf(float f, float g);
72int __CPROVER_isgreaterd(double f, double g);
73int __CPROVER_isgreaterequalf(float f, float g);
74int __CPROVER_isgreaterequald(double f, double g);
75int __CPROVER_islessf(float f, float g);
76int __CPROVER_islessd(double f, double g);
77int __CPROVER_islessequalf(float f, float g);
78int __CPROVER_islessequald(double f, double g);
79int __CPROVER_islessgreaterf(float f, float g);
80int __CPROVER_islessgreaterd(double f, double g);
81int __CPROVER_isunorderedf(float f, float g);
82int __CPROVER_isunorderedd(double f, double g);
83
84// absolute value
85int __CPROVER_abs(int x);
86long int __CPROVER_labs(long int x);
87long long int __CPROVER_llabs(long long int x);
88double __CPROVER_fabs(double x);
89long double __CPROVER_fabsl(long double x);
90float __CPROVER_fabsf(float x);
91
92// modulo and remainder
93double __CPROVER_fmod(double, double);
94float __CPROVER_fmodf(float, float);
95long double __CPROVER_fmodl(long double, long double);
96double __CPROVER_remainder(double, double);
97float __CPROVER_remainderf(float, float);
98long double __CPROVER_remainderl(long double, long double);
99
100// arrays
101__CPROVER_bool __CPROVER_array_equal(const void *array1, const void *array2);
102// overwrite all of *dest (possibly using nondet values), even
103// if *src is smaller
104void __CPROVER_array_copy(const void *dest, const void *src);
105// replace at most size-of-*src bytes in *dest
106void __CPROVER_array_replace(const void *dest, const void *src);
107void __CPROVER_array_set(const void *dest, ...);
108
109// k-induction
110void __CPROVER_k_induction_hint(unsigned min, unsigned max,
111 unsigned step, unsigned loop_free);
112
113// format string-related
114int __CPROVER_scanf(const char *, ...);
115
116// detect overflow
118__CPROVER_bool __CPROVER_overflow_mult();
119__CPROVER_bool __CPROVER_overflow_plus();
120__CPROVER_bool __CPROVER_overflow_shl();
122
123// enumerations
125// clang-format on
signed long long __CPROVER_ssize_t
Definition: cprover.h:19
__CPROVER_size_t __CPROVER_buffer_size(const void *)
__CPROVER_bool __CPROVER_enum_is_in_range()
double __CPROVER_fabs(double x)
__CPROVER_bool __CPROVER_isnormalld(long double f)
void __CPROVER_printf(const char *format,...)
void __CPROVER_old(const void *)
float __CPROVER_fmodf(float, float)
__CPROVER_bool __CPROVER_array_equal(const void *array1, const void *array2)
__CPROVER_bool __CPROVER_isnormald(double f)
__CPROVER_bool __CPROVER_signf(float f)
void __CPROVER_loop_entry(const void *)
__CPROVER_bool __CPROVER_isfinitef(float f)
void __CPROVER_atomic_end()
__CPROVER_bool __CPROVER_isnanf(float f)
__CPROVER_bool __CPROVER_overflow_mult()
float __CPROVER_fabsf(float x)
__CPROVER_bool __CPROVER_isinfld(long double f)
__CPROVER_size_t __CPROVER_OBJECT_SIZE(const void *)
void __VERIFIER_assume(__CPROVER_bool assumption)
int __CPROVER_islessf(float f, float g)
long double __CPROVER_infl(void)
long double __CPROVER_fabsl(long double x)
int __CPROVER_isgreaterd(double f, double g)
long double __CPROVER_remainderl(long double, long double)
void __CPROVER_clear_must(const void *, const char *)
void __CPROVER_cover(__CPROVER_bool condition)
int __CPROVER_scanf(const char *,...)
void __CPROVER_assert(__CPROVER_bool assertion, const char *description)
__CPROVER_bool __CPROVER_rw_ok()
int __CPROVER_isgreaterequalf(float f, float g)
__CPROVER_bool __CPROVER_overflow_unary_minus()
void __CPROVER_allocated_memory(__CPROVER_size_t address, __CPROVER_size_t extent)
__CPROVER_bool __CPROVER_isfinited(double f)
__CPROVER_bool __CPROVER_r_ok()
void __CPROVER_array_replace(const void *dest, const void *src)
long int __CPROVER_labs(long int x)
__CPROVER_bool __CPROVER_isinff(float f)
__CPROVER_bool __CPROVER_is_invalid_pointer(const void *)
void __CPROVER_atomic_begin()
void __CPROVER_havoc_slice(void *, __CPROVER_size_t)
int __CPROVER_isunorderedd(double f, double g)
void __CPROVER_array_set(const void *dest,...)
int __CPROVER_islessgreaterd(double f, double g)
void __CPROVER_fence(const char *kind,...)
int __CPROVER_islessgreaterf(float f, float g)
__CPROVER_size_t __CPROVER_POINTER_OBJECT(const void *)
__CPROVER_size_t __CPROVER_zero_string_length(const void *)
int __CPROVER_isgreaterequald(double f, double g)
int __CPROVER_islessd(double f, double g)
__CPROVER_bool __CPROVER_equal()
int __CPROVER_isgreaterf(float f, float g)
__CPROVER_bool __CPROVER_get_must(const void *, const char *)
void __CPROVER_input(const char *id,...)
int __CPROVER_islessequald(double f, double g)
float __CPROVER_inff(void)
void __CPROVER_set_may(const void *, const char *)
__CPROVER_bool __CPROVER_w_ok()
int __CPROVER_abs(int x)
void __CPROVER_precondition(__CPROVER_bool precondition, const char *description)
void __CPROVER_output(const char *id,...)
int __CPROVER_islessequalf(float f, float g)
__CPROVER_bool __CPROVER_get_flag(const void *, const char *)
long long int __CPROVER_llabs(long long int x)
__CPROVER_bool __CPROVER_isinfd(double f)
void __CPROVER_clear_may(const void *, const char *)
__CPROVER_bool __CPROVER_get_may(const void *, const char *)
__CPROVER_bool __CPROVER_isnanld(long double f)
__CPROVER_bool __CPROVER_isfiniteld(long double f)
__CPROVER_bool __CPROVER_same_object(const void *, const void *)
_Bool __CPROVER_is_zero_string(const void *)
__CPROVER_bool __CPROVER_overflow_plus()
long double __CPROVER_fmodl(long double, long double)
double __CPROVER_remainder(double, double)
float __CPROVER_remainderf(float, float)
void __CPROVER_set_must(const void *, const char *)
__CPROVER_bool __CPROVER_is_fresh(const void *mem, __CPROVER_size_t size)
__CPROVER_bool __CPROVER_isnormalf(float f)
double __CPROVER_fmod(double, double)
__CPROVER_bool __CPROVER_DYNAMIC_OBJECT(const void *)
__CPROVER_bool __CPROVER_overflow_minus()
double __CPROVER_inf(void)
int __CPROVER_fpclassify(int, int, int, int, int,...)
void __CPROVER_cleanup(const void *, const void *)
void __CPROVER_assume(__CPROVER_bool assumption)
__CPROVER_bool __CPROVER_signld(long double f)
void __CPROVER_array_copy(const void *dest, const void *src)
__CPROVER_bool __CPROVER_isnand(double f)
void __CPROVER_k_induction_hint(unsigned min, unsigned max, unsigned step, unsigned loop_free)
__CPROVER_bool __CPROVER_overflow_shl()
int __CPROVER_isunorderedf(float f, float g)
__CPROVER_ssize_t __CPROVER_POINTER_OFFSET(const void *)
void __CPROVER_postcondition(__CPROVER_bool assertion, const char *description)
void __CPROVER_havoc_object(void *)
__CPROVER_bool __CPROVER_signd(double f)
static format_containert< T > format(const T &o)
Definition: format.h:37
void precondition(const namespacet &ns, value_setst &value_sets, const goto_programt::const_targett target, const symex_target_equationt &equation, const goto_symex_statet &s, exprt &dest)