int main() { __CPROVER_string s; char c1, c2; int i; int j; i = 2; s = __CPROVER_string_literal("pippo"); c1 = __CPROVER_char_at(s, i); c2 = 'p'; assert (c1 == c2); assert (c1 != c2); return 0; }
int main() { __CPROVER_string s, s2, s3; int i; s = __CPROVER_string_concat(s2, s3); __CPROVER_assume(__CPROVER_string_length(s2) == i); __CPROVER_assume( __CPROVER_string_equal(s3, __CPROVER_string_literal("pippo"))); assert(__CPROVER_string_length(s) == i + 5); assert(__CPROVER_string_issuffix(__CPROVER_string_literal("po"),s)); assert(__CPROVER_char_at(s, i) == __CPROVER_char_literal("p")); assert(__CPROVER_string_issuffix(__CPROVER_string_literal("p!o"), s)); return 0; }
int main() { __CPROVER_string s, s2, s3; int i; s = __CPROVER_string_concat(s2, s3); __CPROVER_assume(i < 10); __CPROVER_assume(__CPROVER_string_length(s2) == i); __CPROVER_assume( __CPROVER_string_equal(s3, __CPROVER_string_literal("pippo"))); // proving the assertions individually seems to be much faster //assert(__CPROVER_string_length(s) == i + 5); //assert(__CPROVER_string_issuffix(__CPROVER_string_literal("po"), s)); assert(__CPROVER_char_at(s, i) == __CPROVER_char_literal("p")); return 0; }