reserve i for Nat,
  j for Element of NAT,
  X,Y,x,y,z for set;
reserve C for initialized ConstructorSignature,
  s for SortSymbol of C,
  o for OperSymbol of C,
  c for constructor OperSymbol of C;
reserve a,b for expression of C, an_Adj C;
reserve t, t1,t2 for expression of C, a_Type C;
reserve p for FinSequence of QuasiTerms C;
reserve e for expression of C;

theorem Th57:
  e.{} = [non_op, the carrier of C] implies ex a st e = (non_op C)term a
proof
  assume
A1: e.{} = [non_op, the carrier of C];
  non_op C in the carrier' of C;
  then
A2: e.{} in [:the carrier' of C, {the carrier of C}:] by A1,ZFMISC_1:106;
  per cases by Th53;
  suppose
    ex x being variable st e = x-term C;
    hence thesis by A2,Def27;
  end;
  suppose
    ex c,p st len p = len the_arity_of c & e = c-trm p;
    then consider c being constructor OperSymbol of C,
    p being FinSequence of QuasiTerms C such that
A3: len p = len the_arity_of c and
A4: e = c-trm p;
    e = [c, the carrier of C]-tree p by A3,A4,Def35;
    then e.{} = [c, the carrier of C] by TREES_4:def 4;
    then non_op = c by A1,XTUPLE_0:1;
    hence thesis by Def11;
  end;
  suppose
    ex a st e = (non_op C)term a;
    hence thesis;
  end;
  suppose
    ex a,t st e = (ast C)term(a,t);
    then consider a,t such that
A5: e = (ast C)term(a,t);
    e = [ *, the carrier of C]-tree <*a,t*> by A5,Th46;
    then e.{} = [ *, the carrier of C] by TREES_4:def 4;
    hence thesis by A1,XTUPLE_0:1;
  end;
end;
