reserve A for preIfWhileAlgebra;

theorem Th21:
  for X being non empty countable set for T being Subset of Funcs(
  X, INT) for c being Enumeration of X for f being INT-Exec of c,T for t being
INT-Expression of X holds t is INT-Expression of FreeUnivAlgNSG(ECIW-signature,
  INT-ElemIns), f
proof
  set S = ECIW-signature, G = INT-ElemIns;
  let X be non empty countable set;
  let T be Subset of Funcs(X, INT);
  let c be Enumeration of X;
  set A = FreeUnivAlgNSG(S,G);
  let f be INT-Exec of c,T;
  set v = the INT-Variable of X;
  let t be INT-Expression of X;
A1: ElementaryInstructions A = FreeGenSetNSG(S,G) by AOFA_000:70;
A2: rng c c= NAT by Th11;
  dom c = X by Th6;
  then reconsider c9 = c as Function of X,NAT by A2,FUNCT_2:2;
  reconsider cv = c9*v as Element of Funcs(Funcs(X,INT),NAT) by FUNCT_2:8;
  reconsider v9 = v as Element of Funcs(Funcs(X,INT),X) by FUNCT_2:8;
  reconsider t9 = t as Element of Funcs(Funcs(X,INT),INT) by FUNCT_2:8;
A3: Terminals DTConUA(S,G) = G by FREEALG:3;
  set v1 = cv**(c9,NAT), t1 = t9**(c9,NAT);
A4: [v1,t1] in G by ZFMISC_1:87;
  then root-tree [v1,t1] in ElementaryInstructions A by A1,A3;
  then reconsider I = root-tree [v1,t1] as Element of A;
  hereby
    take I;
    thus I is_assignment_wrt A,X,f
    proof
      thus I in ElementaryInstructions A by A1,A3,A4;
      take v,t;
      for s being Element of Funcs(X, INT) holds f.(s, root-tree [(c*v9)**
      (c,NAT),t9**(c,NAT)]) = s+*(v9.s,t9.s) by A2,Def28;
      hence thesis;
    end;
  end;
  take v;
  thus thesis by Th19;
end;
