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 Th115:
  for D1,D2 being non empty DTConstrStr st the Rules of D1 c= the Rules of D2
  holds NonTerminals D1 c= NonTerminals D2 &
  (the carrier of D1) /\ Terminals D2 c= Terminals D1 &
  (Terminals D1 c= Terminals D2 implies the carrier of D1 c= the carrier of D2)
proof
  let D1,D2 be non empty DTConstrStr such that
A1: the Rules of D1 c= the Rules of D2;
  thus
A2: NonTerminals D1 c= NonTerminals D2
  proof
    let x be object;
    assume x in NonTerminals D1;
    then ex s being Symbol of D1 st x = s & ex n being FinSequence st s ==> n;
    then consider s being Symbol of D1, n being FinSequence such that
A3: x = s and
A4: s ==> n;
A5: [s,n] in the Rules of D1 by A4;
    then [s,n] in the Rules of D2 by A1;
    then reconsider s9 = s as Symbol of D2 by ZFMISC_1:87;
    s9 ==> n by A1,A5;
    hence thesis by A3;
  end;
  hereby
    let x be object;
    assume
A6: x in (the carrier of D1) /\ Terminals D2;
    then
A7: x in Terminals D2 by XBOOLE_0:def 4;
    reconsider s9 = x as Symbol of D1 by A6,XBOOLE_0:def 4;
    reconsider s = x as Symbol of D2 by A6;
    assume not x in Terminals D1;
    then consider n being FinSequence such that
A8: s9 ==> n;
    [s9,n] in the Rules of D1 by A8;
    then s ==> n by A1;
    then not ex s being Symbol of D2 st x = s &
    not ex n being FinSequence st s ==> n;
    hence contradiction by A7;
  end;
  assume Terminals D1 c= Terminals D2;
  then Terminals D1 \/ NonTerminals D1 c= Terminals D2 \/ NonTerminals D2
  by A2,XBOOLE_1:13;
  then Terminals D1 \/ NonTerminals D1 c= the carrier of D2 by LANG1:1;
  hence thesis by LANG1:1;
end;
