Article ALTCAT_4, MML version 4.99.1005
:: ALTCAT_4:funcreg 1
registration
let a1 be non empty with_units AltCatStr;
let a2 be Element of the carrier of a1;
cluster <^a2,a2^> -> non empty;
end;
:: ALTCAT_4:th 1
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3, b4 being Element of the carrier of b1
for b5 being Element of <^b2,b3^>
for b6 being Element of <^b2,b4^>
for b7 being Element of <^b3,b4^>
st b6 = b7 * b5 & b7 " * b7 = idm b3 & <^b2,b3^> <> {} & <^b3,b4^> <> {} & <^b4,b3^> <> {}
holds b5 = b7 " * b6;
:: ALTCAT_4:th 2
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3, b4 being Element of the carrier of b1
for b5 being Element of <^b2,b3^>
for b6 being Element of <^b4,b3^>
for b7 being Element of <^b4,b2^>
st b6 = b5 * b7 & b7 * (b7 ") = idm b2 & <^b4,b2^> <> {} & <^b2,b4^> <> {} & <^b2,b3^> <> {}
holds b5 = b6 * (b7 ");
:: ALTCAT_4:th 3
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^>
st <^b2,b3^> <> {} & <^b3,b2^> <> {} & b4 is iso(b1, b2, b3)
holds b4 " is iso(b1, b3, b2);
:: ALTCAT_4:th 4
theorem
for b1 being non empty with_units AltCatStr
for b2 being Element of the carrier of b1 holds
idm b2 is epi(b1, b2, b2) & idm b2 is mono(b1, b2, b2);
:: ALTCAT_4:funcreg 2
registration
let a1 be non empty with_units AltCatStr;
let a2 be Element of the carrier of a1;
cluster idm a2 -> retraction coretraction mono epi;
end;
:: ALTCAT_4:funcreg 3
registration
let a1 be non empty transitive associative with_units AltCatStr;
let a2 be Element of the carrier of a1;
cluster idm a2 -> iso;
end;
:: ALTCAT_4:th 5
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^>
for b5, b6 being Element of <^b3,b2^>
st b6 * b4 = idm b2 & b4 * b5 = idm b3 & <^b2,b3^> <> {} & <^b3,b2^> <> {}
holds b5 = b6;
:: ALTCAT_4:th 6
theorem
for b1 being non empty transitive associative with_units AltCatStr
st for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^> holds
b4 is coretraction(b1, b2, b3)
for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^>
st <^b2,b3^> <> {} & <^b3,b2^> <> {}
holds b4 is iso(b1, b2, b3);
:: ALTCAT_4:th 7
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of b1
for b4, b5 being Element of <^b2,b3^>
st b4 is _zero(b1, b2, b3) &
b5 is _zero(b1, b2, b3) &
(ex b6 being Element of the carrier of b1 st
b6 is _zero(b1))
holds b4 = b5;
:: ALTCAT_4:th 8
theorem
for b1 being non empty AltCatStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^>
st b2 is terminal(b1)
holds b4 is mono(b1, b2, b3);
:: ALTCAT_4:th 9
theorem
for b1 being non empty AltCatStr
for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b3,b2^>
st b2 is initial(b1)
holds b4 is epi(b1, b3, b2);
:: ALTCAT_4:th 10
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of b1
st b2 is terminal(b1) & b3,b2 are_iso
holds b3 is terminal(b1);
:: ALTCAT_4:th 11
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of b1
st b2 is initial(b1) & b2,b3 are_iso
holds b3 is initial(b1);
:: ALTCAT_4:th 12
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of b1
st b2 is initial(b1) & b3 is terminal(b1) & <^b3,b2^> <> {}
holds b3 is initial(b1) & b2 is terminal(b1);
:: ALTCAT_4:th 13
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4 being Element of the carrier of b1 holds
b3 . idm b4 = idm (b3 . b4);
:: ALTCAT_4:th 14
theorem
for b1, b2 being non empty AltCatStr
for b3 being Contravariant FunctorStr over b1,b2 holds
b3 is full(b1, b2)
iff
for b4, b5 being Element of the carrier of b1 holds
Morph-Map(b3,b5,b4) is onto(<^b5,b4^>, <^b3 . b4,b3 . b5^>);
:: ALTCAT_4:th 15
theorem
for b1, b2 being non empty AltCatStr
for b3 being Contravariant FunctorStr over b1,b2 holds
b3 is faithful(b1, b2)
iff
for b4, b5 being Element of the carrier of b1 holds
Morph-Map(b3,b5,b4) is one-to-one;
:: ALTCAT_4:th 16
theorem
for b1, b2 being non empty AltCatStr
for b3 being Covariant FunctorStr over b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b3 . b4,b3 . b5^>
st <^b4,b5^> <> {} & b3 is full(b1, b2) & b3 is feasible(b1, b2)
holds ex b7 being Element of <^b4,b5^> st
b6 = b3 . b7;
:: ALTCAT_4:th 17
theorem
for b1, b2 being non empty AltCatStr
for b3 being Contravariant FunctorStr over b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b3 . b5,b3 . b4^>
st <^b4,b5^> <> {} & b3 is full(b1, b2) & b3 is feasible(b1, b2)
holds ex b7 being Element of <^b4,b5^> st
b6 = b3 . b7;
:: ALTCAT_4:th 18
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st <^b4,b5^> <> {} & <^b5,b4^> <> {} & b6 is retraction(b1, b4, b5)
holds b3 . b6 is retraction(b2, b3 . b4, b3 . b5);
:: ALTCAT_4:th 19
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st <^b4,b5^> <> {} & <^b5,b4^> <> {} & b6 is coretraction(b1, b4, b5)
holds b3 . b6 is coretraction(b2, b3 . b4, b3 . b5);
:: ALTCAT_4:th 20
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st <^b4,b5^> <> {} & <^b5,b4^> <> {} & b6 is iso(b1, b4, b5)
holds b3 . b6 is iso(b2, b3 . b4, b3 . b5);
:: ALTCAT_4:th 21
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
st b4,b5 are_iso
holds b3 . b4,b3 . b5 are_iso;
:: ALTCAT_4:th 22
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st <^b4,b5^> <> {} & <^b5,b4^> <> {} & b6 is retraction(b1, b4, b5)
holds b3 . b6 is coretraction(b2, b3 . b5, b3 . b4);
:: ALTCAT_4:th 23
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st <^b4,b5^> <> {} & <^b5,b4^> <> {} & b6 is coretraction(b1, b4, b5)
holds b3 . b6 is retraction(b2, b3 . b5, b3 . b4);
:: ALTCAT_4:th 24
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st <^b4,b5^> <> {} & <^b5,b4^> <> {} & b6 is iso(b1, b4, b5)
holds b3 . b6 is iso(b2, b3 . b5, b3 . b4);
:: ALTCAT_4:th 25
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
st b4,b5 are_iso
holds b3 . b5,b3 . b4 are_iso;
:: ALTCAT_4:th 26
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st b3 is full(b1, b2) &
b3 is faithful(b1, b2) &
<^b4,b5^> <> {} &
<^b5,b4^> <> {} &
b3 . b6 is retraction(b2, b3 . b4, b3 . b5)
holds b6 is retraction(b1, b4, b5);
:: ALTCAT_4:th 27
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st b3 is full(b1, b2) &
b3 is faithful(b1, b2) &
<^b4,b5^> <> {} &
<^b5,b4^> <> {} &
b3 . b6 is coretraction(b2, b3 . b4, b3 . b5)
holds b6 is coretraction(b1, b4, b5);
:: ALTCAT_4:th 28
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st b3 is full(b1, b2) & b3 is faithful(b1, b2) & <^b4,b5^> <> {} & <^b5,b4^> <> {} & b3 . b6 is iso(b2, b3 . b4, b3 . b5)
holds b6 is iso(b1, b4, b5);
:: ALTCAT_4:th 29
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
st b3 is full(b1, b2) & b3 is faithful(b1, b2) & <^b4,b5^> <> {} & <^b5,b4^> <> {} & b3 . b4,b3 . b5 are_iso
holds b4,b5 are_iso;
:: ALTCAT_4:th 30
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st b3 is full(b1, b2) &
b3 is faithful(b1, b2) &
<^b4,b5^> <> {} &
<^b5,b4^> <> {} &
b3 . b6 is retraction(b2, b3 . b5, b3 . b4)
holds b6 is coretraction(b1, b4, b5);
:: ALTCAT_4:th 31
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st b3 is full(b1, b2) &
b3 is faithful(b1, b2) &
<^b4,b5^> <> {} &
<^b5,b4^> <> {} &
b3 . b6 is coretraction(b2, b3 . b5, b3 . b4)
holds b6 is retraction(b1, b4, b5);
:: ALTCAT_4:th 32
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
for b6 being Element of <^b4,b5^>
st b3 is full(b1, b2) & b3 is faithful(b1, b2) & <^b4,b5^> <> {} & <^b5,b4^> <> {} & b3 . b6 is iso(b2, b3 . b5, b3 . b4)
holds b6 is iso(b1, b4, b5);
:: ALTCAT_4:th 33
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
for b4, b5 being Element of the carrier of b1
st b3 is full(b1, b2) & b3 is faithful(b1, b2) & <^b4,b5^> <> {} & <^b5,b4^> <> {} & b3 . b5,b3 . b4 are_iso
holds b4,b5 are_iso;
:: ALTCAT_4:th 34
theorem
for b1 being AltCatStr
for b2 being SubCatStr of b1
st the carrier of b1 = the carrier of b2 & the Arrows of b1 = the Arrows of b2
holds b2 is full(b1);
:: ALTCAT_4:th 35
theorem
for b1 being non empty with_units AltCatStr
for b2 being SubCatStr of b1
st the carrier of b1 = the carrier of b2 & the Arrows of b1 = the Arrows of b2
holds b2 is id-inheriting(b1);
:: ALTCAT_4:exreg 1
registration
let a1 be non empty transitive associative with_units AltCatStr;
cluster non empty transitive strict full id-inheriting SubCatStr of a1;
end;
:: ALTCAT_4:th 36
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1
for b3 being non empty transitive id-inheriting SubCatStr of b2 holds
b3 is non empty transitive id-inheriting SubCatStr of b1;
:: ALTCAT_4:th 37
theorem
for b1 being non empty transitive AltCatStr
for b2 being non empty transitive SubCatStr of b1
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
for b7 being Element of <^b3,b4^>
for b8 being Element of <^b5,b6^>
st b5 = b3 & b6 = b4 & b7 = b8 & <^b5,b6^> <> {}
holds (b7 is mono(b1, b3, b4) implies b8 is mono(b2, b5, b6)) & (b7 is epi(b1, b3, b4) implies b8 is epi(b2, b5, b6));
:: ALTCAT_4:th 38
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
for b7 being Element of <^b3,b4^>
for b8 being Element of <^b4,b3^>
for b9 being Element of <^b5,b6^>
for b10 being Element of <^b6,b5^>
st b5 = b3 & b6 = b4 & b7 = b9 & b8 = b10 & <^b5,b6^> <> {} & <^b6,b5^> <> {}
holds (b7 is_left_inverse_of b8 implies b9 is_left_inverse_of b10) & (b9 is_left_inverse_of b10 implies b7 is_left_inverse_of b8) & (b8 is_left_inverse_of b7 implies b10 is_left_inverse_of b9) & (b10 is_left_inverse_of b9 implies b8 is_left_inverse_of b7);
:: ALTCAT_4:th 39
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive full id-inheriting SubCatStr of b1
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
for b7 being Element of <^b3,b4^>
for b8 being Element of <^b5,b6^>
st b5 = b3 & b6 = b4 & b7 = b8 & <^b5,b6^> <> {} & <^b6,b5^> <> {}
holds (b7 is retraction(b1, b3, b4) implies b8 is retraction(b2, b5, b6)) & (b7 is coretraction(b1, b3, b4) implies b8 is coretraction(b2, b5, b6)) & (b7 is iso(b1, b3, b4) implies b8 is iso(b2, b5, b6));
:: ALTCAT_4:th 40
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
for b7 being Element of <^b3,b4^>
for b8 being Element of <^b5,b6^>
st b5 = b3 & b6 = b4 & b7 = b8 & <^b5,b6^> <> {} & <^b6,b5^> <> {}
holds (b8 is retraction(b2, b5, b6) implies b7 is retraction(b1, b3, b4)) & (b8 is coretraction(b2, b5, b6) implies b7 is coretraction(b1, b3, b4)) & (b8 is iso(b2, b5, b6) implies b7 is iso(b1, b3, b4));
:: ALTCAT_4:funcnot 1 => ALTCAT_4:func 1
definition
let a1 be non empty transitive associative with_units AltCatStr;
func AllMono A1 -> non empty transitive strict SubCatStr of a1 means
the carrier of it = the carrier of a1 &
the Arrows of it cc= the Arrows of a1 &
(for b1, b2 being Element of the carrier of a1
for b3 being Element of <^b1,b2^> holds
b3 in (the Arrows of it) .(b1,b2)
iff
<^b1,b2^> <> {} & b3 is mono(a1, b1, b2));
end;
:: ALTCAT_4:def 1
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive strict SubCatStr of b1 holds
b2 = AllMono b1
iff
the carrier of b2 = the carrier of b1 &
the Arrows of b2 cc= the Arrows of b1 &
(for b3, b4 being Element of the carrier of b1
for b5 being Element of <^b3,b4^> holds
b5 in (the Arrows of b2) .(b3,b4)
iff
<^b3,b4^> <> {} & b5 is mono(b1, b3, b4));
:: ALTCAT_4:funcreg 4
registration
let a1 be non empty transitive associative with_units AltCatStr;
cluster AllMono a1 -> non empty transitive strict id-inheriting;
end;
:: ALTCAT_4:funcnot 2 => ALTCAT_4:func 2
definition
let a1 be non empty transitive associative with_units AltCatStr;
func AllEpi A1 -> non empty transitive strict SubCatStr of a1 means
the carrier of it = the carrier of a1 &
the Arrows of it cc= the Arrows of a1 &
(for b1, b2 being Element of the carrier of a1
for b3 being Element of <^b1,b2^> holds
b3 in (the Arrows of it) .(b1,b2)
iff
<^b1,b2^> <> {} & b3 is epi(a1, b1, b2));
end;
:: ALTCAT_4:def 2
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive strict SubCatStr of b1 holds
b2 = AllEpi b1
iff
the carrier of b2 = the carrier of b1 &
the Arrows of b2 cc= the Arrows of b1 &
(for b3, b4 being Element of the carrier of b1
for b5 being Element of <^b3,b4^> holds
b5 in (the Arrows of b2) .(b3,b4)
iff
<^b3,b4^> <> {} & b5 is epi(b1, b3, b4));
:: ALTCAT_4:funcreg 5
registration
let a1 be non empty transitive associative with_units AltCatStr;
cluster AllEpi a1 -> non empty transitive strict id-inheriting;
end;
:: ALTCAT_4:funcnot 3 => ALTCAT_4:func 3
definition
let a1 be non empty transitive associative with_units AltCatStr;
func AllRetr A1 -> non empty transitive strict SubCatStr of a1 means
the carrier of it = the carrier of a1 &
the Arrows of it cc= the Arrows of a1 &
(for b1, b2 being Element of the carrier of a1
for b3 being Element of <^b1,b2^> holds
b3 in (the Arrows of it) .(b1,b2)
iff
<^b1,b2^> <> {} & <^b2,b1^> <> {} & b3 is retraction(a1, b1, b2));
end;
:: ALTCAT_4:def 3
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive strict SubCatStr of b1 holds
b2 = AllRetr b1
iff
the carrier of b2 = the carrier of b1 &
the Arrows of b2 cc= the Arrows of b1 &
(for b3, b4 being Element of the carrier of b1
for b5 being Element of <^b3,b4^> holds
b5 in (the Arrows of b2) .(b3,b4)
iff
<^b3,b4^> <> {} & <^b4,b3^> <> {} & b5 is retraction(b1, b3, b4));
:: ALTCAT_4:funcreg 6
registration
let a1 be non empty transitive associative with_units AltCatStr;
cluster AllRetr a1 -> non empty transitive strict id-inheriting;
end;
:: ALTCAT_4:funcnot 4 => ALTCAT_4:func 4
definition
let a1 be non empty transitive associative with_units AltCatStr;
func AllCoretr A1 -> non empty transitive strict SubCatStr of a1 means
the carrier of it = the carrier of a1 &
the Arrows of it cc= the Arrows of a1 &
(for b1, b2 being Element of the carrier of a1
for b3 being Element of <^b1,b2^> holds
b3 in (the Arrows of it) .(b1,b2)
iff
<^b1,b2^> <> {} & <^b2,b1^> <> {} & b3 is coretraction(a1, b1, b2));
end;
:: ALTCAT_4:def 4
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive strict SubCatStr of b1 holds
b2 = AllCoretr b1
iff
the carrier of b2 = the carrier of b1 &
the Arrows of b2 cc= the Arrows of b1 &
(for b3, b4 being Element of the carrier of b1
for b5 being Element of <^b3,b4^> holds
b5 in (the Arrows of b2) .(b3,b4)
iff
<^b3,b4^> <> {} & <^b4,b3^> <> {} & b5 is coretraction(b1, b3, b4));
:: ALTCAT_4:funcreg 7
registration
let a1 be non empty transitive associative with_units AltCatStr;
cluster AllCoretr a1 -> non empty transitive strict id-inheriting;
end;
:: ALTCAT_4:funcnot 5 => ALTCAT_4:func 5
definition
let a1 be non empty transitive associative with_units AltCatStr;
func AllIso A1 -> non empty transitive strict SubCatStr of a1 means
the carrier of it = the carrier of a1 &
the Arrows of it cc= the Arrows of a1 &
(for b1, b2 being Element of the carrier of a1
for b3 being Element of <^b1,b2^> holds
b3 in (the Arrows of it) .(b1,b2)
iff
<^b1,b2^> <> {} & <^b2,b1^> <> {} & b3 is iso(a1, b1, b2));
end;
:: ALTCAT_4:def 5
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive strict SubCatStr of b1 holds
b2 = AllIso b1
iff
the carrier of b2 = the carrier of b1 &
the Arrows of b2 cc= the Arrows of b1 &
(for b3, b4 being Element of the carrier of b1
for b5 being Element of <^b3,b4^> holds
b5 in (the Arrows of b2) .(b3,b4)
iff
<^b3,b4^> <> {} & <^b4,b3^> <> {} & b5 is iso(b1, b3, b4));
:: ALTCAT_4:funcreg 8
registration
let a1 be non empty transitive associative with_units AltCatStr;
cluster AllIso a1 -> non empty transitive strict id-inheriting;
end;
:: ALTCAT_4:th 41
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso b1 is non empty transitive id-inheriting SubCatStr of AllRetr b1;
:: ALTCAT_4:th 42
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso b1 is non empty transitive id-inheriting SubCatStr of AllCoretr b1;
:: ALTCAT_4:th 43
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllCoretr b1 is non empty transitive id-inheriting SubCatStr of AllMono b1;
:: ALTCAT_4:th 44
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllRetr b1 is non empty transitive id-inheriting SubCatStr of AllEpi b1;
:: ALTCAT_4:th 45
theorem
for b1 being non empty transitive associative with_units AltCatStr
st for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^> holds
b4 is mono(b1, b2, b3)
holds AltCatStr(#the carrier of b1,the Arrows of b1,the Comp of b1#) = AllMono b1;
:: ALTCAT_4:th 46
theorem
for b1 being non empty transitive associative with_units AltCatStr
st for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^> holds
b4 is epi(b1, b2, b3)
holds AltCatStr(#the carrier of b1,the Arrows of b1,the Comp of b1#) = AllEpi b1;
:: ALTCAT_4:th 47
theorem
for b1 being non empty transitive associative with_units AltCatStr
st for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^> holds
b4 is retraction(b1, b2, b3) & <^b3,b2^> <> {}
holds AltCatStr(#the carrier of b1,the Arrows of b1,the Comp of b1#) = AllRetr b1;
:: ALTCAT_4:th 48
theorem
for b1 being non empty transitive associative with_units AltCatStr
st for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^> holds
b4 is coretraction(b1, b2, b3) & <^b3,b2^> <> {}
holds AltCatStr(#the carrier of b1,the Arrows of b1,the Comp of b1#) = AllCoretr b1;
:: ALTCAT_4:th 49
theorem
for b1 being non empty transitive associative with_units AltCatStr
st for b2, b3 being Element of the carrier of b1
for b4 being Element of <^b2,b3^> holds
b4 is iso(b1, b2, b3) & <^b3,b2^> <> {}
holds AltCatStr(#the carrier of b1,the Arrows of b1,the Comp of b1#) = AllIso b1;
:: ALTCAT_4:th 50
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of AllMono b1
for b4 being Element of <^b2,b3^>
st <^b2,b3^> <> {}
holds b4 is mono(AllMono b1, b2, b3);
:: ALTCAT_4:th 51
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of AllEpi b1
for b4 being Element of <^b2,b3^>
st <^b2,b3^> <> {}
holds b4 is epi(AllEpi b1, b2, b3);
:: ALTCAT_4:th 52
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2, b3 being Element of the carrier of AllIso b1
for b4 being Element of <^b2,b3^>
st <^b2,b3^> <> {}
holds b4 is iso(AllIso b1, b2, b3) & b4 " in <^b3,b2^>;
:: ALTCAT_4:th 53
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllMono AllMono b1 = AllMono b1;
:: ALTCAT_4:th 54
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllEpi AllEpi b1 = AllEpi b1;
:: ALTCAT_4:th 55
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso AllIso b1 = AllIso b1;
:: ALTCAT_4:th 56
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso AllMono b1 = AllIso b1;
:: ALTCAT_4:th 57
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso AllEpi b1 = AllIso b1;
:: ALTCAT_4:th 58
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso AllRetr b1 = AllIso b1;
:: ALTCAT_4:th 59
theorem
for b1 being non empty transitive associative with_units AltCatStr holds
AllIso AllCoretr b1 = AllIso b1;