let A, B be non empty AltGraph ; for F being Covariant FunctorStr over A,B st F is surjective holds
for a, b being Object of B st <^a,b^> <> {} holds
for f being Morphism of a,b ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
let F be Covariant FunctorStr over A,B; ( F is surjective implies for a, b being Object of B st <^a,b^> <> {} holds
for f being Morphism of a,b ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g ) )
given f being ManySortedFunction of the Arrows of A, the Arrows of B * the ObjectMap of F such that A1:
( f = the MorphMap of F & f is "onto" )
; FUNCTOR0:def 32,FUNCTOR0:def 34 ( not F is onto or for a, b being Object of B st <^a,b^> <> {} holds
for f being Morphism of a,b ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g ) )
assume A2:
rng the ObjectMap of F = [: the carrier of B, the carrier of B:]
; FUNCTOR0:def 7,FUNCT_2:def 3 for a, b being Object of B st <^a,b^> <> {} holds
for f being Morphism of a,b ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
let a, b be Object of B; ( <^a,b^> <> {} implies for f being Morphism of a,b ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g ) )
assume A3:
<^a,b^> <> {}
; for f being Morphism of a,b ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
the ObjectMap of F is Covariant
by FUNCTOR0:def 12;
then consider g being Function of the carrier of A, the carrier of B such that
A4:
the ObjectMap of F = [:g,g:]
;
let f be Morphism of a,b; ex c, d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
( dom the ObjectMap of F = [: the carrier of A, the carrier of A:] & [a,b] in rng the ObjectMap of F )
by A2, FUNCT_2:def 1, ZFMISC_1:def 2;
then consider x being object such that
A5:
x in [: the carrier of A, the carrier of A:]
and
A6:
[a,b] = the ObjectMap of F . x
by FUNCT_1:def 3;
consider c, d being object such that
A7:
( c in the carrier of A & d in the carrier of A )
and
A8:
[c,d] = x
by A5, ZFMISC_1:def 2;
reconsider c = c, d = d as Object of A by A7;
the ObjectMap of F . (d,d) = [(g . d),(g . d)]
by A4, FUNCT_3:75;
then A9:
F . d = g . d
;
the ObjectMap of F . (c,c) = [(g . c),(g . c)]
by A4, FUNCT_3:75;
then
F . c = g . c
;
then A10:
the ObjectMap of F . (c,d) = [(F . c),(F . d)]
by A4, A9, FUNCT_3:75;
rng (Morph-Map (F,c,d)) =
( the Arrows of B * the ObjectMap of F) . [c,d]
by A1, A5, A8
.=
<^a,b^>
by A5, A6, A8, FUNCT_2:15
;
then consider g being object such that
A11:
g in dom (Morph-Map (F,c,d))
and
A12:
f = (Morph-Map (F,c,d)) . g
by A3, FUNCT_1:def 3;
take
c
; ex d being Object of A ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
take
d
; ex g being Morphism of c,d st
( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
reconsider g = g as Morphism of c,d by A11;
take
g
; ( a = F . c & b = F . d & <^c,d^> <> {} & f = F . g )
thus
( a = F . c & b = F . d & <^c,d^> <> {} )
by A6, A8, A10, A11, XTUPLE_0:1; f = F . g
thus
f = F . g
by A3, A6, A8, A10, A11, A12, FUNCTOR0:def 15; verum