int main( ) { int n = 0; int set[ SIZE ]; // this is trivial int x; int y; for ( x = 0 ; x < n ; x++ ) { for ( y = x + 1 ; y < n ; y++ ) { __VERIFIER_assert( set[ x ] != set[ y ] ); } } // we have an array of values to insert int values[ SIZE ]; // insert them in the array -- note that nothing ensures that values is not containing duplicates! int v; for ( v = 0 ; v < SIZE ; v++ ) { // check if the element exists, if not insert it. if ( !elem_exists( set , n , values[ v ] ) ) { // parametes are passed by reference n = insert( set , n , values[ v ] ); } } // this is not trivial! for ( x = 0 ; x < n ; x++ ) { for ( y = x + 1 ; y < n ; y++ ) { __VERIFIER_assert( set[ x ] != set[ y ] ); } } return 0; }
int main( ) { int i, pos, n = 0, found = 0; int set[ SIZE ]; // set for storing values int values[ SIZE ]; // array of values to be inserted in the array int element; // element to be removed for ( i = 0 ; i < SIZE ; i++ ) { set[i] = __VERIFIER_nondet_int(); values[i] = __VERIFIER_nondet_int(); } element = __VERIFIER_nondet_int(); int v; for ( v = 0 ; v < SIZE ; v++ ) { if ( elem_exists( set , n , values[ v ] ) != 1 ) { // parametes are passed by reference n = insert( set , n , values[ v ] ); } } for (i = 0; i < SIZE && found != 1; i++) { if (set[i] == element) { found = 1; pos = i; } } if ( found == 1 ) { for (i = pos; i < SIZE - 1; i++) { set[i] = set[i + 1]; } } if(found == 1) { for(i=0; i < SIZE - 1; i++) { __VERIFIER_assert(set[i] != element); } } }