let S be non empty non void ManySortedSign ; :: thesis: for X being V5() ManySortedSet of holds union (rng (FreeSort X)) = TS (DTConMSA X)
let X be V5() ManySortedSet of ; :: thesis: union (rng (FreeSort X)) = TS (DTConMSA X)
set D = DTConMSA X;
A1:
( dom (FreeSort X) = the carrier of S & dom (coprod X) = the carrier of S )
by PARTFUN1:def 4;
thus
union (rng (FreeSort X)) c= TS (DTConMSA X)
:: according to XBOOLE_0:def 10 :: thesis: TS (DTConMSA X) c= union (rng (FreeSort X))
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in TS (DTConMSA X) or x in union (rng (FreeSort X)) )
assume
x in TS (DTConMSA X)
; :: thesis: x in union (rng (FreeSort X))
then reconsider t = x as Element of TS (DTConMSA X) ;
A5:
rng t c= the carrier of (DTConMSA X)
by RELAT_1:def 19;
{} in dom t
by TREES_1:47;
then A6:
t . {} in rng t
by FUNCT_1:def 5;
A7:
the carrier of (DTConMSA X) = (Terminals (DTConMSA X)) \/ (NonTerminals (DTConMSA X))
by LANG1:1;
A8:
( Terminals (DTConMSA X) = Union (coprod X) & NonTerminals (DTConMSA X) = [:the carrier' of S,{the carrier of S}:] )
by Th6;
per cases
( t . {} in Terminals (DTConMSA X) or t . {} in NonTerminals (DTConMSA X) )
by A5, A6, A7, XBOOLE_0:def 3;
suppose A9:
t . {} in Terminals (DTConMSA X)
;
:: thesis: x in union (rng (FreeSort X))then reconsider a =
t . {} as
Terminal of
(DTConMSA X) ;
A10:
t = root-tree a
by DTCONSTR:9;
a in union (rng (coprod X))
by A8, A9, CARD_3:def 4;
then consider A being
set such that A11:
(
a in A &
A in rng (coprod X) )
by TARSKI:def 4;
consider s being
set such that A12:
(
s in dom (coprod X) &
(coprod X) . s = A )
by A11, FUNCT_1:def 5;
reconsider s =
s as
SortSymbol of
S by A12, PARTFUN1:def 4;
A = coprod s,
X
by A12, Def3;
then consider b being
set such that A13:
(
b in X . s &
a = [b,s] )
by A11, Def2;
t in FreeSort X,
s
by A10, A13;
then A14:
t in (FreeSort X) . s
by Def13;
(FreeSort X) . s in rng (FreeSort X)
by A1, FUNCT_1:def 5;
hence
x in union (rng (FreeSort X))
by A14, TARSKI:def 4;
:: thesis: verum end; end;