defpred S1[ object ] means ex a being object st
( a in X . s & $1 = root-tree [a,s] );
set D = DTConOSA X;
set PTA = ParsedTermsOSA X;
set SO = the Sorts of (ParsedTermsOSA X);
consider A being set such that
A1:
for x being object holds
( x in A iff ( x in the Sorts of (ParsedTermsOSA X) . s & S1[x] ) )
from XBOOLE_0:sch 1();
A c= the Sorts of (ParsedTermsOSA X) . s
by A1;
then reconsider A = A as Subset of ( the Sorts of (ParsedTermsOSA X) . s) ;
for x being object holds
( x in A iff S1[x] )
proof
dom (coprod X) = the
carrier of
S
by PARTFUN1:def 2;
then
(coprod X) . s in rng (coprod X)
by FUNCT_1:def 3;
then A2:
coprod (
s,
X)
in rng (coprod X)
by MSAFREE:def 3;
A3:
Terminals (DTConOSA X) = Union (coprod X)
by Th3;
set A1 =
{ aa where aa is Element of TS (DTConOSA X) : ( ex s1 being Element of S ex x being object st
( s1 <= s & x in X . s1 & aa = root-tree [x,s1] ) or ex o1 being OperSymbol of S st
( [o1, the carrier of S] = aa . {} & the_result_sort_of o1 <= s ) ) } ;
let x be
object ;
( x in A iff S1[x] )
thus
(
x in A implies
S1[
x] )
by A1;
( S1[x] implies x in A )
assume A4:
S1[
x]
;
x in A
then consider a being
set such that A5:
a in X . s
and A6:
x = root-tree [a,s]
;
A7:
(ParsedTerms X) . s = ParsedTerms (
X,
s)
by Def8;
set sa =
[a,s];
[a,s] in coprod (
s,
X)
by A5, MSAFREE:def 2;
then
[a,s] in union (rng (coprod X))
by A2, TARSKI:def 4;
then A8:
[a,s] in Terminals (DTConOSA X)
by A3, CARD_3:def 4;
then reconsider sa =
[a,s] as
Symbol of
(DTConOSA X) ;
reconsider b =
root-tree sa as
Element of
TS (DTConOSA X) by A8, DTCONSTR:def 1;
b in { aa where aa is Element of TS (DTConOSA X) : ( ex s1 being Element of S ex x being object st
( s1 <= s & x in X . s1 & aa = root-tree [x,s1] ) or ex o1 being OperSymbol of S st
( [o1, the carrier of S] = aa . {} & the_result_sort_of o1 <= s ) ) }
by A5;
hence
x in A
by A1, A4, A6, A7;
verum
end;
hence
ex b1 being Subset of ( the Sorts of (ParsedTermsOSA X) . s) st
for x being object holds
( x in b1 iff ex a being object st
( a in X . s & x = root-tree [a,s] ) )
; verum