consider H being ManySortedFunction of F2(),F3() such that
A3:
H is_homomorphism F2(),F3()
and
A4:
F5() = H ** F4()
by A1, A2;
take
H
; ( H is_homomorphism F2(),F3() & F5() -hash = H ** (F4() -hash ) )
thus
H is_homomorphism F2(),F3()
by A3; F5() -hash = H ** (F4() -hash )
F4() -hash is_homomorphism FreeMSA (the carrier of F1() --> NAT ),F2()
by Def1;
then A5:
H ** (F4() -hash ) is_homomorphism FreeMSA (the carrier of F1() --> NAT ),F3()
by A3, MSUALG_3:10;
reconsider SN = the carrier of F1() --> NAT as V8() ManySortedSet of the carrier of F1() ;
reconsider h1 = F5() as ManySortedFunction of SN,the Sorts of F3() ;
A6:
h1 -hash is_homomorphism FreeMSA SN,F3()
by Def1;
(h1 -hash ) || (FreeGen SN) =
F5() ** (Reverse SN)
by Def1
.=
H ** (F4() ** (Reverse SN))
by A4, PBOOLE:154
.=
H ** ((F4() -hash ) || (FreeGen (the carrier of F1() --> NAT )))
by Def1
.=
(H ** (F4() -hash )) || (FreeGen (the carrier of F1() --> NAT ))
by EXTENS_1:8
;
hence
F5() -hash = H ** (F4() -hash )
by A6, A5, EXTENS_1:18; verum