let S be non empty non void ManySortedSign ; :: thesis: for U1, U2 being non-empty MSAlgebra over S

for F being ManySortedFunction of U1,U2 st F is_homomorphism U1,U2 holds

ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

let U1, U2 be non-empty MSAlgebra over S; :: thesis: for F being ManySortedFunction of U1,U2 st F is_homomorphism U1,U2 holds

ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

let F be ManySortedFunction of U1,U2; :: thesis: ( F is_homomorphism U1,U2 implies ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 ) )

assume A1: F is_homomorphism U1,U2 ; :: thesis: ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

then reconsider F1 = F as ManySortedFunction of U1,(Image F) by Lm3;

for H being ManySortedFunction of (Image F),(Image F) holds H is ManySortedFunction of (Image F),U2

take F1 ; :: thesis: ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

take F2 ; :: thesis: ( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

thus F1 is_epimorphism U1, Image F by A1, Th20; :: thesis: ( F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

thus F2 is_monomorphism Image F,U2 by Th22; :: thesis: F = F2 ** F1

thus F = F2 ** F1 by Th4; :: thesis: verum

for F being ManySortedFunction of U1,U2 st F is_homomorphism U1,U2 holds

ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

let U1, U2 be non-empty MSAlgebra over S; :: thesis: for F being ManySortedFunction of U1,U2 st F is_homomorphism U1,U2 holds

ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

let F be ManySortedFunction of U1,U2; :: thesis: ( F is_homomorphism U1,U2 implies ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 ) )

assume A1: F is_homomorphism U1,U2 ; :: thesis: ex F1 being ManySortedFunction of U1,(Image F) ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

then reconsider F1 = F as ManySortedFunction of U1,(Image F) by Lm3;

for H being ManySortedFunction of (Image F),(Image F) holds H is ManySortedFunction of (Image F),U2

proof

then reconsider F2 = id the Sorts of (Image F) as ManySortedFunction of (Image F),U2 ;
let H be ManySortedFunction of (Image F),(Image F); :: thesis: H is ManySortedFunction of (Image F),U2

for i being object st i in the carrier of S holds

H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i)

end;for i being object st i in the carrier of S holds

H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i)

proof

hence
H is ManySortedFunction of (Image F),U2
by PBOOLE:def 15; :: thesis: verum
let i be object ; :: thesis: ( i in the carrier of S implies H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i) )

assume A2: i in the carrier of S ; :: thesis: H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i)

then reconsider f = F . i as Function of ( the Sorts of U1 . i),( the Sorts of U2 . i) by PBOOLE:def 15;

A3: dom f = the Sorts of U1 . i by A2, FUNCT_2:def 1;

reconsider h = H . i as Function of ( the Sorts of (Image F) . i),( the Sorts of (Image F) . i) by A2, PBOOLE:def 15;

A4: rng f c= the Sorts of U2 . i by RELAT_1:def 19;

the Sorts of (Image F) = F .:.: the Sorts of U1 by A1, Def12;

then the Sorts of (Image F) . i = f .: ( the Sorts of U1 . i) by A2, PBOOLE:def 20

.= rng f by A3, RELAT_1:113 ;

then h is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i) by A4, FUNCT_2:7;

hence H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i) ; :: thesis: verum

end;assume A2: i in the carrier of S ; :: thesis: H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i)

then reconsider f = F . i as Function of ( the Sorts of U1 . i),( the Sorts of U2 . i) by PBOOLE:def 15;

A3: dom f = the Sorts of U1 . i by A2, FUNCT_2:def 1;

reconsider h = H . i as Function of ( the Sorts of (Image F) . i),( the Sorts of (Image F) . i) by A2, PBOOLE:def 15;

A4: rng f c= the Sorts of U2 . i by RELAT_1:def 19;

the Sorts of (Image F) = F .:.: the Sorts of U1 by A1, Def12;

then the Sorts of (Image F) . i = f .: ( the Sorts of U1 . i) by A2, PBOOLE:def 20

.= rng f by A3, RELAT_1:113 ;

then h is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i) by A4, FUNCT_2:7;

hence H . i is Function of ( the Sorts of (Image F) . i),( the Sorts of U2 . i) ; :: thesis: verum

take F1 ; :: thesis: ex F2 being ManySortedFunction of (Image F),U2 st

( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

take F2 ; :: thesis: ( F1 is_epimorphism U1, Image F & F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

thus F1 is_epimorphism U1, Image F by A1, Th20; :: thesis: ( F2 is_monomorphism Image F,U2 & F = F2 ** F1 )

thus F2 is_monomorphism Image F,U2 by Th22; :: thesis: F = F2 ** F1

thus F = F2 ** F1 by Th4; :: thesis: verum