:: ALTCAT_4 semantic presentation
begin
registration
let C be non empty with_units AltCatStr ;
let o be object of C;
cluster<^o,o^> -> non empty ;
coherence
not <^o,o^> is empty by ALTCAT_1:19;
end;
theorem Th1: :: ALTCAT_4:1
for C being category
for o1, o2, o3 being object of C
for v being Morphism of o1,o2
for u being Morphism of o1,o3
for f being Morphism of o2,o3 st u = f * v & (f ") * f = idm o2 & <^o1,o2^> <> {} & <^o2,o3^> <> {} & <^o3,o2^> <> {} holds
v = (f ") * u
proof
let C be category; ::_thesis: for o1, o2, o3 being object of C
for v being Morphism of o1,o2
for u being Morphism of o1,o3
for f being Morphism of o2,o3 st u = f * v & (f ") * f = idm o2 & <^o1,o2^> <> {} & <^o2,o3^> <> {} & <^o3,o2^> <> {} holds
v = (f ") * u
let o1, o2, o3 be object of C; ::_thesis: for v being Morphism of o1,o2
for u being Morphism of o1,o3
for f being Morphism of o2,o3 st u = f * v & (f ") * f = idm o2 & <^o1,o2^> <> {} & <^o2,o3^> <> {} & <^o3,o2^> <> {} holds
v = (f ") * u
let v be Morphism of o1,o2; ::_thesis: for u being Morphism of o1,o3
for f being Morphism of o2,o3 st u = f * v & (f ") * f = idm o2 & <^o1,o2^> <> {} & <^o2,o3^> <> {} & <^o3,o2^> <> {} holds
v = (f ") * u
let u be Morphism of o1,o3; ::_thesis: for f being Morphism of o2,o3 st u = f * v & (f ") * f = idm o2 & <^o1,o2^> <> {} & <^o2,o3^> <> {} & <^o3,o2^> <> {} holds
v = (f ") * u
let f be Morphism of o2,o3; ::_thesis: ( u = f * v & (f ") * f = idm o2 & <^o1,o2^> <> {} & <^o2,o3^> <> {} & <^o3,o2^> <> {} implies v = (f ") * u )
assume that
A1: u = f * v and
A2: (f ") * f = idm o2 and
A3: <^o1,o2^> <> {} and
A4: ( <^o2,o3^> <> {} & <^o3,o2^> <> {} ) ; ::_thesis: v = (f ") * u
thus (f ") * u = ((f ") * f) * v by A1, A3, A4, ALTCAT_1:21
.= v by A2, A3, ALTCAT_1:20 ; ::_thesis: verum
end;
theorem Th2: :: ALTCAT_4:2
for C being category
for o2, o3, o1 being object of C
for v being Morphism of o2,o3
for u being Morphism of o1,o3
for f being Morphism of o1,o2 st u = v * f & f * (f ") = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} & <^o2,o3^> <> {} holds
v = u * (f ")
proof
let C be category; ::_thesis: for o2, o3, o1 being object of C
for v being Morphism of o2,o3
for u being Morphism of o1,o3
for f being Morphism of o1,o2 st u = v * f & f * (f ") = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} & <^o2,o3^> <> {} holds
v = u * (f ")
let o2, o3, o1 be object of C; ::_thesis: for v being Morphism of o2,o3
for u being Morphism of o1,o3
for f being Morphism of o1,o2 st u = v * f & f * (f ") = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} & <^o2,o3^> <> {} holds
v = u * (f ")
let v be Morphism of o2,o3; ::_thesis: for u being Morphism of o1,o3
for f being Morphism of o1,o2 st u = v * f & f * (f ") = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} & <^o2,o3^> <> {} holds
v = u * (f ")
let u be Morphism of o1,o3; ::_thesis: for f being Morphism of o1,o2 st u = v * f & f * (f ") = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} & <^o2,o3^> <> {} holds
v = u * (f ")
let f be Morphism of o1,o2; ::_thesis: ( u = v * f & f * (f ") = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} & <^o2,o3^> <> {} implies v = u * (f ") )
assume that
A1: u = v * f and
A2: f * (f ") = idm o2 and
A3: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) and
A4: <^o2,o3^> <> {} ; ::_thesis: v = u * (f ")
thus u * (f ") = v * (f * (f ")) by A1, A3, A4, ALTCAT_1:21
.= v by A2, A4, ALTCAT_1:def_17 ; ::_thesis: verum
end;
theorem Th3: :: ALTCAT_4:3
for C being category
for o1, o2 being object of C
for m being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso holds
m " is iso
proof
let C be category; ::_thesis: for o1, o2 being object of C
for m being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso holds
m " is iso
let o1, o2 be object of C; ::_thesis: for m being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso holds
m " is iso
let m be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso implies m " is iso )
assume A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) ; ::_thesis: ( not m is iso or m " is iso )
assume m is iso ; ::_thesis: m " is iso
then A2: ( m is retraction & m is coretraction ) by ALTCAT_3:5;
hence (m ") * ((m ") ") = (m ") * m by A1, ALTCAT_3:3
.= idm o1 by A1, A2, ALTCAT_3:2 ;
:: according to ALTCAT_3:def_5 ::_thesis: ((m ") ") * (m ") = idm o2
thus ((m ") ") * (m ") = m * (m ") by A1, A2, ALTCAT_3:3
.= idm o2 by A1, A2, ALTCAT_3:2 ; ::_thesis: verum
end;
theorem Th4: :: ALTCAT_4:4
for C being non empty with_units AltCatStr
for o being object of C holds
( idm o is epi & idm o is mono )
proof
let C be non empty with_units AltCatStr ; ::_thesis: for o being object of C holds
( idm o is epi & idm o is mono )
let o be object of C; ::_thesis: ( idm o is epi & idm o is mono )
thus idm o is epi ::_thesis: idm o is mono
proof
let o1 be object of C; :: according to ALTCAT_3:def_8 ::_thesis: ( <^o,o1^> = {} or for b1, b2 being M2(<^o,o1^>) holds
( not b1 * (idm o) = b2 * (idm o) or b1 = b2 ) )
assume A1: <^o,o1^> <> {} ; ::_thesis: for b1, b2 being M2(<^o,o1^>) holds
( not b1 * (idm o) = b2 * (idm o) or b1 = b2 )
let B, C be Morphism of o,o1; ::_thesis: ( not B * (idm o) = C * (idm o) or B = C )
assume A2: B * (idm o) = C * (idm o) ; ::_thesis: B = C
thus B = B * (idm o) by A1, ALTCAT_1:def_17
.= C by A1, A2, ALTCAT_1:def_17 ; ::_thesis: verum
end;
let o1 be object of C; :: according to ALTCAT_3:def_7 ::_thesis: ( <^o1,o^> = {} or for b1, b2 being M2(<^o1,o^>) holds
( not (idm o) * b1 = (idm o) * b2 or b1 = b2 ) )
assume A3: <^o1,o^> <> {} ; ::_thesis: for b1, b2 being M2(<^o1,o^>) holds
( not (idm o) * b1 = (idm o) * b2 or b1 = b2 )
let B, C be Morphism of o1,o; ::_thesis: ( not (idm o) * B = (idm o) * C or B = C )
assume A4: (idm o) * B = (idm o) * C ; ::_thesis: B = C
thus B = (idm o) * B by A3, ALTCAT_1:20
.= C by A3, A4, ALTCAT_1:20 ; ::_thesis: verum
end;
registration
let C be non empty with_units AltCatStr ;
let o be object of C;
cluster idm o -> retraction coretraction mono epi ;
coherence
( idm o is epi & idm o is mono & idm o is retraction & idm o is coretraction ) by Th4, ALTCAT_3:1;
end;
registration
let C be category;
let o be object of C;
cluster idm o -> iso ;
coherence
idm o is iso by ALTCAT_3:6;
end;
theorem :: ALTCAT_4:5
for C being category
for o1, o2 being object of C
for f being Morphism of o1,o2
for g, h being Morphism of o2,o1 st h * f = idm o1 & f * g = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} holds
g = h
proof
let C be category; ::_thesis: for o1, o2 being object of C
for f being Morphism of o1,o2
for g, h being Morphism of o2,o1 st h * f = idm o1 & f * g = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} holds
g = h
let o1, o2 be object of C; ::_thesis: for f being Morphism of o1,o2
for g, h being Morphism of o2,o1 st h * f = idm o1 & f * g = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} holds
g = h
let f be Morphism of o1,o2; ::_thesis: for g, h being Morphism of o2,o1 st h * f = idm o1 & f * g = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} holds
g = h
let g, h be Morphism of o2,o1; ::_thesis: ( h * f = idm o1 & f * g = idm o2 & <^o1,o2^> <> {} & <^o2,o1^> <> {} implies g = h )
assume that
A1: h * f = idm o1 and
A2: ( f * g = idm o2 & <^o1,o2^> <> {} ) and
A3: <^o2,o1^> <> {} ; ::_thesis: g = h
thus g = (h * f) * g by A1, A3, ALTCAT_1:20
.= h * (idm o2) by A2, A3, ALTCAT_1:21
.= h by A3, ALTCAT_1:def_17 ; ::_thesis: verum
end;
theorem :: ALTCAT_4:6
for C being category st ( for o1, o2 being object of C
for f being Morphism of o1,o2 holds f is coretraction ) holds
for a, b being object of C
for g being Morphism of a,b st <^a,b^> <> {} & <^b,a^> <> {} holds
g is iso
proof
let C be category; ::_thesis: ( ( for o1, o2 being object of C
for f being Morphism of o1,o2 holds f is coretraction ) implies for a, b being object of C
for g being Morphism of a,b st <^a,b^> <> {} & <^b,a^> <> {} holds
g is iso )
assume A1: for o1, o2 being object of C
for f being Morphism of o1,o2 holds f is coretraction ; ::_thesis: for a, b being object of C
for g being Morphism of a,b st <^a,b^> <> {} & <^b,a^> <> {} holds
g is iso
let a, b be object of C; ::_thesis: for g being Morphism of a,b st <^a,b^> <> {} & <^b,a^> <> {} holds
g is iso
let g be Morphism of a,b; ::_thesis: ( <^a,b^> <> {} & <^b,a^> <> {} implies g is iso )
assume that
A2: <^a,b^> <> {} and
A3: <^b,a^> <> {} ; ::_thesis: g is iso
A4: g is coretraction by A1;
g is retraction
proof
consider f being Morphism of b,a such that
A5: f is_left_inverse_of g by A4, ALTCAT_3:def_3;
take f ; :: according to ALTCAT_3:def_2 ::_thesis: g is_left_inverse_of f
A6: f is mono by A1, A2, A3, ALTCAT_3:16;
f * (g * f) = (f * g) * f by A2, A3, ALTCAT_1:21
.= (idm a) * f by A5, ALTCAT_3:def_1
.= f by A3, ALTCAT_1:20
.= f * (idm b) by A3, ALTCAT_1:def_17 ;
hence g * f = idm b by A6, ALTCAT_3:def_7; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
hence g is iso by A2, A3, A4, ALTCAT_3:6; ::_thesis: verum
end;
begin
theorem :: ALTCAT_4:7
for C being category
for o1, o2 being object of C
for m, m9 being Morphism of o1,o2 st m is _zero & m9 is _zero & ex O being object of C st O is _zero holds
m = m9
proof
let C be category; ::_thesis: for o1, o2 being object of C
for m, m9 being Morphism of o1,o2 st m is _zero & m9 is _zero & ex O being object of C st O is _zero holds
m = m9
let o1, o2 be object of C; ::_thesis: for m, m9 being Morphism of o1,o2 st m is _zero & m9 is _zero & ex O being object of C st O is _zero holds
m = m9
let m, m9 be Morphism of o1,o2; ::_thesis: ( m is _zero & m9 is _zero & ex O being object of C st O is _zero implies m = m9 )
assume that
A1: m is _zero and
A2: m9 is _zero ; ::_thesis: ( for O being object of C holds not O is _zero or m = m9 )
given O being object of C such that A3: O is _zero ; ::_thesis: m = m9
set n = the Morphism of O,O;
set b = the Morphism of O,o2;
set a = the Morphism of o1,O;
thus m = ( the Morphism of O,o2 * (( the Morphism of O,O ") * the Morphism of O,O)) * the Morphism of o1,O by A1, A3, ALTCAT_3:def_12
.= m9 by A2, A3, ALTCAT_3:def_12 ; ::_thesis: verum
end;
theorem :: ALTCAT_4:8
for C being non empty AltCatStr
for O, A being object of C
for M being Morphism of O,A st O is terminal holds
M is mono
proof
let C be non empty AltCatStr ; ::_thesis: for O, A being object of C
for M being Morphism of O,A st O is terminal holds
M is mono
let O, A be object of C; ::_thesis: for M being Morphism of O,A st O is terminal holds
M is mono
let M be Morphism of O,A; ::_thesis: ( O is terminal implies M is mono )
assume A1: O is terminal ; ::_thesis: M is mono
let o be object of C; :: according to ALTCAT_3:def_7 ::_thesis: ( <^o,O^> = {} or for b1, b2 being M2(<^o,O^>) holds
( not M * b1 = M * b2 or b1 = b2 ) )
assume A2: <^o,O^> <> {} ; ::_thesis: for b1, b2 being M2(<^o,O^>) holds
( not M * b1 = M * b2 or b1 = b2 )
let a, b be Morphism of o,O; ::_thesis: ( not M * a = M * b or a = b )
assume M * a = M * b ; ::_thesis: a = b
consider N being Morphism of o,O such that
N in <^o,O^> and
A3: for M1 being Morphism of o,O st M1 in <^o,O^> holds
N = M1 by A1, ALTCAT_3:27;
thus a = N by A2, A3
.= b by A2, A3 ; ::_thesis: verum
end;
theorem :: ALTCAT_4:9
for C being non empty AltCatStr
for O, A being object of C
for M being Morphism of A,O st O is initial holds
M is epi
proof
let C be non empty AltCatStr ; ::_thesis: for O, A being object of C
for M being Morphism of A,O st O is initial holds
M is epi
let O, A be object of C; ::_thesis: for M being Morphism of A,O st O is initial holds
M is epi
let M be Morphism of A,O; ::_thesis: ( O is initial implies M is epi )
assume A1: O is initial ; ::_thesis: M is epi
let o be object of C; :: according to ALTCAT_3:def_8 ::_thesis: ( <^O,o^> = {} or for b1, b2 being M2(<^O,o^>) holds
( not b1 * M = b2 * M or b1 = b2 ) )
assume A2: <^O,o^> <> {} ; ::_thesis: for b1, b2 being M2(<^O,o^>) holds
( not b1 * M = b2 * M or b1 = b2 )
let a, b be Morphism of O,o; ::_thesis: ( not a * M = b * M or a = b )
assume a * M = b * M ; ::_thesis: a = b
consider N being Morphism of O,o such that
N in <^O,o^> and
A3: for M1 being Morphism of O,o st M1 in <^O,o^> holds
N = M1 by A1, ALTCAT_3:25;
thus a = N by A2, A3
.= b by A2, A3 ; ::_thesis: verum
end;
theorem :: ALTCAT_4:10
for C being category
for o2, o1 being object of C st o2 is terminal & o1,o2 are_iso holds
o1 is terminal
proof
let C be category; ::_thesis: for o2, o1 being object of C st o2 is terminal & o1,o2 are_iso holds
o1 is terminal
let o2, o1 be object of C; ::_thesis: ( o2 is terminal & o1,o2 are_iso implies o1 is terminal )
assume that
A1: o2 is terminal and
A2: o1,o2 are_iso ; ::_thesis: o1 is terminal
for o3 being object of C ex M being Morphism of o3,o1 st
( M in <^o3,o1^> & ( for v being Morphism of o3,o1 st v in <^o3,o1^> holds
M = v ) )
proof
consider f being Morphism of o1,o2 such that
A3: f is iso by A2, ALTCAT_3:def_6;
A4: (f ") * f = idm o1 by A3, ALTCAT_3:def_5;
let o3 be object of C; ::_thesis: ex M being Morphism of o3,o1 st
( M in <^o3,o1^> & ( for v being Morphism of o3,o1 st v in <^o3,o1^> holds
M = v ) )
consider u being Morphism of o3,o2 such that
A5: u in <^o3,o2^> and
A6: for M1 being Morphism of o3,o2 st M1 in <^o3,o2^> holds
u = M1 by A1, ALTCAT_3:27;
take (f ") * u ; ::_thesis: ( (f ") * u in <^o3,o1^> & ( for v being Morphism of o3,o1 st v in <^o3,o1^> holds
(f ") * u = v ) )
A7: <^o2,o1^> <> {} by A2, ALTCAT_3:def_6;
then A8: <^o3,o1^> <> {} by A5, ALTCAT_1:def_2;
hence (f ") * u in <^o3,o1^> ; ::_thesis: for v being Morphism of o3,o1 st v in <^o3,o1^> holds
(f ") * u = v
A9: <^o1,o2^> <> {} by A2, ALTCAT_3:def_6;
let v be Morphism of o3,o1; ::_thesis: ( v in <^o3,o1^> implies (f ") * u = v )
assume v in <^o3,o1^> ; ::_thesis: (f ") * u = v
f * v = u by A5, A6;
hence (f ") * u = v by A4, A9, A7, A8, Th1; ::_thesis: verum
end;
hence o1 is terminal by ALTCAT_3:27; ::_thesis: verum
end;
theorem :: ALTCAT_4:11
for C being category
for o1, o2 being object of C st o1 is initial & o1,o2 are_iso holds
o2 is initial
proof
let C be category; ::_thesis: for o1, o2 being object of C st o1 is initial & o1,o2 are_iso holds
o2 is initial
let o1, o2 be object of C; ::_thesis: ( o1 is initial & o1,o2 are_iso implies o2 is initial )
assume that
A1: o1 is initial and
A2: o1,o2 are_iso ; ::_thesis: o2 is initial
for o3 being object of C ex M being Morphism of o2,o3 st
( M in <^o2,o3^> & ( for v being Morphism of o2,o3 st v in <^o2,o3^> holds
M = v ) )
proof
consider f being Morphism of o1,o2 such that
A3: f is iso by A2, ALTCAT_3:def_6;
A4: f * (f ") = idm o2 by A3, ALTCAT_3:def_5;
let o3 be object of C; ::_thesis: ex M being Morphism of o2,o3 st
( M in <^o2,o3^> & ( for v being Morphism of o2,o3 st v in <^o2,o3^> holds
M = v ) )
consider u being Morphism of o1,o3 such that
A5: u in <^o1,o3^> and
A6: for M1 being Morphism of o1,o3 st M1 in <^o1,o3^> holds
u = M1 by A1, ALTCAT_3:25;
take u * (f ") ; ::_thesis: ( u * (f ") in <^o2,o3^> & ( for v being Morphism of o2,o3 st v in <^o2,o3^> holds
u * (f ") = v ) )
A7: <^o2,o1^> <> {} by A2, ALTCAT_3:def_6;
then A8: <^o2,o3^> <> {} by A5, ALTCAT_1:def_2;
hence u * (f ") in <^o2,o3^> ; ::_thesis: for v being Morphism of o2,o3 st v in <^o2,o3^> holds
u * (f ") = v
A9: <^o1,o2^> <> {} by A2, ALTCAT_3:def_6;
let v be Morphism of o2,o3; ::_thesis: ( v in <^o2,o3^> implies u * (f ") = v )
assume v in <^o2,o3^> ; ::_thesis: u * (f ") = v
v * f = u by A5, A6;
hence u * (f ") = v by A4, A9, A7, A8, Th2; ::_thesis: verum
end;
hence o2 is initial by ALTCAT_3:25; ::_thesis: verum
end;
theorem :: ALTCAT_4:12
for C being category
for o1, o2 being object of C st o1 is initial & o2 is terminal & <^o2,o1^> <> {} holds
( o2 is initial & o1 is terminal )
proof
let C be category; ::_thesis: for o1, o2 being object of C st o1 is initial & o2 is terminal & <^o2,o1^> <> {} holds
( o2 is initial & o1 is terminal )
let o1, o2 be object of C; ::_thesis: ( o1 is initial & o2 is terminal & <^o2,o1^> <> {} implies ( o2 is initial & o1 is terminal ) )
assume that
A1: o1 is initial and
A2: o2 is terminal ; ::_thesis: ( not <^o2,o1^> <> {} or ( o2 is initial & o1 is terminal ) )
consider l being Morphism of o1,o2 such that
A3: l in <^o1,o2^> and
for M1 being Morphism of o1,o2 st M1 in <^o1,o2^> holds
l = M1 by A1, ALTCAT_3:25;
assume <^o2,o1^> <> {} ; ::_thesis: ( o2 is initial & o1 is terminal )
then consider m being set such that
A4: m in <^o2,o1^> by XBOOLE_0:def_1;
reconsider m = m as Morphism of o2,o1 by A4;
for o3 being object of C ex M being Morphism of o2,o3 st
( M in <^o2,o3^> & ( for M1 being Morphism of o2,o3 st M1 in <^o2,o3^> holds
M = M1 ) )
proof
let o3 be object of C; ::_thesis: ex M being Morphism of o2,o3 st
( M in <^o2,o3^> & ( for M1 being Morphism of o2,o3 st M1 in <^o2,o3^> holds
M = M1 ) )
consider M being Morphism of o1,o3 such that
A5: M in <^o1,o3^> and
A6: for M1 being Morphism of o1,o3 st M1 in <^o1,o3^> holds
M = M1 by A1, ALTCAT_3:25;
take M * m ; ::_thesis: ( M * m in <^o2,o3^> & ( for M1 being Morphism of o2,o3 st M1 in <^o2,o3^> holds
M * m = M1 ) )
<^o2,o3^> <> {} by A4, A5, ALTCAT_1:def_2;
hence M * m in <^o2,o3^> ; ::_thesis: for M1 being Morphism of o2,o3 st M1 in <^o2,o3^> holds
M * m = M1
let M1 be Morphism of o2,o3; ::_thesis: ( M1 in <^o2,o3^> implies M * m = M1 )
assume A7: M1 in <^o2,o3^> ; ::_thesis: M * m = M1
consider i2 being Morphism of o2,o2 such that
i2 in <^o2,o2^> and
A8: for M1 being Morphism of o2,o2 st M1 in <^o2,o2^> holds
i2 = M1 by A2, ALTCAT_3:27;
thus M * m = (M1 * l) * m by A5, A6
.= M1 * (l * m) by A4, A3, A7, ALTCAT_1:21
.= M1 * i2 by A8
.= M1 * (idm o2) by A8
.= M1 by A7, ALTCAT_1:def_17 ; ::_thesis: verum
end;
hence o2 is initial by ALTCAT_3:25; ::_thesis: o1 is terminal
for o3 being object of C ex M being Morphism of o3,o1 st
( M in <^o3,o1^> & ( for M1 being Morphism of o3,o1 st M1 in <^o3,o1^> holds
M = M1 ) )
proof
let o3 be object of C; ::_thesis: ex M being Morphism of o3,o1 st
( M in <^o3,o1^> & ( for M1 being Morphism of o3,o1 st M1 in <^o3,o1^> holds
M = M1 ) )
consider M being Morphism of o3,o2 such that
A9: M in <^o3,o2^> and
A10: for M1 being Morphism of o3,o2 st M1 in <^o3,o2^> holds
M = M1 by A2, ALTCAT_3:27;
take m * M ; ::_thesis: ( m * M in <^o3,o1^> & ( for M1 being Morphism of o3,o1 st M1 in <^o3,o1^> holds
m * M = M1 ) )
<^o3,o1^> <> {} by A4, A9, ALTCAT_1:def_2;
hence m * M in <^o3,o1^> ; ::_thesis: for M1 being Morphism of o3,o1 st M1 in <^o3,o1^> holds
m * M = M1
let M1 be Morphism of o3,o1; ::_thesis: ( M1 in <^o3,o1^> implies m * M = M1 )
assume A11: M1 in <^o3,o1^> ; ::_thesis: m * M = M1
consider i1 being Morphism of o1,o1 such that
i1 in <^o1,o1^> and
A12: for M1 being Morphism of o1,o1 st M1 in <^o1,o1^> holds
i1 = M1 by A1, ALTCAT_3:25;
thus m * M = m * (l * M1) by A9, A10
.= (m * l) * M1 by A4, A3, A11, ALTCAT_1:21
.= i1 * M1 by A12
.= (idm o1) * M1 by A12
.= M1 by A11, ALTCAT_1:20 ; ::_thesis: verum
end;
hence o1 is terminal by ALTCAT_3:27; ::_thesis: verum
end;
begin
theorem Th13: :: ALTCAT_4:13
for A, B being non empty transitive with_units AltCatStr
for F being contravariant Functor of A,B
for a being object of A holds F . (idm a) = idm (F . a)
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being contravariant Functor of A,B
for a being object of A holds F . (idm a) = idm (F . a)
let F be contravariant Functor of A,B; ::_thesis: for a being object of A holds F . (idm a) = idm (F . a)
let a be object of A; ::_thesis: F . (idm a) = idm (F . a)
thus F . (idm a) = (Morph-Map (F,a,a)) . (idm a) by FUNCTOR0:def_16
.= idm (F . a) by FUNCTOR0:def_20 ; ::_thesis: verum
end;
theorem Th14: :: ALTCAT_4:14
for C1, C2 being non empty AltCatStr
for F being Contravariant FunctorStr over C1,C2 holds
( F is full iff for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is onto )
proof
let C1, C2 be non empty AltCatStr ; ::_thesis: for F being Contravariant FunctorStr over C1,C2 holds
( F is full iff for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is onto )
let F be Contravariant FunctorStr over C1,C2; ::_thesis: ( F is full iff for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is onto )
set I = [: the carrier of C1, the carrier of C1:];
hereby ::_thesis: ( ( for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is onto ) implies F is full )
assume A1: F is full ; ::_thesis: for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is onto
let o1, o2 be object of C1; ::_thesis: Morph-Map (F,o2,o1) is onto
thus Morph-Map (F,o2,o1) is onto ::_thesis: verum
proof
A2: [o2,o1] in [: the carrier of C1, the carrier of C1:] by ZFMISC_1:87;
then A3: [o2,o1] in dom the ObjectMap of F by FUNCT_2:def_1;
consider f being ManySortedFunction of the Arrows of C1, the Arrows of C2 * the ObjectMap of F such that
A4: f = the MorphMap of F and
A5: f is "onto" by A1, FUNCTOR0:def_32;
rng (f . [o2,o1]) = ( the Arrows of C2 * the ObjectMap of F) . [o2,o1] by A5, A2, MSUALG_3:def_3;
hence rng (Morph-Map (F,o2,o1)) = the Arrows of C2 . ( the ObjectMap of F . (o2,o1)) by A4, A3, FUNCT_1:13
.= <^(F . o1),(F . o2)^> by FUNCTOR0:23 ;
:: according to FUNCT_2:def_3 ::_thesis: verum
end;
end;
assume A6: for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is onto ; ::_thesis: F is full
ex I29 being non empty set ex B9 being ManySortedSet of I29 ex f9 being Function of [: the carrier of C1, the carrier of C1:],I29 st
( the ObjectMap of F = f9 & the Arrows of C2 = B9 & the MorphMap of F is ManySortedFunction of the Arrows of C1,B9 * f9 ) by FUNCTOR0:def_3;
then reconsider f = the MorphMap of F as ManySortedFunction of the Arrows of C1, the Arrows of C2 * the ObjectMap of F ;
take f ; :: according to FUNCTOR0:def_32 ::_thesis: ( f = the MorphMap of F & f is "onto" )
thus f = the MorphMap of F ; ::_thesis: f is "onto"
let i be set ; :: according to MSUALG_3:def_3 ::_thesis: ( not i in [: the carrier of C1, the carrier of C1:] or proj2 (f . i) = ( the ObjectMap of F * the Arrows of C2) . i )
assume i in [: the carrier of C1, the carrier of C1:] ; ::_thesis: proj2 (f . i) = ( the ObjectMap of F * the Arrows of C2) . i
then consider o2, o1 being set such that
A7: ( o2 in the carrier of C1 & o1 in the carrier of C1 ) and
A8: i = [o2,o1] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C1 by A7;
[o2,o1] in [: the carrier of C1, the carrier of C1:] by ZFMISC_1:87;
then A9: [o2,o1] in dom the ObjectMap of F by FUNCT_2:def_1;
Morph-Map (F,o2,o1) is onto by A6;
then rng (Morph-Map (F,o2,o1)) = the Arrows of C2 . ((F . o1),(F . o2)) by FUNCT_2:def_3
.= the Arrows of C2 . ( the ObjectMap of F . (o2,o1)) by FUNCTOR0:23
.= ( the Arrows of C2 * the ObjectMap of F) . [o2,o1] by A9, FUNCT_1:13 ;
hence proj2 (f . i) = ( the ObjectMap of F * the Arrows of C2) . i by A8; ::_thesis: verum
end;
theorem Th15: :: ALTCAT_4:15
for C1, C2 being non empty AltCatStr
for F being Contravariant FunctorStr over C1,C2 holds
( F is faithful iff for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is one-to-one )
proof
let C1, C2 be non empty AltCatStr ; ::_thesis: for F being Contravariant FunctorStr over C1,C2 holds
( F is faithful iff for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is one-to-one )
let F be Contravariant FunctorStr over C1,C2; ::_thesis: ( F is faithful iff for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is one-to-one )
set I = [: the carrier of C1, the carrier of C1:];
hereby ::_thesis: ( ( for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is one-to-one ) implies F is faithful )
assume F is faithful ; ::_thesis: for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is one-to-one
then A1: the MorphMap of F is "1-1" by FUNCTOR0:def_30;
let o1, o2 be object of C1; ::_thesis: Morph-Map (F,o2,o1) is one-to-one
( [o2,o1] in [: the carrier of C1, the carrier of C1:] & dom the MorphMap of F = [: the carrier of C1, the carrier of C1:] ) by PARTFUN1:def_2, ZFMISC_1:87;
hence Morph-Map (F,o2,o1) is one-to-one by A1, MSUALG_3:def_2; ::_thesis: verum
end;
assume A2: for o1, o2 being object of C1 holds Morph-Map (F,o2,o1) is one-to-one ; ::_thesis: F is faithful
let i be set ; :: according to FUNCTOR0:def_30,MSUALG_3:def_2 ::_thesis: for b1 being set holds
( not i in proj1 the MorphMap of F or not the MorphMap of F . i = b1 or b1 is one-to-one )
let f be Function; ::_thesis: ( not i in proj1 the MorphMap of F or not the MorphMap of F . i = f or f is one-to-one )
assume that
A3: i in dom the MorphMap of F and
A4: the MorphMap of F . i = f ; ::_thesis: f is one-to-one
dom the MorphMap of F = [: the carrier of C1, the carrier of C1:] by PARTFUN1:def_2;
then consider o1, o2 being set such that
A5: ( o1 in the carrier of C1 & o2 in the carrier of C1 ) and
A6: i = [o1,o2] by A3, ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C1 by A5;
the MorphMap of F . (o1,o2) = Morph-Map (F,o1,o2) ;
hence f is one-to-one by A2, A4, A6; ::_thesis: verum
end;
theorem Th16: :: ALTCAT_4:16
for C1, C2 being non empty AltCatStr
for F being Covariant FunctorStr over C1,C2
for o1, o2 being object of C1
for Fm being Morphism of (F . o1),(F . o2) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
proof
let C1, C2 be non empty AltCatStr ; ::_thesis: for F being Covariant FunctorStr over C1,C2
for o1, o2 being object of C1
for Fm being Morphism of (F . o1),(F . o2) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
let F be Covariant FunctorStr over C1,C2; ::_thesis: for o1, o2 being object of C1
for Fm being Morphism of (F . o1),(F . o2) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
let o1, o2 be object of C1; ::_thesis: for Fm being Morphism of (F . o1),(F . o2) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
let Fm be Morphism of (F . o1),(F . o2); ::_thesis: ( <^o1,o2^> <> {} & F is full & F is feasible implies ex m being Morphism of o1,o2 st Fm = F . m )
assume A1: <^o1,o2^> <> {} ; ::_thesis: ( not F is full or not F is feasible or ex m being Morphism of o1,o2 st Fm = F . m )
assume F is full ; ::_thesis: ( not F is feasible or ex m being Morphism of o1,o2 st Fm = F . m )
then Morph-Map (F,o1,o2) is onto by FUNCTOR1:15;
then A2: rng (Morph-Map (F,o1,o2)) = <^(F . o1),(F . o2)^> by FUNCT_2:def_3;
assume F is feasible ; ::_thesis: ex m being Morphism of o1,o2 st Fm = F . m
then A3: <^(F . o1),(F . o2)^> <> {} by A1, FUNCTOR0:def_18;
then consider m being set such that
A4: m in dom (Morph-Map (F,o1,o2)) and
A5: Fm = (Morph-Map (F,o1,o2)) . m by A2, FUNCT_1:def_3;
reconsider m = m as Morphism of o1,o2 by A3, A4, FUNCT_2:def_1;
take m ; ::_thesis: Fm = F . m
thus Fm = F . m by A1, A3, A5, FUNCTOR0:def_15; ::_thesis: verum
end;
theorem Th17: :: ALTCAT_4:17
for C1, C2 being non empty AltCatStr
for F being Contravariant FunctorStr over C1,C2
for o1, o2 being object of C1
for Fm being Morphism of (F . o2),(F . o1) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
proof
let C1, C2 be non empty AltCatStr ; ::_thesis: for F being Contravariant FunctorStr over C1,C2
for o1, o2 being object of C1
for Fm being Morphism of (F . o2),(F . o1) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
let F be Contravariant FunctorStr over C1,C2; ::_thesis: for o1, o2 being object of C1
for Fm being Morphism of (F . o2),(F . o1) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
let o1, o2 be object of C1; ::_thesis: for Fm being Morphism of (F . o2),(F . o1) st <^o1,o2^> <> {} & F is full & F is feasible holds
ex m being Morphism of o1,o2 st Fm = F . m
let Fm be Morphism of (F . o2),(F . o1); ::_thesis: ( <^o1,o2^> <> {} & F is full & F is feasible implies ex m being Morphism of o1,o2 st Fm = F . m )
assume A1: <^o1,o2^> <> {} ; ::_thesis: ( not F is full or not F is feasible or ex m being Morphism of o1,o2 st Fm = F . m )
assume F is full ; ::_thesis: ( not F is feasible or ex m being Morphism of o1,o2 st Fm = F . m )
then Morph-Map (F,o1,o2) is onto by Th14;
then A2: rng (Morph-Map (F,o1,o2)) = <^(F . o2),(F . o1)^> by FUNCT_2:def_3;
assume F is feasible ; ::_thesis: ex m being Morphism of o1,o2 st Fm = F . m
then A3: <^(F . o2),(F . o1)^> <> {} by A1, FUNCTOR0:def_19;
then consider m being set such that
A4: m in dom (Morph-Map (F,o1,o2)) and
A5: Fm = (Morph-Map (F,o1,o2)) . m by A2, FUNCT_1:def_3;
reconsider m = m as Morphism of o1,o2 by A3, A4, FUNCT_2:def_1;
take m ; ::_thesis: Fm = F . m
thus Fm = F . m by A1, A3, A5, FUNCTOR0:def_16; ::_thesis: verum
end;
theorem Th18: :: ALTCAT_4:18
for A, B being non empty transitive with_units AltCatStr
for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is retraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is retraction
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is retraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is retraction
let a be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction implies F . a is retraction )
assume A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) ; ::_thesis: ( not a is retraction or F . a is retraction )
assume a is retraction ; ::_thesis: F . a is retraction
then consider b being Morphism of o2,o1 such that
A2: b is_right_inverse_of a by ALTCAT_3:def_2;
take F . b ; :: according to ALTCAT_3:def_2 ::_thesis: F . a is_left_inverse_of F . b
a * b = idm o2 by A2, ALTCAT_3:def_1;
hence (F . a) * (F . b) = F . (idm o2) by A1, FUNCTOR0:def_23
.= idm (F . o2) by FUNCTOR2:1 ;
:: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th19: :: ALTCAT_4:19
for A, B being non empty transitive with_units AltCatStr
for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is coretraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is coretraction
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is coretraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is coretraction
let a be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction implies F . a is coretraction )
assume A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) ; ::_thesis: ( not a is coretraction or F . a is coretraction )
assume a is coretraction ; ::_thesis: F . a is coretraction
then consider b being Morphism of o2,o1 such that
A2: a is_right_inverse_of b by ALTCAT_3:def_3;
take F . b ; :: according to ALTCAT_3:def_3 ::_thesis: F . b is_left_inverse_of F . a
b * a = idm o1 by A2, ALTCAT_3:def_1;
hence (F . b) * (F . a) = F . (idm o1) by A1, FUNCTOR0:def_23
.= idm (F . o1) by FUNCTOR2:1 ;
:: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th20: :: ALTCAT_4:20
for A, B being category
for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
proof
let A, B be category; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
let a be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso implies F . a is iso )
assume that
A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) and
A2: a is iso ; ::_thesis: F . a is iso
( a is retraction & a is coretraction ) by A1, A2, ALTCAT_3:6;
then A3: ( F . a is retraction & F . a is coretraction ) by A1, Th18, Th19;
( <^(F . o1),(F . o2)^> <> {} & <^(F . o2),(F . o1)^> <> {} ) by A1, FUNCTOR0:def_18;
hence F . a is iso by A3, ALTCAT_3:6; ::_thesis: verum
end;
theorem :: ALTCAT_4:21
for A, B being category
for F being covariant Functor of A,B
for o1, o2 being object of A st o1,o2 are_iso holds
F . o1,F . o2 are_iso
proof
let A, B be category; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A st o1,o2 are_iso holds
F . o1,F . o2 are_iso
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A st o1,o2 are_iso holds
F . o1,F . o2 are_iso
let o1, o2 be object of A; ::_thesis: ( o1,o2 are_iso implies F . o1,F . o2 are_iso )
assume A1: o1,o2 are_iso ; ::_thesis: F . o1,F . o2 are_iso
then consider a being Morphism of o1,o2 such that
A2: a is iso by ALTCAT_3:def_6;
A3: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A1, ALTCAT_3:def_6;
hence ( <^(F . o1),(F . o2)^> <> {} & <^(F . o2),(F . o1)^> <> {} ) by FUNCTOR0:def_18; :: according to ALTCAT_3:def_6 ::_thesis: ex b1 being M2(<^(F . o1),(F . o2)^>) st b1 is iso
take F . a ; ::_thesis: F . a is iso
thus F . a is iso by A3, A2, Th20; ::_thesis: verum
end;
theorem Th22: :: ALTCAT_4:22
for A, B being non empty transitive with_units AltCatStr
for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is coretraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is coretraction
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is coretraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction holds
F . a is coretraction
let a be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is retraction implies F . a is coretraction )
assume A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) ; ::_thesis: ( not a is retraction or F . a is coretraction )
assume a is retraction ; ::_thesis: F . a is coretraction
then consider b being Morphism of o2,o1 such that
A2: b is_right_inverse_of a by ALTCAT_3:def_2;
take F . b ; :: according to ALTCAT_3:def_3 ::_thesis: F . b is_left_inverse_of F . a
a * b = idm o2 by A2, ALTCAT_3:def_1;
hence (F . b) * (F . a) = F . (idm o2) by A1, FUNCTOR0:def_24
.= idm (F . o2) by Th13 ;
:: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th23: :: ALTCAT_4:23
for A, B being non empty transitive with_units AltCatStr
for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is retraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is retraction
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is retraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction holds
F . a is retraction
let a be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is coretraction implies F . a is retraction )
assume A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) ; ::_thesis: ( not a is coretraction or F . a is retraction )
assume a is coretraction ; ::_thesis: F . a is retraction
then consider b being Morphism of o2,o1 such that
A2: a is_right_inverse_of b by ALTCAT_3:def_3;
take F . b ; :: according to ALTCAT_3:def_2 ::_thesis: F . a is_left_inverse_of F . b
b * a = idm o1 by A2, ALTCAT_3:def_1;
hence (F . a) * (F . b) = F . (idm o1) by A1, FUNCTOR0:def_24
.= idm (F . o1) by Th13 ;
:: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th24: :: ALTCAT_4:24
for A, B being category
for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
proof
let A, B be category; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso holds
F . a is iso
let a be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & a is iso implies F . a is iso )
assume that
A1: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) and
A2: a is iso ; ::_thesis: F . a is iso
( a is retraction & a is coretraction ) by A1, A2, ALTCAT_3:6;
then A3: ( F . a is retraction & F . a is coretraction ) by A1, Th22, Th23;
( <^(F . o1),(F . o2)^> <> {} & <^(F . o2),(F . o1)^> <> {} ) by A1, FUNCTOR0:def_19;
hence F . a is iso by A3, ALTCAT_3:6; ::_thesis: verum
end;
theorem :: ALTCAT_4:25
for A, B being category
for F being contravariant Functor of A,B
for o1, o2 being object of A st o1,o2 are_iso holds
F . o2,F . o1 are_iso
proof
let A, B be category; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A st o1,o2 are_iso holds
F . o2,F . o1 are_iso
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A st o1,o2 are_iso holds
F . o2,F . o1 are_iso
let o1, o2 be object of A; ::_thesis: ( o1,o2 are_iso implies F . o2,F . o1 are_iso )
assume A1: o1,o2 are_iso ; ::_thesis: F . o2,F . o1 are_iso
then consider a being Morphism of o1,o2 such that
A2: a is iso by ALTCAT_3:def_6;
A3: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A1, ALTCAT_3:def_6;
hence ( <^(F . o2),(F . o1)^> <> {} & <^(F . o1),(F . o2)^> <> {} ) by FUNCTOR0:def_19; :: according to ALTCAT_3:def_6 ::_thesis: ex b1 being M2(<^(F . o2),(F . o1)^>) st b1 is iso
take F . a ; ::_thesis: F . a is iso
thus F . a is iso by A3, A2, Th24; ::_thesis: verum
end;
theorem Th26: :: ALTCAT_4:26
for A, B being non empty transitive with_units AltCatStr
for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is retraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is retraction
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is retraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is retraction
let a be Morphism of o1,o2; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction implies a is retraction )
assume that
A1: ( F is full & F is faithful ) and
A2: <^o1,o2^> <> {} and
A3: <^o2,o1^> <> {} ; ::_thesis: ( not F . a is retraction or a is retraction )
A4: <^(F . o2),(F . o1)^> <> {} by A3, FUNCTOR0:def_18;
assume F . a is retraction ; ::_thesis: a is retraction
then consider b being Morphism of (F . o2),(F . o1) such that
A5: b is_right_inverse_of F . a by ALTCAT_3:def_2;
Morph-Map (F,o2,o1) is onto by A1, FUNCTOR1:15;
then rng (Morph-Map (F,o2,o1)) = <^(F . o2),(F . o1)^> by FUNCT_2:def_3;
then consider a9 being set such that
A6: a9 in dom (Morph-Map (F,o2,o1)) and
A7: b = (Morph-Map (F,o2,o1)) . a9 by A4, FUNCT_1:def_3;
reconsider a9 = a9 as Morphism of o2,o1 by A4, A6, FUNCT_2:def_1;
take a9 ; :: according to ALTCAT_3:def_2 ::_thesis: a is_left_inverse_of a9
A8: (F . a) * b = idm (F . o2) by A5, ALTCAT_3:def_1;
A9: ( dom (Morph-Map (F,o2,o2)) = <^o2,o2^> & Morph-Map (F,o2,o2) is one-to-one ) by A1, FUNCTOR1:16, FUNCT_2:def_1;
(Morph-Map (F,o2,o2)) . (idm o2) = F . (idm o2) by FUNCTOR0:def_15
.= idm (F . o2) by FUNCTOR2:1
.= (F . a) * (F . a9) by A3, A8, A4, A7, FUNCTOR0:def_15
.= F . (a * a9) by A2, A3, FUNCTOR0:def_23
.= (Morph-Map (F,o2,o2)) . (a * a9) by FUNCTOR0:def_15 ;
hence a * a9 = idm o2 by A9, FUNCT_1:def_4; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th27: :: ALTCAT_4:27
for A, B being non empty transitive with_units AltCatStr
for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is coretraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is coretraction
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is coretraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is coretraction
let a be Morphism of o1,o2; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction implies a is coretraction )
assume that
A1: ( F is full & F is faithful ) and
A2: <^o1,o2^> <> {} and
A3: <^o2,o1^> <> {} ; ::_thesis: ( not F . a is coretraction or a is coretraction )
A4: <^(F . o2),(F . o1)^> <> {} by A3, FUNCTOR0:def_18;
assume F . a is coretraction ; ::_thesis: a is coretraction
then consider b being Morphism of (F . o2),(F . o1) such that
A5: F . a is_right_inverse_of b by ALTCAT_3:def_3;
Morph-Map (F,o2,o1) is onto by A1, FUNCTOR1:15;
then rng (Morph-Map (F,o2,o1)) = <^(F . o2),(F . o1)^> by FUNCT_2:def_3;
then consider a9 being set such that
A6: a9 in dom (Morph-Map (F,o2,o1)) and
A7: b = (Morph-Map (F,o2,o1)) . a9 by A4, FUNCT_1:def_3;
reconsider a9 = a9 as Morphism of o2,o1 by A4, A6, FUNCT_2:def_1;
take a9 ; :: according to ALTCAT_3:def_3 ::_thesis: a9 is_left_inverse_of a
A8: b * (F . a) = idm (F . o1) by A5, ALTCAT_3:def_1;
A9: ( dom (Morph-Map (F,o1,o1)) = <^o1,o1^> & Morph-Map (F,o1,o1) is one-to-one ) by A1, FUNCTOR1:16, FUNCT_2:def_1;
(Morph-Map (F,o1,o1)) . (idm o1) = F . (idm o1) by FUNCTOR0:def_15
.= idm (F . o1) by FUNCTOR2:1
.= (F . a9) * (F . a) by A3, A8, A4, A7, FUNCTOR0:def_15
.= F . (a9 * a) by A2, A3, FUNCTOR0:def_23
.= (Morph-Map (F,o1,o1)) . (a9 * a) by FUNCTOR0:def_15 ;
hence a9 * a = idm o1 by A9, FUNCT_1:def_4; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th28: :: ALTCAT_4:28
for A, B being category
for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
proof
let A, B be category; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
let a be Morphism of o1,o2; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso implies a is iso )
assume that
A1: ( F is full & F is faithful ) and
A2: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) and
A3: F . a is iso ; ::_thesis: a is iso
( <^(F . o1),(F . o2)^> <> {} & <^(F . o2),(F . o1)^> <> {} ) by A2, FUNCTOR0:def_18;
then ( F . a is retraction & F . a is coretraction ) by A3, ALTCAT_3:6;
then ( a is retraction & a is coretraction ) by A1, A2, Th26, Th27;
hence a is iso by A2, ALTCAT_3:6; ::_thesis: verum
end;
theorem :: ALTCAT_4:29
for A, B being category
for F being covariant Functor of A,B
for o1, o2 being object of A st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o1,F . o2 are_iso holds
o1,o2 are_iso
proof
let A, B be category; ::_thesis: for F being covariant Functor of A,B
for o1, o2 being object of A st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o1,F . o2 are_iso holds
o1,o2 are_iso
let F be covariant Functor of A,B; ::_thesis: for o1, o2 being object of A st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o1,F . o2 are_iso holds
o1,o2 are_iso
let o1, o2 be object of A; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o1,F . o2 are_iso implies o1,o2 are_iso )
assume that
A1: ( F is full & F is faithful ) and
A2: <^o1,o2^> <> {} and
A3: <^o2,o1^> <> {} and
A4: F . o1,F . o2 are_iso ; ::_thesis: o1,o2 are_iso
consider Fa being Morphism of (F . o1),(F . o2) such that
A5: Fa is iso by A4, ALTCAT_3:def_6;
consider a being Morphism of o1,o2 such that
A6: Fa = F . a by A1, A2, Th16;
thus ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A2, A3; :: according to ALTCAT_3:def_6 ::_thesis: ex b1 being M2(<^o1,o2^>) st b1 is iso
take a ; ::_thesis: a is iso
thus a is iso by A1, A2, A3, A5, A6, Th28; ::_thesis: verum
end;
theorem Th30: :: ALTCAT_4:30
for A, B being non empty transitive with_units AltCatStr
for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is coretraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is coretraction
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is coretraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction holds
a is coretraction
let a be Morphism of o1,o2; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is retraction implies a is coretraction )
assume that
A1: ( F is full & F is faithful ) and
A2: <^o1,o2^> <> {} and
A3: <^o2,o1^> <> {} ; ::_thesis: ( not F . a is retraction or a is coretraction )
A4: <^(F . o1),(F . o2)^> <> {} by A3, FUNCTOR0:def_19;
assume F . a is retraction ; ::_thesis: a is coretraction
then consider b being Morphism of (F . o1),(F . o2) such that
A5: b is_right_inverse_of F . a by ALTCAT_3:def_2;
Morph-Map (F,o2,o1) is onto by A1, Th14;
then rng (Morph-Map (F,o2,o1)) = <^(F . o1),(F . o2)^> by FUNCT_2:def_3;
then consider a9 being set such that
A6: a9 in dom (Morph-Map (F,o2,o1)) and
A7: b = (Morph-Map (F,o2,o1)) . a9 by A4, FUNCT_1:def_3;
reconsider a9 = a9 as Morphism of o2,o1 by A4, A6, FUNCT_2:def_1;
take a9 ; :: according to ALTCAT_3:def_3 ::_thesis: a9 is_left_inverse_of a
A8: (F . a) * b = idm (F . o1) by A5, ALTCAT_3:def_1;
A9: ( dom (Morph-Map (F,o1,o1)) = <^o1,o1^> & Morph-Map (F,o1,o1) is one-to-one ) by A1, Th15, FUNCT_2:def_1;
(Morph-Map (F,o1,o1)) . (idm o1) = F . (idm o1) by FUNCTOR0:def_16
.= idm (F . o1) by Th13
.= (F . a) * (F . a9) by A3, A8, A4, A7, FUNCTOR0:def_16
.= F . (a9 * a) by A2, A3, FUNCTOR0:def_24
.= (Morph-Map (F,o1,o1)) . (a9 * a) by FUNCTOR0:def_16 ;
hence a9 * a = idm o1 by A9, FUNCT_1:def_4; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th31: :: ALTCAT_4:31
for A, B being non empty transitive with_units AltCatStr
for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is retraction
proof
let A, B be non empty transitive with_units AltCatStr ; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is retraction
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is retraction
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction holds
a is retraction
let a be Morphism of o1,o2; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is coretraction implies a is retraction )
assume that
A1: ( F is full & F is faithful ) and
A2: <^o1,o2^> <> {} and
A3: <^o2,o1^> <> {} ; ::_thesis: ( not F . a is coretraction or a is retraction )
A4: <^(F . o1),(F . o2)^> <> {} by A3, FUNCTOR0:def_19;
assume F . a is coretraction ; ::_thesis: a is retraction
then consider b being Morphism of (F . o1),(F . o2) such that
A5: F . a is_right_inverse_of b by ALTCAT_3:def_3;
Morph-Map (F,o2,o1) is onto by A1, Th14;
then rng (Morph-Map (F,o2,o1)) = <^(F . o1),(F . o2)^> by FUNCT_2:def_3;
then consider a9 being set such that
A6: a9 in dom (Morph-Map (F,o2,o1)) and
A7: b = (Morph-Map (F,o2,o1)) . a9 by A4, FUNCT_1:def_3;
reconsider a9 = a9 as Morphism of o2,o1 by A4, A6, FUNCT_2:def_1;
take a9 ; :: according to ALTCAT_3:def_2 ::_thesis: a is_left_inverse_of a9
A8: b * (F . a) = idm (F . o2) by A5, ALTCAT_3:def_1;
A9: ( dom (Morph-Map (F,o2,o2)) = <^o2,o2^> & Morph-Map (F,o2,o2) is one-to-one ) by A1, Th15, FUNCT_2:def_1;
(Morph-Map (F,o2,o2)) . (idm o2) = F . (idm o2) by FUNCTOR0:def_16
.= idm (F . o2) by Th13
.= (F . a9) * (F . a) by A3, A8, A4, A7, FUNCTOR0:def_16
.= F . (a * a9) by A2, A3, FUNCTOR0:def_24
.= (Morph-Map (F,o2,o2)) . (a * a9) by FUNCTOR0:def_16 ;
hence a * a9 = idm o2 by A9, FUNCT_1:def_4; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem Th32: :: ALTCAT_4:32
for A, B being category
for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
proof
let A, B be category; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A
for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
let o1, o2 be object of A; ::_thesis: for a being Morphism of o1,o2 st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso holds
a is iso
let a be Morphism of o1,o2; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . a is iso implies a is iso )
assume that
A1: ( F is full & F is faithful ) and
A2: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) and
A3: F . a is iso ; ::_thesis: a is iso
( <^(F . o1),(F . o2)^> <> {} & <^(F . o2),(F . o1)^> <> {} ) by A2, FUNCTOR0:def_19;
then ( F . a is retraction & F . a is coretraction ) by A3, ALTCAT_3:6;
then ( a is retraction & a is coretraction ) by A1, A2, Th30, Th31;
hence a is iso by A2, ALTCAT_3:6; ::_thesis: verum
end;
theorem :: ALTCAT_4:33
for A, B being category
for F being contravariant Functor of A,B
for o1, o2 being object of A st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o2,F . o1 are_iso holds
o1,o2 are_iso
proof
let A, B be category; ::_thesis: for F being contravariant Functor of A,B
for o1, o2 being object of A st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o2,F . o1 are_iso holds
o1,o2 are_iso
let F be contravariant Functor of A,B; ::_thesis: for o1, o2 being object of A st F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o2,F . o1 are_iso holds
o1,o2 are_iso
let o1, o2 be object of A; ::_thesis: ( F is full & F is faithful & <^o1,o2^> <> {} & <^o2,o1^> <> {} & F . o2,F . o1 are_iso implies o1,o2 are_iso )
assume that
A1: ( F is full & F is faithful ) and
A2: <^o1,o2^> <> {} and
A3: <^o2,o1^> <> {} and
A4: F . o2,F . o1 are_iso ; ::_thesis: o1,o2 are_iso
consider Fa being Morphism of (F . o2),(F . o1) such that
A5: Fa is iso by A4, ALTCAT_3:def_6;
consider a being Morphism of o1,o2 such that
A6: Fa = F . a by A1, A2, Th17;
thus ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A2, A3; :: according to ALTCAT_3:def_6 ::_thesis: ex b1 being M2(<^o1,o2^>) st b1 is iso
take a ; ::_thesis: a is iso
thus a is iso by A1, A2, A3, A5, A6, Th32; ::_thesis: verum
end;
Lm1: now__::_thesis:_for_C_being_non_empty_transitive_AltCatStr_
for_p1,_p2,_p3_being_object_of_C_st_the_Arrows_of_C_._(p1,p3)_=_{}_holds_
[:(_the_Arrows_of_C_._(p2,p3)),(_the_Arrows_of_C_._(p1,p2)):]_=_{}
let C be non empty transitive AltCatStr ; ::_thesis: for p1, p2, p3 being object of C st the Arrows of C . (p1,p3) = {} holds
[:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {}
let p1, p2, p3 be object of C; ::_thesis: ( the Arrows of C . (p1,p3) = {} implies [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} )
assume A1: the Arrows of C . (p1,p3) = {} ; ::_thesis: [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {}
thus [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} ::_thesis: verum
proof
assume [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] <> {} ; ::_thesis: contradiction
then consider k being set such that
A2: k in [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] by XBOOLE_0:def_1;
consider u1, u2 being set such that
A3: ( u1 in the Arrows of C . (p2,p3) & u2 in the Arrows of C . (p1,p2) ) and
k = [u1,u2] by A2, ZFMISC_1:def_2;
( u1 in <^p2,p3^> & u2 in <^p1,p2^> ) by A3;
then <^p1,p3^> <> {} by ALTCAT_1:def_2;
hence contradiction by A1; ::_thesis: verum
end;
end;
begin
theorem Th34: :: ALTCAT_4:34
for C being AltCatStr
for D being SubCatStr of C st the carrier of C = the carrier of D & the Arrows of C = the Arrows of D holds
D is full
proof
let C be AltCatStr ; ::_thesis: for D being SubCatStr of C st the carrier of C = the carrier of D & the Arrows of C = the Arrows of D holds
D is full
let D be SubCatStr of C; ::_thesis: ( the carrier of C = the carrier of D & the Arrows of C = the Arrows of D implies D is full )
assume that
A1: the carrier of C = the carrier of D and
A2: the Arrows of C = the Arrows of D ; ::_thesis: D is full
dom the Arrows of C = [: the carrier of D, the carrier of D:] by A1, PARTFUN1:def_2;
hence the Arrows of D = the Arrows of C || the carrier of D by A2, RELAT_1:68; :: according to ALTCAT_2:def_13 ::_thesis: verum
end;
theorem Th35: :: ALTCAT_4:35
for C being non empty with_units AltCatStr
for D being SubCatStr of C st the carrier of C = the carrier of D & the Arrows of C = the Arrows of D holds
D is id-inheriting
proof
let C be non empty with_units AltCatStr ; ::_thesis: for D being SubCatStr of C st the carrier of C = the carrier of D & the Arrows of C = the Arrows of D holds
D is id-inheriting
let D be SubCatStr of C; ::_thesis: ( the carrier of C = the carrier of D & the Arrows of C = the Arrows of D implies D is id-inheriting )
assume ( the carrier of C = the carrier of D & the Arrows of C = the Arrows of D ) ; ::_thesis: D is id-inheriting
then reconsider D = D as non empty full SubCatStr of C by Th34;
now__::_thesis:_for_o_being_object_of_D
for_o9_being_object_of_C_st_o_=_o9_holds_
idm_o9_in_<^o,o^>
let o be object of D; ::_thesis: for o9 being object of C st o = o9 holds
idm o9 in <^o,o^>
let o9 be object of C; ::_thesis: ( o = o9 implies idm o9 in <^o,o^> )
assume o = o9 ; ::_thesis: idm o9 in <^o,o^>
then <^o9,o9^> = <^o,o^> by ALTCAT_2:28;
hence idm o9 in <^o,o^> ; ::_thesis: verum
end;
hence D is id-inheriting by ALTCAT_2:def_14; ::_thesis: verum
end;
registration
let C be category;
cluster non empty transitive strict full id-inheriting for SubCatStr of C;
existence
ex b1 being subcategory of C st
( b1 is full & not b1 is empty & b1 is strict )
proof
reconsider D = AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) as SubCatStr of C by ALTCAT_2:def_11;
reconsider D = D as non empty full id-inheriting SubCatStr of C by Th34, Th35;
take D ; ::_thesis: ( D is full & not D is empty & D is strict )
thus ( D is full & not D is empty & D is strict ) ; ::_thesis: verum
end;
end;
theorem Th36: :: ALTCAT_4:36
for C being category
for B being non empty subcategory of C
for A being non empty subcategory of B holds A is non empty subcategory of C
proof
let C be category; ::_thesis: for B being non empty subcategory of C
for A being non empty subcategory of B holds A is non empty subcategory of C
let B be non empty subcategory of C; ::_thesis: for A being non empty subcategory of B holds A is non empty subcategory of C
let A be non empty subcategory of B; ::_thesis: A is non empty subcategory of C
reconsider D = A as non empty with_units SubCatStr of C by ALTCAT_2:21;
now__::_thesis:_for_o_being_object_of_D
for_o1_being_object_of_C_st_o_=_o1_holds_
idm_o1_in_<^o,o^>
let o be object of D; ::_thesis: for o1 being object of C st o = o1 holds
idm o1 in <^o,o^>
let o1 be object of C; ::_thesis: ( o = o1 implies idm o1 in <^o,o^> )
assume A1: o = o1 ; ::_thesis: idm o1 in <^o,o^>
( o in the carrier of D & the carrier of D c= the carrier of B ) by ALTCAT_2:def_11;
then reconsider oo = o as object of B ;
idm o = idm oo by ALTCAT_2:34
.= idm o1 by A1, ALTCAT_2:34 ;
hence idm o1 in <^o,o^> ; ::_thesis: verum
end;
hence A is non empty subcategory of C by ALTCAT_2:def_14; ::_thesis: verum
end;
theorem Th37: :: ALTCAT_4:37
for C being non empty transitive AltCatStr
for D being non empty transitive SubCatStr of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} holds
( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
proof
let C be non empty transitive AltCatStr ; ::_thesis: for D being non empty transitive SubCatStr of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} holds
( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
let D be non empty transitive SubCatStr of C; ::_thesis: for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} holds
( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
let o1, o2 be object of C; ::_thesis: for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} holds
( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
let p1, p2 be object of D; ::_thesis: for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} holds
( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
let m be Morphism of o1,o2; ::_thesis: for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} holds
( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
let n be Morphism of p1,p2; ::_thesis: ( p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} implies ( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) ) )
assume that
A1: p1 = o1 and
A2: p2 = o2 and
A3: ( m = n & <^p1,p2^> <> {} ) ; ::_thesis: ( ( m is mono implies n is mono ) & ( m is epi implies n is epi ) )
thus ( m is mono implies n is mono ) ::_thesis: ( m is epi implies n is epi )
proof
assume A4: m is mono ; ::_thesis: n is mono
let p3 be object of D; :: according to ALTCAT_3:def_7 ::_thesis: ( <^p3,p1^> = {} or for b1, b2 being M2(<^p3,p1^>) holds
( not n * b1 = n * b2 or b1 = b2 ) )
assume A5: <^p3,p1^> <> {} ; ::_thesis: for b1, b2 being M2(<^p3,p1^>) holds
( not n * b1 = n * b2 or b1 = b2 )
reconsider o3 = p3 as object of C by ALTCAT_2:29;
A6: <^o3,o1^> <> {} by A1, A5, ALTCAT_2:31, XBOOLE_1:3;
let f, g be Morphism of p3,p1; ::_thesis: ( not n * f = n * g or f = g )
assume A7: n * f = n * g ; ::_thesis: f = g
reconsider f1 = f, g1 = g as Morphism of o3,o1 by A1, A5, ALTCAT_2:33;
m * f1 = n * f by A1, A2, A3, A5, ALTCAT_2:32
.= m * g1 by A1, A2, A3, A5, A7, ALTCAT_2:32 ;
hence f = g by A4, A6, ALTCAT_3:def_7; ::_thesis: verum
end;
assume A8: m is epi ; ::_thesis: n is epi
let p3 be object of D; :: according to ALTCAT_3:def_8 ::_thesis: ( <^p2,p3^> = {} or for b1, b2 being M2(<^p2,p3^>) holds
( not b1 * n = b2 * n or b1 = b2 ) )
assume A9: <^p2,p3^> <> {} ; ::_thesis: for b1, b2 being M2(<^p2,p3^>) holds
( not b1 * n = b2 * n or b1 = b2 )
reconsider o3 = p3 as object of C by ALTCAT_2:29;
A10: <^o2,o3^> <> {} by A2, A9, ALTCAT_2:31, XBOOLE_1:3;
let f, g be Morphism of p2,p3; ::_thesis: ( not f * n = g * n or f = g )
assume A11: f * n = g * n ; ::_thesis: f = g
reconsider f1 = f, g1 = g as Morphism of o2,o3 by A2, A9, ALTCAT_2:33;
f1 * m = f * n by A1, A2, A3, A9, ALTCAT_2:32
.= g1 * m by A1, A2, A3, A9, A11, ALTCAT_2:32 ;
hence f = g by A8, A10, ALTCAT_3:def_8; ::_thesis: verum
end;
theorem Th38: :: ALTCAT_4:38
for C being category
for D being non empty subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for m1 being Morphism of o2,o1
for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
proof
let C be category; ::_thesis: for D being non empty subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for m1 being Morphism of o2,o1
for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let D be non empty subcategory of C; ::_thesis: for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for m1 being Morphism of o2,o1
for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let o1, o2 be object of C; ::_thesis: for p1, p2 being object of D
for m being Morphism of o1,o2
for m1 being Morphism of o2,o1
for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let p1, p2 be object of D; ::_thesis: for m being Morphism of o1,o2
for m1 being Morphism of o2,o1
for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let m be Morphism of o1,o2; ::_thesis: for m1 being Morphism of o2,o1
for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let m1 be Morphism of o2,o1; ::_thesis: for n being Morphism of p1,p2
for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let n be Morphism of p1,p2; ::_thesis: for n1 being Morphism of p2,p1 st p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
let n1 be Morphism of p2,p1; ::_thesis: ( p1 = o1 & p2 = o2 & m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} implies ( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) ) )
assume that
A1: p1 = o1 and
A2: p2 = o2 and
A3: ( m = n & m1 = n1 & <^p1,p2^> <> {} & <^p2,p1^> <> {} ) ; ::_thesis: ( ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) & ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 ) & ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) & ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 ) )
thus ( m is_left_inverse_of m1 iff n is_left_inverse_of n1 ) ::_thesis: ( m is_right_inverse_of m1 iff n is_right_inverse_of n1 )
proof
thus ( m is_left_inverse_of m1 implies n is_left_inverse_of n1 ) ::_thesis: ( n is_left_inverse_of n1 implies m is_left_inverse_of m1 )
proof
assume A4: m is_left_inverse_of m1 ; ::_thesis: n is_left_inverse_of n1
thus n * n1 = m * m1 by A1, A2, A3, ALTCAT_2:32
.= idm o2 by A4, ALTCAT_3:def_1
.= idm p2 by A2, ALTCAT_2:34 ; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
assume A5: n is_left_inverse_of n1 ; ::_thesis: m is_left_inverse_of m1
thus m * m1 = n * n1 by A1, A2, A3, ALTCAT_2:32
.= idm p2 by A5, ALTCAT_3:def_1
.= idm o2 by A2, ALTCAT_2:34 ; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
thus ( m is_right_inverse_of m1 implies n is_right_inverse_of n1 ) ::_thesis: ( n is_right_inverse_of n1 implies m is_right_inverse_of m1 )
proof
assume A6: m is_right_inverse_of m1 ; ::_thesis: n is_right_inverse_of n1
thus n1 * n = m1 * m by A1, A2, A3, ALTCAT_2:32
.= idm o1 by A6, ALTCAT_3:def_1
.= idm p1 by A1, ALTCAT_2:34 ; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
assume A7: n is_right_inverse_of n1 ; ::_thesis: m is_right_inverse_of m1
thus m1 * m = n1 * n by A1, A2, A3, ALTCAT_2:32
.= idm p1 by A7, ALTCAT_3:def_1
.= idm o1 by A1, ALTCAT_2:34 ; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
theorem :: ALTCAT_4:39
for C being category
for D being non empty full subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
proof
let C be category; ::_thesis: for D being non empty full subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
let D be non empty full subcategory of C; ::_thesis: for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
let o1, o2 be object of C; ::_thesis: for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
let p1, p2 be object of D; ::_thesis: for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
let m be Morphism of o1,o2; ::_thesis: for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
let n be Morphism of p1,p2; ::_thesis: ( p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} implies ( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) ) )
assume that
A1: ( p1 = o1 & p2 = o2 ) and
A2: m = n and
A3: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} ) ; ::_thesis: ( ( m is retraction implies n is retraction ) & ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
thus A4: ( m is retraction implies n is retraction ) ::_thesis: ( ( m is coretraction implies n is coretraction ) & ( m is iso implies n is iso ) )
proof
assume m is retraction ; ::_thesis: n is retraction
then consider B being Morphism of o2,o1 such that
A5: B is_right_inverse_of m by ALTCAT_3:def_2;
reconsider B1 = B as Morphism of p2,p1 by A1, ALTCAT_2:28;
take B1 ; :: according to ALTCAT_3:def_2 ::_thesis: n is_left_inverse_of B1
thus n is_left_inverse_of B1 by A1, A2, A3, A5, Th38; ::_thesis: verum
end;
thus A6: ( m is coretraction implies n is coretraction ) ::_thesis: ( m is iso implies n is iso )
proof
assume m is coretraction ; ::_thesis: n is coretraction
then consider B being Morphism of o2,o1 such that
A7: B is_left_inverse_of m by ALTCAT_3:def_3;
reconsider B1 = B as Morphism of p2,p1 by A1, ALTCAT_2:28;
take B1 ; :: according to ALTCAT_3:def_3 ::_thesis: B1 is_left_inverse_of n
thus B1 is_left_inverse_of n by A1, A2, A3, A7, Th38; ::_thesis: verum
end;
assume m is iso ; ::_thesis: n is iso
hence n is iso by A3, A4, A6, ALTCAT_3:5, ALTCAT_3:6; ::_thesis: verum
end;
theorem Th40: :: ALTCAT_4:40
for C being category
for D being non empty subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
proof
let C be category; ::_thesis: for D being non empty subcategory of C
for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let D be non empty subcategory of C; ::_thesis: for o1, o2 being object of C
for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let o1, o2 be object of C; ::_thesis: for p1, p2 being object of D
for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let p1, p2 be object of D; ::_thesis: for m being Morphism of o1,o2
for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let m be Morphism of o1,o2; ::_thesis: for n being Morphism of p1,p2 st p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} holds
( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
let n be Morphism of p1,p2; ::_thesis: ( p1 = o1 & p2 = o2 & m = n & <^p1,p2^> <> {} & <^p2,p1^> <> {} implies ( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) ) )
assume that
A1: ( p1 = o1 & p2 = o2 ) and
A2: m = n and
A3: <^p1,p2^> <> {} and
A4: <^p2,p1^> <> {} ; ::_thesis: ( ( n is retraction implies m is retraction ) & ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
A5: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A1, A3, A4, ALTCAT_2:31, XBOOLE_1:3;
thus A6: ( n is retraction implies m is retraction ) ::_thesis: ( ( n is coretraction implies m is coretraction ) & ( n is iso implies m is iso ) )
proof
assume n is retraction ; ::_thesis: m is retraction
then consider B being Morphism of p2,p1 such that
A7: B is_right_inverse_of n by ALTCAT_3:def_2;
reconsider B1 = B as Morphism of o2,o1 by A1, A4, ALTCAT_2:33;
take B1 ; :: according to ALTCAT_3:def_2 ::_thesis: m is_left_inverse_of B1
thus m is_left_inverse_of B1 by A1, A2, A3, A4, A7, Th38; ::_thesis: verum
end;
thus A8: ( n is coretraction implies m is coretraction ) ::_thesis: ( n is iso implies m is iso )
proof
assume n is coretraction ; ::_thesis: m is coretraction
then consider B being Morphism of p2,p1 such that
A9: B is_left_inverse_of n by ALTCAT_3:def_3;
reconsider B1 = B as Morphism of o2,o1 by A1, A4, ALTCAT_2:33;
take B1 ; :: according to ALTCAT_3:def_3 ::_thesis: B1 is_left_inverse_of m
thus B1 is_left_inverse_of m by A1, A2, A3, A4, A9, Th38; ::_thesis: verum
end;
assume n is iso ; ::_thesis: m is iso
hence m is iso by A6, A8, A5, ALTCAT_3:5, ALTCAT_3:6; ::_thesis: verum
end;
definition
let C be category;
func AllMono C -> non empty transitive strict SubCatStr of C means :Def1: :: ALTCAT_4:def 1
( the carrier of it = the carrier of C & the Arrows of it cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of it . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) );
existence
ex b1 being non empty transitive strict SubCatStr of C st
( the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) )
proof
defpred S1[ set , set ] means for x being set holds
( x in $2 iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( $1 = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono ) );
set I = the carrier of C;
A1: for i being set st i in [: the carrier of C, the carrier of C:] holds
ex X being set st S1[i,X]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies ex X being set st S1[i,X] )
assume i in [: the carrier of C, the carrier of C:] ; ::_thesis: ex X being set st S1[i,X]
then consider o1, o2 being set such that
A2: ( o1 in the carrier of C & o2 in the carrier of C ) and
A3: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A2;
defpred S2[ set ] means ex m being Morphism of o1,o2 st
( <^o1,o2^> <> {} & m = $1 & m is mono );
consider X being set such that
A4: for x being set holds
( x in X iff ( x in the Arrows of C . (o1,o2) & S2[x] ) ) from XBOOLE_0:sch_1();
take X ; ::_thesis: S1[i,X]
let x be set ; ::_thesis: ( x in X iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono ) )
thus ( x in X implies ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono ) ) ::_thesis: ( ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono ) implies x in X )
proof
assume x in X ; ::_thesis: ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono )
then consider m being Morphism of o1,o2 such that
A5: ( <^o1,o2^> <> {} & m = x & m is mono ) by A4;
take o1 ; ::_thesis: ex o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono )
take o2 ; ::_thesis: ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono )
take m ; ::_thesis: ( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono )
thus ( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is mono ) by A3, A5; ::_thesis: verum
end;
given p1, p2 being object of C, m being Morphism of p1,p2 such that A6: i = [p1,p2] and
A7: ( <^p1,p2^> <> {} & x = m & m is mono ) ; ::_thesis: x in X
( o1 = p1 & o2 = p2 ) by A3, A6, XTUPLE_0:1;
hence x in X by A4, A7; ::_thesis: verum
end;
consider Ar being ManySortedSet of [: the carrier of C, the carrier of C:] such that
A8: for i being set st i in [: the carrier of C, the carrier of C:] holds
S1[i,Ar . i] from PBOOLE:sch_3(A1);
defpred S2[ set , set ] means ex p1, p2, p3 being object of C st
( $1 = [p1,p2,p3] & $2 = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] );
A9: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
ex j being set st S2[i,j]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C, the carrier of C:] implies ex j being set st S2[i,j] )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: ex j being set st S2[i,j]
then consider p1, p2, p3 being set such that
A10: ( p1 in the carrier of C & p2 in the carrier of C & p3 in the carrier of C ) and
A11: i = [p1,p2,p3] by MCART_1:68;
reconsider p1 = p1, p2 = p2, p3 = p3 as object of C by A10;
take ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: S2[i,( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]]
take p1 ; ::_thesis: ex p2, p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p2 ; ::_thesis: ex p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p3 ; ::_thesis: ( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
thus i = [p1,p2,p3] by A11; ::_thesis: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]
thus ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: verum
end;
consider Co being ManySortedSet of [: the carrier of C, the carrier of C, the carrier of C:] such that
A12: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
S2[i,Co . i] from PBOOLE:sch_3(A9);
A13: Ar cc= the Arrows of C
proof
thus [: the carrier of C, the carrier of C:] c= [: the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of C, the carrier of C:] or Ar . b1 c= the Arrows of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of C, the carrier of C:] or Ar . i c= the Arrows of C . i )
assume A14: i in [: the carrier of C, the carrier of C:] ; ::_thesis: Ar . i c= the Arrows of C . i
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in Ar . i or q in the Arrows of C . i )
assume q in Ar . i ; ::_thesis: q in the Arrows of C . i
then ex p1, p2 being object of C ex m being Morphism of p1,p2 st
( i = [p1,p2] & <^p1,p2^> <> {} & q = m & m is mono ) by A8, A14;
hence q in the Arrows of C . i ; ::_thesis: verum
end;
Co is ManySortedFunction of {|Ar,Ar|},{|Ar|}
proof
let i be set ; :: according to PBOOLE:def_15 ::_thesis: ( not i in [: the carrier of C, the carrier of C, the carrier of C:] or Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):])
then consider p1, p2, p3 being object of C such that
A15: i = [p1,p2,p3] and
A16: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A17: [p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then A18: Ar . [p1,p2] c= the Arrows of C . (p1,p2) by A13, ALTCAT_2:def_2;
A19: [p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then Ar . [p2,p3] c= the Arrows of C . (p2,p3) by A13, ALTCAT_2:def_2;
then A20: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] by A18, ZFMISC_1:96;
( the Arrows of C . (p1,p3) = {} implies [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} ) by Lm1;
then reconsider f = Co . i as Function of [:(Ar . (p2,p3)),(Ar . (p1,p2)):],( the Arrows of C . (p1,p3)) by A16, A20, FUNCT_2:32;
A21: Ar . [p1,p2] c= the Arrows of C . [p1,p2] by A13, A17, ALTCAT_2:def_2;
A22: Ar . [p2,p3] c= the Arrows of C . [p2,p3] by A13, A19, ALTCAT_2:def_2;
A23: ( the Arrows of C . (p1,p3) = {} implies [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {} )
proof
assume A24: the Arrows of C . (p1,p3) = {} ; ::_thesis: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {}
assume [:(Ar . (p2,p3)),(Ar . (p1,p2)):] <> {} ; ::_thesis: contradiction
then consider k being set such that
A25: k in [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by XBOOLE_0:def_1;
consider u1, u2 being set such that
A26: ( u1 in Ar . (p2,p3) & u2 in Ar . (p1,p2) ) and
k = [u1,u2] by A25, ZFMISC_1:def_2;
( u1 in <^p2,p3^> & u2 in <^p1,p2^> ) by A22, A21, A26;
then <^p1,p3^> <> {} by ALTCAT_1:def_2;
hence contradiction by A24; ::_thesis: verum
end;
A27: {|Ar|} . (p1,p2,p3) = Ar . (p1,p3) by ALTCAT_1:def_3;
A28: rng f c= {|Ar|} . i
proof
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in rng f or q in {|Ar|} . i )
assume q in rng f ; ::_thesis: q in {|Ar|} . i
then consider x being set such that
A29: x in dom f and
A30: q = f . x by FUNCT_1:def_3;
A31: dom f = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A23, FUNCT_2:def_1;
then consider m1, m2 being set such that
A32: m1 in Ar . (p2,p3) and
A33: m2 in Ar . (p1,p2) and
A34: x = [m1,m2] by A29, ZFMISC_1:84;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A35: [p2,p3] = [q2,q3] and
A36: <^q2,q3^> <> {} and
A37: m1 = qq and
A38: qq is mono by A8, A32;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A39: [p1,p2] = [r1,r2] and
A40: <^r1,r2^> <> {} and
A41: m2 = rr and
A42: rr is mono by A8, A33;
A43: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & q = m & m is mono )
proof
A44: p2 = q2 by A35, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A39, XTUPLE_0:1;
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & q = m & m is mono )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & q = m & m is mono )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & q = mm * rr & mm * rr is mono )
A45: p1 = r1 by A39, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A35, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & q = mm * rr & mm * rr is mono )
A46: r2 = p2 by A39, XTUPLE_0:1;
hence <^r1,q3^> <> {} by A36, A40, A44, ALTCAT_1:def_2; ::_thesis: ( q = mm * rr & mm * rr is mono )
A47: p3 = q3 by A35, XTUPLE_0:1;
thus q = ( the Comp of C . (p1,p2,p3)) . (mm,rr) by A16, A29, A30, A31, A34, A37, A41, FUNCT_1:49
.= mm * rr by A35, A36, A40, A46, A45, A47, ALTCAT_1:def_8 ; ::_thesis: mm * rr is mono
thus mm * rr is mono by A36, A38, A40, A42, A46, A44, ALTCAT_3:9; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then q in Ar . [p1,p3] by A8, A43;
hence q in {|Ar|} . i by A15, A27, MULTOP_1:def_1; ::_thesis: verum
end;
{|Ar,Ar|} . (p1,p2,p3) = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by ALTCAT_1:def_4;
then [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {|Ar,Ar|} . i by A15, MULTOP_1:def_1;
hence Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) by A23, A28, FUNCT_2:6; ::_thesis: verum
end;
then reconsider Co = Co as BinComp of Ar ;
set IT = AltCatStr(# the carrier of C,Ar,Co #);
set J = the carrier of AltCatStr(# the carrier of C,Ar,Co #);
AltCatStr(# the carrier of C,Ar,Co #) is SubCatStr of C
proof
thus the carrier of AltCatStr(# the carrier of C,Ar,Co #) c= the carrier of C ; :: according to ALTCAT_2:def_11 ::_thesis: ( the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C & the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C )
thus the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C by A13; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C
thus [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] c= [: the carrier of C, the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . b1 c= the Comp of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i )
assume i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] ; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i
then consider p1, p2, p3 being object of C such that
A48: i = [p1,p2,p3] and
A49: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A50: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= the Comp of C . (p1,p2,p3) by RELAT_1:59;
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i or q in the Comp of C . i )
assume q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i ; ::_thesis: q in the Comp of C . i
then q in the Comp of C . (p1,p2,p3) by A49, A50;
hence q in the Comp of C . i by A48, MULTOP_1:def_1; ::_thesis: verum
end;
then reconsider IT = AltCatStr(# the carrier of C,Ar,Co #) as non empty strict SubCatStr of C ;
IT is transitive
proof
let p1, p2, p3 be object of IT; :: according to ALTCAT_1:def_2 ::_thesis: ( <^p1,p2^> = {} or <^p2,p3^> = {} or not <^p1,p3^> = {} )
assume that
A51: <^p1,p2^> <> {} and
A52: <^p2,p3^> <> {} ; ::_thesis: not <^p1,p3^> = {}
consider m2 being set such that
A53: m2 in <^p1,p2^> by A51, XBOOLE_0:def_1;
consider m1 being set such that
A54: m1 in <^p2,p3^> by A52, XBOOLE_0:def_1;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A55: [p2,p3] = [q2,q3] and
A56: <^q2,q3^> <> {} and
m1 = qq and
A57: qq is mono by A8, A54;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A58: [p1,p2] = [r1,r2] and
A59: <^r1,r2^> <> {} and
m2 = rr and
A60: rr is mono by A8, A53;
A61: p2 = q2 by A55, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A58, XTUPLE_0:1;
A62: r2 = p2 by A58, XTUPLE_0:1;
A63: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & mm * rr = m & m is mono )
proof
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & mm * rr = m & m is mono )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & mm * rr = m & m is mono )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & mm * rr = mm * rr & mm * rr is mono )
p1 = r1 by A58, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A55, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & mm * rr = mm * rr & mm * rr is mono )
thus <^r1,q3^> <> {} by A56, A59, A62, A61, ALTCAT_1:def_2; ::_thesis: ( mm * rr = mm * rr & mm * rr is mono )
thus mm * rr = mm * rr ; ::_thesis: mm * rr is mono
thus mm * rr is mono by A56, A57, A59, A60, A62, A61, ALTCAT_3:9; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
hence not <^p1,p3^> = {} by A8, A63; ::_thesis: verum
end;
then reconsider IT = IT as non empty transitive strict SubCatStr of C ;
take IT ; ::_thesis: ( the carrier of IT = the carrier of C & the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) )
thus the carrier of IT = the carrier of C ; ::_thesis: ( the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) )
thus the Arrows of IT cc= the Arrows of C by A13; ::_thesis: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) )
let o1, o2 be object of C; ::_thesis: for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) )
let m be Morphism of o1,o2; ::_thesis: ( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) )
A64: [o1,o2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
thus ( m in the Arrows of IT . (o1,o2) implies ( <^o1,o2^> <> {} & m is mono ) ) ::_thesis: ( <^o1,o2^> <> {} & m is mono implies m in the Arrows of IT . (o1,o2) )
proof
assume m in the Arrows of IT . (o1,o2) ; ::_thesis: ( <^o1,o2^> <> {} & m is mono )
then consider p1, p2 being object of C, n being Morphism of p1,p2 such that
A65: [o1,o2] = [p1,p2] and
A66: ( <^p1,p2^> <> {} & m = n & n is mono ) by A8, A64;
( o1 = p1 & o2 = p2 ) by A65, XTUPLE_0:1;
hence ( <^o1,o2^> <> {} & m is mono ) by A66; ::_thesis: verum
end;
assume ( <^o1,o2^> <> {} & m is mono ) ; ::_thesis: m in the Arrows of IT . (o1,o2)
hence m in the Arrows of IT . (o1,o2) by A8, A64; ::_thesis: verum
end;
uniqueness
for b1, b2 being non empty transitive strict SubCatStr of C st the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) & the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) holds
b1 = b2
proof
let S1, S2 be non empty transitive strict SubCatStr of C; ::_thesis: ( the carrier of S1 = the carrier of C & the Arrows of S1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) & the carrier of S2 = the carrier of C & the Arrows of S2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) implies S1 = S2 )
assume that
A67: the carrier of S1 = the carrier of C and
A68: the Arrows of S1 cc= the Arrows of C and
A69: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) and
A70: the carrier of S2 = the carrier of C and
A71: the Arrows of S2 cc= the Arrows of C and
A72: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ; ::_thesis: S1 = S2
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_S1_._i_=_the_Arrows_of_S2_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of S1 . i = the Arrows of S2 . i )
assume A73: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of S1 . i = the Arrows of S2 . i
then consider o1, o2 being set such that
A74: ( o1 in the carrier of C & o2 in the carrier of C ) and
A75: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A74;
thus the Arrows of S1 . i = the Arrows of S2 . i ::_thesis: verum
proof
thus the Arrows of S1 . i c= the Arrows of S2 . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of S2 . i c= the Arrows of S1 . i
proof
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S1 . i or n in the Arrows of S2 . i )
assume A76: n in the Arrows of S1 . i ; ::_thesis: n in the Arrows of S2 . i
the Arrows of S1 . i c= the Arrows of C . i by A67, A68, A73, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A75, A76;
m in the Arrows of S1 . (o1,o2) by A75, A76;
then ( <^o1,o2^> <> {} & m is mono ) by A69;
then m in the Arrows of S2 . (o1,o2) by A72;
hence n in the Arrows of S2 . i by A75; ::_thesis: verum
end;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S2 . i or n in the Arrows of S1 . i )
assume A77: n in the Arrows of S2 . i ; ::_thesis: n in the Arrows of S1 . i
the Arrows of S2 . i c= the Arrows of C . i by A70, A71, A73, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A75, A77;
m in the Arrows of S2 . (o1,o2) by A75, A77;
then ( <^o1,o2^> <> {} & m is mono ) by A72;
then m in the Arrows of S1 . (o1,o2) by A69;
hence n in the Arrows of S1 . i by A75; ::_thesis: verum
end;
end;
hence S1 = S2 by A67, A70, ALTCAT_2:26, PBOOLE:3; ::_thesis: verum
end;
end;
:: deftheorem Def1 defines AllMono ALTCAT_4:def_1_:_
for C being category
for b2 being non empty transitive strict SubCatStr of C holds
( b2 = AllMono C iff ( the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is mono ) ) ) ) );
registration
let C be category;
cluster AllMono C -> non empty transitive strict id-inheriting ;
coherence
AllMono C is id-inheriting
proof
for o being object of (AllMono C)
for o9 being object of C st o = o9 holds
idm o9 in <^o,o^> by Def1;
hence AllMono C is id-inheriting by ALTCAT_2:def_14; ::_thesis: verum
end;
end;
definition
let C be category;
func AllEpi C -> non empty transitive strict SubCatStr of C means :Def2: :: ALTCAT_4:def 2
( the carrier of it = the carrier of C & the Arrows of it cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of it . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) );
existence
ex b1 being non empty transitive strict SubCatStr of C st
( the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) )
proof
defpred S1[ set , set ] means for x being set holds
( x in $2 iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( $1 = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi ) );
set I = the carrier of C;
A1: for i being set st i in [: the carrier of C, the carrier of C:] holds
ex X being set st S1[i,X]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies ex X being set st S1[i,X] )
assume i in [: the carrier of C, the carrier of C:] ; ::_thesis: ex X being set st S1[i,X]
then consider o1, o2 being set such that
A2: ( o1 in the carrier of C & o2 in the carrier of C ) and
A3: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A2;
defpred S2[ set ] means ex m being Morphism of o1,o2 st
( <^o1,o2^> <> {} & m = $1 & m is epi );
consider X being set such that
A4: for x being set holds
( x in X iff ( x in the Arrows of C . (o1,o2) & S2[x] ) ) from XBOOLE_0:sch_1();
take X ; ::_thesis: S1[i,X]
let x be set ; ::_thesis: ( x in X iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi ) )
thus ( x in X implies ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi ) ) ::_thesis: ( ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi ) implies x in X )
proof
assume x in X ; ::_thesis: ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi )
then consider m being Morphism of o1,o2 such that
A5: ( <^o1,o2^> <> {} & m = x & m is epi ) by A4;
take o1 ; ::_thesis: ex o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi )
take o2 ; ::_thesis: ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi )
take m ; ::_thesis: ( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi )
thus ( i = [o1,o2] & <^o1,o2^> <> {} & x = m & m is epi ) by A3, A5; ::_thesis: verum
end;
given p1, p2 being object of C, m being Morphism of p1,p2 such that A6: i = [p1,p2] and
A7: ( <^p1,p2^> <> {} & x = m & m is epi ) ; ::_thesis: x in X
( o1 = p1 & o2 = p2 ) by A3, A6, XTUPLE_0:1;
hence x in X by A4, A7; ::_thesis: verum
end;
consider Ar being ManySortedSet of [: the carrier of C, the carrier of C:] such that
A8: for i being set st i in [: the carrier of C, the carrier of C:] holds
S1[i,Ar . i] from PBOOLE:sch_3(A1);
defpred S2[ set , set ] means ex p1, p2, p3 being object of C st
( $1 = [p1,p2,p3] & $2 = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] );
A9: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
ex j being set st S2[i,j]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C, the carrier of C:] implies ex j being set st S2[i,j] )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: ex j being set st S2[i,j]
then consider p1, p2, p3 being set such that
A10: ( p1 in the carrier of C & p2 in the carrier of C & p3 in the carrier of C ) and
A11: i = [p1,p2,p3] by MCART_1:68;
reconsider p1 = p1, p2 = p2, p3 = p3 as object of C by A10;
take ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: S2[i,( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]]
take p1 ; ::_thesis: ex p2, p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p2 ; ::_thesis: ex p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p3 ; ::_thesis: ( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
thus i = [p1,p2,p3] by A11; ::_thesis: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]
thus ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: verum
end;
consider Co being ManySortedSet of [: the carrier of C, the carrier of C, the carrier of C:] such that
A12: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
S2[i,Co . i] from PBOOLE:sch_3(A9);
A13: Ar cc= the Arrows of C
proof
thus [: the carrier of C, the carrier of C:] c= [: the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of C, the carrier of C:] or Ar . b1 c= the Arrows of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of C, the carrier of C:] or Ar . i c= the Arrows of C . i )
assume A14: i in [: the carrier of C, the carrier of C:] ; ::_thesis: Ar . i c= the Arrows of C . i
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in Ar . i or q in the Arrows of C . i )
assume q in Ar . i ; ::_thesis: q in the Arrows of C . i
then ex p1, p2 being object of C ex m being Morphism of p1,p2 st
( i = [p1,p2] & <^p1,p2^> <> {} & q = m & m is epi ) by A8, A14;
hence q in the Arrows of C . i ; ::_thesis: verum
end;
Co is ManySortedFunction of {|Ar,Ar|},{|Ar|}
proof
let i be set ; :: according to PBOOLE:def_15 ::_thesis: ( not i in [: the carrier of C, the carrier of C, the carrier of C:] or Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):])
then consider p1, p2, p3 being object of C such that
A15: i = [p1,p2,p3] and
A16: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A17: [p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then A18: Ar . [p1,p2] c= the Arrows of C . (p1,p2) by A13, ALTCAT_2:def_2;
A19: [p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then Ar . [p2,p3] c= the Arrows of C . (p2,p3) by A13, ALTCAT_2:def_2;
then A20: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] by A18, ZFMISC_1:96;
( the Arrows of C . (p1,p3) = {} implies [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} ) by Lm1;
then reconsider f = Co . i as Function of [:(Ar . (p2,p3)),(Ar . (p1,p2)):],( the Arrows of C . (p1,p3)) by A16, A20, FUNCT_2:32;
A21: Ar . [p1,p2] c= the Arrows of C . [p1,p2] by A13, A17, ALTCAT_2:def_2;
A22: Ar . [p2,p3] c= the Arrows of C . [p2,p3] by A13, A19, ALTCAT_2:def_2;
A23: ( the Arrows of C . (p1,p3) = {} implies [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {} )
proof
assume A24: the Arrows of C . (p1,p3) = {} ; ::_thesis: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {}
assume [:(Ar . (p2,p3)),(Ar . (p1,p2)):] <> {} ; ::_thesis: contradiction
then consider k being set such that
A25: k in [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by XBOOLE_0:def_1;
consider u1, u2 being set such that
A26: ( u1 in Ar . (p2,p3) & u2 in Ar . (p1,p2) ) and
k = [u1,u2] by A25, ZFMISC_1:def_2;
( u1 in <^p2,p3^> & u2 in <^p1,p2^> ) by A22, A21, A26;
then <^p1,p3^> <> {} by ALTCAT_1:def_2;
hence contradiction by A24; ::_thesis: verum
end;
A27: {|Ar|} . (p1,p2,p3) = Ar . (p1,p3) by ALTCAT_1:def_3;
A28: rng f c= {|Ar|} . i
proof
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in rng f or q in {|Ar|} . i )
assume q in rng f ; ::_thesis: q in {|Ar|} . i
then consider x being set such that
A29: x in dom f and
A30: q = f . x by FUNCT_1:def_3;
A31: dom f = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A23, FUNCT_2:def_1;
then consider m1, m2 being set such that
A32: m1 in Ar . (p2,p3) and
A33: m2 in Ar . (p1,p2) and
A34: x = [m1,m2] by A29, ZFMISC_1:84;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A35: [p2,p3] = [q2,q3] and
A36: <^q2,q3^> <> {} and
A37: m1 = qq and
A38: qq is epi by A8, A32;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A39: [p1,p2] = [r1,r2] and
A40: <^r1,r2^> <> {} and
A41: m2 = rr and
A42: rr is epi by A8, A33;
A43: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & q = m & m is epi )
proof
A44: p2 = q2 by A35, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A39, XTUPLE_0:1;
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & q = m & m is epi )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & q = m & m is epi )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & q = mm * rr & mm * rr is epi )
A45: p1 = r1 by A39, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A35, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & q = mm * rr & mm * rr is epi )
A46: r2 = p2 by A39, XTUPLE_0:1;
hence <^r1,q3^> <> {} by A36, A40, A44, ALTCAT_1:def_2; ::_thesis: ( q = mm * rr & mm * rr is epi )
A47: p3 = q3 by A35, XTUPLE_0:1;
thus q = ( the Comp of C . (p1,p2,p3)) . (mm,rr) by A16, A29, A30, A31, A34, A37, A41, FUNCT_1:49
.= mm * rr by A35, A36, A40, A46, A45, A47, ALTCAT_1:def_8 ; ::_thesis: mm * rr is epi
thus mm * rr is epi by A36, A38, A40, A42, A46, A44, ALTCAT_3:10; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then q in Ar . [p1,p3] by A8, A43;
hence q in {|Ar|} . i by A15, A27, MULTOP_1:def_1; ::_thesis: verum
end;
{|Ar,Ar|} . (p1,p2,p3) = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by ALTCAT_1:def_4;
then [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {|Ar,Ar|} . i by A15, MULTOP_1:def_1;
hence Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) by A23, A28, FUNCT_2:6; ::_thesis: verum
end;
then reconsider Co = Co as BinComp of Ar ;
set IT = AltCatStr(# the carrier of C,Ar,Co #);
set J = the carrier of AltCatStr(# the carrier of C,Ar,Co #);
AltCatStr(# the carrier of C,Ar,Co #) is SubCatStr of C
proof
thus the carrier of AltCatStr(# the carrier of C,Ar,Co #) c= the carrier of C ; :: according to ALTCAT_2:def_11 ::_thesis: ( the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C & the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C )
thus the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C by A13; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C
thus [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] c= [: the carrier of C, the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . b1 c= the Comp of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i )
assume i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] ; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i
then consider p1, p2, p3 being object of C such that
A48: i = [p1,p2,p3] and
A49: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A50: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= the Comp of C . (p1,p2,p3) by RELAT_1:59;
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i or q in the Comp of C . i )
assume q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i ; ::_thesis: q in the Comp of C . i
then q in the Comp of C . (p1,p2,p3) by A49, A50;
hence q in the Comp of C . i by A48, MULTOP_1:def_1; ::_thesis: verum
end;
then reconsider IT = AltCatStr(# the carrier of C,Ar,Co #) as non empty strict SubCatStr of C ;
IT is transitive
proof
let p1, p2, p3 be object of IT; :: according to ALTCAT_1:def_2 ::_thesis: ( <^p1,p2^> = {} or <^p2,p3^> = {} or not <^p1,p3^> = {} )
assume that
A51: <^p1,p2^> <> {} and
A52: <^p2,p3^> <> {} ; ::_thesis: not <^p1,p3^> = {}
consider m2 being set such that
A53: m2 in <^p1,p2^> by A51, XBOOLE_0:def_1;
consider m1 being set such that
A54: m1 in <^p2,p3^> by A52, XBOOLE_0:def_1;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A55: [p2,p3] = [q2,q3] and
A56: <^q2,q3^> <> {} and
m1 = qq and
A57: qq is epi by A8, A54;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A58: [p1,p2] = [r1,r2] and
A59: <^r1,r2^> <> {} and
m2 = rr and
A60: rr is epi by A8, A53;
A61: p2 = q2 by A55, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A58, XTUPLE_0:1;
A62: r2 = p2 by A58, XTUPLE_0:1;
A63: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & mm * rr = m & m is epi )
proof
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & mm * rr = m & m is epi )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & mm * rr = m & m is epi )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & mm * rr = mm * rr & mm * rr is epi )
p1 = r1 by A58, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A55, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & mm * rr = mm * rr & mm * rr is epi )
thus <^r1,q3^> <> {} by A56, A59, A62, A61, ALTCAT_1:def_2; ::_thesis: ( mm * rr = mm * rr & mm * rr is epi )
thus mm * rr = mm * rr ; ::_thesis: mm * rr is epi
thus mm * rr is epi by A56, A57, A59, A60, A62, A61, ALTCAT_3:10; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
hence not <^p1,p3^> = {} by A8, A63; ::_thesis: verum
end;
then reconsider IT = IT as non empty transitive strict SubCatStr of C ;
take IT ; ::_thesis: ( the carrier of IT = the carrier of C & the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) )
thus the carrier of IT = the carrier of C ; ::_thesis: ( the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) )
thus the Arrows of IT cc= the Arrows of C by A13; ::_thesis: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) )
let o1, o2 be object of C; ::_thesis: for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) )
let m be Morphism of o1,o2; ::_thesis: ( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) )
A64: [o1,o2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
thus ( m in the Arrows of IT . (o1,o2) implies ( <^o1,o2^> <> {} & m is epi ) ) ::_thesis: ( <^o1,o2^> <> {} & m is epi implies m in the Arrows of IT . (o1,o2) )
proof
assume m in the Arrows of IT . (o1,o2) ; ::_thesis: ( <^o1,o2^> <> {} & m is epi )
then consider p1, p2 being object of C, n being Morphism of p1,p2 such that
A65: [o1,o2] = [p1,p2] and
A66: ( <^p1,p2^> <> {} & m = n & n is epi ) by A8, A64;
( o1 = p1 & o2 = p2 ) by A65, XTUPLE_0:1;
hence ( <^o1,o2^> <> {} & m is epi ) by A66; ::_thesis: verum
end;
assume ( <^o1,o2^> <> {} & m is epi ) ; ::_thesis: m in the Arrows of IT . (o1,o2)
hence m in the Arrows of IT . (o1,o2) by A8, A64; ::_thesis: verum
end;
uniqueness
for b1, b2 being non empty transitive strict SubCatStr of C st the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) & the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) holds
b1 = b2
proof
let S1, S2 be non empty transitive strict SubCatStr of C; ::_thesis: ( the carrier of S1 = the carrier of C & the Arrows of S1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) & the carrier of S2 = the carrier of C & the Arrows of S2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) implies S1 = S2 )
assume that
A67: the carrier of S1 = the carrier of C and
A68: the Arrows of S1 cc= the Arrows of C and
A69: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) and
A70: the carrier of S2 = the carrier of C and
A71: the Arrows of S2 cc= the Arrows of C and
A72: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ; ::_thesis: S1 = S2
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_S1_._i_=_the_Arrows_of_S2_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of S1 . i = the Arrows of S2 . i )
assume A73: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of S1 . i = the Arrows of S2 . i
then consider o1, o2 being set such that
A74: ( o1 in the carrier of C & o2 in the carrier of C ) and
A75: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A74;
thus the Arrows of S1 . i = the Arrows of S2 . i ::_thesis: verum
proof
thus the Arrows of S1 . i c= the Arrows of S2 . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of S2 . i c= the Arrows of S1 . i
proof
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S1 . i or n in the Arrows of S2 . i )
assume A76: n in the Arrows of S1 . i ; ::_thesis: n in the Arrows of S2 . i
the Arrows of S1 . i c= the Arrows of C . i by A67, A68, A73, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A75, A76;
m in the Arrows of S1 . (o1,o2) by A75, A76;
then ( <^o1,o2^> <> {} & m is epi ) by A69;
then m in the Arrows of S2 . (o1,o2) by A72;
hence n in the Arrows of S2 . i by A75; ::_thesis: verum
end;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S2 . i or n in the Arrows of S1 . i )
assume A77: n in the Arrows of S2 . i ; ::_thesis: n in the Arrows of S1 . i
the Arrows of S2 . i c= the Arrows of C . i by A70, A71, A73, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A75, A77;
m in the Arrows of S2 . (o1,o2) by A75, A77;
then ( <^o1,o2^> <> {} & m is epi ) by A72;
then m in the Arrows of S1 . (o1,o2) by A69;
hence n in the Arrows of S1 . i by A75; ::_thesis: verum
end;
end;
hence S1 = S2 by A67, A70, ALTCAT_2:26, PBOOLE:3; ::_thesis: verum
end;
end;
:: deftheorem Def2 defines AllEpi ALTCAT_4:def_2_:_
for C being category
for b2 being non empty transitive strict SubCatStr of C holds
( b2 = AllEpi C iff ( the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & m is epi ) ) ) ) );
registration
let C be category;
cluster AllEpi C -> non empty transitive strict id-inheriting ;
coherence
AllEpi C is id-inheriting
proof
for o being object of (AllEpi C)
for o9 being object of C st o = o9 holds
idm o9 in <^o,o^> by Def2;
hence AllEpi C is id-inheriting by ALTCAT_2:def_14; ::_thesis: verum
end;
end;
definition
let C be category;
func AllRetr C -> non empty transitive strict SubCatStr of C means :Def3: :: ALTCAT_4:def 3
( the carrier of it = the carrier of C & the Arrows of it cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of it . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) );
existence
ex b1 being non empty transitive strict SubCatStr of C st
( the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) )
proof
defpred S1[ set , set ] means for x being set holds
( x in $2 iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( $1 = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction ) );
set I = the carrier of C;
A1: for i being set st i in [: the carrier of C, the carrier of C:] holds
ex X being set st S1[i,X]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies ex X being set st S1[i,X] )
assume i in [: the carrier of C, the carrier of C:] ; ::_thesis: ex X being set st S1[i,X]
then consider o1, o2 being set such that
A2: ( o1 in the carrier of C & o2 in the carrier of C ) and
A3: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A2;
defpred S2[ set ] means ex m being Morphism of o1,o2 st
( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m = $1 & m is retraction );
consider X being set such that
A4: for x being set holds
( x in X iff ( x in the Arrows of C . (o1,o2) & S2[x] ) ) from XBOOLE_0:sch_1();
take X ; ::_thesis: S1[i,X]
let x be set ; ::_thesis: ( x in X iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction ) )
thus ( x in X implies ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction ) ) ::_thesis: ( ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction ) implies x in X )
proof
assume x in X ; ::_thesis: ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction )
then consider m being Morphism of o1,o2 such that
A5: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m = x & m is retraction ) by A4;
take o1 ; ::_thesis: ex o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction )
take o2 ; ::_thesis: ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction )
take m ; ::_thesis: ( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction )
thus ( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is retraction ) by A3, A5; ::_thesis: verum
end;
given p1, p2 being object of C, m being Morphism of p1,p2 such that A6: i = [p1,p2] and
A7: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} & x = m & m is retraction ) ; ::_thesis: x in X
( o1 = p1 & o2 = p2 ) by A3, A6, XTUPLE_0:1;
hence x in X by A4, A7; ::_thesis: verum
end;
consider Ar being ManySortedSet of [: the carrier of C, the carrier of C:] such that
A8: for i being set st i in [: the carrier of C, the carrier of C:] holds
S1[i,Ar . i] from PBOOLE:sch_3(A1);
defpred S2[ set , set ] means ex p1, p2, p3 being object of C st
( $1 = [p1,p2,p3] & $2 = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] );
A9: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
ex j being set st S2[i,j]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C, the carrier of C:] implies ex j being set st S2[i,j] )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: ex j being set st S2[i,j]
then consider p1, p2, p3 being set such that
A10: ( p1 in the carrier of C & p2 in the carrier of C & p3 in the carrier of C ) and
A11: i = [p1,p2,p3] by MCART_1:68;
reconsider p1 = p1, p2 = p2, p3 = p3 as object of C by A10;
take ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: S2[i,( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]]
take p1 ; ::_thesis: ex p2, p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p2 ; ::_thesis: ex p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p3 ; ::_thesis: ( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
thus i = [p1,p2,p3] by A11; ::_thesis: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]
thus ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: verum
end;
consider Co being ManySortedSet of [: the carrier of C, the carrier of C, the carrier of C:] such that
A12: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
S2[i,Co . i] from PBOOLE:sch_3(A9);
A13: Ar cc= the Arrows of C
proof
thus [: the carrier of C, the carrier of C:] c= [: the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of C, the carrier of C:] or Ar . b1 c= the Arrows of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of C, the carrier of C:] or Ar . i c= the Arrows of C . i )
assume A14: i in [: the carrier of C, the carrier of C:] ; ::_thesis: Ar . i c= the Arrows of C . i
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in Ar . i or q in the Arrows of C . i )
assume q in Ar . i ; ::_thesis: q in the Arrows of C . i
then ex p1, p2 being object of C ex m being Morphism of p1,p2 st
( i = [p1,p2] & <^p1,p2^> <> {} & <^p2,p1^> <> {} & q = m & m is retraction ) by A8, A14;
hence q in the Arrows of C . i ; ::_thesis: verum
end;
Co is ManySortedFunction of {|Ar,Ar|},{|Ar|}
proof
let i be set ; :: according to PBOOLE:def_15 ::_thesis: ( not i in [: the carrier of C, the carrier of C, the carrier of C:] or Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):])
then consider p1, p2, p3 being object of C such that
A15: i = [p1,p2,p3] and
A16: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A17: [p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then A18: Ar . [p1,p2] c= the Arrows of C . (p1,p2) by A13, ALTCAT_2:def_2;
A19: [p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then Ar . [p2,p3] c= the Arrows of C . (p2,p3) by A13, ALTCAT_2:def_2;
then A20: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] by A18, ZFMISC_1:96;
( the Arrows of C . (p1,p3) = {} implies [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} ) by Lm1;
then reconsider f = Co . i as Function of [:(Ar . (p2,p3)),(Ar . (p1,p2)):],( the Arrows of C . (p1,p3)) by A16, A20, FUNCT_2:32;
A21: Ar . [p1,p2] c= the Arrows of C . [p1,p2] by A13, A17, ALTCAT_2:def_2;
A22: Ar . [p2,p3] c= the Arrows of C . [p2,p3] by A13, A19, ALTCAT_2:def_2;
A23: ( the Arrows of C . (p1,p3) = {} implies [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {} )
proof
assume A24: the Arrows of C . (p1,p3) = {} ; ::_thesis: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {}
assume [:(Ar . (p2,p3)),(Ar . (p1,p2)):] <> {} ; ::_thesis: contradiction
then consider k being set such that
A25: k in [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by XBOOLE_0:def_1;
consider u1, u2 being set such that
A26: ( u1 in Ar . (p2,p3) & u2 in Ar . (p1,p2) ) and
k = [u1,u2] by A25, ZFMISC_1:def_2;
( u1 in <^p2,p3^> & u2 in <^p1,p2^> ) by A22, A21, A26;
then <^p1,p3^> <> {} by ALTCAT_1:def_2;
hence contradiction by A24; ::_thesis: verum
end;
A27: {|Ar|} . (p1,p2,p3) = Ar . (p1,p3) by ALTCAT_1:def_3;
A28: rng f c= {|Ar|} . i
proof
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in rng f or q in {|Ar|} . i )
assume q in rng f ; ::_thesis: q in {|Ar|} . i
then consider x being set such that
A29: x in dom f and
A30: q = f . x by FUNCT_1:def_3;
A31: dom f = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A23, FUNCT_2:def_1;
then consider m1, m2 being set such that
A32: m1 in Ar . (p2,p3) and
A33: m2 in Ar . (p1,p2) and
A34: x = [m1,m2] by A29, ZFMISC_1:84;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A35: [p2,p3] = [q2,q3] and
A36: <^q2,q3^> <> {} and
A37: <^q3,q2^> <> {} and
A38: m1 = qq and
A39: qq is retraction by A8, A32;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A40: [p1,p2] = [r1,r2] and
A41: <^r1,r2^> <> {} and
A42: <^r2,r1^> <> {} and
A43: m2 = rr and
A44: rr is retraction by A8, A33;
A45: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & <^o3,o1^> <> {} & q = m & m is retraction )
proof
A46: p2 = q2 by A35, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A40, XTUPLE_0:1;
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & <^o3,r1^> <> {} & q = m & m is retraction )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = m & m is retraction )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = mm * rr & mm * rr is retraction )
A47: p1 = r1 by A40, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A35, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = mm * rr & mm * rr is retraction )
A48: r2 = p2 by A40, XTUPLE_0:1;
hence A49: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} ) by A36, A37, A41, A42, A46, ALTCAT_1:def_2; ::_thesis: ( q = mm * rr & mm * rr is retraction )
A50: p3 = q3 by A35, XTUPLE_0:1;
thus q = ( the Comp of C . (p1,p2,p3)) . (mm,rr) by A16, A29, A30, A31, A34, A38, A43, FUNCT_1:49
.= mm * rr by A35, A36, A41, A48, A47, A50, ALTCAT_1:def_8 ; ::_thesis: mm * rr is retraction
thus mm * rr is retraction by A36, A39, A41, A44, A48, A46, A49, ALTCAT_3:18; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then q in Ar . [p1,p3] by A8, A45;
hence q in {|Ar|} . i by A15, A27, MULTOP_1:def_1; ::_thesis: verum
end;
{|Ar,Ar|} . (p1,p2,p3) = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by ALTCAT_1:def_4;
then [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {|Ar,Ar|} . i by A15, MULTOP_1:def_1;
hence Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) by A23, A28, FUNCT_2:6; ::_thesis: verum
end;
then reconsider Co = Co as BinComp of Ar ;
set IT = AltCatStr(# the carrier of C,Ar,Co #);
set J = the carrier of AltCatStr(# the carrier of C,Ar,Co #);
AltCatStr(# the carrier of C,Ar,Co #) is SubCatStr of C
proof
thus the carrier of AltCatStr(# the carrier of C,Ar,Co #) c= the carrier of C ; :: according to ALTCAT_2:def_11 ::_thesis: ( the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C & the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C )
thus the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C by A13; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C
thus [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] c= [: the carrier of C, the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . b1 c= the Comp of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i )
assume i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] ; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i
then consider p1, p2, p3 being object of C such that
A51: i = [p1,p2,p3] and
A52: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A53: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= the Comp of C . (p1,p2,p3) by RELAT_1:59;
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i or q in the Comp of C . i )
assume q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i ; ::_thesis: q in the Comp of C . i
then q in the Comp of C . (p1,p2,p3) by A52, A53;
hence q in the Comp of C . i by A51, MULTOP_1:def_1; ::_thesis: verum
end;
then reconsider IT = AltCatStr(# the carrier of C,Ar,Co #) as non empty strict SubCatStr of C ;
IT is transitive
proof
let p1, p2, p3 be object of IT; :: according to ALTCAT_1:def_2 ::_thesis: ( <^p1,p2^> = {} or <^p2,p3^> = {} or not <^p1,p3^> = {} )
assume that
A54: <^p1,p2^> <> {} and
A55: <^p2,p3^> <> {} ; ::_thesis: not <^p1,p3^> = {}
consider m2 being set such that
A56: m2 in <^p1,p2^> by A54, XBOOLE_0:def_1;
consider m1 being set such that
A57: m1 in <^p2,p3^> by A55, XBOOLE_0:def_1;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A58: [p2,p3] = [q2,q3] and
A59: <^q2,q3^> <> {} and
A60: <^q3,q2^> <> {} and
m1 = qq and
A61: qq is retraction by A8, A57;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A62: [p1,p2] = [r1,r2] and
A63: <^r1,r2^> <> {} and
A64: <^r2,r1^> <> {} and
m2 = rr and
A65: rr is retraction by A8, A56;
A66: p2 = q2 by A58, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A62, XTUPLE_0:1;
A67: r2 = p2 by A62, XTUPLE_0:1;
A68: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & <^o3,o1^> <> {} & mm * rr = m & m is retraction )
proof
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & <^o3,r1^> <> {} & mm * rr = m & m is retraction )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = m & m is retraction )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = mm * rr & mm * rr is retraction )
p1 = r1 by A62, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A58, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = mm * rr & mm * rr is retraction )
thus A69: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} ) by A59, A60, A63, A64, A67, A66, ALTCAT_1:def_2; ::_thesis: ( mm * rr = mm * rr & mm * rr is retraction )
thus mm * rr = mm * rr ; ::_thesis: mm * rr is retraction
thus mm * rr is retraction by A59, A61, A63, A65, A67, A66, A69, ALTCAT_3:18; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
hence not <^p1,p3^> = {} by A8, A68; ::_thesis: verum
end;
then reconsider IT = IT as non empty transitive strict SubCatStr of C ;
take IT ; ::_thesis: ( the carrier of IT = the carrier of C & the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) )
thus the carrier of IT = the carrier of C ; ::_thesis: ( the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) )
thus the Arrows of IT cc= the Arrows of C by A13; ::_thesis: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) )
let o1, o2 be object of C; ::_thesis: for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) )
let m be Morphism of o1,o2; ::_thesis: ( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) )
A70: [o1,o2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
thus ( m in the Arrows of IT . (o1,o2) implies ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction implies m in the Arrows of IT . (o1,o2) )
proof
assume m in the Arrows of IT . (o1,o2) ; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction )
then consider p1, p2 being object of C, n being Morphism of p1,p2 such that
A71: [o1,o2] = [p1,p2] and
A72: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} & m = n & n is retraction ) by A8, A70;
( o1 = p1 & o2 = p2 ) by A71, XTUPLE_0:1;
hence ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) by A72; ::_thesis: verum
end;
assume ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ; ::_thesis: m in the Arrows of IT . (o1,o2)
hence m in the Arrows of IT . (o1,o2) by A8, A70; ::_thesis: verum
end;
uniqueness
for b1, b2 being non empty transitive strict SubCatStr of C st the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) & the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) holds
b1 = b2
proof
let S1, S2 be non empty transitive strict SubCatStr of C; ::_thesis: ( the carrier of S1 = the carrier of C & the Arrows of S1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) & the carrier of S2 = the carrier of C & the Arrows of S2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) implies S1 = S2 )
assume that
A73: the carrier of S1 = the carrier of C and
A74: the Arrows of S1 cc= the Arrows of C and
A75: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) and
A76: the carrier of S2 = the carrier of C and
A77: the Arrows of S2 cc= the Arrows of C and
A78: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ; ::_thesis: S1 = S2
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_S1_._i_=_the_Arrows_of_S2_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of S1 . i = the Arrows of S2 . i )
assume A79: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of S1 . i = the Arrows of S2 . i
then consider o1, o2 being set such that
A80: ( o1 in the carrier of C & o2 in the carrier of C ) and
A81: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A80;
thus the Arrows of S1 . i = the Arrows of S2 . i ::_thesis: verum
proof
thus the Arrows of S1 . i c= the Arrows of S2 . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of S2 . i c= the Arrows of S1 . i
proof
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S1 . i or n in the Arrows of S2 . i )
assume A82: n in the Arrows of S1 . i ; ::_thesis: n in the Arrows of S2 . i
the Arrows of S1 . i c= the Arrows of C . i by A73, A74, A79, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A81, A82;
A83: m in the Arrows of S1 . (o1,o2) by A81, A82;
then A84: m is retraction by A75;
( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A75, A83;
then m in the Arrows of S2 . (o1,o2) by A78, A84;
hence n in the Arrows of S2 . i by A81; ::_thesis: verum
end;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S2 . i or n in the Arrows of S1 . i )
assume A85: n in the Arrows of S2 . i ; ::_thesis: n in the Arrows of S1 . i
the Arrows of S2 . i c= the Arrows of C . i by A76, A77, A79, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A81, A85;
A86: m in the Arrows of S2 . (o1,o2) by A81, A85;
then A87: m is retraction by A78;
( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A78, A86;
then m in the Arrows of S1 . (o1,o2) by A75, A87;
hence n in the Arrows of S1 . i by A81; ::_thesis: verum
end;
end;
hence S1 = S2 by A73, A76, ALTCAT_2:26, PBOOLE:3; ::_thesis: verum
end;
end;
:: deftheorem Def3 defines AllRetr ALTCAT_4:def_3_:_
for C being category
for b2 being non empty transitive strict SubCatStr of C holds
( b2 = AllRetr C iff ( the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is retraction ) ) ) ) );
registration
let C be category;
cluster AllRetr C -> non empty transitive strict id-inheriting ;
coherence
AllRetr C is id-inheriting
proof
for o being object of (AllRetr C)
for o9 being object of C st o = o9 holds
idm o9 in <^o,o^> by Def3;
hence AllRetr C is id-inheriting by ALTCAT_2:def_14; ::_thesis: verum
end;
end;
definition
let C be category;
func AllCoretr C -> non empty transitive strict SubCatStr of C means :Def4: :: ALTCAT_4:def 4
( the carrier of it = the carrier of C & the Arrows of it cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of it . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) );
existence
ex b1 being non empty transitive strict SubCatStr of C st
( the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) )
proof
defpred S1[ set , set ] means for x being set holds
( x in $2 iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( $1 = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction ) );
set I = the carrier of C;
A1: for i being set st i in [: the carrier of C, the carrier of C:] holds
ex X being set st S1[i,X]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies ex X being set st S1[i,X] )
assume i in [: the carrier of C, the carrier of C:] ; ::_thesis: ex X being set st S1[i,X]
then consider o1, o2 being set such that
A2: ( o1 in the carrier of C & o2 in the carrier of C ) and
A3: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A2;
defpred S2[ set ] means ex m being Morphism of o1,o2 st
( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m = $1 & m is coretraction );
consider X being set such that
A4: for x being set holds
( x in X iff ( x in the Arrows of C . (o1,o2) & S2[x] ) ) from XBOOLE_0:sch_1();
take X ; ::_thesis: S1[i,X]
let x be set ; ::_thesis: ( x in X iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction ) )
thus ( x in X implies ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction ) ) ::_thesis: ( ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction ) implies x in X )
proof
assume x in X ; ::_thesis: ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction )
then consider m being Morphism of o1,o2 such that
A5: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m = x & m is coretraction ) by A4;
take o1 ; ::_thesis: ex o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction )
take o2 ; ::_thesis: ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction )
take m ; ::_thesis: ( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction )
thus ( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is coretraction ) by A3, A5; ::_thesis: verum
end;
given p1, p2 being object of C, m being Morphism of p1,p2 such that A6: i = [p1,p2] and
A7: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} & x = m & m is coretraction ) ; ::_thesis: x in X
( o1 = p1 & o2 = p2 ) by A3, A6, XTUPLE_0:1;
hence x in X by A4, A7; ::_thesis: verum
end;
consider Ar being ManySortedSet of [: the carrier of C, the carrier of C:] such that
A8: for i being set st i in [: the carrier of C, the carrier of C:] holds
S1[i,Ar . i] from PBOOLE:sch_3(A1);
defpred S2[ set , set ] means ex p1, p2, p3 being object of C st
( $1 = [p1,p2,p3] & $2 = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] );
A9: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
ex j being set st S2[i,j]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C, the carrier of C:] implies ex j being set st S2[i,j] )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: ex j being set st S2[i,j]
then consider p1, p2, p3 being set such that
A10: ( p1 in the carrier of C & p2 in the carrier of C & p3 in the carrier of C ) and
A11: i = [p1,p2,p3] by MCART_1:68;
reconsider p1 = p1, p2 = p2, p3 = p3 as object of C by A10;
take ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: S2[i,( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]]
take p1 ; ::_thesis: ex p2, p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p2 ; ::_thesis: ex p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p3 ; ::_thesis: ( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
thus i = [p1,p2,p3] by A11; ::_thesis: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]
thus ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: verum
end;
consider Co being ManySortedSet of [: the carrier of C, the carrier of C, the carrier of C:] such that
A12: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
S2[i,Co . i] from PBOOLE:sch_3(A9);
A13: Ar cc= the Arrows of C
proof
thus [: the carrier of C, the carrier of C:] c= [: the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of C, the carrier of C:] or Ar . b1 c= the Arrows of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of C, the carrier of C:] or Ar . i c= the Arrows of C . i )
assume A14: i in [: the carrier of C, the carrier of C:] ; ::_thesis: Ar . i c= the Arrows of C . i
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in Ar . i or q in the Arrows of C . i )
assume q in Ar . i ; ::_thesis: q in the Arrows of C . i
then ex p1, p2 being object of C ex m being Morphism of p1,p2 st
( i = [p1,p2] & <^p1,p2^> <> {} & <^p2,p1^> <> {} & q = m & m is coretraction ) by A8, A14;
hence q in the Arrows of C . i ; ::_thesis: verum
end;
Co is ManySortedFunction of {|Ar,Ar|},{|Ar|}
proof
let i be set ; :: according to PBOOLE:def_15 ::_thesis: ( not i in [: the carrier of C, the carrier of C, the carrier of C:] or Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):])
then consider p1, p2, p3 being object of C such that
A15: i = [p1,p2,p3] and
A16: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A17: [p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then A18: Ar . [p1,p2] c= the Arrows of C . (p1,p2) by A13, ALTCAT_2:def_2;
A19: [p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then Ar . [p2,p3] c= the Arrows of C . (p2,p3) by A13, ALTCAT_2:def_2;
then A20: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] by A18, ZFMISC_1:96;
( the Arrows of C . (p1,p3) = {} implies [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} ) by Lm1;
then reconsider f = Co . i as Function of [:(Ar . (p2,p3)),(Ar . (p1,p2)):],( the Arrows of C . (p1,p3)) by A16, A20, FUNCT_2:32;
A21: Ar . [p1,p2] c= the Arrows of C . [p1,p2] by A13, A17, ALTCAT_2:def_2;
A22: Ar . [p2,p3] c= the Arrows of C . [p2,p3] by A13, A19, ALTCAT_2:def_2;
A23: ( the Arrows of C . (p1,p3) = {} implies [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {} )
proof
assume A24: the Arrows of C . (p1,p3) = {} ; ::_thesis: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {}
assume [:(Ar . (p2,p3)),(Ar . (p1,p2)):] <> {} ; ::_thesis: contradiction
then consider k being set such that
A25: k in [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by XBOOLE_0:def_1;
consider u1, u2 being set such that
A26: ( u1 in Ar . (p2,p3) & u2 in Ar . (p1,p2) ) and
k = [u1,u2] by A25, ZFMISC_1:def_2;
( u1 in <^p2,p3^> & u2 in <^p1,p2^> ) by A22, A21, A26;
then <^p1,p3^> <> {} by ALTCAT_1:def_2;
hence contradiction by A24; ::_thesis: verum
end;
A27: {|Ar|} . (p1,p2,p3) = Ar . (p1,p3) by ALTCAT_1:def_3;
A28: rng f c= {|Ar|} . i
proof
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in rng f or q in {|Ar|} . i )
assume q in rng f ; ::_thesis: q in {|Ar|} . i
then consider x being set such that
A29: x in dom f and
A30: q = f . x by FUNCT_1:def_3;
A31: dom f = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A23, FUNCT_2:def_1;
then consider m1, m2 being set such that
A32: m1 in Ar . (p2,p3) and
A33: m2 in Ar . (p1,p2) and
A34: x = [m1,m2] by A29, ZFMISC_1:84;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A35: [p2,p3] = [q2,q3] and
A36: <^q2,q3^> <> {} and
A37: <^q3,q2^> <> {} and
A38: m1 = qq and
A39: qq is coretraction by A8, A32;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A40: [p1,p2] = [r1,r2] and
A41: <^r1,r2^> <> {} and
A42: <^r2,r1^> <> {} and
A43: m2 = rr and
A44: rr is coretraction by A8, A33;
A45: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & <^o3,o1^> <> {} & q = m & m is coretraction )
proof
A46: p2 = q2 by A35, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A40, XTUPLE_0:1;
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & <^o3,r1^> <> {} & q = m & m is coretraction )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = m & m is coretraction )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = mm * rr & mm * rr is coretraction )
A47: p1 = r1 by A40, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A35, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = mm * rr & mm * rr is coretraction )
A48: r2 = p2 by A40, XTUPLE_0:1;
hence A49: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} ) by A36, A37, A41, A42, A46, ALTCAT_1:def_2; ::_thesis: ( q = mm * rr & mm * rr is coretraction )
A50: p3 = q3 by A35, XTUPLE_0:1;
thus q = ( the Comp of C . (p1,p2,p3)) . (mm,rr) by A16, A29, A30, A31, A34, A38, A43, FUNCT_1:49
.= mm * rr by A35, A36, A41, A48, A47, A50, ALTCAT_1:def_8 ; ::_thesis: mm * rr is coretraction
thus mm * rr is coretraction by A36, A39, A41, A44, A48, A46, A49, ALTCAT_3:19; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then q in Ar . [p1,p3] by A8, A45;
hence q in {|Ar|} . i by A15, A27, MULTOP_1:def_1; ::_thesis: verum
end;
{|Ar,Ar|} . (p1,p2,p3) = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by ALTCAT_1:def_4;
then [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {|Ar,Ar|} . i by A15, MULTOP_1:def_1;
hence Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) by A23, A28, FUNCT_2:6; ::_thesis: verum
end;
then reconsider Co = Co as BinComp of Ar ;
set IT = AltCatStr(# the carrier of C,Ar,Co #);
set J = the carrier of AltCatStr(# the carrier of C,Ar,Co #);
AltCatStr(# the carrier of C,Ar,Co #) is SubCatStr of C
proof
thus the carrier of AltCatStr(# the carrier of C,Ar,Co #) c= the carrier of C ; :: according to ALTCAT_2:def_11 ::_thesis: ( the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C & the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C )
thus the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C by A13; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C
thus [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] c= [: the carrier of C, the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . b1 c= the Comp of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i )
assume i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] ; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i
then consider p1, p2, p3 being object of C such that
A51: i = [p1,p2,p3] and
A52: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A53: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= the Comp of C . (p1,p2,p3) by RELAT_1:59;
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i or q in the Comp of C . i )
assume q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i ; ::_thesis: q in the Comp of C . i
then q in the Comp of C . (p1,p2,p3) by A52, A53;
hence q in the Comp of C . i by A51, MULTOP_1:def_1; ::_thesis: verum
end;
then reconsider IT = AltCatStr(# the carrier of C,Ar,Co #) as non empty strict SubCatStr of C ;
IT is transitive
proof
let p1, p2, p3 be object of IT; :: according to ALTCAT_1:def_2 ::_thesis: ( <^p1,p2^> = {} or <^p2,p3^> = {} or not <^p1,p3^> = {} )
assume that
A54: <^p1,p2^> <> {} and
A55: <^p2,p3^> <> {} ; ::_thesis: not <^p1,p3^> = {}
consider m2 being set such that
A56: m2 in <^p1,p2^> by A54, XBOOLE_0:def_1;
consider m1 being set such that
A57: m1 in <^p2,p3^> by A55, XBOOLE_0:def_1;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A58: [p2,p3] = [q2,q3] and
A59: <^q2,q3^> <> {} and
A60: <^q3,q2^> <> {} and
m1 = qq and
A61: qq is coretraction by A8, A57;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A62: [p1,p2] = [r1,r2] and
A63: <^r1,r2^> <> {} and
A64: <^r2,r1^> <> {} and
m2 = rr and
A65: rr is coretraction by A8, A56;
A66: p2 = q2 by A58, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A62, XTUPLE_0:1;
A67: r2 = p2 by A62, XTUPLE_0:1;
A68: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & <^o3,o1^> <> {} & mm * rr = m & m is coretraction )
proof
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & <^o3,r1^> <> {} & mm * rr = m & m is coretraction )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = m & m is coretraction )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = mm * rr & mm * rr is coretraction )
p1 = r1 by A62, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A58, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = mm * rr & mm * rr is coretraction )
thus A69: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} ) by A59, A60, A63, A64, A67, A66, ALTCAT_1:def_2; ::_thesis: ( mm * rr = mm * rr & mm * rr is coretraction )
thus mm * rr = mm * rr ; ::_thesis: mm * rr is coretraction
thus mm * rr is coretraction by A59, A61, A63, A65, A67, A66, A69, ALTCAT_3:19; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
hence not <^p1,p3^> = {} by A8, A68; ::_thesis: verum
end;
then reconsider IT = IT as non empty transitive strict SubCatStr of C ;
take IT ; ::_thesis: ( the carrier of IT = the carrier of C & the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) )
thus the carrier of IT = the carrier of C ; ::_thesis: ( the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) )
thus the Arrows of IT cc= the Arrows of C by A13; ::_thesis: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) )
let o1, o2 be object of C; ::_thesis: for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) )
let m be Morphism of o1,o2; ::_thesis: ( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) )
A70: [o1,o2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
thus ( m in the Arrows of IT . (o1,o2) implies ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction implies m in the Arrows of IT . (o1,o2) )
proof
assume m in the Arrows of IT . (o1,o2) ; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction )
then consider p1, p2 being object of C, n being Morphism of p1,p2 such that
A71: [o1,o2] = [p1,p2] and
A72: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} & m = n & n is coretraction ) by A8, A70;
( o1 = p1 & o2 = p2 ) by A71, XTUPLE_0:1;
hence ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) by A72; ::_thesis: verum
end;
assume ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ; ::_thesis: m in the Arrows of IT . (o1,o2)
hence m in the Arrows of IT . (o1,o2) by A8, A70; ::_thesis: verum
end;
uniqueness
for b1, b2 being non empty transitive strict SubCatStr of C st the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) & the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) holds
b1 = b2
proof
let S1, S2 be non empty transitive strict SubCatStr of C; ::_thesis: ( the carrier of S1 = the carrier of C & the Arrows of S1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) & the carrier of S2 = the carrier of C & the Arrows of S2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) implies S1 = S2 )
assume that
A73: the carrier of S1 = the carrier of C and
A74: the Arrows of S1 cc= the Arrows of C and
A75: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) and
A76: the carrier of S2 = the carrier of C and
A77: the Arrows of S2 cc= the Arrows of C and
A78: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ; ::_thesis: S1 = S2
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_S1_._i_=_the_Arrows_of_S2_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of S1 . i = the Arrows of S2 . i )
assume A79: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of S1 . i = the Arrows of S2 . i
then consider o1, o2 being set such that
A80: ( o1 in the carrier of C & o2 in the carrier of C ) and
A81: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A80;
thus the Arrows of S1 . i = the Arrows of S2 . i ::_thesis: verum
proof
thus the Arrows of S1 . i c= the Arrows of S2 . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of S2 . i c= the Arrows of S1 . i
proof
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S1 . i or n in the Arrows of S2 . i )
assume A82: n in the Arrows of S1 . i ; ::_thesis: n in the Arrows of S2 . i
the Arrows of S1 . i c= the Arrows of C . i by A73, A74, A79, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A81, A82;
A83: m in the Arrows of S1 . (o1,o2) by A81, A82;
then A84: m is coretraction by A75;
( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A75, A83;
then m in the Arrows of S2 . (o1,o2) by A78, A84;
hence n in the Arrows of S2 . i by A81; ::_thesis: verum
end;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S2 . i or n in the Arrows of S1 . i )
assume A85: n in the Arrows of S2 . i ; ::_thesis: n in the Arrows of S1 . i
the Arrows of S2 . i c= the Arrows of C . i by A76, A77, A79, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A81, A85;
A86: m in the Arrows of S2 . (o1,o2) by A81, A85;
then A87: m is coretraction by A78;
( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A78, A86;
then m in the Arrows of S1 . (o1,o2) by A75, A87;
hence n in the Arrows of S1 . i by A81; ::_thesis: verum
end;
end;
hence S1 = S2 by A73, A76, ALTCAT_2:26, PBOOLE:3; ::_thesis: verum
end;
end;
:: deftheorem Def4 defines AllCoretr ALTCAT_4:def_4_:_
for C being category
for b2 being non empty transitive strict SubCatStr of C holds
( b2 = AllCoretr C iff ( the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is coretraction ) ) ) ) );
registration
let C be category;
cluster AllCoretr C -> non empty transitive strict id-inheriting ;
coherence
AllCoretr C is id-inheriting
proof
for o being object of (AllCoretr C)
for o9 being object of C st o = o9 holds
idm o9 in <^o,o^> by Def4;
hence AllCoretr C is id-inheriting by ALTCAT_2:def_14; ::_thesis: verum
end;
end;
definition
let C be category;
func AllIso C -> non empty transitive strict SubCatStr of C means :Def5: :: ALTCAT_4:def 5
( the carrier of it = the carrier of C & the Arrows of it cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of it . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) );
existence
ex b1 being non empty transitive strict SubCatStr of C st
( the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) )
proof
defpred S1[ set , set ] means for x being set holds
( x in $2 iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( $1 = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso ) );
set I = the carrier of C;
A1: for i being set st i in [: the carrier of C, the carrier of C:] holds
ex X being set st S1[i,X]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies ex X being set st S1[i,X] )
assume i in [: the carrier of C, the carrier of C:] ; ::_thesis: ex X being set st S1[i,X]
then consider o1, o2 being set such that
A2: ( o1 in the carrier of C & o2 in the carrier of C ) and
A3: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A2;
defpred S2[ set ] means ex m being Morphism of o1,o2 st
( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m = $1 & m is iso );
consider X being set such that
A4: for x being set holds
( x in X iff ( x in the Arrows of C . (o1,o2) & S2[x] ) ) from XBOOLE_0:sch_1();
take X ; ::_thesis: S1[i,X]
let x be set ; ::_thesis: ( x in X iff ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso ) )
thus ( x in X implies ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso ) ) ::_thesis: ( ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso ) implies x in X )
proof
assume x in X ; ::_thesis: ex o1, o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso )
then consider m being Morphism of o1,o2 such that
A5: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m = x & m is iso ) by A4;
take o1 ; ::_thesis: ex o2 being object of C ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso )
take o2 ; ::_thesis: ex m being Morphism of o1,o2 st
( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso )
take m ; ::_thesis: ( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso )
thus ( i = [o1,o2] & <^o1,o2^> <> {} & <^o2,o1^> <> {} & x = m & m is iso ) by A3, A5; ::_thesis: verum
end;
given p1, p2 being object of C, m being Morphism of p1,p2 such that A6: i = [p1,p2] and
A7: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} & x = m & m is iso ) ; ::_thesis: x in X
( o1 = p1 & o2 = p2 ) by A3, A6, XTUPLE_0:1;
hence x in X by A4, A7; ::_thesis: verum
end;
consider Ar being ManySortedSet of [: the carrier of C, the carrier of C:] such that
A8: for i being set st i in [: the carrier of C, the carrier of C:] holds
S1[i,Ar . i] from PBOOLE:sch_3(A1);
defpred S2[ set , set ] means ex p1, p2, p3 being object of C st
( $1 = [p1,p2,p3] & $2 = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] );
A9: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
ex j being set st S2[i,j]
proof
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C, the carrier of C:] implies ex j being set st S2[i,j] )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: ex j being set st S2[i,j]
then consider p1, p2, p3 being set such that
A10: ( p1 in the carrier of C & p2 in the carrier of C & p3 in the carrier of C ) and
A11: i = [p1,p2,p3] by MCART_1:68;
reconsider p1 = p1, p2 = p2, p3 = p3 as object of C by A10;
take ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: S2[i,( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]]
take p1 ; ::_thesis: ex p2, p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p2 ; ::_thesis: ex p3 being object of C st
( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
take p3 ; ::_thesis: ( i = [p1,p2,p3] & ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] )
thus i = [p1,p2,p3] by A11; ::_thesis: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):]
thus ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] ; ::_thesis: verum
end;
consider Co being ManySortedSet of [: the carrier of C, the carrier of C, the carrier of C:] such that
A12: for i being set st i in [: the carrier of C, the carrier of C, the carrier of C:] holds
S2[i,Co . i] from PBOOLE:sch_3(A9);
A13: Ar cc= the Arrows of C
proof
thus [: the carrier of C, the carrier of C:] c= [: the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of C, the carrier of C:] or Ar . b1 c= the Arrows of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of C, the carrier of C:] or Ar . i c= the Arrows of C . i )
assume A14: i in [: the carrier of C, the carrier of C:] ; ::_thesis: Ar . i c= the Arrows of C . i
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in Ar . i or q in the Arrows of C . i )
assume q in Ar . i ; ::_thesis: q in the Arrows of C . i
then ex p1, p2 being object of C ex m being Morphism of p1,p2 st
( i = [p1,p2] & <^p1,p2^> <> {} & <^p2,p1^> <> {} & q = m & m is iso ) by A8, A14;
hence q in the Arrows of C . i ; ::_thesis: verum
end;
Co is ManySortedFunction of {|Ar,Ar|},{|Ar|}
proof
let i be set ; :: according to PBOOLE:def_15 ::_thesis: ( not i in [: the carrier of C, the carrier of C, the carrier of C:] or Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) )
assume i in [: the carrier of C, the carrier of C, the carrier of C:] ; ::_thesis: Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):])
then consider p1, p2, p3 being object of C such that
A15: i = [p1,p2,p3] and
A16: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A17: [p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then A18: Ar . [p1,p2] c= the Arrows of C . (p1,p2) by A13, ALTCAT_2:def_2;
A19: [p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then Ar . [p2,p3] c= the Arrows of C . (p2,p3) by A13, ALTCAT_2:def_2;
then A20: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] by A18, ZFMISC_1:96;
( the Arrows of C . (p1,p3) = {} implies [:( the Arrows of C . (p2,p3)),( the Arrows of C . (p1,p2)):] = {} ) by Lm1;
then reconsider f = Co . i as Function of [:(Ar . (p2,p3)),(Ar . (p1,p2)):],( the Arrows of C . (p1,p3)) by A16, A20, FUNCT_2:32;
A21: Ar . [p1,p2] c= the Arrows of C . [p1,p2] by A13, A17, ALTCAT_2:def_2;
A22: Ar . [p2,p3] c= the Arrows of C . [p2,p3] by A13, A19, ALTCAT_2:def_2;
A23: ( the Arrows of C . (p1,p3) = {} implies [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {} )
proof
assume A24: the Arrows of C . (p1,p3) = {} ; ::_thesis: [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {}
assume [:(Ar . (p2,p3)),(Ar . (p1,p2)):] <> {} ; ::_thesis: contradiction
then consider k being set such that
A25: k in [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by XBOOLE_0:def_1;
consider u1, u2 being set such that
A26: ( u1 in Ar . (p2,p3) & u2 in Ar . (p1,p2) ) and
k = [u1,u2] by A25, ZFMISC_1:def_2;
( u1 in <^p2,p3^> & u2 in <^p1,p2^> ) by A22, A21, A26;
then <^p1,p3^> <> {} by ALTCAT_1:def_2;
hence contradiction by A24; ::_thesis: verum
end;
A27: {|Ar|} . (p1,p2,p3) = Ar . (p1,p3) by ALTCAT_1:def_3;
A28: rng f c= {|Ar|} . i
proof
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in rng f or q in {|Ar|} . i )
assume q in rng f ; ::_thesis: q in {|Ar|} . i
then consider x being set such that
A29: x in dom f and
A30: q = f . x by FUNCT_1:def_3;
A31: dom f = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A23, FUNCT_2:def_1;
then consider m1, m2 being set such that
A32: m1 in Ar . (p2,p3) and
A33: m2 in Ar . (p1,p2) and
A34: x = [m1,m2] by A29, ZFMISC_1:84;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A35: [p2,p3] = [q2,q3] and
A36: <^q2,q3^> <> {} and
A37: <^q3,q2^> <> {} and
A38: m1 = qq and
A39: qq is iso by A8, A32;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A40: [p1,p2] = [r1,r2] and
A41: <^r1,r2^> <> {} and
A42: <^r2,r1^> <> {} and
A43: m2 = rr and
A44: rr is iso by A8, A33;
A45: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & <^o3,o1^> <> {} & q = m & m is iso )
proof
A46: p2 = q2 by A35, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A40, XTUPLE_0:1;
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & <^o3,r1^> <> {} & q = m & m is iso )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = m & m is iso )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = mm * rr & mm * rr is iso )
A47: p1 = r1 by A40, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A35, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} & q = mm * rr & mm * rr is iso )
A48: r2 = p2 by A40, XTUPLE_0:1;
hence A49: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} ) by A36, A37, A41, A42, A46, ALTCAT_1:def_2; ::_thesis: ( q = mm * rr & mm * rr is iso )
A50: p3 = q3 by A35, XTUPLE_0:1;
thus q = ( the Comp of C . (p1,p2,p3)) . (mm,rr) by A16, A29, A30, A31, A34, A38, A43, FUNCT_1:49
.= mm * rr by A35, A36, A41, A48, A47, A50, ALTCAT_1:def_8 ; ::_thesis: mm * rr is iso
thus mm * rr is iso by A36, A39, A41, A44, A48, A46, A49, ALTCAT_3:7; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then q in Ar . [p1,p3] by A8, A45;
hence q in {|Ar|} . i by A15, A27, MULTOP_1:def_1; ::_thesis: verum
end;
{|Ar,Ar|} . (p1,p2,p3) = [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by ALTCAT_1:def_4;
then [:(Ar . (p2,p3)),(Ar . (p1,p2)):] = {|Ar,Ar|} . i by A15, MULTOP_1:def_1;
hence Co . i is M2( bool [:({|Ar,Ar|} . i),({|Ar|} . i):]) by A23, A28, FUNCT_2:6; ::_thesis: verum
end;
then reconsider Co = Co as BinComp of Ar ;
set IT = AltCatStr(# the carrier of C,Ar,Co #);
set J = the carrier of AltCatStr(# the carrier of C,Ar,Co #);
AltCatStr(# the carrier of C,Ar,Co #) is SubCatStr of C
proof
thus the carrier of AltCatStr(# the carrier of C,Ar,Co #) c= the carrier of C ; :: according to ALTCAT_2:def_11 ::_thesis: ( the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C & the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C )
thus the Arrows of AltCatStr(# the carrier of C,Ar,Co #) cc= the Arrows of C by A13; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) cc= the Comp of C
thus [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] c= [: the carrier of C, the carrier of C, the carrier of C:] ; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . b1 c= the Comp of C . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] or the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i )
assume i in [: the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #), the carrier of AltCatStr(# the carrier of C,Ar,Co #):] ; ::_thesis: the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i c= the Comp of C . i
then consider p1, p2, p3 being object of C such that
A51: i = [p1,p2,p3] and
A52: Co . i = ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] by A12;
A53: ( the Comp of C . (p1,p2,p3)) | [:(Ar . (p2,p3)),(Ar . (p1,p2)):] c= the Comp of C . (p1,p2,p3) by RELAT_1:59;
let q be set ; :: according to TARSKI:def_3 ::_thesis: ( not q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i or q in the Comp of C . i )
assume q in the Comp of AltCatStr(# the carrier of C,Ar,Co #) . i ; ::_thesis: q in the Comp of C . i
then q in the Comp of C . (p1,p2,p3) by A52, A53;
hence q in the Comp of C . i by A51, MULTOP_1:def_1; ::_thesis: verum
end;
then reconsider IT = AltCatStr(# the carrier of C,Ar,Co #) as non empty strict SubCatStr of C ;
IT is transitive
proof
let p1, p2, p3 be object of IT; :: according to ALTCAT_1:def_2 ::_thesis: ( <^p1,p2^> = {} or <^p2,p3^> = {} or not <^p1,p3^> = {} )
assume that
A54: <^p1,p2^> <> {} and
A55: <^p2,p3^> <> {} ; ::_thesis: not <^p1,p3^> = {}
consider m2 being set such that
A56: m2 in <^p1,p2^> by A54, XBOOLE_0:def_1;
consider m1 being set such that
A57: m1 in <^p2,p3^> by A55, XBOOLE_0:def_1;
[p2,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider q2, q3 being object of C, qq being Morphism of q2,q3 such that
A58: [p2,p3] = [q2,q3] and
A59: <^q2,q3^> <> {} and
A60: <^q3,q2^> <> {} and
m1 = qq and
A61: qq is iso by A8, A57;
[p1,p2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
then consider r1, r2 being object of C, rr being Morphism of r1,r2 such that
A62: [p1,p2] = [r1,r2] and
A63: <^r1,r2^> <> {} and
A64: <^r2,r1^> <> {} and
m2 = rr and
A65: rr is iso by A8, A56;
A66: p2 = q2 by A58, XTUPLE_0:1;
then reconsider mm = qq as Morphism of r2,q3 by A62, XTUPLE_0:1;
A67: r2 = p2 by A62, XTUPLE_0:1;
A68: ex o1, o3 being object of C ex m being Morphism of o1,o3 st
( [p1,p3] = [o1,o3] & <^o1,o3^> <> {} & <^o3,o1^> <> {} & mm * rr = m & m is iso )
proof
take r1 ; ::_thesis: ex o3 being object of C ex m being Morphism of r1,o3 st
( [p1,p3] = [r1,o3] & <^r1,o3^> <> {} & <^o3,r1^> <> {} & mm * rr = m & m is iso )
take q3 ; ::_thesis: ex m being Morphism of r1,q3 st
( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = m & m is iso )
take mm * rr ; ::_thesis: ( [p1,p3] = [r1,q3] & <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = mm * rr & mm * rr is iso )
p1 = r1 by A62, XTUPLE_0:1;
hence [p1,p3] = [r1,q3] by A58, XTUPLE_0:1; ::_thesis: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} & mm * rr = mm * rr & mm * rr is iso )
thus A69: ( <^r1,q3^> <> {} & <^q3,r1^> <> {} ) by A59, A60, A63, A64, A67, A66, ALTCAT_1:def_2; ::_thesis: ( mm * rr = mm * rr & mm * rr is iso )
thus mm * rr = mm * rr ; ::_thesis: mm * rr is iso
thus mm * rr is iso by A59, A61, A63, A65, A67, A66, A69, ALTCAT_3:7; ::_thesis: verum
end;
[p1,p3] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
hence not <^p1,p3^> = {} by A8, A68; ::_thesis: verum
end;
then reconsider IT = IT as non empty transitive strict SubCatStr of C ;
take IT ; ::_thesis: ( the carrier of IT = the carrier of C & the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) )
thus the carrier of IT = the carrier of C ; ::_thesis: ( the Arrows of IT cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) )
thus the Arrows of IT cc= the Arrows of C by A13; ::_thesis: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) )
let o1, o2 be object of C; ::_thesis: for m being Morphism of o1,o2 holds
( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) )
let m be Morphism of o1,o2; ::_thesis: ( m in the Arrows of IT . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) )
A70: [o1,o2] in [: the carrier of C, the carrier of C:] by ZFMISC_1:def_2;
thus ( m in the Arrows of IT . (o1,o2) implies ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso implies m in the Arrows of IT . (o1,o2) )
proof
assume m in the Arrows of IT . (o1,o2) ; ::_thesis: ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso )
then consider p1, p2 being object of C, n being Morphism of p1,p2 such that
A71: [o1,o2] = [p1,p2] and
A72: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} & m = n & n is iso ) by A8, A70;
( o1 = p1 & o2 = p2 ) by A71, XTUPLE_0:1;
hence ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) by A72; ::_thesis: verum
end;
assume ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ; ::_thesis: m in the Arrows of IT . (o1,o2)
hence m in the Arrows of IT . (o1,o2) by A8, A70; ::_thesis: verum
end;
uniqueness
for b1, b2 being non empty transitive strict SubCatStr of C st the carrier of b1 = the carrier of C & the Arrows of b1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) & the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) holds
b1 = b2
proof
let S1, S2 be non empty transitive strict SubCatStr of C; ::_thesis: ( the carrier of S1 = the carrier of C & the Arrows of S1 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) & the carrier of S2 = the carrier of C & the Arrows of S2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) implies S1 = S2 )
assume that
A73: the carrier of S1 = the carrier of C and
A74: the Arrows of S1 cc= the Arrows of C and
A75: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S1 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) and
A76: the carrier of S2 = the carrier of C and
A77: the Arrows of S2 cc= the Arrows of C and
A78: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of S2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ; ::_thesis: S1 = S2
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_S1_._i_=_the_Arrows_of_S2_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of S1 . i = the Arrows of S2 . i )
assume A79: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of S1 . i = the Arrows of S2 . i
then consider o1, o2 being set such that
A80: ( o1 in the carrier of C & o2 in the carrier of C ) and
A81: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A80;
thus the Arrows of S1 . i = the Arrows of S2 . i ::_thesis: verum
proof
thus the Arrows of S1 . i c= the Arrows of S2 . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of S2 . i c= the Arrows of S1 . i
proof
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S1 . i or n in the Arrows of S2 . i )
assume A82: n in the Arrows of S1 . i ; ::_thesis: n in the Arrows of S2 . i
the Arrows of S1 . i c= the Arrows of C . i by A73, A74, A79, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A81, A82;
A83: m in the Arrows of S1 . (o1,o2) by A81, A82;
then A84: m is iso by A75;
( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A75, A83;
then m in the Arrows of S2 . (o1,o2) by A78, A84;
hence n in the Arrows of S2 . i by A81; ::_thesis: verum
end;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of S2 . i or n in the Arrows of S1 . i )
assume A85: n in the Arrows of S2 . i ; ::_thesis: n in the Arrows of S1 . i
the Arrows of S2 . i c= the Arrows of C . i by A76, A77, A79, ALTCAT_2:def_2;
then reconsider m = n as Morphism of o1,o2 by A81, A85;
A86: m in the Arrows of S2 . (o1,o2) by A81, A85;
then A87: m is iso by A78;
( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by A78, A86;
then m in the Arrows of S1 . (o1,o2) by A75, A87;
hence n in the Arrows of S1 . i by A81; ::_thesis: verum
end;
end;
hence S1 = S2 by A73, A76, ALTCAT_2:26, PBOOLE:3; ::_thesis: verum
end;
end;
:: deftheorem Def5 defines AllIso ALTCAT_4:def_5_:_
for C being category
for b2 being non empty transitive strict SubCatStr of C holds
( b2 = AllIso C iff ( the carrier of b2 = the carrier of C & the Arrows of b2 cc= the Arrows of C & ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m in the Arrows of b2 . (o1,o2) iff ( <^o1,o2^> <> {} & <^o2,o1^> <> {} & m is iso ) ) ) ) );
registration
let C be category;
cluster AllIso C -> non empty transitive strict id-inheriting ;
coherence
AllIso C is id-inheriting
proof
for o being object of (AllIso C)
for o9 being object of C st o = o9 holds
idm o9 in <^o,o^> by Def5;
hence AllIso C is id-inheriting by ALTCAT_2:def_14; ::_thesis: verum
end;
end;
theorem Th41: :: ALTCAT_4:41
for C being category holds AllIso C is non empty subcategory of AllRetr C
proof
let C be category; ::_thesis: AllIso C is non empty subcategory of AllRetr C
the carrier of (AllIso C) = the carrier of C by Def5;
then A1: the carrier of (AllIso C) c= the carrier of (AllRetr C) by Def3;
the Arrows of (AllIso C) cc= the Arrows of (AllRetr C)
proof
thus [: the carrier of (AllIso C), the carrier of (AllIso C):] c= [: the carrier of (AllRetr C), the carrier of (AllRetr C):] by A1, ZFMISC_1:96; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of (AllIso C), the carrier of (AllIso C):] or the Arrows of (AllIso C) . b1 c= the Arrows of (AllRetr C) . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of (AllIso C), the carrier of (AllIso C):] or the Arrows of (AllIso C) . i c= the Arrows of (AllRetr C) . i )
assume A2: i in [: the carrier of (AllIso C), the carrier of (AllIso C):] ; ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllRetr C) . i
then consider o1, o2 being set such that
A3: ( o1 in the carrier of (AllIso C) & o2 in the carrier of (AllIso C) ) and
A4: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A3, Def5;
let m be set ; :: according to TARSKI:def_3 ::_thesis: ( not m in the Arrows of (AllIso C) . i or m in the Arrows of (AllRetr C) . i )
assume A5: m in the Arrows of (AllIso C) . i ; ::_thesis: m in the Arrows of (AllRetr C) . i
the Arrows of (AllIso C) cc= the Arrows of C by Def5;
then the Arrows of (AllIso C) . [o1,o2] c= the Arrows of C . (o1,o2) by A2, A4, ALTCAT_2:def_2;
then reconsider m1 = m as Morphism of o1,o2 by A4, A5;
m in the Arrows of (AllIso C) . (o1,o2) by A4, A5;
then m1 is iso by Def5;
then A6: m1 is retraction by ALTCAT_3:5;
m1 in the Arrows of (AllIso C) . (o1,o2) by A4, A5;
then ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by Def5;
then m in the Arrows of (AllRetr C) . (o1,o2) by A6, Def3;
hence m in the Arrows of (AllRetr C) . i by A4; ::_thesis: verum
end;
then reconsider A = AllIso C as non empty with_units SubCatStr of AllRetr C by A1, ALTCAT_2:24;
now__::_thesis:_for_o_being_object_of_A
for_o1_being_object_of_(AllRetr_C)_st_o_=_o1_holds_
idm_o1_in_<^o,o^>
let o be object of A; ::_thesis: for o1 being object of (AllRetr C) st o = o1 holds
idm o1 in <^o,o^>
let o1 be object of (AllRetr C); ::_thesis: ( o = o1 implies idm o1 in <^o,o^> )
assume A7: o = o1 ; ::_thesis: idm o1 in <^o,o^>
reconsider oo = o as object of C by Def5;
idm o = idm oo by ALTCAT_2:34
.= idm o1 by A7, ALTCAT_2:34 ;
hence idm o1 in <^o,o^> ; ::_thesis: verum
end;
hence AllIso C is non empty subcategory of AllRetr C by ALTCAT_2:def_14; ::_thesis: verum
end;
theorem Th42: :: ALTCAT_4:42
for C being category holds AllIso C is non empty subcategory of AllCoretr C
proof
let C be category; ::_thesis: AllIso C is non empty subcategory of AllCoretr C
the carrier of (AllIso C) = the carrier of C by Def5;
then A1: the carrier of (AllIso C) c= the carrier of (AllCoretr C) by Def4;
the Arrows of (AllIso C) cc= the Arrows of (AllCoretr C)
proof
thus [: the carrier of (AllIso C), the carrier of (AllIso C):] c= [: the carrier of (AllCoretr C), the carrier of (AllCoretr C):] by A1, ZFMISC_1:96; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of (AllIso C), the carrier of (AllIso C):] or the Arrows of (AllIso C) . b1 c= the Arrows of (AllCoretr C) . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of (AllIso C), the carrier of (AllIso C):] or the Arrows of (AllIso C) . i c= the Arrows of (AllCoretr C) . i )
assume A2: i in [: the carrier of (AllIso C), the carrier of (AllIso C):] ; ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllCoretr C) . i
then consider o1, o2 being set such that
A3: ( o1 in the carrier of (AllIso C) & o2 in the carrier of (AllIso C) ) and
A4: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A3, Def5;
let m be set ; :: according to TARSKI:def_3 ::_thesis: ( not m in the Arrows of (AllIso C) . i or m in the Arrows of (AllCoretr C) . i )
assume A5: m in the Arrows of (AllIso C) . i ; ::_thesis: m in the Arrows of (AllCoretr C) . i
the Arrows of (AllIso C) cc= the Arrows of C by Def5;
then the Arrows of (AllIso C) . [o1,o2] c= the Arrows of C . (o1,o2) by A2, A4, ALTCAT_2:def_2;
then reconsider m1 = m as Morphism of o1,o2 by A4, A5;
m in the Arrows of (AllIso C) . (o1,o2) by A4, A5;
then m1 is iso by Def5;
then A6: m1 is coretraction by ALTCAT_3:5;
m1 in the Arrows of (AllIso C) . (o1,o2) by A4, A5;
then ( <^o1,o2^> <> {} & <^o2,o1^> <> {} ) by Def5;
then m in the Arrows of (AllCoretr C) . (o1,o2) by A6, Def4;
hence m in the Arrows of (AllCoretr C) . i by A4; ::_thesis: verum
end;
then reconsider A = AllIso C as non empty with_units SubCatStr of AllCoretr C by A1, ALTCAT_2:24;
now__::_thesis:_for_o_being_object_of_A
for_o1_being_object_of_(AllCoretr_C)_st_o_=_o1_holds_
idm_o1_in_<^o,o^>
let o be object of A; ::_thesis: for o1 being object of (AllCoretr C) st o = o1 holds
idm o1 in <^o,o^>
let o1 be object of (AllCoretr C); ::_thesis: ( o = o1 implies idm o1 in <^o,o^> )
assume A7: o = o1 ; ::_thesis: idm o1 in <^o,o^>
reconsider oo = o as object of C by Def5;
idm o = idm oo by ALTCAT_2:34
.= idm o1 by A7, ALTCAT_2:34 ;
hence idm o1 in <^o,o^> ; ::_thesis: verum
end;
hence AllIso C is non empty subcategory of AllCoretr C by ALTCAT_2:def_14; ::_thesis: verum
end;
theorem Th43: :: ALTCAT_4:43
for C being category holds AllCoretr C is non empty subcategory of AllMono C
proof
let C be category; ::_thesis: AllCoretr C is non empty subcategory of AllMono C
the carrier of (AllCoretr C) = the carrier of C by Def4;
then A1: the carrier of (AllCoretr C) c= the carrier of (AllMono C) by Def1;
the Arrows of (AllCoretr C) cc= the Arrows of (AllMono C)
proof
thus [: the carrier of (AllCoretr C), the carrier of (AllCoretr C):] c= [: the carrier of (AllMono C), the carrier of (AllMono C):] by A1, ZFMISC_1:96; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of (AllCoretr C), the carrier of (AllCoretr C):] or the Arrows of (AllCoretr C) . b1 c= the Arrows of (AllMono C) . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of (AllCoretr C), the carrier of (AllCoretr C):] or the Arrows of (AllCoretr C) . i c= the Arrows of (AllMono C) . i )
assume A2: i in [: the carrier of (AllCoretr C), the carrier of (AllCoretr C):] ; ::_thesis: the Arrows of (AllCoretr C) . i c= the Arrows of (AllMono C) . i
then consider o1, o2 being set such that
A3: ( o1 in the carrier of (AllCoretr C) & o2 in the carrier of (AllCoretr C) ) and
A4: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A3, Def4;
let m be set ; :: according to TARSKI:def_3 ::_thesis: ( not m in the Arrows of (AllCoretr C) . i or m in the Arrows of (AllMono C) . i )
assume A5: m in the Arrows of (AllCoretr C) . i ; ::_thesis: m in the Arrows of (AllMono C) . i
the Arrows of (AllCoretr C) cc= the Arrows of C by Def4;
then the Arrows of (AllCoretr C) . [o1,o2] c= the Arrows of C . (o1,o2) by A2, A4, ALTCAT_2:def_2;
then reconsider m1 = m as Morphism of o1,o2 by A4, A5;
m in the Arrows of (AllCoretr C) . (o1,o2) by A4, A5;
then A6: m1 is coretraction by Def4;
A7: m1 in the Arrows of (AllCoretr C) . (o1,o2) by A4, A5;
then A8: <^o1,o2^> <> {} by Def4;
<^o2,o1^> <> {} by A7, Def4;
then m1 is mono by A8, A6, ALTCAT_3:16;
then m in the Arrows of (AllMono C) . (o1,o2) by A8, Def1;
hence m in the Arrows of (AllMono C) . i by A4; ::_thesis: verum
end;
then reconsider A = AllCoretr C as non empty with_units SubCatStr of AllMono C by A1, ALTCAT_2:24;
now__::_thesis:_for_o_being_object_of_A
for_o1_being_object_of_(AllMono_C)_st_o_=_o1_holds_
idm_o1_in_<^o,o^>
let o be object of A; ::_thesis: for o1 being object of (AllMono C) st o = o1 holds
idm o1 in <^o,o^>
let o1 be object of (AllMono C); ::_thesis: ( o = o1 implies idm o1 in <^o,o^> )
assume A9: o = o1 ; ::_thesis: idm o1 in <^o,o^>
reconsider oo = o as object of C by Def4;
idm o = idm oo by ALTCAT_2:34
.= idm o1 by A9, ALTCAT_2:34 ;
hence idm o1 in <^o,o^> ; ::_thesis: verum
end;
hence AllCoretr C is non empty subcategory of AllMono C by ALTCAT_2:def_14; ::_thesis: verum
end;
theorem Th44: :: ALTCAT_4:44
for C being category holds AllRetr C is non empty subcategory of AllEpi C
proof
let C be category; ::_thesis: AllRetr C is non empty subcategory of AllEpi C
the carrier of (AllRetr C) = the carrier of C by Def3;
then A1: the carrier of (AllRetr C) c= the carrier of (AllEpi C) by Def2;
the Arrows of (AllRetr C) cc= the Arrows of (AllEpi C)
proof
thus [: the carrier of (AllRetr C), the carrier of (AllRetr C):] c= [: the carrier of (AllEpi C), the carrier of (AllEpi C):] by A1, ZFMISC_1:96; :: according to ALTCAT_2:def_2 ::_thesis: for b1 being set holds
( not b1 in [: the carrier of (AllRetr C), the carrier of (AllRetr C):] or the Arrows of (AllRetr C) . b1 c= the Arrows of (AllEpi C) . b1 )
let i be set ; ::_thesis: ( not i in [: the carrier of (AllRetr C), the carrier of (AllRetr C):] or the Arrows of (AllRetr C) . i c= the Arrows of (AllEpi C) . i )
assume A2: i in [: the carrier of (AllRetr C), the carrier of (AllRetr C):] ; ::_thesis: the Arrows of (AllRetr C) . i c= the Arrows of (AllEpi C) . i
then consider o1, o2 being set such that
A3: ( o1 in the carrier of (AllRetr C) & o2 in the carrier of (AllRetr C) ) and
A4: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A3, Def3;
let m be set ; :: according to TARSKI:def_3 ::_thesis: ( not m in the Arrows of (AllRetr C) . i or m in the Arrows of (AllEpi C) . i )
assume A5: m in the Arrows of (AllRetr C) . i ; ::_thesis: m in the Arrows of (AllEpi C) . i
the Arrows of (AllRetr C) cc= the Arrows of C by Def3;
then the Arrows of (AllRetr C) . [o1,o2] c= the Arrows of C . (o1,o2) by A2, A4, ALTCAT_2:def_2;
then reconsider m1 = m as Morphism of o1,o2 by A4, A5;
m in the Arrows of (AllRetr C) . (o1,o2) by A4, A5;
then A6: m1 is retraction by Def3;
A7: m1 in the Arrows of (AllRetr C) . (o1,o2) by A4, A5;
then A8: <^o1,o2^> <> {} by Def3;
<^o2,o1^> <> {} by A7, Def3;
then m1 is epi by A8, A6, ALTCAT_3:15;
then m in the Arrows of (AllEpi C) . (o1,o2) by A8, Def2;
hence m in the Arrows of (AllEpi C) . i by A4; ::_thesis: verum
end;
then reconsider A = AllRetr C as non empty with_units SubCatStr of AllEpi C by A1, ALTCAT_2:24;
now__::_thesis:_for_o_being_object_of_A
for_o1_being_object_of_(AllEpi_C)_st_o_=_o1_holds_
idm_o1_in_<^o,o^>
let o be object of A; ::_thesis: for o1 being object of (AllEpi C) st o = o1 holds
idm o1 in <^o,o^>
let o1 be object of (AllEpi C); ::_thesis: ( o = o1 implies idm o1 in <^o,o^> )
assume A9: o = o1 ; ::_thesis: idm o1 in <^o,o^>
reconsider oo = o as object of C by Def3;
idm o = idm oo by ALTCAT_2:34
.= idm o1 by A9, ALTCAT_2:34 ;
hence idm o1 in <^o,o^> ; ::_thesis: verum
end;
hence AllRetr C is non empty subcategory of AllEpi C by ALTCAT_2:def_14; ::_thesis: verum
end;
theorem :: ALTCAT_4:45
for C being category st ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds m is mono ) holds
AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllMono C
proof
let C be category; ::_thesis: ( ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds m is mono ) implies AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllMono C )
assume A1: for o1, o2 being object of C
for m being Morphism of o1,o2 holds m is mono ; ::_thesis: AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllMono C
A2: the carrier of (AllMono C) = the carrier of AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) by Def1;
A3: the Arrows of (AllMono C) cc= the Arrows of C by Def1;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllMono_C)_._i_=_the_Arrows_of_C_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllMono C) . i = the Arrows of C . i )
assume A4: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllMono C) . i = the Arrows of C . i
then consider o1, o2 being set such that
A5: ( o1 in the carrier of C & o2 in the carrier of C ) and
A6: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A5;
thus the Arrows of (AllMono C) . i = the Arrows of C . i ::_thesis: verum
proof
thus the Arrows of (AllMono C) . i c= the Arrows of C . i by A2, A3, A4, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of C . i c= the Arrows of (AllMono C) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of C . i or n in the Arrows of (AllMono C) . i )
assume A7: n in the Arrows of C . i ; ::_thesis: n in the Arrows of (AllMono C) . i
then reconsider n1 = n as Morphism of o1,o2 by A6;
n1 is mono by A1;
then n in the Arrows of (AllMono C) . (o1,o2) by A6, A7, Def1;
hence n in the Arrows of (AllMono C) . i by A6; ::_thesis: verum
end;
end;
hence AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllMono C by A2, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:46
for C being category st ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds m is epi ) holds
AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllEpi C
proof
let C be category; ::_thesis: ( ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds m is epi ) implies AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllEpi C )
assume A1: for o1, o2 being object of C
for m being Morphism of o1,o2 holds m is epi ; ::_thesis: AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllEpi C
A2: the carrier of (AllEpi C) = the carrier of AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) by Def2;
A3: the Arrows of (AllEpi C) cc= the Arrows of C by Def2;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllEpi_C)_._i_=_the_Arrows_of_C_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllEpi C) . i = the Arrows of C . i )
assume A4: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllEpi C) . i = the Arrows of C . i
then consider o1, o2 being set such that
A5: ( o1 in the carrier of C & o2 in the carrier of C ) and
A6: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A5;
thus the Arrows of (AllEpi C) . i = the Arrows of C . i ::_thesis: verum
proof
thus the Arrows of (AllEpi C) . i c= the Arrows of C . i by A2, A3, A4, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of C . i c= the Arrows of (AllEpi C) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of C . i or n in the Arrows of (AllEpi C) . i )
assume A7: n in the Arrows of C . i ; ::_thesis: n in the Arrows of (AllEpi C) . i
then reconsider n1 = n as Morphism of o1,o2 by A6;
n1 is epi by A1;
then n in the Arrows of (AllEpi C) . (o1,o2) by A6, A7, Def2;
hence n in the Arrows of (AllEpi C) . i by A6; ::_thesis: verum
end;
end;
hence AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllEpi C by A2, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:47
for C being category st ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is retraction & <^o2,o1^> <> {} ) ) holds
AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllRetr C
proof
let C be category; ::_thesis: ( ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is retraction & <^o2,o1^> <> {} ) ) implies AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllRetr C )
assume A1: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is retraction & <^o2,o1^> <> {} ) ; ::_thesis: AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllRetr C
A2: the carrier of (AllRetr C) = the carrier of AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) by Def3;
A3: the Arrows of (AllRetr C) cc= the Arrows of C by Def3;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllRetr_C)_._i_=_the_Arrows_of_C_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllRetr C) . i = the Arrows of C . i )
assume A4: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllRetr C) . i = the Arrows of C . i
then consider o1, o2 being set such that
A5: ( o1 in the carrier of C & o2 in the carrier of C ) and
A6: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A5;
thus the Arrows of (AllRetr C) . i = the Arrows of C . i ::_thesis: verum
proof
thus the Arrows of (AllRetr C) . i c= the Arrows of C . i by A2, A3, A4, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of C . i c= the Arrows of (AllRetr C) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of C . i or n in the Arrows of (AllRetr C) . i )
assume A7: n in the Arrows of C . i ; ::_thesis: n in the Arrows of (AllRetr C) . i
then reconsider n1 = n as Morphism of o1,o2 by A6;
( <^o2,o1^> <> {} & n1 is retraction ) by A1;
then n in the Arrows of (AllRetr C) . (o1,o2) by A6, A7, Def3;
hence n in the Arrows of (AllRetr C) . i by A6; ::_thesis: verum
end;
end;
hence AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllRetr C by A2, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:48
for C being category st ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is coretraction & <^o2,o1^> <> {} ) ) holds
AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllCoretr C
proof
let C be category; ::_thesis: ( ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is coretraction & <^o2,o1^> <> {} ) ) implies AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllCoretr C )
assume A1: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is coretraction & <^o2,o1^> <> {} ) ; ::_thesis: AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllCoretr C
A2: the carrier of (AllCoretr C) = the carrier of AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) by Def4;
A3: the Arrows of (AllCoretr C) cc= the Arrows of C by Def4;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllCoretr_C)_._i_=_the_Arrows_of_C_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllCoretr C) . i = the Arrows of C . i )
assume A4: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllCoretr C) . i = the Arrows of C . i
then consider o1, o2 being set such that
A5: ( o1 in the carrier of C & o2 in the carrier of C ) and
A6: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A5;
thus the Arrows of (AllCoretr C) . i = the Arrows of C . i ::_thesis: verum
proof
thus the Arrows of (AllCoretr C) . i c= the Arrows of C . i by A2, A3, A4, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of C . i c= the Arrows of (AllCoretr C) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of C . i or n in the Arrows of (AllCoretr C) . i )
assume A7: n in the Arrows of C . i ; ::_thesis: n in the Arrows of (AllCoretr C) . i
then reconsider n1 = n as Morphism of o1,o2 by A6;
( <^o2,o1^> <> {} & n1 is coretraction ) by A1;
then n in the Arrows of (AllCoretr C) . (o1,o2) by A6, A7, Def4;
hence n in the Arrows of (AllCoretr C) . i by A6; ::_thesis: verum
end;
end;
hence AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllCoretr C by A2, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:49
for C being category st ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is iso & <^o2,o1^> <> {} ) ) holds
AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllIso C
proof
let C be category; ::_thesis: ( ( for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is iso & <^o2,o1^> <> {} ) ) implies AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllIso C )
assume A1: for o1, o2 being object of C
for m being Morphism of o1,o2 holds
( m is iso & <^o2,o1^> <> {} ) ; ::_thesis: AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllIso C
A2: the carrier of (AllIso C) = the carrier of AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) by Def5;
A3: the Arrows of (AllIso C) cc= the Arrows of C by Def5;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllIso_C)_._i_=_the_Arrows_of_C_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllIso C) . i = the Arrows of C . i )
assume A4: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllIso C) . i = the Arrows of C . i
then consider o1, o2 being set such that
A5: ( o1 in the carrier of C & o2 in the carrier of C ) and
A6: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of C by A5;
thus the Arrows of (AllIso C) . i = the Arrows of C . i ::_thesis: verum
proof
thus the Arrows of (AllIso C) . i c= the Arrows of C . i by A2, A3, A4, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of C . i c= the Arrows of (AllIso C) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of C . i or n in the Arrows of (AllIso C) . i )
assume A7: n in the Arrows of C . i ; ::_thesis: n in the Arrows of (AllIso C) . i
then reconsider n1 = n as Morphism of o1,o2 by A6;
( <^o2,o1^> <> {} & n1 is iso ) by A1;
then n in the Arrows of (AllIso C) . (o1,o2) by A6, A7, Def5;
hence n in the Arrows of (AllIso C) . i by A6; ::_thesis: verum
end;
end;
hence AltCatStr(# the carrier of C, the Arrows of C, the Comp of C #) = AllIso C by A2, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem Th50: :: ALTCAT_4:50
for C being category
for o1, o2 being object of (AllMono C)
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
m is mono
proof
let C be category; ::_thesis: for o1, o2 being object of (AllMono C)
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
m is mono
let o1, o2 be object of (AllMono C); ::_thesis: for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
m is mono
let m be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} implies m is mono )
assume A1: <^o1,o2^> <> {} ; ::_thesis: m is mono
reconsider p1 = o1, p2 = o2 as object of C by Def1;
reconsider p = m as Morphism of p1,p2 by A1, ALTCAT_2:33;
p is mono by A1, Def1;
hence m is mono by A1, Th37; ::_thesis: verum
end;
theorem Th51: :: ALTCAT_4:51
for C being category
for o1, o2 being object of (AllEpi C)
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
m is epi
proof
let C be category; ::_thesis: for o1, o2 being object of (AllEpi C)
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
m is epi
let o1, o2 be object of (AllEpi C); ::_thesis: for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
m is epi
let m be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} implies m is epi )
assume A1: <^o1,o2^> <> {} ; ::_thesis: m is epi
reconsider p1 = o1, p2 = o2 as object of C by Def2;
reconsider p = m as Morphism of p1,p2 by A1, ALTCAT_2:33;
p is epi by A1, Def2;
hence m is epi by A1, Th37; ::_thesis: verum
end;
theorem Th52: :: ALTCAT_4:52
for C being category
for o1, o2 being object of (AllIso C)
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
( m is iso & m " in <^o2,o1^> )
proof
let C be category; ::_thesis: for o1, o2 being object of (AllIso C)
for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
( m is iso & m " in <^o2,o1^> )
let o1, o2 be object of (AllIso C); ::_thesis: for m being Morphism of o1,o2 st <^o1,o2^> <> {} holds
( m is iso & m " in <^o2,o1^> )
let m be Morphism of o1,o2; ::_thesis: ( <^o1,o2^> <> {} implies ( m is iso & m " in <^o2,o1^> ) )
assume A1: <^o1,o2^> <> {} ; ::_thesis: ( m is iso & m " in <^o2,o1^> )
reconsider p1 = o1, p2 = o2 as object of C by Def5;
reconsider p = m as Morphism of p1,p2 by A1, ALTCAT_2:33;
p in the Arrows of (AllIso C) . (o1,o2) by A1;
then A2: ( <^p1,p2^> <> {} & <^p2,p1^> <> {} ) by Def5;
A3: p is iso by A1, Def5;
then A4: p " is iso by A2, Th3;
then A5: p " in the Arrows of (AllIso C) . (p2,p1) by A2, Def5;
reconsider m1 = p " as Morphism of o2,o1 by A2, A4, Def5;
A6: m is retraction
proof
take m1 ; :: according to ALTCAT_3:def_2 ::_thesis: m is_left_inverse_of m1
thus m * m1 = p * (p ") by A1, A5, ALTCAT_2:32
.= idm p2 by A3, ALTCAT_3:def_5
.= idm o2 by ALTCAT_2:34 ; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
A7: m is coretraction
proof
take m1 ; :: according to ALTCAT_3:def_3 ::_thesis: m1 is_left_inverse_of m
thus m1 * m = (p ") * p by A1, A5, ALTCAT_2:32
.= idm p1 by A3, ALTCAT_3:def_5
.= idm o1 by ALTCAT_2:34 ; :: according to ALTCAT_3:def_1 ::_thesis: verum
end;
p " in <^o2,o1^> by A2, A4, Def5;
hence m is iso by A1, A6, A7, ALTCAT_3:6; ::_thesis: m " in <^o2,o1^>
thus m " in <^o2,o1^> by A5; ::_thesis: verum
end;
theorem :: ALTCAT_4:53
for C being category holds AllMono (AllMono C) = AllMono C
proof
let C be category; ::_thesis: AllMono (AllMono C) = AllMono C
A1: ( the carrier of (AllMono (AllMono C)) = the carrier of (AllMono C) & the carrier of (AllMono C) = the carrier of C ) by Def1;
A2: the Arrows of (AllMono (AllMono C)) cc= the Arrows of (AllMono C) by Def1;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllMono_(AllMono_C))_._i_=_the_Arrows_of_(AllMono_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllMono (AllMono C)) . i = the Arrows of (AllMono C) . i )
assume A3: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllMono (AllMono C)) . i = the Arrows of (AllMono C) . i
then consider o1, o2 being set such that
A4: ( o1 in the carrier of C & o2 in the carrier of C ) and
A5: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllMono C) by A4, Def1;
thus the Arrows of (AllMono (AllMono C)) . i = the Arrows of (AllMono C) . i ::_thesis: verum
proof
thus the Arrows of (AllMono (AllMono C)) . i c= the Arrows of (AllMono C) . i by A1, A2, A3, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllMono C) . i c= the Arrows of (AllMono (AllMono C)) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllMono C) . i or n in the Arrows of (AllMono (AllMono C)) . i )
assume A6: n in the Arrows of (AllMono C) . i ; ::_thesis: n in the Arrows of (AllMono (AllMono C)) . i
then reconsider n1 = n as Morphism of o1,o2 by A5;
n1 is mono by A5, A6, Th50;
then n in the Arrows of (AllMono (AllMono C)) . (o1,o2) by A5, A6, Def1;
hence n in the Arrows of (AllMono (AllMono C)) . i by A5; ::_thesis: verum
end;
end;
hence AllMono (AllMono C) = AllMono C by A1, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:54
for C being category holds AllEpi (AllEpi C) = AllEpi C
proof
let C be category; ::_thesis: AllEpi (AllEpi C) = AllEpi C
A1: ( the carrier of (AllEpi (AllEpi C)) = the carrier of (AllEpi C) & the carrier of (AllEpi C) = the carrier of C ) by Def2;
A2: the Arrows of (AllEpi (AllEpi C)) cc= the Arrows of (AllEpi C) by Def2;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllEpi_(AllEpi_C))_._i_=_the_Arrows_of_(AllEpi_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllEpi (AllEpi C)) . i = the Arrows of (AllEpi C) . i )
assume A3: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllEpi (AllEpi C)) . i = the Arrows of (AllEpi C) . i
then consider o1, o2 being set such that
A4: ( o1 in the carrier of C & o2 in the carrier of C ) and
A5: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllEpi C) by A4, Def2;
thus the Arrows of (AllEpi (AllEpi C)) . i = the Arrows of (AllEpi C) . i ::_thesis: verum
proof
thus the Arrows of (AllEpi (AllEpi C)) . i c= the Arrows of (AllEpi C) . i by A1, A2, A3, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllEpi C) . i c= the Arrows of (AllEpi (AllEpi C)) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllEpi C) . i or n in the Arrows of (AllEpi (AllEpi C)) . i )
assume A6: n in the Arrows of (AllEpi C) . i ; ::_thesis: n in the Arrows of (AllEpi (AllEpi C)) . i
then reconsider n1 = n as Morphism of o1,o2 by A5;
n1 is epi by A5, A6, Th51;
then n in the Arrows of (AllEpi (AllEpi C)) . (o1,o2) by A5, A6, Def2;
hence n in the Arrows of (AllEpi (AllEpi C)) . i by A5; ::_thesis: verum
end;
end;
hence AllEpi (AllEpi C) = AllEpi C by A1, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:55
for C being category holds AllIso (AllIso C) = AllIso C
proof
let C be category; ::_thesis: AllIso (AllIso C) = AllIso C
A1: ( the carrier of (AllIso (AllIso C)) = the carrier of (AllIso C) & the carrier of (AllIso C) = the carrier of C ) by Def5;
A2: the Arrows of (AllIso (AllIso C)) cc= the Arrows of (AllIso C) by Def5;
now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllIso_(AllIso_C))_._i_=_the_Arrows_of_(AllIso_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllIso (AllIso C)) . i = the Arrows of (AllIso C) . i )
assume A3: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllIso (AllIso C)) . i = the Arrows of (AllIso C) . i
then consider o1, o2 being set such that
A4: ( o1 in the carrier of C & o2 in the carrier of C ) and
A5: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllIso C) by A4, Def5;
thus the Arrows of (AllIso (AllIso C)) . i = the Arrows of (AllIso C) . i ::_thesis: verum
proof
thus the Arrows of (AllIso (AllIso C)) . i c= the Arrows of (AllIso C) . i by A1, A2, A3, ALTCAT_2:def_2; :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllIso (AllIso C)) . i
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso C) . i or n in the Arrows of (AllIso (AllIso C)) . i )
assume A6: n in the Arrows of (AllIso C) . i ; ::_thesis: n in the Arrows of (AllIso (AllIso C)) . i
then reconsider n1 = n as Morphism of o1,o2 by A5;
( n1 " in <^o2,o1^> & n1 is iso ) by A5, A6, Th52;
then n in the Arrows of (AllIso (AllIso C)) . (o1,o2) by A5, A6, Def5;
hence n in the Arrows of (AllIso (AllIso C)) . i by A5; ::_thesis: verum
end;
end;
hence AllIso (AllIso C) = AllIso C by A1, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:56
for C being category holds AllIso (AllMono C) = AllIso C
proof
let C be category; ::_thesis: AllIso (AllMono C) = AllIso C
A1: AllIso (AllMono C) is non empty transitive SubCatStr of C by ALTCAT_2:21;
A2: the carrier of (AllIso (AllMono C)) = the carrier of (AllMono C) by Def5;
A3: the carrier of (AllIso C) = the carrier of C by Def5;
A4: the carrier of (AllMono C) = the carrier of C by Def1;
( AllIso C is non empty subcategory of AllCoretr C & AllCoretr C is non empty subcategory of AllMono C ) by Th42, Th43;
then A5: AllIso C is non empty subcategory of AllMono C by Th36;
A6: now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllIso_(AllMono_C))_._i_=_the_Arrows_of_(AllIso_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllIso (AllMono C)) . i = the Arrows of (AllIso C) . i )
assume A7: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllIso (AllMono C)) . i = the Arrows of (AllIso C) . i
then consider o1, o2 being set such that
A8: ( o1 in the carrier of C & o2 in the carrier of C ) and
A9: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllMono C) by A8, Def1;
thus the Arrows of (AllIso (AllMono C)) . i = the Arrows of (AllIso C) . i ::_thesis: verum
proof
thus the Arrows of (AllIso (AllMono C)) . i c= the Arrows of (AllIso C) . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllIso (AllMono C)) . i
proof
reconsider r1 = o1, r2 = o2 as object of C by Def1;
reconsider q1 = o1, q2 = o2 as object of (AllIso (AllMono C)) by Def5;
A10: <^q2,q1^> c= <^o2,o1^> by ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso (AllMono C)) . i or n in the Arrows of (AllIso C) . i )
assume A11: n in the Arrows of (AllIso (AllMono C)) . i ; ::_thesis: n in the Arrows of (AllIso C) . i
n in <^q1,q2^> by A9, A11;
then A12: <^o2,o1^> <> {} by A10, Th52;
then A13: <^r2,r1^> <> {} by ALTCAT_2:31, XBOOLE_1:3;
A14: <^q1,q2^> c= <^o1,o2^> by ALTCAT_2:31;
then reconsider n2 = n as Morphism of o1,o2 by A9, A11;
A15: <^r1,r2^> <> {} by A9, A11, A14, ALTCAT_2:31, XBOOLE_1:3;
<^o1,o2^> c= <^r1,r2^> by ALTCAT_2:31;
then <^q1,q2^> c= <^r1,r2^> by A14, XBOOLE_1:1;
then reconsider n1 = n as Morphism of r1,r2 by A9, A11;
n in the Arrows of (AllIso (AllMono C)) . (q1,q2) by A9, A11;
then n2 is iso by Def5;
then n1 is iso by A9, A11, A14, A12, Th40;
then n in the Arrows of (AllIso C) . (r1,r2) by A15, A13, Def5;
hence n in the Arrows of (AllIso C) . i by A9; ::_thesis: verum
end;
reconsider p1 = o1, p2 = o2 as object of (AllIso C) by A4, Def5;
A16: <^p2,p1^> c= <^o2,o1^> by A5, ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso C) . i or n in the Arrows of (AllIso (AllMono C)) . i )
assume A17: n in the Arrows of (AllIso C) . i ; ::_thesis: n in the Arrows of (AllIso (AllMono C)) . i
reconsider n2 = n as Morphism of p1,p2 by A9, A17;
the Arrows of (AllIso C) cc= the Arrows of (AllMono C) by A5, ALTCAT_2:def_11;
then A18: the Arrows of (AllIso C) . i c= the Arrows of (AllMono C) . i by A3, A7, ALTCAT_2:def_2;
then reconsider n1 = n as Morphism of o1,o2 by A9, A17;
A19: n2 " in <^p2,p1^> by A9, A17, Th52;
n2 is iso by A9, A17, Th52;
then n1 is iso by A5, A9, A17, A19, Th40;
then n in the Arrows of (AllIso (AllMono C)) . (o1,o2) by A9, A17, A18, A19, A16, Def5;
hence n in the Arrows of (AllIso (AllMono C)) . i by A9; ::_thesis: verum
end;
end;
then the Arrows of (AllIso (AllMono C)) = the Arrows of (AllIso C) by A2, A3, A4, PBOOLE:3;
then AllIso (AllMono C) is SubCatStr of AllIso C by A2, A3, A4, A1, ALTCAT_2:24;
hence AllIso (AllMono C) = AllIso C by A2, A3, A4, A6, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:57
for C being category holds AllIso (AllEpi C) = AllIso C
proof
let C be category; ::_thesis: AllIso (AllEpi C) = AllIso C
A1: AllIso (AllEpi C) is non empty transitive SubCatStr of C by ALTCAT_2:21;
A2: the carrier of (AllIso (AllEpi C)) = the carrier of (AllEpi C) by Def5;
A3: the carrier of (AllIso C) = the carrier of C by Def5;
A4: the carrier of (AllEpi C) = the carrier of C by Def2;
( AllIso C is non empty subcategory of AllRetr C & AllRetr C is non empty subcategory of AllEpi C ) by Th41, Th44;
then A5: AllIso C is non empty subcategory of AllEpi C by Th36;
A6: now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllIso_(AllEpi_C))_._i_=_the_Arrows_of_(AllIso_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllIso (AllEpi C)) . i = the Arrows of (AllIso C) . i )
assume A7: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllIso (AllEpi C)) . i = the Arrows of (AllIso C) . i
then consider o1, o2 being set such that
A8: ( o1 in the carrier of C & o2 in the carrier of C ) and
A9: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllEpi C) by A8, Def2;
thus the Arrows of (AllIso (AllEpi C)) . i = the Arrows of (AllIso C) . i ::_thesis: verum
proof
thus the Arrows of (AllIso (AllEpi C)) . i c= the Arrows of (AllIso C) . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllIso (AllEpi C)) . i
proof
reconsider r1 = o1, r2 = o2 as object of C by Def2;
reconsider q1 = o1, q2 = o2 as object of (AllIso (AllEpi C)) by Def5;
A10: <^q2,q1^> c= <^o2,o1^> by ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso (AllEpi C)) . i or n in the Arrows of (AllIso C) . i )
assume A11: n in the Arrows of (AllIso (AllEpi C)) . i ; ::_thesis: n in the Arrows of (AllIso C) . i
n in <^q1,q2^> by A9, A11;
then A12: <^o2,o1^> <> {} by A10, Th52;
then A13: <^r2,r1^> <> {} by ALTCAT_2:31, XBOOLE_1:3;
A14: <^q1,q2^> c= <^o1,o2^> by ALTCAT_2:31;
then reconsider n2 = n as Morphism of o1,o2 by A9, A11;
A15: <^r1,r2^> <> {} by A9, A11, A14, ALTCAT_2:31, XBOOLE_1:3;
<^o1,o2^> c= <^r1,r2^> by ALTCAT_2:31;
then <^q1,q2^> c= <^r1,r2^> by A14, XBOOLE_1:1;
then reconsider n1 = n as Morphism of r1,r2 by A9, A11;
n in the Arrows of (AllIso (AllEpi C)) . (q1,q2) by A9, A11;
then n2 is iso by Def5;
then n1 is iso by A9, A11, A14, A12, Th40;
then n in the Arrows of (AllIso C) . (r1,r2) by A15, A13, Def5;
hence n in the Arrows of (AllIso C) . i by A9; ::_thesis: verum
end;
reconsider p1 = o1, p2 = o2 as object of (AllIso C) by A4, Def5;
A16: <^p2,p1^> c= <^o2,o1^> by A5, ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso C) . i or n in the Arrows of (AllIso (AllEpi C)) . i )
assume A17: n in the Arrows of (AllIso C) . i ; ::_thesis: n in the Arrows of (AllIso (AllEpi C)) . i
reconsider n2 = n as Morphism of p1,p2 by A9, A17;
the Arrows of (AllIso C) cc= the Arrows of (AllEpi C) by A5, ALTCAT_2:def_11;
then A18: the Arrows of (AllIso C) . i c= the Arrows of (AllEpi C) . i by A3, A7, ALTCAT_2:def_2;
then reconsider n1 = n as Morphism of o1,o2 by A9, A17;
A19: n2 " in <^p2,p1^> by A9, A17, Th52;
n2 is iso by A9, A17, Th52;
then n1 is iso by A5, A9, A17, A19, Th40;
then n in the Arrows of (AllIso (AllEpi C)) . (o1,o2) by A9, A17, A18, A19, A16, Def5;
hence n in the Arrows of (AllIso (AllEpi C)) . i by A9; ::_thesis: verum
end;
end;
then the Arrows of (AllIso (AllEpi C)) = the Arrows of (AllIso C) by A2, A3, A4, PBOOLE:3;
then AllIso (AllEpi C) is SubCatStr of AllIso C by A2, A3, A4, A1, ALTCAT_2:24;
hence AllIso (AllEpi C) = AllIso C by A2, A3, A4, A6, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:58
for C being category holds AllIso (AllRetr C) = AllIso C
proof
let C be category; ::_thesis: AllIso (AllRetr C) = AllIso C
A1: AllIso (AllRetr C) is non empty transitive SubCatStr of C by ALTCAT_2:21;
A2: the carrier of (AllIso (AllRetr C)) = the carrier of (AllRetr C) by Def5;
A3: the carrier of (AllIso C) = the carrier of C by Def5;
A4: the carrier of (AllRetr C) = the carrier of C by Def3;
A5: AllIso C is non empty subcategory of AllRetr C by Th41;
A6: now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllIso_(AllRetr_C))_._i_=_the_Arrows_of_(AllIso_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllIso (AllRetr C)) . i = the Arrows of (AllIso C) . i )
assume A7: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllIso (AllRetr C)) . i = the Arrows of (AllIso C) . i
then consider o1, o2 being set such that
A8: ( o1 in the carrier of C & o2 in the carrier of C ) and
A9: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllRetr C) by A8, Def3;
thus the Arrows of (AllIso (AllRetr C)) . i = the Arrows of (AllIso C) . i ::_thesis: verum
proof
thus the Arrows of (AllIso (AllRetr C)) . i c= the Arrows of (AllIso C) . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllIso (AllRetr C)) . i
proof
reconsider r1 = o1, r2 = o2 as object of C by Def3;
reconsider q1 = o1, q2 = o2 as object of (AllIso (AllRetr C)) by Def5;
A10: <^q2,q1^> c= <^o2,o1^> by ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso (AllRetr C)) . i or n in the Arrows of (AllIso C) . i )
assume A11: n in the Arrows of (AllIso (AllRetr C)) . i ; ::_thesis: n in the Arrows of (AllIso C) . i
n in <^q1,q2^> by A9, A11;
then A12: <^o2,o1^> <> {} by A10, Th52;
then A13: <^r2,r1^> <> {} by ALTCAT_2:31, XBOOLE_1:3;
A14: <^q1,q2^> c= <^o1,o2^> by ALTCAT_2:31;
then reconsider n2 = n as Morphism of o1,o2 by A9, A11;
A15: <^r1,r2^> <> {} by A9, A11, A14, ALTCAT_2:31, XBOOLE_1:3;
<^o1,o2^> c= <^r1,r2^> by ALTCAT_2:31;
then <^q1,q2^> c= <^r1,r2^> by A14, XBOOLE_1:1;
then reconsider n1 = n as Morphism of r1,r2 by A9, A11;
n in the Arrows of (AllIso (AllRetr C)) . (q1,q2) by A9, A11;
then n2 is iso by Def5;
then n1 is iso by A9, A11, A14, A12, Th40;
then n in the Arrows of (AllIso C) . (r1,r2) by A15, A13, Def5;
hence n in the Arrows of (AllIso C) . i by A9; ::_thesis: verum
end;
reconsider p1 = o1, p2 = o2 as object of (AllIso C) by A4, Def5;
A16: <^p2,p1^> c= <^o2,o1^> by A5, ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso C) . i or n in the Arrows of (AllIso (AllRetr C)) . i )
assume A17: n in the Arrows of (AllIso C) . i ; ::_thesis: n in the Arrows of (AllIso (AllRetr C)) . i
reconsider n2 = n as Morphism of p1,p2 by A9, A17;
the Arrows of (AllIso C) cc= the Arrows of (AllRetr C) by A5, ALTCAT_2:def_11;
then A18: the Arrows of (AllIso C) . i c= the Arrows of (AllRetr C) . i by A3, A7, ALTCAT_2:def_2;
then reconsider n1 = n as Morphism of o1,o2 by A9, A17;
A19: n2 " in <^p2,p1^> by A9, A17, Th52;
n2 is iso by A9, A17, Th52;
then n1 is iso by A5, A9, A17, A19, Th40;
then n in the Arrows of (AllIso (AllRetr C)) . (o1,o2) by A9, A17, A18, A19, A16, Def5;
hence n in the Arrows of (AllIso (AllRetr C)) . i by A9; ::_thesis: verum
end;
end;
then the Arrows of (AllIso (AllRetr C)) = the Arrows of (AllIso C) by A2, A3, A4, PBOOLE:3;
then AllIso (AllRetr C) is SubCatStr of AllIso C by A2, A3, A4, A1, ALTCAT_2:24;
hence AllIso (AllRetr C) = AllIso C by A2, A3, A4, A6, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;
theorem :: ALTCAT_4:59
for C being category holds AllIso (AllCoretr C) = AllIso C
proof
let C be category; ::_thesis: AllIso (AllCoretr C) = AllIso C
A1: AllIso (AllCoretr C) is non empty transitive SubCatStr of C by ALTCAT_2:21;
A2: the carrier of (AllIso (AllCoretr C)) = the carrier of (AllCoretr C) by Def5;
A3: the carrier of (AllIso C) = the carrier of C by Def5;
A4: the carrier of (AllCoretr C) = the carrier of C by Def4;
A5: AllIso C is non empty subcategory of AllCoretr C by Th42;
A6: now__::_thesis:_for_i_being_set_st_i_in_[:_the_carrier_of_C,_the_carrier_of_C:]_holds_
the_Arrows_of_(AllIso_(AllCoretr_C))_._i_=_the_Arrows_of_(AllIso_C)_._i
let i be set ; ::_thesis: ( i in [: the carrier of C, the carrier of C:] implies the Arrows of (AllIso (AllCoretr C)) . i = the Arrows of (AllIso C) . i )
assume A7: i in [: the carrier of C, the carrier of C:] ; ::_thesis: the Arrows of (AllIso (AllCoretr C)) . i = the Arrows of (AllIso C) . i
then consider o1, o2 being set such that
A8: ( o1 in the carrier of C & o2 in the carrier of C ) and
A9: i = [o1,o2] by ZFMISC_1:84;
reconsider o1 = o1, o2 = o2 as object of (AllCoretr C) by A8, Def4;
thus the Arrows of (AllIso (AllCoretr C)) . i = the Arrows of (AllIso C) . i ::_thesis: verum
proof
thus the Arrows of (AllIso (AllCoretr C)) . i c= the Arrows of (AllIso C) . i :: according to XBOOLE_0:def_10 ::_thesis: the Arrows of (AllIso C) . i c= the Arrows of (AllIso (AllCoretr C)) . i
proof
reconsider r1 = o1, r2 = o2 as object of C by Def4;
reconsider q1 = o1, q2 = o2 as object of (AllIso (AllCoretr C)) by Def5;
A10: <^q2,q1^> c= <^o2,o1^> by ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso (AllCoretr C)) . i or n in the Arrows of (AllIso C) . i )
assume A11: n in the Arrows of (AllIso (AllCoretr C)) . i ; ::_thesis: n in the Arrows of (AllIso C) . i
n in <^q1,q2^> by A9, A11;
then A12: <^o2,o1^> <> {} by A10, Th52;
then A13: <^r2,r1^> <> {} by ALTCAT_2:31, XBOOLE_1:3;
A14: <^q1,q2^> c= <^o1,o2^> by ALTCAT_2:31;
then reconsider n2 = n as Morphism of o1,o2 by A9, A11;
A15: <^r1,r2^> <> {} by A9, A11, A14, ALTCAT_2:31, XBOOLE_1:3;
<^o1,o2^> c= <^r1,r2^> by ALTCAT_2:31;
then <^q1,q2^> c= <^r1,r2^> by A14, XBOOLE_1:1;
then reconsider n1 = n as Morphism of r1,r2 by A9, A11;
n in the Arrows of (AllIso (AllCoretr C)) . (q1,q2) by A9, A11;
then n2 is iso by Def5;
then n1 is iso by A9, A11, A14, A12, Th40;
then n in the Arrows of (AllIso C) . (r1,r2) by A15, A13, Def5;
hence n in the Arrows of (AllIso C) . i by A9; ::_thesis: verum
end;
reconsider p1 = o1, p2 = o2 as object of (AllIso C) by A4, Def5;
A16: <^p2,p1^> c= <^o2,o1^> by A5, ALTCAT_2:31;
let n be set ; :: according to TARSKI:def_3 ::_thesis: ( not n in the Arrows of (AllIso C) . i or n in the Arrows of (AllIso (AllCoretr C)) . i )
assume A17: n in the Arrows of (AllIso C) . i ; ::_thesis: n in the Arrows of (AllIso (AllCoretr C)) . i
reconsider n2 = n as Morphism of p1,p2 by A9, A17;
the Arrows of (AllIso C) cc= the Arrows of (AllCoretr C) by A5, ALTCAT_2:def_11;
then A18: the Arrows of (AllIso C) . i c= the Arrows of (AllCoretr C) . i by A3, A7, ALTCAT_2:def_2;
then reconsider n1 = n as Morphism of o1,o2 by A9, A17;
A19: n2 " in <^p2,p1^> by A9, A17, Th52;
n2 is iso by A9, A17, Th52;
then n1 is iso by A5, A9, A17, A19, Th40;
then n in the Arrows of (AllIso (AllCoretr C)) . (o1,o2) by A9, A17, A18, A19, A16, Def5;
hence n in the Arrows of (AllIso (AllCoretr C)) . i by A9; ::_thesis: verum
end;
end;
then the Arrows of (AllIso (AllCoretr C)) = the Arrows of (AllIso C) by A2, A3, A4, PBOOLE:3;
then AllIso (AllCoretr C) is SubCatStr of AllIso C by A2, A3, A4, A1, ALTCAT_2:24;
hence AllIso (AllCoretr C) = AllIso C by A2, A3, A4, A6, ALTCAT_2:25, PBOOLE:3; ::_thesis: verum
end;