#include #pragma CIVL ACSL $input int N; $assume(N > 10); void arrayZeroes(int (*a)[], int n) { int i; /*@ loop invariant 0 <= i && i <= n; @ loop invariant \forall int t; 0<=t && t a[t][1] == 0 && a[t][5] == 0; @*/ for (i = 0; i < n; i++) { a[i][1] = 0; a[i][5] = 0; } } int main() { int a[N][N]; $havoc(&a); arrayZeroes(a, N); $assert($forall (int i : 0 .. N-1) a[i][1] == 0 && a[i][5] == 0); }