let C be initialized ConstructorSignature; :: thesis: for t being set holds
( t in NonTerminals (DTConMSA (MSVars C)) iff ( t = [(ast C),the carrier of C] or t = [(non_op C),the carrier of C] or ex c being constructor OperSymbol of C st t = [c,the carrier of C] ) )
let t be set ; :: thesis: ( t in NonTerminals (DTConMSA (MSVars C)) iff ( t = [(ast C),the carrier of C] or t = [(non_op C),the carrier of C] or ex c being constructor OperSymbol of C st t = [c,the carrier of C] ) )
set X = MSVars C;
A0:
NonTerminals (DTConMSA (MSVars C)) = [:the carrier' of C,{the carrier of C}:]
by ThTNT;
hereby :: thesis: ( ( t = [(ast C),the carrier of C] or t = [(non_op C),the carrier of C] or ex c being constructor OperSymbol of C st t = [c,the carrier of C] ) implies t in NonTerminals (DTConMSA (MSVars C)) )
assume
t in NonTerminals (DTConMSA (MSVars C))
;
:: thesis: ( t = [(ast C),the carrier of C] or t = [(non_op C),the carrier of C] or ex c being constructor OperSymbol of C st t = [c,the carrier of C] )then consider a,
b being
set such that A1:
(
a in the
carrier' of
C &
b in {the carrier of C} &
t = [a,b] )
by A0, ZFMISC_1:def 2;
reconsider a =
a as
OperSymbol of
C by A1;
(
b = the
carrier of
C & (
a is
constructor or not
a is
constructor ) )
by A1, TARSKI:def 1;
hence
(
t = [(ast C),the carrier of C] or
t = [(non_op C),the carrier of C] or ex
c being
constructor OperSymbol of
C st
t = [c,the carrier of C] )
by A1, CNSTR2;
:: thesis: verum
end;
the carrier of C in {the carrier of C}
by TARSKI:def 1;
hence
( ( t = [(ast C),the carrier of C] or t = [(non_op C),the carrier of C] or ex c being constructor OperSymbol of C st t = [c,the carrier of C] ) implies t in NonTerminals (DTConMSA (MSVars C)) )
by A0, ZFMISC_1:106; :: thesis: verum