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 ; :: thesis: ( H is_homomorphism F2(),F3() & F5() -hash = H ** (F4() -hash ) )
thus H is_homomorphism F2(),F3() by A3; :: thesis: 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; :: thesis: verum