#pragma CIVL ACSL
$input int N;
$assume(0 < N);
int a[N];

int main() {

  int x = 0;
  /*@ loop invariant x == i;
    @ loop assigns a[0..N-1],x;
    @ focus F+{-1..1} | a[F-1..F+1];
    @*/
  for (int i = 0; i < N; i++) {
    a[i] = i + x;
    x = x+1;
  }
  
  //@ focus F;
  $assert($forall(int i:1..N-2) a[i-1] == 2*(i-1) && a[i] == 2*i && a[i+1] == 2*(i+1));
}
