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