reserve A for preIfWhileAlgebra;

theorem Th19:
  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 v being
INT-Variable of X for t being INT-Expression of X holds v,t form_assignment_wrt
  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;
  let v be INT-Variable of X;
  let t be INT-Expression of X;
  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;
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;
  set v1 = cv**(c9,NAT), t1 = t9**(c9,NAT);
A3: Terminals DTConUA(S,G) = G by FREEALG:3;
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;
  take I;
  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 by A1,A3,A4;
end;
