let o be OperSymbol of C; ABCMIZ_1:def 57 for p, q being FinSequence of (Free C,(MSVars C)) st [o,the carrier of C] -tree p in Union the Sorts of (Free C,(MSVars C)) & q = (f # ) * p holds
(f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree q
let p, q be FinSequence of (Free C,(MSVars C)); ( [o,the carrier of C] -tree p in Union the Sorts of (Free C,(MSVars C)) & q = (f # ) * p implies (f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree q )
assume that
A1:
[o,the carrier of C] -tree p in Union the Sorts of (Free C,(MSVars C))
and
A2:
q = (f # ) * p
; (f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree q
A3:
dom (f # ) = Union the Sorts of (Free C,(MSVars C))
by FUNCT_2:def 1;
reconsider t = [o,the carrier of C] -tree p as expression of C by A1;
A4:
t . {} = [o,the carrier of C]
by TREES_4:def 4;
set V = (MSVars C) \/ (the carrier of C --> {0 });
per cases
( o is constructor or o = * or o = non_op )
by Def11;
suppose A8:
o = *
;
(f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree qthen consider a being
expression of
C,
an_Adj C,
s being
expression of
C,
a_Type C such that A9:
t = (ast C) term a,
s
by A4, Th58;
a in the
Sorts of
(Free C,(MSVars C)) . (an_Adj C)
by Def28;
then
(f # ) . a in the
Sorts of
(Free C,(MSVars C)) . (an_Adj C)
by Th129;
then reconsider fa =
(f # ) . a as
expression of
C,
an_Adj C by Th41;
s in the
Sorts of
(Free C,(MSVars C)) . (a_Type C)
by Def28;
then
(f # ) . s in the
Sorts of
(Free C,(MSVars C)) . (a_Type C)
by Th129;
then reconsider fs =
(f # ) . s as
expression of
C,
a_Type C by Th41;
t = [(ast C),the carrier of C] -tree <*a,s*>
by A9, Th46;
then
p = <*a,s*>
by TREES_4:15;
then
q = <*fa,fs*>
by A2, A3, FINSEQ_2:145;
then
[o,the carrier of C] -tree q = (ast C) term fa,
fs
by A8, Th46;
hence
(f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree q
by A9, Def60;
verum end; suppose A10:
o = non_op
;
(f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree qthen consider a being
expression of
C,
an_Adj C such that A11:
t = (non_op C) term a
by A4, Th57;
a in the
Sorts of
(Free C,(MSVars C)) . (an_Adj C)
by Def28;
then
(f # ) . a in the
Sorts of
(Free C,(MSVars C)) . (an_Adj C)
by Th129;
then reconsider fa =
(f # ) . a as
expression of
C,
an_Adj C by Th41;
t = [(non_op C),the carrier of C] -tree <*a*>
by A11, Th43;
then
p = <*a*>
by TREES_4:15;
then
q = <*fa*>
by A2, A3, FINSEQ_2:38;
then
[o,the carrier of C] -tree q = (non_op C) term fa
by A10, Th43;
hence
(f # ) . ([o,the carrier of C] -tree p) = [o,the carrier of C] -tree q
by A11, Def60;
verum end; end;