:: YELLOW18 semantic presentation
scheme :: YELLOW18:sch 26
s26{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set ,
F3(
set ,
set ,
set ,
set ,
set )
-> set } :
ex
C being non
empty transitive strict AltCatStr st
( the
carrier of
C = F1() & ( for
a,
b being
object of
C holds
<^a,b^> = F2(
a,
b) ) & ( for
a,
b,
c being
object of
C st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F3(
a,
b,
c,
f,
g) ) )
provided
E35:
for
a,
b,
c being
Element of
F1()
for
f,
g being
set st
f in F2(
a,
b) &
g in F2(
b,
c) holds
F3(
a,
b,
c,
f,
g)
in F2(
a,
c)
scheme :: YELLOW18:sch 70
s70{
F1()
-> non
empty transitive AltCatStr ,
F2(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
E35:
for
a,
b,
c being
object of
F1() st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F2(
a,
b,
c,
f,
g)
and E36:
for
a,
b,
c,
d being
object of
F1()
for
f,
g,
h being
set st
f in <^a,b^> &
g in <^b,c^> &
h in <^c,d^> holds
F2(
a,
c,
d,
F2(
a,
b,
c,
f,
g),
h)
= F2(
a,
b,
d,
f,
F2(
b,
c,
d,
g,
h))
scheme :: YELLOW18:sch 81
s81{
F1()
-> non
empty transitive AltCatStr ,
F2(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
E35:
for
a,
b,
c being
object of
F1() st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F2(
a,
b,
c,
f,
g)
and E36:
for
a being
object of
F1() ex
f being
set st
(
f in <^a,a^> & ( for
b being
object of
F1()
for
g being
set st
g in <^a,b^> holds
F2(
a,
a,
b,
f,
g)
= g ) )
and E39:
for
a being
object of
F1() ex
f being
set st
(
f in <^a,a^> & ( for
b being
object of
F1()
for
g being
set st
g in <^b,a^> holds
F2(
b,
a,
a,
g,
f)
= g ) )
scheme :: YELLOW18:sch 86
s86{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set ,
F3(
set ,
set ,
set ,
set ,
set )
-> set } :
ex
C being
strict category st
( the
carrier of
C = F1() & ( for
a,
b being
object of
C holds
<^a,b^> = F2(
a,
b) ) & ( for
a,
b,
c being
object of
C st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F3(
a,
b,
c,
f,
g) ) )
provided
E35:
for
a,
b,
c being
Element of
F1()
for
f,
g being
set st
f in F2(
a,
b) &
g in F2(
b,
c) holds
F3(
a,
b,
c,
f,
g)
in F2(
a,
c)
and E36:
for
a,
b,
c,
d being
Element of
F1()
for
f,
g,
h being
set st
f in F2(
a,
b) &
g in F2(
b,
c) &
h in F2(
c,
d) holds
F3(
a,
c,
d,
F3(
a,
b,
c,
f,
g),
h)
= F3(
a,
b,
d,
f,
F3(
b,
c,
d,
g,
h))
and E39:
for
a being
Element of
F1() ex
f being
set st
(
f in F2(
a,
a) & ( for
b being
Element of
F1()
for
g being
set st
g in F2(
a,
b) holds
F3(
a,
a,
b,
f,
g)
= g ) )
and E42:
for
a being
Element of
F1() ex
f being
set st
(
f in F2(
a,
a) & ( for
b being
Element of
F1()
for
g being
set st
g in F2(
b,
a) holds
F3(
b,
a,
a,
g,
f)
= g ) )
scheme :: YELLOW18:sch 87
s87{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set ,
F3(
set ,
set ,
set ,
set ,
set )
-> set } :
for
C1,
C2 being non
empty transitive AltCatStr st the
carrier of
C1 = F1() & ( for
a,
b being
object of
C1 holds
<^a,b^> = F2(
a,
b) ) & ( for
a,
b,
c being
object of
C1 st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F3(
a,
b,
c,
f,
g) ) & the
carrier of
C2 = F1() & ( for
a,
b being
object of
C2 holds
<^a,b^> = F2(
a,
b) ) & ( for
a,
b,
c being
object of
C2 st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F3(
a,
b,
c,
f,
g) ) holds
AltCatStr(# the
carrier of
C1,the
Arrows of
C1,the
Comp of
C1 #)
= AltCatStr(# the
carrier of
C2,the
Arrows of
C2,the
Comp of
C2 #)
scheme :: YELLOW18:sch 100
s100{
F1()
-> non
empty set ,
P1[
set ,
set ,
set ],
F2(
set ,
set )
-> set ,
F3(
set ,
set ,
set ,
set ,
set )
-> set } :
ex
C being
strict category st
( the
carrier of
C = F1() & ( for
a,
b being
object of
C for
f being
set holds
(
f in <^a,b^> iff (
f in F2(
a,
b) &
P1[
a,
b,
f] ) ) ) & ( for
a,
b,
c being
object of
C st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c holds
g * f = F3(
a,
b,
c,
f,
g) ) )
provided
E35:
for
a,
b,
c being
Element of
F1()
for
f,
g being
set st
f in F2(
a,
b) &
P1[
a,
b,
f] &
g in F2(
b,
c) &
P1[
b,
c,
g] holds
(
F3(
a,
b,
c,
f,
g)
in F2(
a,
c) &
P1[
a,
c,
F3(
a,
b,
c,
f,
g)] )
and E36:
for
a,
b,
c,
d being
Element of
F1()
for
f,
g,
h being
set st
f in F2(
a,
b) &
P1[
a,
b,
f] &
g in F2(
b,
c) &
P1[
b,
c,
g] &
h in F2(
c,
d) &
P1[
c,
d,
h] holds
F3(
a,
c,
d,
F3(
a,
b,
c,
f,
g),
h)
= F3(
a,
b,
d,
f,
F3(
b,
c,
d,
g,
h))
and E39:
for
a being
Element of
F1() ex
f being
set st
(
f in F2(
a,
a) &
P1[
a,
a,
f] & ( for
b being
Element of
F1()
for
g being
set st
g in F2(
a,
b) &
P1[
a,
b,
g] holds
F3(
a,
a,
b,
f,
g)
= g ) )
and E42:
for
a being
Element of
F1() ex
f being
set st
(
f in F2(
a,
a) &
P1[
a,
a,
f] & ( for
b being
Element of
F1()
for
g being
set st
g in F2(
b,
a) &
P1[
b,
a,
g] holds
F3(
b,
a,
a,
g,
f)
= g ) )
scheme :: YELLOW18:sch 102
s102{
F1()
-> category,
P1[
set ],
P2[
set ,
set ,
set ] } :
provided
E35:
ex
a being
object of
F1() st
P1[
a]
and E36:
for
a,
b,
c being
object of
F1() st
P1[
a] &
P1[
b] &
P1[
c] &
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c st
P2[
a,
b,
f] &
P2[
b,
c,
g] holds
P2[
a,
c,
g * f]
and E39:
for
a being
object of
F1() st
P1[
a] holds
P2[
a,
a,
idm a]
scheme :: YELLOW18:sch 132
s132{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
E35:
for
a being
object of
F1() holds
F3(
a) is
object of
F2()
and E36:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F4(
a,
b,
f)
in the
Arrows of
F2()
. F3(
a),
F3(
b)
and E39:
for
a,
b,
c being
object of
F1() st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c for
a',
b',
c' being
object of
F2() st
a' = F3(
a) &
b' = F3(
b) &
c' = F3(
c) holds
for
f' being
Morphism of
a',
b' for
g' being
Morphism of
b',
c' st
f' = F4(
a,
b,
f) &
g' = F4(
b,
c,
g) holds
F4(
a,
c,
(g * f))
= g' * f'
and E42:
for
a being
object of
F1()
for
a' being
object of
F2() st
a' = F3(
a) holds
F4(
a,
a,
(idm a))
= idm a'
theorem Th1: :: YELLOW18:1
scheme :: YELLOW18:sch 140
s140{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
E35:
for
a being
object of
F1() holds
F3(
a) is
object of
F2()
and E36:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F4(
a,
b,
f)
in the
Arrows of
F2()
. F3(
b),
F3(
a)
and E39:
for
a,
b,
c being
object of
F1() st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c for
a',
b',
c' being
object of
F2() st
a' = F3(
a) &
b' = F3(
b) &
c' = F3(
c) holds
for
f' being
Morphism of
b',
a' for
g' being
Morphism of
c',
b' st
f' = F4(
a,
b,
f) &
g' = F4(
b,
c,
g) holds
F4(
a,
c,
(g * f))
= f' * g'
and E42:
for
a being
object of
F1()
for
a' being
object of
F2() st
a' = F3(
a) holds
F4(
a,
a,
(idm a))
= idm a'
theorem Th2: :: YELLOW18:2
definition
let A be non
empty set ,
B be non
empty set ,
C be non
empty set ;
let f be
Function of
[:A,B:],
C;
redefine attr one-to-one as
a4 is
one-to-one means :: YELLOW18:def 1
for
a1,
a2 being
Element of
A for
b1,
b2 being
Element of
B st
f . a1,
b1 = f . a2,
b2 holds
(
a1 = a2 &
b1 = b2 );
compatibility
( f is one-to-one iff for a1, a2 being Element of A
for b1, b2 being Element of B st f . a1,b1 = f . a2,b2 holds
( a1 = a2 & b1 = b2 ) )
end;
:: deftheorem Def1 defines one-to-one YELLOW18:def 1 :
scheme :: YELLOW18:sch 142
s142{
F1()
-> category,
F2()
-> category,
F3()
-> covariant Functor of
F1(),
F2(),
F4(
set )
-> set ,
F5(
set ,
set ,
set )
-> set } :
provided
E35:
for
a being
object of
F1() holds
F3()
. a = F4(
a)
and E36:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F3()
. f = F5(
a,
b,
f)
and E39:
for
a,
b being
object of
F1() st
F4(
a)
= F4(
b) holds
a = b
and E42:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f,
g being
Morphism of
a,
b st
F5(
a,
b,
f)
= F5(
a,
b,
g) holds
f = g
and E43:
for
a,
b being
object of
F2() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b ex
c,
d being
object of
F1() ex
g being
Morphism of
c,
d st
(
a = F4(
c) &
b = F4(
d) &
<^c,d^> <> {} &
f = F5(
c,
d,
g) )
scheme :: YELLOW18:sch 146
s146{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
E35:
ex
F being
covariant Functor of
F1(),
F2() st
( ( for
a being
object of
F1() holds
F . a = F3(
a) ) & ( for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F . f = F4(
a,
b,
f) ) )
and E36:
for
a,
b being
object of
F1() st
F3(
a)
= F3(
b) holds
a = b
and E39:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f,
g being
Morphism of
a,
b st
F4(
a,
b,
f)
= F4(
a,
b,
g) holds
f = g
and E42:
for
a,
b being
object of
F2() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b ex
c,
d being
object of
F1() ex
g being
Morphism of
c,
d st
(
a = F3(
c) &
b = F3(
d) &
<^c,d^> <> {} &
f = F4(
c,
d,
g) )
scheme :: YELLOW18:sch 147
s147{
F1()
-> category,
F2()
-> category,
F3()
-> contravariant Functor of
F1(),
F2(),
F4(
set )
-> set ,
F5(
set ,
set ,
set )
-> set } :
provided
E35:
for
a being
object of
F1() holds
F3()
. a = F4(
a)
and E36:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F3()
. f = F5(
a,
b,
f)
and E39:
for
a,
b being
object of
F1() st
F4(
a)
= F4(
b) holds
a = b
and E42:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f,
g being
Morphism of
a,
b st
F5(
a,
b,
f)
= F5(
a,
b,
g) holds
f = g
and E43:
for
a,
b being
object of
F2() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b ex
c,
d being
object of
F1() ex
g being
Morphism of
c,
d st
(
b = F4(
c) &
a = F4(
d) &
<^c,d^> <> {} &
f = F5(
c,
d,
g) )
scheme :: YELLOW18:sch 148
s148{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
E35:
ex
F being
contravariant Functor of
F1(),
F2() st
( ( for
a being
object of
F1() holds
F . a = F3(
a) ) & ( for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F . f = F4(
a,
b,
f) ) )
and E36:
for
a,
b being
object of
F1() st
F3(
a)
= F3(
b) holds
a = b
and E39:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f,
g being
Morphism of
a,
b st
F4(
a,
b,
f)
= F4(
a,
b,
g) holds
f = g
and E42:
for
a,
b being
object of
F2() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b ex
c,
d being
object of
F1() ex
g being
Morphism of
c,
d st
(
b = F3(
c) &
a = F3(
d) &
<^c,d^> <> {} &
f = F4(
c,
d,
g) )
definition
let A be
category,
B be
category;
pred c1,
c2 are_equivalent means :: YELLOW18:def 2
ex
F being
covariant Functor of
A,
B ex
G being
covariant Functor of
B,
A st
(
G * F,
id A are_naturally_equivalent &
F * G,
id B are_naturally_equivalent );
reflexivity
for A being category ex F, G being covariant Functor of A,A st
( G * F, id A are_naturally_equivalent & F * G, id A are_naturally_equivalent )
symmetry
for A, B being category st ex F being covariant Functor of A,B ex G being covariant Functor of B,A st
( G * F, id A are_naturally_equivalent & F * G, id B are_naturally_equivalent ) holds
ex F being covariant Functor of B,A ex G being covariant Functor of A,B st
( G * F, id B are_naturally_equivalent & F * G, id A are_naturally_equivalent )
;
end;
:: deftheorem Def2 defines are_equivalent YELLOW18:def 2 :
theorem Th3: :: YELLOW18:3
for
A,
B,
C being non
empty reflexive AltGraph for
F1,
F2 being
feasible FunctorStr of
A,
B for
G1,
G2 being
FunctorStr of
B,
C st
FunctorStr(# the
ObjectMap of
F1,the
MorphMap of
F1 #)
= FunctorStr(# the
ObjectMap of
F2,the
MorphMap of
F2 #) &
FunctorStr(# the
ObjectMap of
G1,the
MorphMap of
G1 #)
= FunctorStr(# the
ObjectMap of
G2,the
MorphMap of
G2 #) holds
G1 * F1 = G2 * F2
theorem Th4: :: YELLOW18:4
theorem Th5: :: YELLOW18:5
scheme :: YELLOW18:sch 156
s156{
F1()
-> category,
F2()
-> category,
F3()
-> covariant Functor of
F1(),
F2(),
F4()
-> covariant Functor of
F1(),
F2(),
F5(
set )
-> set } :
provided
E35:
for
a being
object of
F1() holds
F5(
a)
in <^(F3() . a),(F4() . a)^>
and E36:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b for
g1 being
Morphism of
(F3() . a),
(F4() . a) st
g1 = F5(
a) holds
for
g2 being
Morphism of
(F3() . b),
(F4() . b) st
g2 = F5(
b) holds
g2 * (F3() . f) = (F4() . f) * g1
scheme :: YELLOW18:sch 161
s161{
F1()
-> category,
F2()
-> category,
F3()
-> covariant Functor of
F1(),
F2(),
F4()
-> covariant Functor of
F1(),
F2(),
F5(
set )
-> set } :
provided
E35:
for
a being
object of
F1() holds
(
F5(
a)
in <^(F3() . a),(F4() . a)^> &
<^(F4() . a),(F3() . a)^> <> {} & ( for
f being
Morphism of
(F3() . a),
(F4() . a) st
f = F5(
a) holds
f is
iso ) )
and E36:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b for
g1 being
Morphism of
(F3() . a),
(F4() . a) st
g1 = F5(
a) holds
for
g2 being
Morphism of
(F3() . b),
(F4() . b) st
g2 = F5(
b) holds
g2 * (F3() . f) = (F4() . f) * g1
definition
let C1 be non
empty AltCatStr ,
C2 be non
empty AltCatStr ;
pred c1,
c2 are_opposite means :
Def3:
:: YELLOW18:def 3
( the
carrier of
C2 = the
carrier of
C1 & the
Arrows of
C2 = ~ the
Arrows of
C1 & ( for
a,
b,
c being
object of
C1 for
a',
b',
c' being
object of
C2 st
a' = a &
b' = b &
c' = c holds
the
Comp of
C2 . a',
b',
c' = ~ (the Comp of C1 . c,b,a) ) );
symmetry
for C1, C2 being non empty AltCatStr st the carrier of C2 = the carrier of C1 & the Arrows of C2 = ~ the Arrows of C1 & ( for a, b, c being object of C1
for a', b', c' being object of C2 st a' = a & b' = b & c' = c holds
the Comp of C2 . a',b',c' = ~ (the Comp of C1 . c,b,a) ) holds
( the carrier of C1 = the carrier of C2 & the Arrows of C1 = ~ the Arrows of C2 & ( for a, b, c being object of C2
for a', b', c' being object of C1 st a' = a & b' = b & c' = c holds
the Comp of C1 . a',b',c' = ~ (the Comp of C2 . c,b,a) ) )
end;
:: deftheorem Def3 defines are_opposite YELLOW18:def 3 :
for
C1,
C2 being non
empty AltCatStr holds
(
C1,
C2 are_opposite iff ( the
carrier of
C2 = the
carrier of
C1 & the
Arrows of
C2 = ~ the
Arrows of
C1 & ( for
a,
b,
c being
object of
C1 for
a',
b',
c' being
object of
C2 st
a' = a &
b' = b &
c' = c holds
the
Comp of
C2 . a',
b',
c' = ~ (the Comp of C1 . c,b,a) ) ) );
theorem Th6: :: YELLOW18:6
theorem Th7: :: YELLOW18:7
theorem Th8: :: YELLOW18:8
theorem Th9: :: YELLOW18:9
for
C1,
C2 being non
empty transitive AltCatStr holds
(
C1,
C2 are_opposite iff ( the
carrier of
C2 = the
carrier of
C1 & ( for
a,
b,
c being
object of
C1 for
a',
b',
c' being
object of
C2 st
a' = a &
b' = b &
c' = c holds
(
<^a,b^> = <^b',a'^> & (
<^a,b^> <> {} &
<^b,c^> <> {} implies for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c for
f' being
Morphism of
b',
a' for
g' being
Morphism of
c',
b' st
f' = f &
g' = g holds
f' * g' = g * f ) ) ) ) )
theorem Th10: :: YELLOW18:10
theorem Th11: :: YELLOW18:11
theorem Th12: :: YELLOW18:12
theorem Th13: :: YELLOW18:13
theorem Th14: :: YELLOW18:14
:: deftheorem Def4 defines opp YELLOW18:def 4 :
definition
let A be
category,
B be
category;
assume E35:
A,
B are_opposite
;
deffunc H1(
set )
-> set =
a1;
deffunc H2(
set ,
set ,
set )
-> set =
a3;
E36:
for
a being
object of
A holds
H1(
a) is
object of
B
by , ;
E39:
now
let a be
object of
A,
b be
object of
A;
assume E42:
<^a,b^> <> {}
;
let f be
Morphism of
a,
b;
reconsider a' =
a,
b' =
b as
object of
B by , ;
<^a,b^> =
<^b',a'^>
by ,
.=
the
Arrows of
B . b,
a
;
hence
H2(
a,
b,
f)
in the
Arrows of
B . H1(
b),
H1(
a)
by ;
end;
E43:
for
a,
b,
c being
object of
A st
<^a,b^> <> {} &
<^b,c^> <> {} holds
for
f being
Morphism of
a,
b for
g being
Morphism of
b,
c for
a',
b',
c' being
object of
B st
a' = H1(
a) &
b' = H1(
b) &
c' = H1(
c) holds
for
f' being
Morphism of
b',
a' for
g' being
Morphism of
c',
b' st
f' = H2(
a,
b,
f) &
g' = H2(
b,
c,
g) holds
H2(
a,
c,
g * f)
= f' * g'
by , ;
E48:
for
a being
object of
A for
a' being
object of
B st
a' = H1(
a) holds
H2(
a,
a,
idm a)
= idm a'
by , ;
func dualizing-func c1,
c2 -> strict contravariant Functor of
a1,
a2 means :
Def5:
:: YELLOW18:def 5
( ( for
a being
object of
A holds
it . a = a ) & ( for
a,
b being
object of
A st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
it . f = f ) );
existence
ex b1 being strict contravariant Functor of A,B st
( ( for a being object of A holds b1 . a = a ) & ( for a, b being object of A st <^a,b^> <> {} holds
for f being Morphism of a,b holds b1 . f = f ) )
uniqueness
for b1, b2 being strict contravariant Functor of A,B st ( for a being object of A holds b1 . a = a ) & ( for a, b being object of A st <^a,b^> <> {} holds
for f being Morphism of a,b holds b1 . f = f ) & ( for a being object of A holds b2 . a = a ) & ( for a, b being object of A st <^a,b^> <> {} holds
for f being Morphism of a,b holds b2 . f = f ) holds
b1 = b2
end;
:: deftheorem Def5 defines dualizing-func YELLOW18:def 5 :
theorem Th15: :: YELLOW18:15
theorem Th16: :: YELLOW18:16
theorem Th17: :: YELLOW18:17
theorem Th18: :: YELLOW18:18
theorem Th19: :: YELLOW18:19
theorem Th20: :: YELLOW18:20
E178:
now
let A be
category,
B be
category;
assume E35:
A,
B are_opposite
;
let a be
object of
A,
b be
object of
A;
assume E36:
(
<^a,b^> <> {} &
<^b,a^> <> {} )
;
let a' be
object of
B,
b' be
object of
B;
assume E39:
(
a' = a &
b' = b )
;
let f be
Morphism of
a,
b;
let f' be
Morphism of
b',
a';
assume E42:
f' = f
;
thus
(
f is
retraction implies
f' is
coretraction )
proof
given g being
Morphism of
b,
a such that E43:
g is_right_inverse_of f
;
:: according to ALTCAT_3:def 2
reconsider g' =
g as
Morphism of
a',
b' by , , ;
take
g'
;
:: according to ALTCAT_3:def 3
f * g =
idm b
by , ALTCAT_3:def 1
.=
idm b'
by , ,
;
hence
g' * f' = idm b'
by , , , , ;
:: according to ALTCAT_3:def 1
end;
thus
(
f is
coretraction implies
f' is
retraction )
proof
given g being
Morphism of
b,
a such that E48:
g is_left_inverse_of f
;
:: according to ALTCAT_3:def 3
reconsider g' =
g as
Morphism of
a',
b' by , , ;
take
g'
;
:: according to ALTCAT_3:def 2
g * f =
idm a
by , ALTCAT_3:def 1
.=
idm a'
by , ,
;
hence
f' * g' = idm a'
by , , , , ;
:: according to ALTCAT_3:def 1
end;
end;
theorem Th21: :: YELLOW18:21
theorem Th22: :: YELLOW18:22
theorem Th23: :: YELLOW18:23
theorem Th24: :: YELLOW18:24
theorem Th25: :: YELLOW18:25
for
A,
B,
C,
D being
category st
A,
B are_opposite &
C,
D are_opposite holds
for
F,
G being
covariant Functor of
B,
C st
F,
G are_naturally_equivalent holds
((dualizing-func C,D) * G) * (dualizing-func A,B),
((dualizing-func C,D) * F) * (dualizing-func A,B) are_naturally_equivalent
theorem Th26: :: YELLOW18:26
:: deftheorem Def6 defines are_dual YELLOW18:def 6 :
theorem Th27: :: YELLOW18:27
theorem Th28: :: YELLOW18:28
theorem Th29: :: YELLOW18:29
theorem Th30: :: YELLOW18:30
theorem Th31: :: YELLOW18:31
:: deftheorem Def7 defines para-functional YELLOW18:def 7 :
:: deftheorem Def8 defines -carrier_of YELLOW18:def 8 :
:: deftheorem Def9 defines -carrier_of YELLOW18:def 9 :
theorem Th32: :: YELLOW18:32
theorem Th33: :: YELLOW18:33
:: deftheorem Def10 defines set-id-inheriting YELLOW18:def 10 :
:: deftheorem Def11 defines concrete YELLOW18:def 11 :
theorem Th34: :: YELLOW18:34
theorem Th35: :: YELLOW18:35
theorem Th36: :: YELLOW18:36
theorem Th37: :: YELLOW18:37
theorem Th38: :: YELLOW18:38
theorem Th39: :: YELLOW18:39
scheme :: YELLOW18:sch 201
s201{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set ,
F3(
set )
-> set } :
provided
E35:
for
a,
b,
c being
Element of
F1()
for
f,
g being
Function st
f in F2(
a,
b) &
g in F2(
b,
c) holds
g * f in F2(
a,
c)
and E36:
for
a,
b being
Element of
F1() holds
F2(
a,
b)
c= Funcs F3(
a),
F3(
b)
and E39:
for
a being
Element of
F1() holds
id F3(
a)
in F2(
a,
a)
scheme :: YELLOW18:sch 203
s203{
F1()
-> non
empty set ,
P1[
set ,
set ,
set ],
F2(
set )
-> set } :
provided
E35:
for
a,
b,
c being
Element of
F1()
for
f,
g being
Function st
P1[
a,
b,
f] &
P1[
b,
c,
g] holds
P1[
a,
c,
g * f]
and E36:
for
a being
Element of
F1() holds
P1[
a,
a,
id F2(
a)]
scheme :: YELLOW18:sch 204
s204{
F1()
-> non
empty set ,
F2(
set )
-> set ,
P1[
set ,
set ],
P2[
set ,
set ,
set ] } :
provided
E35:
for
a,
b,
c being
Element of
F1()
for
f,
g being
Function st
P2[
a,
b,
f] &
P2[
b,
c,
g] holds
P2[
a,
c,
g * f]
and E36:
for
a being
Element of
F1()
for
X being
set st ( for
x being
set holds
(
x in X iff (
x in F2(
a) &
P1[
a,
x] ) ) ) holds
P2[
a,
a,
id X]
scheme :: YELLOW18:sch 205
s205{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set } :
for
C1,
C2 being
semi-functional para-functional category st the
carrier of
C1 = F1() & ( for
a,
b being
object of
C1 holds
<^a,b^> = F2(
a,
b) ) & the
carrier of
C2 = F1() & ( for
a,
b being
object of
C2 holds
<^a,b^> = F2(
a,
b) ) holds
AltCatStr(# the
carrier of
C1,the
Arrows of
C1,the
Comp of
C1 #)
= AltCatStr(# the
carrier of
C2,the
Arrows of
C2,the
Comp of
C2 #)
scheme :: YELLOW18:sch 206
s206{
F1()
-> non
empty set ,
P1[
set ,
set ,
set ],
F2(
set )
-> set } :
for
C1,
C2 being
semi-functional para-functional category st the
carrier of
C1 = F1() & ( for
a,
b being
Element of
F1()
for
f being
Function holds
(
f in the
Arrows of
C1 . a,
b iff (
f in Funcs F2(
a),
F2(
b) &
P1[
a,
b,
f] ) ) ) & the
carrier of
C2 = F1() & ( for
a,
b being
Element of
F1()
for
f being
Function holds
(
f in the
Arrows of
C2 . a,
b iff (
f in Funcs F2(
a),
F2(
b) &
P1[
a,
b,
f] ) ) ) holds
AltCatStr(# the
carrier of
C1,the
Arrows of
C1,the
Comp of
C1 #)
= AltCatStr(# the
carrier of
C2,the
Arrows of
C2,the
Comp of
C2 #)
scheme :: YELLOW18:sch 207
s207{
F1()
-> non
empty set ,
F2(
set )
-> set ,
P1[
set ,
set ],
P2[
set ,
set ,
set ] } :
for
C1,
C2 being
semi-functional para-functional category st the
carrier of
C1 = F1() & ( for
a being
object of
C1 for
x being
set holds
(
x in the_carrier_of a iff (
x in F2(
a) &
P1[
a,
x] ) ) ) & ( for
a,
b being
Element of
F1()
for
f being
Function holds
(
f in the
Arrows of
C1 . a,
b iff (
f in Funcs (C1 -carrier_of a),
(C1 -carrier_of b) &
P2[
a,
b,
f] ) ) ) & the
carrier of
C2 = F1() & ( for
a being
object of
C2 for
x being
set holds
(
x in the_carrier_of a iff (
x in F2(
a) &
P1[
a,
x] ) ) ) & ( for
a,
b being
Element of
F1()
for
f being
Function holds
(
f in the
Arrows of
C2 . a,
b iff (
f in Funcs (C2 -carrier_of a),
(C2 -carrier_of b) &
P2[
a,
b,
f] ) ) ) holds
AltCatStr(# the
carrier of
C1,the
Arrows of
C1,the
Comp of
C1 #)
= AltCatStr(# the
carrier of
C2,the
Arrows of
C2,the
Comp of
C2 #)
theorem Th40: :: YELLOW18:40
theorem Th41: :: YELLOW18:41
theorem Th42: :: YELLOW18:42
theorem Th43: :: YELLOW18:43
theorem Th44: :: YELLOW18:44
scheme :: YELLOW18:sch 212
s212{
F1()
-> semi-functional para-functional category,
F2()
-> semi-functional para-functional category,
F3(
set )
-> set ,
F4(
set )
-> set ,
F5(
set ,
set ,
set )
-> Function,
F6(
set ,
set ,
set )
-> Function,
F7(
set )
-> Function,
F8(
set )
-> Function } :
provided
E35:
ex
F being
covariant Functor of
F1(),
F2() st
( ( for
a being
object of
F1() holds
F . a = F3(
a) ) & ( for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F . f = F5(
a,
b,
f) ) )
and E36:
ex
G being
covariant Functor of
F2(),
F1() st
( ( for
a being
object of
F2() holds
G . a = F4(
a) ) & ( for
a,
b being
object of
F2() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
G . f = F6(
a,
b,
f) ) )
and E39:
for
a,
b being
object of
F1() st
a = F4(
F3(
b)) holds
(
F7(
b)
in <^a,b^> &
F7(
b)
" in <^b,a^> &
F7(
b) is
one-to-one )
and E42:
for
a,
b being
object of
F2() st
b = F3(
F4(
a)) holds
(
F8(
a)
in <^a,b^> &
F8(
a)
" in <^b,a^> &
F8(
a) is
one-to-one )
and E43:
for
a,
b being
object of
F1() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F7(
b)
* F6(
F3(
a),
F3(
b),
F5(
a,
b,
f))
= f * F7(
a)
and E48:
for
a,
b being
object of
F2() st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
F5(
F4(
a),
F4(
b),
F6(
a,
b,
f))
* F8(
a)
= F8(
b)
* f
definition
let C be
category;
defpred S1[
set ,
set ]
means a1 = a2 `22 ;
defpred S2[
set ,
set ,
Function]
means ex
fa,
fb being
object of
C ex
g being
Morphism of
fa,
fb st
(
fa = a1 &
fb = a2 &
<^fa,fb^> <> {} & ( for
o being
object of
C st
<^o,fa^> <> {} holds
for
h being
Morphism of
o,
fa holds
a3 . [h,[o,fa]] = [(g * h),[o,fb]] ) );
deffunc H1(
set )
-> set =
Union (disjoin the Arrows of C);
E35:
for
a,
b,
c being
Element of
C for
f,
g being
Function st
S2[
a,
b,
f] &
S2[
b,
c,
g] holds
S2[
a,
c,
g * f]
E53:
for
a being
Element of
C for
X being
set st ( for
x being
set holds
(
x in X iff (
x in H1(
a) &
S1[
a,
x] ) ) ) holds
S2[
a,
a,
id X]
func Concretized c1 -> strict concrete category means :
Def12:
:: YELLOW18:def 12
( the
carrier of
it = the
carrier of
C & ( for
a being
object of
it for
x being
set holds
(
x in the_carrier_of a iff (
x in Union (disjoin the Arrows of C) &
a = x `22 ) ) ) & ( for
a,
b being
Element of
C for
f being
Function holds
(
f in the
Arrows of
it . a,
b iff (
f in Funcs (it -carrier_of a),
(it -carrier_of b) & ex
fa,
fb being
object of
C ex
g being
Morphism of
fa,
fb st
(
fa = a &
fb = b &
<^fa,fb^> <> {} & ( for
o being
object of
C st
<^o,fa^> <> {} holds
for
h being
Morphism of
o,
fa holds
f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) );
uniqueness
for b1, b2 being strict concrete category st the carrier of b1 = the carrier of C & ( for a being object of b1
for x being set holds
( x in the_carrier_of a iff ( x in Union (disjoin the Arrows of C) & a = x `22 ) ) ) & ( for a, b being Element of C
for f being Function holds
( f in the Arrows of b1 . a,b iff ( f in Funcs (b1 -carrier_of a),(b1 -carrier_of b) & ex fa, fb being object of C ex g being Morphism of fa,fb st
( fa = a & fb = b & <^fa,fb^> <> {} & ( for o being object of C st <^o,fa^> <> {} holds
for h being Morphism of o,fa holds f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) & the carrier of b2 = the carrier of C & ( for a being object of b2
for x being set holds
( x in the_carrier_of a iff ( x in Union (disjoin the Arrows of C) & a = x `22 ) ) ) & ( for a, b being Element of C
for f being Function holds
( f in the Arrows of b2 . a,b iff ( f in Funcs (b2 -carrier_of a),(b2 -carrier_of b) & ex fa, fb being object of C ex g being Morphism of fa,fb st
( fa = a & fb = b & <^fa,fb^> <> {} & ( for o being object of C st <^o,fa^> <> {} holds
for h being Morphism of o,fa holds f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) holds
b1 = b2
existence
ex b1 being strict concrete category st
( the carrier of b1 = the carrier of C & ( for a being object of b1
for x being set holds
( x in the_carrier_of a iff ( x in Union (disjoin the Arrows of C) & a = x `22 ) ) ) & ( for a, b being Element of C
for f being Function holds
( f in the Arrows of b1 . a,b iff ( f in Funcs (b1 -carrier_of a),(b1 -carrier_of b) & ex fa, fb being object of C ex g being Morphism of fa,fb st
( fa = a & fb = b & <^fa,fb^> <> {} & ( for o being object of C st <^o,fa^> <> {} holds
for h being Morphism of o,fa holds f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) )
end;
:: deftheorem Def12 defines Concretized YELLOW18:def 12 :
for
C being
category for
b2 being
strict concrete category holds
(
b2 = Concretized C iff ( the
carrier of
b2 = the
carrier of
C & ( for
a being
object of
b2 for
x being
set holds
(
x in the_carrier_of a iff (
x in Union (disjoin the Arrows of C) &
a = x `22 ) ) ) & ( for
a,
b being
Element of
C for
f being
Function holds
(
f in the
Arrows of
b2 . a,
b iff (
f in Funcs (b2 -carrier_of a),
(b2 -carrier_of b) & ex
fa,
fb being
object of
C ex
g being
Morphism of
fa,
fb st
(
fa = a &
fb = b &
<^fa,fb^> <> {} & ( for
o being
object of
C st
<^o,fa^> <> {} holds
for
h being
Morphism of
o,
fa holds
f . [h,[o,fa]] = [(g * h),[o,fb]] ) ) ) ) ) ) );
theorem Th45: :: YELLOW18:45
theorem Th46: :: YELLOW18:46
for
A being
category for
a,
b being
object of
A st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b ex
F being
Function of
(Concretized A) -carrier_of a,
(Concretized A) -carrier_of b st
(
F in the
Arrows of
(Concretized A) . a,
b & ( for
c being
object of
A for
g being
Morphism of
c,
a st
<^c,a^> <> {} holds
F . [g,[c,a]] = [(f * g),[c,b]] ) )
theorem Th47: :: YELLOW18:47
definition
let A be
category;
set B =
Concretized A;
func Concretization c1 -> strict covariant Functor of
a1,
Concretized a1 means :
Def13:
:: YELLOW18:def 13
( ( for
a being
object of
A holds
it . a = a ) & ( for
a,
b being
object of
A st
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
(it . f) . [(idm a),[a,a]] = [f,[a,b]] ) );
uniqueness
for b1, b2 being strict covariant Functor of A, Concretized A st ( for a being object of A holds b1 . a = a ) & ( for a, b being object of A st <^a,b^> <> {} holds
for f being Morphism of a,b holds (b1 . f) . [(idm a),[a,a]] = [f,[a,b]] ) & ( for a being object of A holds b2 . a = a ) & ( for a, b being object of A st <^a,b^> <> {} holds
for f being Morphism of a,b holds (b2 . f) . [(idm a),[a,a]] = [f,[a,b]] ) holds
b1 = b2
existence
ex b1 being strict covariant Functor of A, Concretized A st
( ( for a being object of A holds b1 . a = a ) & ( for a, b being object of A st <^a,b^> <> {} holds
for f being Morphism of a,b holds (b1 . f) . [(idm a),[a,a]] = [f,[a,b]] ) )
end;
:: deftheorem Def13 defines Concretization YELLOW18:def 13 :
theorem Th48: :: YELLOW18:48