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;
reserve a,a9 for expression of C, an_Adj C;
reserve q for pure expression of C, a_Type C,
  A for finite Subset of QuasiAdjs C;
reserve T for quasi-type of C;

theorem Th122:
  for t being set holds t in Terminals DTConMSA MSVars C iff
  ex x being variable st t = [x,a_Term C]
proof
  let t be set;
  set X = MSVars C;
A1: Terminals DTConMSA X = Union coprod X by Th120;
A2: dom X = the carrier of C by PARTFUN1:def 2;
A3: the carrier of C = {a_Type, an_Adj, a_Term} by Def9;
A4: X.a_Type = {} by Def25;
A5: X.an_Adj = {} by Def25;
A6: X.a_Term = Vars by Def25;
  hereby
    assume
A7: t in Terminals DTConMSA X;
    then
A8: t`2 in dom X by A1,CARD_3:22;
A9: t`1 in X.t`2 by A1,A7,CARD_3:22;
A10: t`2 = a_Type or t`2 = an_Adj or t`2 = a_Term by A3,A8,ENUMSET1:def 1;
    reconsider x = t`1 as variable by A3,A4,A5,A6,A8,A9,ENUMSET1:def 1;
    take x;
    thus t = [x,a_Term C] by A1,A4,A5,A7,A10,CARD_3:22;
  end;
  given x being variable such that
A11: t = [x,a_Term C];
A12: t`1 = x by A11;
  t`2 = a_Term by A11;
  hence thesis by A1,A2,A6,A11,A12,CARD_3:22;
end;
