let S be non empty non void ManySortedSign ; for A, B, C being non-empty MSAlgebra over S
for F1 being ManySortedFunction of A,B
for F2 being ManySortedFunction of A,C st F1 is_epimorphism A,B & F2 is_homomorphism A,C holds
for G being ManySortedFunction of B,C st G ** F1 = F2 holds
G is_homomorphism B,C
let A, B, C be non-empty MSAlgebra over S; for F1 being ManySortedFunction of A,B
for F2 being ManySortedFunction of A,C st F1 is_epimorphism A,B & F2 is_homomorphism A,C holds
for G being ManySortedFunction of B,C st G ** F1 = F2 holds
G is_homomorphism B,C
let F1 be ManySortedFunction of A,B; for F2 being ManySortedFunction of A,C st F1 is_epimorphism A,B & F2 is_homomorphism A,C holds
for G being ManySortedFunction of B,C st G ** F1 = F2 holds
G is_homomorphism B,C
let F2 be ManySortedFunction of A,C; ( F1 is_epimorphism A,B & F2 is_homomorphism A,C implies for G being ManySortedFunction of B,C st G ** F1 = F2 holds
G is_homomorphism B,C )
assume that
A1:
F1 is_epimorphism A,B
and
A2:
F2 is_homomorphism A,C
; for G being ManySortedFunction of B,C st G ** F1 = F2 holds
G is_homomorphism B,C
let G be ManySortedFunction of B,C; ( G ** F1 = F2 implies G is_homomorphism B,C )
assume A3:
G ** F1 = F2
; G is_homomorphism B,C
let o be OperSymbol of S; MSUALG_3:def 7 ( Args (o,B) = {} or for b1 being Element of Args (o,B) holds (G . (the_result_sort_of o)) . ((Den (o,B)) . b1) = (Den (o,C)) . (G # b1) )
assume
Args (o,B) <> {}
; for b1 being Element of Args (o,B) holds (G . (the_result_sort_of o)) . ((Den (o,B)) . b1) = (Den (o,C)) . (G # b1)
let x be Element of Args (o,B); (G . (the_result_sort_of o)) . ((Den (o,B)) . x) = (Den (o,C)) . (G # x)
F1 is "onto"
by A1;
then consider y being Element of Args (o,A) such that
A4:
F1 # y = x
by Th17;
set r = the_result_sort_of o;
F1 is_homomorphism A,B
by A1;
then A5:
(F1 . (the_result_sort_of o)) . ((Den (o,A)) . y) = (Den (o,B)) . x
by A4;
A6: (F2 . (the_result_sort_of o)) . ((Den (o,A)) . y) =
((G . (the_result_sort_of o)) * (F1 . (the_result_sort_of o))) . ((Den (o,A)) . y)
by A3, MSUALG_3:2
.=
(G . (the_result_sort_of o)) . ((Den (o,B)) . x)
by A5, Th18, FUNCT_2:15
;
(F2 . (the_result_sort_of o)) . ((Den (o,A)) . y) =
(Den (o,C)) . ((G ** F1) # y)
by A2, A3
.=
(Den (o,C)) . (G # x)
by A4, MSUALG_3:8
;
hence
(G . (the_result_sort_of o)) . ((Den (o,B)) . x) = (Den (o,C)) . (G # x)
by A6; verum