set V = the carrier of F1() --> NAT ;
reconsider Gen = the Sorts of (FreeMSA (the carrier of F1() --> NAT )) as GeneratorSet of FreeMSA (the carrier of F1() --> NAT ) by MSAFREE2:9;
A4:
for C being non-empty MSAlgebra of F1()
for G being ManySortedFunction of the carrier of F1() --> NAT ,the Sorts of C st P1[C] holds
ex H being ManySortedFunction of F2(),C st
( H is_homomorphism F2(),C & H ** F3() = G & ( for K being ManySortedFunction of F2(),C st K is_homomorphism F2(),C & K ** F3() = G holds
H = K ) )
by A1;
A5:
P1[F2()]
by A2;
A6:
for A being non-empty MSAlgebra of F1()
for B being strict non-empty MSSubAlgebra of A st P1[A] holds
P1[B]
by A3;
A7:
F3() .:.: (the carrier of F1() --> NAT ) is V8() GeneratorSet of F2()
from BIRKHOFF:sch 5(A4, A5, A6);
the Sorts of (FreeMSA (the carrier of F1() --> NAT )) is_transformable_to the Sorts of F2()
then
doms (F3() -hash ) = the Sorts of (FreeMSA (the carrier of F1() --> NAT ))
by MSSUBFAM:17;
then A9:
(F3() -hash ) .:.: the Sorts of (FreeMSA (the carrier of F1() --> NAT )) = rngs (F3() -hash )
by EQUATION:14;
A10:
rngs F3() c= rngs (F3() -hash )
by Th1;
F3() .:.: (the carrier of F1() --> NAT ) c= rngs F3()
by EQUATION:13;
then A11:
F3() .:.: (the carrier of F1() --> NAT ) c= (F3() -hash ) .:.: Gen
by A9, A10, PBOOLE:15;
F3() -hash is_homomorphism FreeMSA (the carrier of F1() --> NAT ),F2()
by Def1;
hence
F3() -hash is_epimorphism FreeMSA (the carrier of F1() --> NAT ),F2()
by A7, A11, EQUATION:25; :: thesis: verum