let S be non empty non void ManySortedSign ; :: thesis: for X being V5 ManySortedSet of the carrier of S
for o being OperSymbol of S
for p being DTree-yielding FinSequence st [o,the carrier of S] -tree p in the Sorts of (FreeMSA X) . (the_result_sort_of o) holds
for i being Nat st i in dom (the_arity_of o) holds
p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i)

let X be V5 ManySortedSet of the carrier of S; :: thesis: for o being OperSymbol of S
for p being DTree-yielding FinSequence st [o,the carrier of S] -tree p in the Sorts of (FreeMSA X) . (the_result_sort_of o) holds
for i being Nat st i in dom (the_arity_of o) holds
p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i)

let o be OperSymbol of S; :: thesis: for p being DTree-yielding FinSequence st [o,the carrier of S] -tree p in the Sorts of (FreeMSA X) . (the_result_sort_of o) holds
for i being Nat st i in dom (the_arity_of o) holds
p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i)

let p be DTree-yielding FinSequence; :: thesis: ( [o,the carrier of S] -tree p in the Sorts of (FreeMSA X) . (the_result_sort_of o) implies for i being Nat st i in dom (the_arity_of o) holds
p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i) )

assume A1: [o,the carrier of S] -tree p in the Sorts of (FreeMSA X) . (the_result_sort_of o) ; :: thesis: for i being Nat st i in dom (the_arity_of o) holds
p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i)

A2: FreeMSA X = MSAlgebra(# (FreeSort X),(FreeOper X) #) by MSAFREE:def 16;
now
let i be Nat; :: thesis: ( i in dom (the_arity_of o) implies p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i) )
assume A3: i in dom (the_arity_of o) ; :: thesis: p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i)
reconsider ao = the_arity_of o as Element of the carrier of S * ;
ao . i in rng ao by A3, FUNCT_1:def 5;
then reconsider s = ao . i as SortSymbol of S ;
( dom p = Seg (len p) & dom (the_arity_of o) = Seg (len (the_arity_of o)) ) by FINSEQ_1:def 3;
then A4: i in dom p by A1, A3, Th13;
set rso = the_result_sort_of o;
[o,the carrier of S] -tree p in FreeSort X,(the_result_sort_of o) by A1, A2, MSAFREE:def 13;
then [o,the carrier of S] -tree p in { a where a is Element of TS (DTConMSA X) : ( ex x being set st
( x in X . (the_result_sort_of o) & a = root-tree [x,(the_result_sort_of o)] ) 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 MSAFREE:def 12;
then consider a being Element of TS (DTConMSA X) such that
A5: a = [o,the carrier of S] -tree p and
( ex x being set st
( x in X . (the_result_sort_of o) & a = root-tree [x,(the_result_sort_of o)] ) or ex o being OperSymbol of S st
( [o,the carrier of S] = a . {} & the_result_sort_of o = the_result_sort_of o ) ) ;
A6: a . {} = [o,the carrier of S] by A5, TREES_4:def 4;
the carrier of S in {the carrier of S} by TARSKI:def 1;
then [o,the carrier of S] in [:the carrier' of S,{the carrier of S}:] by ZFMISC_1:106;
then reconsider nt = [o,the carrier of S] as NonTerminal of (DTConMSA X) by MSAFREE:6;
consider ts being FinSequence of TS (DTConMSA X) such that
A7: a = nt -tree ts and
A8: nt ==> roots ts by A6, DTCONSTR:10;
nt = Sym o,X by MSAFREE:def 11;
then A9: ts in (((FreeSort X) # ) * the Arity of S) . o by A8, MSAFREE:10;
reconsider ts = ts as DTree-yielding FinSequence ;
A10: ts = p by A5, A7, TREES_4:15;
the Sorts of (FreeMSA X) . s = FreeSort X,s by A2, MSAFREE:def 13
.= FreeSort X,((the_arity_of o) /. i) by A3, PARTFUN1:def 8 ;
hence p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i) by A4, A9, A10, MSAFREE:9; :: thesis: verum
end;
hence for i being Nat st i in dom (the_arity_of o) holds
p . i in the Sorts of (FreeMSA X) . ((the_arity_of o) . i) ; :: thesis: verum