let S be OrderSortedSign; :: thesis: for X being V5() ManySortedSet of
for t being Element of TS (DTConOSA X)
for o being OperSymbol of S st t . {} = [o,the carrier of S] holds
( ex p being SubtreeSeq of OSSym o,X st
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p & p in Args o,(ParsedTermsOSA X) & t = (Den o,(ParsedTermsOSA X)) . p ) & ( for s2 being Element of S
for x being set holds t <> root-tree [x,s2] ) & ( for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 ) ) )
let X be V5() ManySortedSet of ; :: thesis: for t being Element of TS (DTConOSA X)
for o being OperSymbol of S st t . {} = [o,the carrier of S] holds
( ex p being SubtreeSeq of OSSym o,X st
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p & p in Args o,(ParsedTermsOSA X) & t = (Den o,(ParsedTermsOSA X)) . p ) & ( for s2 being Element of S
for x being set holds t <> root-tree [x,s2] ) & ( for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 ) ) )
let t be Element of TS (DTConOSA X); :: thesis: for o being OperSymbol of S st t . {} = [o,the carrier of S] holds
( ex p being SubtreeSeq of OSSym o,X st
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p & p in Args o,(ParsedTermsOSA X) & t = (Den o,(ParsedTermsOSA X)) . p ) & ( for s2 being Element of S
for x being set holds t <> root-tree [x,s2] ) & ( for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 ) ) )
let o be OperSymbol of S; :: thesis: ( t . {} = [o,the carrier of S] implies ( ex p being SubtreeSeq of OSSym o,X st
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p & p in Args o,(ParsedTermsOSA X) & t = (Den o,(ParsedTermsOSA X)) . p ) & ( for s2 being Element of S
for x being set holds t <> root-tree [x,s2] ) & ( for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 ) ) ) )
assume A1:
t . {} = [o,the carrier of S]
; :: thesis: ( ex p being SubtreeSeq of OSSym o,X st
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p & p in Args o,(ParsedTermsOSA X) & t = (Den o,(ParsedTermsOSA X)) . p ) & ( for s2 being Element of S
for x being set holds t <> root-tree [x,s2] ) & ( for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 ) ) )
set G = DTConOSA X;
set PTA = ParsedTermsOSA X;
reconsider SPTA = the Sorts of (ParsedTermsOSA X) as OrderSortedSet of ;
consider p being FinSequence of TS (DTConOSA X) such that
A2:
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p )
by A1, DTCONSTR:10;
reconsider p = p as SubtreeSeq of OSSym o,X by A2, DTCONSTR:def 9;
p in (((ParsedTerms X) # ) * the Arity of S) . o
by A2, Th7;
then A3:
p in Args o,(ParsedTermsOSA X)
by MSUALG_1:def 9;
(Den o,(ParsedTermsOSA X)) . p =
(the Charact of (ParsedTermsOSA X) . o) . p
by MSUALG_1:def 11
.=
(PTDenOp o,X) . p
by Def10
.=
t
by A2, Def9
;
hence
ex p being SubtreeSeq of OSSym o,X st
( t = (OSSym o,X) -tree p & OSSym o,X ==> roots p & p in Args o,(ParsedTermsOSA X) & t = (Den o,(ParsedTermsOSA X)) . p )
by A2, A3; :: thesis: ( ( for s2 being Element of S
for x being set holds t <> root-tree [x,s2] ) & ( for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 ) ) )
set s = the_result_sort_of o;
t in { a where a is Element of TS (DTConOSA X) : ( ex s1 being Element of S ex x being set st
( s1 <= the_result_sort_of o & x in X . s1 & a = root-tree [x,s1] ) or ex o being OperSymbol of S st
( [o,the carrier of S] = a . {} & the_result_sort_of o <= the_result_sort_of o ) ) }
by A1;
then A4:
t in SPTA . (the_result_sort_of o)
by Th9;
thus A5:
for s2 being Element of S
for x being set holds t <> root-tree [x,s2]
:: thesis: for s1 being Element of S holds
( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 )
let s1 be Element of S; :: thesis: ( t in the Sorts of (ParsedTermsOSA X) . s1 iff the_result_sort_of o <= s1 )
reconsider s0 = the_result_sort_of o, s11 = s1 as Element of S ;
hereby :: thesis: ( the_result_sort_of o <= s1 implies t in the Sorts of (ParsedTermsOSA X) . s1 )
assume
t in the
Sorts of
(ParsedTermsOSA X) . s1
;
:: thesis: the_result_sort_of o <= s1then
t in { a where a is Element of TS (DTConOSA X) : ( ex s2 being Element of S ex x being set st
( s2 <= s1 & x in X . s2 & a = root-tree [x,s2] ) or ex o being OperSymbol of S st
( [o,the carrier of S] = a . {} & the_result_sort_of o <= s1 ) ) }
by Th9;
then consider a being
Element of
TS (DTConOSA X) such that A6:
a = t
and A7:
( ex
s2 being
Element of
S ex
x being
set st
(
s2 <= s1 &
x in X . s2 &
a = root-tree [x,s2] ) or ex
o being
OperSymbol of
S st
(
[o,the carrier of S] = a . {} &
the_result_sort_of o <= s1 ) )
;
consider o1 being
OperSymbol of
S such that A8:
(
[o1,the carrier of S] = a . {} &
the_result_sort_of o1 <= s1 )
by A5, A6, A7;
thus
the_result_sort_of o <= s1
by A1, A6, A8, ZFMISC_1:33;
:: thesis: verum
end;
assume
the_result_sort_of o <= s1
; :: thesis: t in the Sorts of (ParsedTermsOSA X) . s1
then
SPTA . s0 c= SPTA . s11
by OSALG_1:def 18;
hence
t in the Sorts of (ParsedTermsOSA X) . s1
by A4; :: thesis: verum