reserve
  a,b for object, I,J for set, f for Function, R for Relation,
  i,j,n for Nat, m for (Element of NAT),
  S for non empty non void ManySortedSign,
  s,s1,s2 for SortSymbol of S,
  o for OperSymbol of S,
  X for non-empty ManySortedSet of the carrier of S,
  x,x1,x2 for (Element of X.s), x11 for (Element of X.s1),
  T for all_vars_including inheriting_operations free_in_itself
  (X,S)-terms MSAlgebra over S,
  g for Translation of Free(S,X),s1,s2,
  h for Endomorphism of Free(S,X);
reserve
  r,r1,r2 for (Element of T),
  t,t1,t2 for (Element of Free(S,X));
reserve
  Y for infinite-yielding ManySortedSet of the carrier of S,
  y,y1 for (Element of Y.s), y11 for (Element of Y.s1),
  Q for all_vars_including inheriting_operations free_in_itself
  (Y,S)-terms MSAlgebra over S,
  q,q1 for (Element of Args(o,Free(S,Y))),
  u,u1,u2 for (Element of Q),
  v,v1,v2 for (Element of Free(S,Y)),
  Z for non-trivial ManySortedSet of the carrier of S,
  z,z1 for (Element of Z.s),
  l,l1 for (Element of Free(S,Z)),
  R for all_vars_including inheriting_operations free_in_itself
  (Z,S)-terms MSAlgebra over S,
  k,k1 for Element of Args(o,Free(S,Z));
reserve c,c1,c2 for set, d,d1 for DecoratedTree;
reserve
  w for (Element of Args(o,T)),
  p,p1 for Element of Args(o,Free(S,X));

theorem Th22:
  deg t <> 0 iff ex o,p st t = o-term p
  proof
    defpred P[Element of Free(S,X)] means
    deg $1 <> 0 iff ex o,p st $1 = o-term p;
A1: P[x-term] by Th21;
A2: now
      let o,p; assume for t st t in rng p holds P[t];
      [o,the carrier of S] in [:the carrier' of S, {the carrier of S}:] &
      {} in dom (o-term p) & (o-term p).{} = [o,the carrier of S]
      by TREES_1:22,ZFMISC_1:106,TREES_4:def 4;
      then {} in (o-term p)"[:the carrier' of S, {the carrier of S}:]
      by FUNCT_1:def 7;
      then {{}} c= (o-term p)"[:the carrier' of S, {the carrier of S}:];
      then 1 = card{{}} = Segm card{{}} c= Segm deg (o-term p) by CARD_1:11,30;
      hence P[o-term p];
    end;
    thus P[t] from TermInd(A1,A2);
  end;
