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 Th56:
  for X being disjoint_with_NAT non empty set
  for I being Element of FreeUnivAlgNSG(ECIW-signature,X) holds
  (ex x being Element of X st I = root-tree x) or
  ex n being Nat, p being FinSequence of FreeUnivAlgNSG(ECIW-signature,X)
  st n in Seg 4 & I = n-tree p & len p = ECIW-signature.n
proof
  let X be disjoint_with_NAT non empty set;
  set S = ECIW-signature;
  set G = DTConUA(S,X);
  let I be Element of FreeUnivAlgNSG(S,X) such that
A1: not ex x being Element of X st I = root-tree x;
  Terminals DTConUA(S,X) = X by FREEALG:3;
  then not ex d being Symbol of G st d in Terminals G & I = root-tree d by A1;
  then consider o being Symbol of G, p being FinSequence of TS G such that
A2: o ==> roots p and
A3: I = o-tree p by Th16;
A4: NonTerminals G = {s where s is Symbol of G:
  ex n being FinSequence st s ==> n} by LANG1:def 3;
  then
A5: o in NonTerminals G by A2;
A6: NonTerminals G = Seg 4 by Th54,FREEALG:2;
  then reconsider n = o as Element of NAT by A5;
  reconsider p as FinSequence of FreeUnivAlgNSG(ECIW-signature,X);
  take n, p;
  thus n in Seg 4 by A2,A4,A6;
  thus I = n-tree p by A3;
A7: [n, roots p] in the Rules of G by A2,LANG1:def 1;
  then
A8: roots p in (the carrier of G)* by ZFMISC_1:87;
  dom p = dom roots p by TREES_3:def 18;
  hence len p = card dom roots p by CARD_1:62
    .= len roots p by CARD_1:62
    .= S.n by A7,A8,FREEALG:def 7;
end;
