let A1, A2 be non empty category; :: thesis: for F being covariant Functor of A1,A2
for B1 being non empty subcategory of A1
for B2 being non empty subcategory of A2 st F is bijective & ( for a being object of A1 holds
( a is object of B1 iff F . a is object of B2 ) ) & ( for a, b being object of A1 st <^a,b^> <> {} holds
for a1, b1 being object of B1 st a1 = a & b1 = b holds
for a2, b2 being object of B2 st a2 = F . a & b2 = F . b holds
for f being Morphism of a,b holds
( f in <^a1,b1^> iff F . f in <^a2,b2^> ) ) holds
B1,B2 are_isomorphic_under F

let F be covariant Functor of A1,A2; :: thesis: for B1 being non empty subcategory of A1
for B2 being non empty subcategory of A2 st F is bijective & ( for a being object of A1 holds
( a is object of B1 iff F . a is object of B2 ) ) & ( for a, b being object of A1 st <^a,b^> <> {} holds
for a1, b1 being object of B1 st a1 = a & b1 = b holds
for a2, b2 being object of B2 st a2 = F . a & b2 = F . b holds
for f being Morphism of a,b holds
( f in <^a1,b1^> iff F . f in <^a2,b2^> ) ) holds
B1,B2 are_isomorphic_under F

let B1 be non empty subcategory of A1; :: thesis: for B2 being non empty subcategory of A2 st F is bijective & ( for a being object of A1 holds
( a is object of B1 iff F . a is object of B2 ) ) & ( for a, b being object of A1 st <^a,b^> <> {} holds
for a1, b1 being object of B1 st a1 = a & b1 = b holds
for a2, b2 being object of B2 st a2 = F . a & b2 = F . b holds
for f being Morphism of a,b holds
( f in <^a1,b1^> iff F . f in <^a2,b2^> ) ) holds
B1,B2 are_isomorphic_under F

let B2 be non empty subcategory of A2; :: thesis: ( F is bijective & ( for a being object of A1 holds
( a is object of B1 iff F . a is object of B2 ) ) & ( for a, b being object of A1 st <^a,b^> <> {} holds
for a1, b1 being object of B1 st a1 = a & b1 = b holds
for a2, b2 being object of B2 st a2 = F . a & b2 = F . b holds
for f being Morphism of a,b holds
( f in <^a1,b1^> iff F . f in <^a2,b2^> ) ) implies B1,B2 are_isomorphic_under F )

assume that
A1: F is bijective and
A2: for a being object of A1 holds
( a is object of B1 iff F . a is object of B2 ) and
A3: for a, b being object of A1 st <^a,b^> <> {} holds
for a1, b1 being object of B1 st a1 = a & b1 = b holds
for a2, b2 being object of B2 st a2 = F . a & b2 = F . b holds
for f being Morphism of a,b holds
( f in <^a1,b1^> iff F . f in <^a2,b2^> ) ; :: thesis: B1,B2 are_isomorphic_under F
thus B1,B2 are_isomorphic_under F :: thesis: verum
proof
deffunc H1( object of B1, object of B1, Morphism of $1,$2) -> M2(<^((F | B1) . $1),((F | B1) . $2)^>) = (F | B1) . $3;
deffunc H2( object of B1) -> M2(the carrier of A2) = (F | B1) . $1;
A4: ( F is injective & F is surjective ) by A1, FUNCTOR0:def 36;
A5: for a, b being object of B2 st <^a,b^> <> {} holds
for f being Morphism of a,b ex c, d being object of B1 ex g being Morphism of c,d st
( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) )
proof
A6: the carrier of B2 c= the carrier of A2 by ALTCAT_2:def 11;
let a, b be object of B2; :: thesis: ( <^a,b^> <> {} implies for f being Morphism of a,b ex c, d being object of B1 ex g being Morphism of c,d st
( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) ) )

assume A7: <^a,b^> <> {} ; :: thesis: for f being Morphism of a,b ex c, d being object of B1 ex g being Morphism of c,d st
( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) )

( a in the carrier of B2 & b in the carrier of B2 ) ;
then reconsider a1 = a, b1 = b as object of A2 by A6;
let f be Morphism of a,b; :: thesis: ex c, d being object of B1 ex g being Morphism of c,d st
( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) )

A8: ( <^a,b^> c= <^a1,b1^> & f in <^a,b^> ) by A7, ALTCAT_2:32;
then reconsider f1 = f as Morphism of a1,b1 ;
consider c1, d1 being object of A1, g1 being Morphism of c1,d1 such that
A9: ( a1 = F . c1 & b1 = F . d1 ) and
A10: <^c1,d1^> <> {} and
A11: f1 = F . g1 by A4, A8, Th34;
reconsider c = c1, d = d1 as object of B1 by A2, A9;
reconsider g = g1 as Morphism of c,d by A3, A7, A9, A10, A11;
take c ; :: thesis: ex d being object of B1 ex g being Morphism of c,d st
( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) )

take d ; :: thesis: ex g being Morphism of c,d st
( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) )

take g ; :: thesis: ( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) )
g1 in <^c,d^> by A3, A7, A9, A10, A11;
hence ( a = H2(c) & b = H2(d) & <^c,d^> <> {} & f = H1(c,d,g) ) by A9, A11, Th29, Th30; :: thesis: verum
end;
A12: the carrier of B1 c= the carrier of A1 by ALTCAT_2:def 11;
A13: now
let a be object of B1; :: thesis: H2(a) is object of B2
a in the carrier of B1 ;
then reconsider b = a as object of A1 by A12;
(F | B1) . a = F . b by Th29;
hence H2(a) is object of B2 by A2; :: thesis: verum
end;
A14: now
let a, b be object of B1; :: thesis: ( <^a,b^> <> {} implies for f being Morphism of a,b holds H1(a,b,f) in the Arrows of B2 . H2(a),H2(b) )
assume A15: <^a,b^> <> {} ; :: thesis: for f being Morphism of a,b holds H1(a,b,f) in the Arrows of B2 . H2(a),H2(b)
let f be Morphism of a,b; :: thesis: H1(a,b,f) in the Arrows of B2 . H2(a),H2(b)
( a in the carrier of B1 & b in the carrier of B1 ) ;
then reconsider c = a, d = b as object of A1 by A12;
A16: ( <^a,b^> c= <^c,d^> & f in <^a,b^> ) by A15, ALTCAT_2:32;
then reconsider g = f as Morphism of c,d ;
reconsider a9 = (F | B1) . a, b9 = (F | B1) . b as object of B2 by A13;
A17: ( (F | B1) . a = F . c & (F | B1) . b = F . d ) by Th29;
(F | B1) . f = F . g by A15, Th30;
then (F | B1) . f in <^a9,b9^> by A3, A16, A17;
hence H1(a,b,f) in the Arrows of B2 . H2(a),H2(b) ; :: thesis: verum
end;
thus ( B1 is subcategory of A1 & B2 is subcategory of A2 ) ; :: according to YELLOW20:def 4 :: thesis: ex G being covariant Functor of B1,B2 st
( G is bijective & ( for a9 being object of B1
for a being object of A1 st a9 = a holds
G . a9 = F . a ) & ( for b9, c9 being object of B1
for b, c being object of A1 st <^b9,c9^> <> {} & b9 = b & c9 = c holds
for f9 being Morphism of b9,c9
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map F,b,c) . f ) )

A18: ( F is one-to-one & F is faithful & F is surjective ) by A4, FUNCTOR0:def 34;
A19: now
let a, b be object of B1; :: thesis: ( <^a,b^> <> {} implies for f, g being Morphism of a,b st H1(a,b,f) = H1(a,b,g) holds
f = g )

assume A20: <^a,b^> <> {} ; :: thesis: for f, g being Morphism of a,b st H1(a,b,f) = H1(a,b,g) holds
f = g

( a in the carrier of B1 & b in the carrier of B1 ) ;
then reconsider a1 = a, b1 = b as object of A1 by A12;
let f, g be Morphism of a,b; :: thesis: ( H1(a,b,f) = H1(a,b,g) implies f = g )
A21: ( <^a,b^> c= <^a1,b1^> & f in <^a,b^> ) by A20, ALTCAT_2:32;
g in <^a,b^> by A20;
then reconsider f1 = f, g1 = g as Morphism of a1,b1 by A21;
assume H1(a,b,f) = H1(a,b,g) ; :: thesis: f = g
then F . f1 = (F | B1) . g by A20, Th30
.= F . g1 by A20, Th30 ;
hence f = g by A18, A21, Th33; :: thesis: verum
end;
A22: now
let a, b, c be object of B1; :: thesis: ( <^a,b^> <> {} & <^b,c^> <> {} implies for f being Morphism of a,b
for g being Morphism of b,c
for a9, b9, c9 being object of B2 st a9 = H2(a) & b9 = H2(b) & c9 = H2(c) holds
for f9 being Morphism of a9,b9
for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9 )

assume that
A23: <^a,b^> <> {} and
A24: <^b,c^> <> {} ; :: thesis: for f being Morphism of a,b
for g being Morphism of b,c
for a9, b9, c9 being object of B2 st a9 = H2(a) & b9 = H2(b) & c9 = H2(c) holds
for f9 being Morphism of a9,b9
for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9

let f be Morphism of a,b; :: thesis: for g being Morphism of b,c
for a9, b9, c9 being object of B2 st a9 = H2(a) & b9 = H2(b) & c9 = H2(c) holds
for f9 being Morphism of a9,b9
for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9

let g be Morphism of b,c; :: thesis: for a9, b9, c9 being object of B2 st a9 = H2(a) & b9 = H2(b) & c9 = H2(c) holds
for f9 being Morphism of a9,b9
for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9

A25: c in the carrier of B1 ;
( a in the carrier of B1 & b in the carrier of B1 ) ;
then reconsider a1 = a, b1 = b, c1 = c as object of A1 by A12, A25;
let a9, b9, c9 be object of B2; :: thesis: ( a9 = H2(a) & b9 = H2(b) & c9 = H2(c) implies for f9 being Morphism of a9,b9
for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9 )

assume that
A26: a9 = H2(a) and
A27: b9 = H2(b) and
A28: c9 = H2(c) ; :: thesis: for f9 being Morphism of a9,b9
for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9

let f9 be Morphism of a9,b9; :: thesis: for g9 being Morphism of b9,c9 st f9 = H1(a,b,f) & g9 = H1(b,c,g) holds
H1(a,c,g * f) = g9 * f9

let g9 be Morphism of b9,c9; :: thesis: ( f9 = H1(a,b,f) & g9 = H1(b,c,g) implies H1(a,c,g * f) = g9 * f9 )
assume that
A29: f9 = H1(a,b,f) and
A30: g9 = H1(b,c,g) ; :: thesis: H1(a,c,g * f) = g9 * f9
A31: b9 = F . b1 by A27, Th29;
A32: ( <^b,c^> c= <^b1,c1^> & g in <^b,c^> ) by A24, ALTCAT_2:32;
then reconsider g1 = g as Morphism of b1,c1 ;
A33: c9 = F . c1 by A28, Th29;
A34: ( <^a,b^> c= <^a1,b1^> & f in <^a,b^> ) by A23, ALTCAT_2:32;
then reconsider f1 = f as Morphism of a1,b1 ;
A35: a9 = F . a1 by A26, Th29;
A36: g9 = F . g1 by A24, A30, Th30;
then A37: g9 in <^b9,c9^> by A3, A32, A31, A33;
A38: f9 = F . f1 by A23, A29, Th30;
then A39: f9 in <^a9,b9^> by A3, A34, A35, A31;
( <^a,c^> <> {} & g * f = g1 * f1 ) by A23, A24, ALTCAT_1:def 4, ALTCAT_2:33;
then (F | B1) . (g * f) = F . (g1 * f1) by Th30;
hence H1(a,c,g * f) = (F . g1) * (F . f1) by A34, A32, FUNCTOR0:def 24
.= g9 * f9 by A35, A31, A33, A38, A36, A39, A37, ALTCAT_2:33 ;
:: thesis: verum
end;
A40: now
let a be object of B1; :: thesis: for a9 being object of B2 st a9 = H2(a) holds
H1(a,a, idm a) = idm a9

let a9 be object of B2; :: thesis: ( a9 = H2(a) implies H1(a,a, idm a) = idm a9 )
assume A41: a9 = H2(a) ; :: thesis: H1(a,a, idm a) = idm a9
a in the carrier of B1 ;
then reconsider a1 = a as object of A1 by A12;
thus H1(a,a, idm a) = F . (idm a1) by Th30, ALTCAT_2:35
.= idm (F . a1) by FUNCTOR2:2
.= idm a9 by A41, Th29, ALTCAT_2:35 ; :: thesis: verum
end;
consider G being strict covariant Functor of B1,B2 such that
A42: for a being object of B1 holds G . a = H2(a) and
A43: for a, b being object of B1 st <^a,b^> <> {} holds
for f being Morphism of a,b holds G . f = H1(a,b,f) from YELLOW18:sch 8(A13, A14, A22, A40);
take G ; :: thesis: ( G is bijective & ( for a9 being object of B1
for a being object of A1 st a9 = a holds
G . a9 = F . a ) & ( for b9, c9 being object of B1
for b, c being object of A1 st <^b9,c9^> <> {} & b9 = b & c9 = c holds
for f9 being Morphism of b9,c9
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map F,b,c) . f ) )

A44: now
let a, b be object of B1; :: thesis: ( H2(a) = H2(b) implies a = b )
( a in the carrier of B1 & b in the carrier of B1 ) ;
then reconsider a1 = a, b1 = b as object of A1 by A12;
assume H2(a) = H2(b) ; :: thesis: a = b
then F . a1 = (F | B1) . b by Th29
.= F . b1 by Th29 ;
hence a = b by A18, Th32; :: thesis: verum
end;
thus G is bijective from YELLOW18:sch 10(A42, A43, A44, A19, A5); :: thesis: ( ( for a9 being object of B1
for a being object of A1 st a9 = a holds
G . a9 = F . a ) & ( for b9, c9 being object of B1
for b, c being object of A1 st <^b9,c9^> <> {} & b9 = b & c9 = c holds
for f9 being Morphism of b9,c9
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map F,b,c) . f ) )

hereby :: thesis: for b9, c9 being object of B1
for b, c being object of A1 st <^b9,c9^> <> {} & b9 = b & c9 = c holds
for f9 being Morphism of b9,c9
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map F,b,c) . f
let a be object of B1; :: thesis: for a1 being object of A1 st a = a1 holds
G . a = F . a1

let a1 be object of A1; :: thesis: ( a = a1 implies G . a = F . a1 )
assume A45: a = a1 ; :: thesis: G . a = F . a1
thus G . a = (F | B1) . a by A42
.= F . a1 by A45, Th29 ; :: thesis: verum
end;
let b, c be object of B1; :: thesis: for b, c being object of A1 st <^b,c^> <> {} & b = b & c = c holds
for f9 being Morphism of b,c
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map F,b,c) . f

let b1, c1 be object of A1; :: thesis: ( <^b,c^> <> {} & b = b1 & c = c1 implies for f9 being Morphism of b,c
for f being Morphism of b1,c1 st f9 = f holds
G . f9 = (Morph-Map F,b1,c1) . f )

assume that
A46: <^b,c^> <> {} and
A47: ( b1 = b & c1 = c ) ; :: thesis: for f9 being Morphism of b,c
for f being Morphism of b1,c1 st f9 = f holds
G . f9 = (Morph-Map F,b1,c1) . f

let f be Morphism of b,c; :: thesis: for f being Morphism of b1,c1 st f = f holds
G . f = (Morph-Map F,b1,c1) . f

let f1 be Morphism of b1,c1; :: thesis: ( f = f1 implies G . f = (Morph-Map F,b1,c1) . f1 )
assume A48: f = f1 ; :: thesis: G . f = (Morph-Map F,b1,c1) . f1
A49: ( <^b,c^> c= <^b1,c1^> & f in <^b,c^> ) by A46, A47, ALTCAT_2:32;
then A50: <^(F . b1),(F . c1)^> <> {} by FUNCTOR0:def 19;
thus G . f = (F | B1) . f by A43, A46
.= F . f1 by A46, A47, A48, Th30
.= (Morph-Map F,b1,c1) . f1 by A49, A50, FUNCTOR0:def 16 ; :: thesis: verum
end;