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 A being free ECIW-strict preIfWhileAlgebra
  for f1,f2 being ExecutionFunction of A, S, T
  st f1|[:S, ElementaryInstructions A:] = f2|[:S, ElementaryInstructions A:]
  holds TerminatingPrograms(A,S,T,f1) = TerminatingPrograms(A,S,T,f2)
proof
  let A be free ECIW-strict preIfWhileAlgebra;
  let f1,f2 be ExecutionFunction of A, S, T;
  assume
A1: f1|[:S, ElementaryInstructions A:] = f2|[:S, ElementaryInstructions A:];
  set TP1 = TerminatingPrograms(A,S,T,f1);
  set TP2 = TerminatingPrograms(A,S,T,f2);
  thus TP1 c= TP2
  proof
    let q,I be object;
    assume
A2: [q,I] in TP1;
    then
A3: q is Element of S by ZFMISC_1:87;
    I is Element of A by A2,ZFMISC_1:87;
    hence thesis by A1,A2,A3,Lm3;
  end;
  let q,I be object;
  assume
A4: [q,I] in TP2;
  then
A5: q is Element of S by ZFMISC_1:87;
  I is Element of A by A4,ZFMISC_1:87;
  hence thesis by A1,A4,A5,Lm3;
end;
