begin
theorem Th1:
scheme
FuncIdxcorrectness{
F1()
-> set ,
F2()
-> non
empty set ,
F3(
set )
-> Element of
F2() } :
( ex
F being
Function of
F1(),
F2() st
for
x being
set st
x in F1() holds
F /. x = F3(
x) & ( for
F1,
F2 being
Function of
F1(),
F2() st ( for
x being
set st
x in F1() holds
F1 /. x = F3(
x) ) & ( for
x being
set st
x in F1() holds
F2 /. x = F3(
x) ) holds
F1 = F2 ) )
theorem Th2:
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem
canceled;
theorem Th7:
for
x1,
x2 being
set for
A being non
empty set st
x1 <> x2 holds
for
y1,
y2 being
Element of
A holds
(
((x1,x2) --> (y1,y2)) /. x1 = y1 &
((x1,x2) --> (y1,y2)) /. x2 = y2 )
begin
:: deftheorem CAT_3:def 1 :
canceled;
:: deftheorem CAT_3:def 2 :
canceled;
:: deftheorem Def3 defines doms CAT_3:def 3 :
for C being Category
for I being set
for F being Function of I, the carrier' of C
for b4 being Function of I, the carrier of C holds
( b4 = doms F iff for x being set st x in I holds
b4 /. x = dom (F /. x) );
:: deftheorem Def4 defines cods CAT_3:def 4 :
for C being Category
for I being set
for F being Function of I, the carrier' of C
for b4 being Function of I, the carrier of C holds
( b4 = cods F iff for x being set st x in I holds
b4 /. x = cod (F /. x) );
theorem Th8:
theorem Th9:
theorem Th10:
theorem Th11:
:: deftheorem Def5 defines opp CAT_3:def 5 :
for C being Category
for I being set
for F being Function of I, the carrier' of C
for b4 being Function of I, the carrier' of (C opp) holds
( b4 = F opp iff for x being set st x in I holds
b4 /. x = (F /. x) opp );
theorem
theorem
theorem
:: deftheorem Def6 defines opp CAT_3:def 6 :
for C being Category
for I being set
for F being Function of I, the carrier' of (C opp)
for b4 being Function of I, the carrier' of C holds
( b4 = opp F iff for x being set st x in I holds
b4 /. x = opp (F /. x) );
theorem
theorem
theorem
:: deftheorem Def7 defines * CAT_3:def 7 :
for C being Category
for I being set
for F being Function of I, the carrier' of C
for f being Morphism of C
for b5 being Function of I, the carrier' of C holds
( b5 = F * f iff for x being set st x in I holds
b5 /. x = (F /. x) * f );
:: deftheorem Def8 defines * CAT_3:def 8 :
for C being Category
for I being set
for F being Function of I, the carrier' of C
for f being Morphism of C
for b5 being Function of I, the carrier' of C holds
( b5 = f * F iff for x being set st x in I holds
b5 /. x = f * (F /. x) );
theorem Th18:
theorem Th19:
theorem Th20:
theorem Th21:
:: deftheorem Def9 defines "*" CAT_3:def 9 :
for C being Category
for I being set
for F, G, b5 being Function of I, the carrier' of C holds
( b5 = F "*" G iff for x being set st x in I holds
b5 /. x = (F /. x) * (G /. x) );
theorem Th22:
theorem
for
x1,
x2 being
set for
C being
Category for
p1,
p2,
q1,
q2 being
Morphism of
C st
x1 <> x2 holds
((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (
x1,
x2)
--> (
(p1 * q1),
(p2 * q2))
theorem
theorem
begin
:: deftheorem Def10 defines retraction CAT_3:def 10 :
for C being Category
for IT being Morphism of C holds
( IT is retraction iff ex g being Morphism of C st
( cod g = dom IT & IT * g = id (cod IT) ) );
:: deftheorem Def11 defines coretraction CAT_3:def 11 :
for C being Category
for IT being Morphism of C holds
( IT is coretraction iff ex g being Morphism of C st
( dom g = cod IT & g * IT = id (dom IT) ) );
theorem Th26:
theorem
theorem
theorem
theorem
theorem
theorem
theorem Th33:
theorem
theorem
theorem
theorem
theorem
begin
:: deftheorem defines term CAT_3:def 12 :
for C being Category
for a, b being Object of C st b is terminal holds
for b4 being Morphism of a,b holds
( b4 = term (a,b) iff verum );
theorem Th39:
theorem Th40:
theorem
begin
:: deftheorem defines init CAT_3:def 13 :
for C being Category
for a, b being Object of C st a is initial holds
for b4 being Morphism of a,b holds
( b4 = init (a,b) iff verum );
theorem Th42:
theorem Th43:
theorem
begin
:: deftheorem Def14 defines Projections_family CAT_3:def 14 :
for C being Category
for a being Object of C
for I being set
for b4 being Function of I, the carrier' of C holds
( b4 is Projections_family of a,I iff doms b4 = I --> a );
theorem Th45:
theorem Th46:
theorem Th47:
theorem Th48:
theorem
canceled;
theorem Th50:
theorem
theorem
:: deftheorem Def15 defines is_a_product_wrt CAT_3:def 15 :
for C being Category
for a being Object of C
for I being set
for F being Function of I, the carrier' of C holds
( a is_a_product_wrt F iff ( F is Projections_family of a,I & ( for b being Object of C
for F9 being Projections_family of b,I st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in I holds
(F /. x) * k = F9 /. x ) iff h = k ) ) ) ) ) );
theorem Th53:
theorem Th54:
theorem Th55:
theorem Th56:
theorem
theorem
:: deftheorem Def16 defines is_a_product_wrt CAT_3:def 16 :
for C being Category
for c being Object of C
for p1, p2 being Morphism of C holds
( c is_a_product_wrt p1,p2 iff ( dom p1 = c & dom p2 = c & ( for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ) ) );
theorem Th59:
theorem
for
C being
Category for
c,
a,
b being
Object of
C st
Hom (
c,
a)
<> {} &
Hom (
c,
b)
<> {} holds
for
p1 being
Morphism of
c,
a for
p2 being
Morphism of
c,
b holds
(
c is_a_product_wrt p1,
p2 iff for
d being
Object of
C st
Hom (
d,
a)
<> {} &
Hom (
d,
b)
<> {} holds
(
Hom (
d,
c)
<> {} & ( for
f being
Morphism of
d,
a for
g being
Morphism of
d,
b ex
h being
Morphism of
d,
c st
for
k being
Morphism of
d,
c holds
( (
p1 * k = f &
p2 * k = g ) iff
h = k ) ) ) )
theorem
theorem
theorem Th63:
theorem
theorem
theorem
begin
:: deftheorem Def17 defines Injections_family CAT_3:def 17 :
for C being Category
for c being Object of C
for I being set
for b4 being Function of I, the carrier' of C holds
( b4 is Injections_family of c,I iff cods b4 = I --> c );
theorem Th67:
theorem
theorem Th69:
theorem Th70:
theorem
canceled;
theorem Th72:
theorem
theorem Th74:
theorem Th75:
theorem
:: deftheorem Def18 defines is_a_coproduct_wrt CAT_3:def 18 :
for C being Category
for c being Object of C
for I being set
for F being Function of I, the carrier' of C holds
( c is_a_coproduct_wrt F iff ( F is Injections_family of c,I & ( for d being Object of C
for F9 being Injections_family of d,I st doms F = doms F9 holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in I holds
k * (F /. x) = F9 /. x ) iff h = k ) ) ) ) ) );
theorem
theorem Th78:
theorem Th79:
theorem Th80:
theorem Th81:
theorem
theorem
:: deftheorem Def19 defines is_a_coproduct_wrt CAT_3:def 19 :
for C being Category
for c being Object of C
for i1, i2 being Morphism of C holds
( c is_a_coproduct_wrt i1,i2 iff ( cod i1 = c & cod i2 = c & ( for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) ) ) );
theorem
theorem Th85:
theorem
theorem
for
C being
Category for
a,
c,
b being
Object of
C st
Hom (
a,
c)
<> {} &
Hom (
b,
c)
<> {} holds
for
i1 being
Morphism of
a,
c for
i2 being
Morphism of
b,
c holds
(
c is_a_coproduct_wrt i1,
i2 iff for
d being
Object of
C st
Hom (
a,
d)
<> {} &
Hom (
b,
d)
<> {} holds
(
Hom (
c,
d)
<> {} & ( for
f being
Morphism of
a,
d for
g being
Morphism of
b,
d ex
h being
Morphism of
c,
d st
for
k being
Morphism of
c,
d holds
( (
k * i1 = f &
k * i2 = g ) iff
h = k ) ) ) )
theorem
theorem Th89:
theorem
theorem
theorem