let A, B be non empty AltGraph ; for F being BimapStr over A,B st F is Covariant & F is one-to-one holds
for a, b being Object of A st F . a = F . b holds
a = b
let F be BimapStr over A,B; ( F is Covariant & F is one-to-one implies for a, b being Object of A st F . a = F . b holds
a = b )
given f being Function of the carrier of A, the carrier of B such that A1:
the ObjectMap of F = [:f,f:]
; FUNCTOR0:def 1,FUNCTOR0:def 12 ( not F is one-to-one or for a, b being Object of A st F . a = F . b holds
a = b )
assume
the ObjectMap of F is one-to-one
; FUNCTOR0:def 6 for a, b being Object of A st F . a = F . b holds
a = b
then A2:
f is one-to-one
by A1, FUNCTOR0:7;
let a, b be Object of A; ( F . a = F . b implies a = b )
assume A3:
F . a = F . b
; a = b
A4:
( [(f . a),(f . a)] `1 = f . a & [(f . b),(f . b)] `1 = f . b )
;
( the ObjectMap of F . (a,a) = [(f . a),(f . a)] & the ObjectMap of F . (b,b) = [(f . b),(f . b)] )
by A1, FUNCT_3:75;
hence
a = b
by A2, A3, A4, FUNCT_2:19; verum