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;

theorem Th70:
  for X being disjoint_with_NAT non empty set
  holds ElementaryInstructions FreeUnivAlgNSG(ECIW-signature,X) =
  FreeGenSetNSG(ECIW-signature,X) &
  card X = card FreeGenSetNSG(ECIW-signature,X)
proof
  let X be disjoint_with_NAT non empty set;
  set S = ECIW-signature;
  set G = DTConUA(S,X);
A1: X = Terminals G by FREEALG:3;
  set A = FreeUnivAlgNSG(S, X);
  thus ElementaryInstructions A = FreeGenSetNSG(S, X)
  proof
    thus ElementaryInstructions A c= FreeGenSetNSG(S, X)
    proof
      let x be object;
      assume x in ElementaryInstructions A;
      then consider y being Element of X such that
A2:   x = y-tree {} by Th68;
      reconsider y as Symbol of G by XBOOLE_0:def 3;
      x = root-tree y by A2,TREES_4:20;
      hence thesis by A1;
    end;
    let x be object;
    assume
A3: x in FreeGenSetNSG(S,X);
    then reconsider I = x as Element of A;
    consider y being Symbol of G such that
A4: x = root-tree y and
A5: y in Terminals G by A3;
A6: x = y-tree {} by A4,TREES_4:20;
    assume
A7: x nin ElementaryInstructions A;
    per cases by A7,Th53;
    suppose I = EmptyIns A;
      then x = 1-tree {} by Th57;
      then
A8:   y = 1 by A6,TREES_4:15;
      X misses NAT by FREEALG:def 1;
      hence thesis by A1,A5,A8,XBOOLE_0:3;
    end;
    suppose ex I1,I2 being Element of A st
      I = I1\;I2 & I1 <> I1\;I2 & I2 <> I1\;I2;
      then consider I1,I2 be Element of A such that
A9:   I = I1\;I2;
      x = 2-tree(I1,I2) by A9,Th59
        .= 2-tree<*I1,I2*>;
      hence thesis by A6,TREES_4:15;
    end;
    suppose ex C,I1,I2 being Element of A st I = if-then-else(C,I1,I2);
      then consider C,I1,I2 be Element of A such that
A10:  I = if-then-else(C,I1,I2);
      x = 3-tree<*C,I1,I2*> by A10,Th63;
      hence thesis by A6,TREES_4:15;
    end;
    suppose ex C,J being Element of A st I = while(C,J);
      then consider C,J be Element of A such that
A11:  I = while(C,J);
      x = 4-tree(C,J) by A11,Th66
        .= 4-tree<*C,J*>;
      hence thesis by A6,TREES_4:15;
    end;
  end;
  deffunc F(object) = root-tree $1;
  consider f being Function such that
  A12: dom
 f = X & for x being Element of X holds f.x = F(x) from FUNCT_1:sch 4;
A13: rng f = FreeGenSetNSG(S,X)
  proof
    thus rng f c= FreeGenSetNSG(S,X)
    proof
      let a be object;
      assume a in rng f;
      then consider x being object such that
A14:  x in X and
A15:  a = f.x by A12,FUNCT_1:def 3;
      a = F(x) by A12,A14,A15;
      hence thesis by A1,A14;
    end;
    let a be object;
    assume a in FreeGenSetNSG(S,X);
    then consider s being Symbol of G such that
A16: a = root-tree s and
A17: s in X by A1;
    reconsider s as Element of X by A17;
    f.s = a by A12,A16;
    hence thesis by A12,FUNCT_1:def 3;
  end;
  f is one-to-one
  proof
    let a,b be object;
    assume that
A18: a in dom f and
A19: b in dom f;
    reconsider x = a, y = b as Element of X by A12,A18,A19;
    assume f.a = f.b;
    then F(x) = f.b by A12
      .= F(y) by A12;
    hence thesis by TREES_4:4;
  end;
  then X, FreeGenSetNSG(S,X) are_equipotent by A12,A13,WELLORD2:def 4;
  hence thesis by CARD_1:5;
end;
