reserve
  S for (4,1) integer bool-correct non empty non void BoolSignature,
  X for non-empty ManySortedSet of the carrier of S,
  T for vf-free integer all_vars_including inheriting_operations free_in_itself
  (X,S)-terms VarMSAlgebra over S,
  C for (4,1) integer bool-correct non-empty image of T,
  G for basic GeneratorSystem over S,X,T,
  A for IfWhileAlgebra of the generators of G,
  I for integer SortSymbol of S,
  x,y,z,m for pure (Element of (the generators of G).I),
  b for pure (Element of (the generators of G).the bool-sort of S),
  t,t1,t2 for Element of T,I,
  P for Algorithm of A,
  s,s1,s2 for Element of C-States(the generators of G);
reserve
  f for ExecutionFunction of A, C-States(the generators of G),
  (\falseC)-States(the generators of G, b);
reserve u for ManySortedFunction of FreeGen T, the Sorts of C;
reserve
  S for 1-1-connectives (4,1) integer (11,1,1)-array 11 array-correct
  bool-correct non empty non void BoolSignature,
  X for non-empty ManySortedSet of the carrier of S,
  T for vf-free all_vars_including inheriting_operations free_in_itself
  (X,S)-terms integer-array non-empty VarMSAlgebra over S,
  C for (11,1,1)-array (4,1) integer bool-correct non-empty image of T,
  G for basic GeneratorSystem over S,X,T,
  A for IfWhileAlgebra of the generators of G,
  I for integer SortSymbol of S,
  x,y,m,i for pure (Element of (the generators of G).I),
  M,N for pure (Element of (the generators of G).the_array_sort_of S),
  b for pure (Element of (the generators of G).the bool-sort of S),
  s,s1 for (Element of C-States(the generators of G));
reserve u for ManySortedFunction of FreeGen T, the Sorts of C;

theorem Th90:
  for i being Integer holds ^(i,T,I) value_at(C,s) = i
  proof
    let i be Integer;
    defpred P[Nat] means ^($1,T,I) value_at(C,s) = $1;
    ^(0,T,I) = \0(T,I) by Th87;
    then
A1: P[0] by Th36;
A2: now let i be Nat;
      assume
A3:   P[i];
A4:   \1(T,I) value_at(C,s) = 1 by Th37;
      ^(i+1,T,I) = ^(i,T,I)+\1(T,I) by Th88;
      then ^(i+1,T,I) value_at(C,s)
      = (^(i,T,I) value_at(C,s))+(\1(T,I) value_at(C,s)) by Th39
      .= (^(i,T,I) value_at(C,s))+1 by A4,AOFA_A00:55;
      hence P[i+1] by A3;
    end;
A5: for i being Nat holds P[i] from NAT_1:sch 2(A1,A2);
    i in INT by INT_1:def 2;
    then consider n being Nat such that
A6: i = n or i = -n by INT_1:def 1;
    per cases by A6;
    suppose i = n or i = -n & n = 0;
      hence thesis by A5;
    end;
    suppose
A7:   i = -n & n <> 0;
      then consider m being Nat such that
A8:   n = m+1 by NAT_1:6;
      \1(T,I) value_at(C,s) = 1 & ^(m,T,I) value_at(C,s) = m by A5,Th37;
      then
A9:   (^(m,T,I) value_at(C,s))+(\1(T,I) value_at(C,s)) = m+1 by AOFA_A00:55;
      ^(i,T,I) = - ^(m+1,T,I) by A7,A8,Th88;
      hence ^(i,T,I) value_at(C,s)
      = -(^(m+1,T,I) value_at(C,s)) by Th38
      .= -((^(m,T,I)+\1(T,I)) value_at(C,s)) by Th88
      .= -((^(m,T,I) value_at(C,s))+(\1(T,I) value_at(C,s))) by Th39
      .= i by A7,A8,A9,AOFA_A00:55;
    end;
  end;
