reserve A for preIfWhileAlgebra,
  C,I,J for Element of A;
reserve S for non empty set,
  T for Subset of S,
  s for Element of S;
reserve f for ExecutionFunction of A,S,T;

theorem
  for C,I being absolutely-terminating Element of A
  st f iteration_terminates_for I\;C, f.(s,C)
  holds [s, while(C,I)] in TerminatingPrograms(A,S,T,f)
proof
  let C,I be absolutely-terminating Element of A;
  given r being non empty FinSequence of S such that
A1: r.1 = f.(s,C) and
A2: r.len r nin T and
A3: for i being Nat st 1 <= i & i < len r
  holds r.i in T & r.(i+1) = f.(r.i, I\;C);
A4: now
    let i be Nat;
    assume that
A5: 1 <= i and
A6: i < len r;
    thus r.i in T by A3,A5,A6;
    hence [r.i, I\;C] in TerminatingPrograms(A,S,T,f) &
    r.(i+1) = f.(r.i, I\;C) by A3,A5,A6,Def36;
  end;
  [s,C] in TerminatingPrograms(A,S,T,f) by Def36;
  hence thesis by A1,A2,A4,Def35;
end;
