reserve A for preIfWhileAlgebra;
reserve A for Euclidean preIfWhileAlgebra;
reserve X for non empty countable set;
reserve T for Subset of Funcs(X, INT);
reserve f for Euclidean ExecutionFunction of A, Funcs(X, INT), T;
reserve A for Euclidean preIfWhileAlgebra,
  X for non empty countable set,
   z for (Element of X),
  s,s9 for (Element of Funcs(X, INT)),
  T for Subset of Funcs(X, INT),
  f for Euclidean ExecutionFunction of A, Funcs(X, INT), T,
  v for INT-Variable of A,f,
  t for INT-Expression of A,f;
reserve i for Integer;

theorem Th24:
  f.(s, v:=t).(v.s) = t.s & for z st z <> v.s holds f.(s, v:=t).z = s.z
proof
  set Y = {I where I is Element of A: I in ElementaryInstructions A & for s
  being Element of Funcs(X, INT) holds f.(s,I) = s+*(v.s,t.s)};
  v,t form_assignment_wrt f by Def22;
  then consider I0 being Element of A such that
A1: I0 in ElementaryInstructions A and
A2: for s being Element of Funcs(X, INT) holds f.(s,I0) = s+*(v.s,t.s);
  I0 in Y by A1,A2;
  then v:=t in Y;
  then
  ex I being Element of A st v:=t = I & I in ElementaryInstructions A &
  for s being Element of Funcs(X, INT) holds f.(s,I) = s+*(v.s,t.s);
  then
A3: f.(s, v:=t) = s+*(v.s,t.s);
  dom s = X by FUNCT_2:def 1;
  hence thesis by A3,FUNCT_7:31,32;
end;
