:: YELLOW18 semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
scheme :: YELLOW18:sch 1
AltCatStrLambda{
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
A1:
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 2
CatAssocSch{
F1()
-> non
empty transitive AltCatStr ,
F2(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
A1:
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 A2:
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 3
CatUnitsSch{
F1()
-> non
empty transitive AltCatStr ,
F2(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
A1:
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 A2:
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 A3:
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 4
CategoryLambda{
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
A1:
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 A2:
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 A3:
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 A4:
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 5
CategoryLambdaUniq{
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 6
CategoryQuasiLambda{
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
A1:
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 A2:
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 A3:
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 A4:
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 7
SubcategoryEx{
F1()
-> category,
P1[
set ],
P2[
set ,
set ,
set ] } :
provided
A1:
ex
a being
object of
F1() st
P1[
a]
and A2:
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 A3:
for
a being
object of
F1() st
P1[
a] holds
P2[
a,
a,
idm a]
scheme :: YELLOW18:sch 8
CovariantFunctorLambda{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
A1:
for
a being
object of
F1() holds
F3(
a) is
object of
F2()
and A2:
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 A3:
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 A4:
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
scheme :: YELLOW18:sch 9
ContravariantFunctorLambda{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
A1:
for
a being
object of
F1() holds
F3(
a) is
object of
F2()
and A2:
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 A3:
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 A4:
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let A,
B,
C be non
empty set ;
let f be
Function of
[:A,B:],
C;
:: original: one-to-oneredefine attr f 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 defines one-to-one YELLOW18:def 1 :
scheme :: YELLOW18:sch 10
CoBijectiveSch{
F1()
-> category,
F2()
-> category,
F3()
-> covariant Functor of
F1(),
F2(),
F4(
set )
-> set ,
F5(
set ,
set ,
set )
-> set } :
provided
A1:
for
a being
object of
F1() holds
F3()
. a = F4(
a)
and A2:
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 A3:
for
a,
b being
object of
F1() st
F4(
a)
= F4(
b) holds
a = b
and A4:
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 A5:
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 11
CatIsomorphism{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
A1:
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 A2:
for
a,
b being
object of
F1() st
F3(
a)
= F3(
b) holds
a = b
and A3:
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 A4:
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 12
ContraBijectiveSch{
F1()
-> category,
F2()
-> category,
F3()
-> contravariant Functor of
F1(),
F2(),
F4(
set )
-> set ,
F5(
set ,
set ,
set )
-> set } :
provided
A1:
for
a being
object of
F1() holds
F3()
. a = F4(
a)
and A2:
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 A3:
for
a,
b being
object of
F1() st
F4(
a)
= F4(
b) holds
a = b
and A4:
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 A5:
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 13
CatAntiIsomorphism{
F1()
-> category,
F2()
-> category,
F3(
set )
-> set ,
F4(
set ,
set ,
set )
-> set } :
provided
A1:
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 A2:
for
a,
b being
object of
F1() st
F3(
a)
= F3(
b) holds
a = b
and A3:
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 A4:
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,
B be
category;
pred A,
B 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 defines are_equivalent YELLOW18:def 2 :
theorem Th3: :: YELLOW18:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th5: :: YELLOW18:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
scheme :: YELLOW18:sch 14
NatTransLambda{
F1()
-> category,
F2()
-> category,
F3()
-> covariant Functor of
F1(),
F2(),
F4()
-> covariant Functor of
F1(),
F2(),
F5(
set )
-> set } :
provided
A1:
for
a being
object of
F1() holds
F5(
a)
in <^(F3() . a),(F4() . a)^>
and A2:
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 15
NatEquivalenceLambda{
F1()
-> category,
F2()
-> category,
F3()
-> covariant Functor of
F1(),
F2(),
F4()
-> covariant Functor of
F1(),
F2(),
F5(
set )
-> set } :
provided
A1:
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 A2:
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,
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th7: :: YELLOW18:7 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:8 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th9: :: YELLOW18:9 :: Showing IDV graph ... (Click the Palm Tree again to close it)
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th11: :: YELLOW18:11 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th12: :: YELLOW18:12 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th13: :: YELLOW18:13 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th14: :: YELLOW18:14 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def4 defines opp YELLOW18:def 4 :
definition
let A,
B be
category;
assume A1:
A,
B are_opposite
;
deffunc H1(
set )
-> set = $1;
deffunc H2(
set ,
set ,
set )
-> set = $3;
A2:
for
a being
object of
A holds
H1(
a) is
object of
B
by A1, Def3;
A3:
now
let a,
b be
object of
A;
:: thesis: ( <^a,b^> <> {} implies for f being Morphism of a,b holds H2(a,b,f) in the Arrows of B . H1(b),H1(a) )assume A4:
<^a,b^> <> {}
;
:: thesis: for f being Morphism of a,b holds H2(a,b,f) in the Arrows of B . H1(b),H1(a)let f be
Morphism of
a,
b;
:: thesis: H2(a,b,f) in the Arrows of B . H1(b),H1(a)reconsider a' =
a,
b' =
b as
object of
B by A1, Def3;
<^a,b^> =
<^b',a'^>
by A1, Th9
.=
the
Arrows of
B . b,
a
;
hence
H2(
a,
b,
f)
in the
Arrows of
B . H1(
b),
H1(
a)
by A4;
:: thesis: verum
end;
A5:
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 A1, Th9;
A6:
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 A1, Th10;
func dualizing-func A,
B -> strict contravariant Functor of
A,
B 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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th16: :: YELLOW18:16 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:17 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th18: :: YELLOW18:18 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:19 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:20 :: Showing IDV graph ... (Click the Palm Tree again to close it)
Lm1:
now
let A,
B be
category;
:: thesis: ( A,B are_opposite implies for a, b being object of A st <^a,b^> <> {} & <^b,a^> <> {} holds
for a', b' being object of B st a' = a & b' = b holds
for f being Morphism of a,b
for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) ) )assume A1:
A,
B are_opposite
;
:: thesis: for a, b being object of A st <^a,b^> <> {} & <^b,a^> <> {} holds
for a', b' being object of B st a' = a & b' = b holds
for f being Morphism of a,b
for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) )let a,
b be
object of
A;
:: thesis: ( <^a,b^> <> {} & <^b,a^> <> {} implies for a', b' being object of B st a' = a & b' = b holds
for f being Morphism of a,b
for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) ) )assume A2:
(
<^a,b^> <> {} &
<^b,a^> <> {} )
;
:: thesis: for a', b' being object of B st a' = a & b' = b holds
for f being Morphism of a,b
for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) )let a',
b' be
object of
B;
:: thesis: ( a' = a & b' = b implies for f being Morphism of a,b
for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) ) )assume A3:
(
a' = a &
b' = b )
;
:: thesis: for f being Morphism of a,b
for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) )let f be
Morphism of
a,
b;
:: thesis: for f' being Morphism of b',a' st f' = f holds
( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) )let f' be
Morphism of
b',
a';
:: thesis: ( f' = f implies ( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) ) )assume A4:
f' = f
;
:: thesis: ( ( f is retraction implies f' is coretraction ) & ( f is coretraction implies f' is retraction ) )thus
(
f is
retraction implies
f' is
coretraction )
:: thesis: ( f is coretraction implies f' is retraction )
proof
given g being
Morphism of
b,
a such that A5:
g is_right_inverse_of f
;
:: according to ALTCAT_3:def 2 :: thesis: f' is coretraction
reconsider g' =
g as
Morphism of
a',
b' by A1, A3, Th7;
take
g'
;
:: according to ALTCAT_3:def 3 :: thesis: g' is_left_inverse_of f'
f * g =
idm b
by A5, ALTCAT_3:def 1
.=
idm b'
by A1, A3, Th10
;
hence
g' * f' = idm b'
by A1, A2, A3, A4, Th9;
:: according to ALTCAT_3:def 1 :: thesis: verum
end;
thus
(
f is
coretraction implies
f' is
retraction )
:: thesis: verum
proof
given g being
Morphism of
b,
a such that A6:
g is_left_inverse_of f
;
:: according to ALTCAT_3:def 3 :: thesis: f' is retraction
reconsider g' =
g as
Morphism of
a',
b' by A1, A3, Th7;
take
g'
;
:: according to ALTCAT_3:def 2 :: thesis: f' is_left_inverse_of g'
g * f =
idm a
by A6, ALTCAT_3:def 1
.=
idm a'
by A1, A3, Th10
;
hence
f' * g' = idm a'
by A1, A2, A3, A4, Th9;
:: according to ALTCAT_3:def 1 :: thesis: verum
end;
end;
theorem :: YELLOW18:21 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:22 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th23: :: YELLOW18:23 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th24: :: YELLOW18:24 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th25: :: YELLOW18:25 :: Showing IDV graph ... (Click the Palm Tree again to close it)
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def6 defines are_dual YELLOW18:def 6 :
theorem :: YELLOW18:27 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:28 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:29 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:30 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th31: :: YELLOW18:31 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines para-functional YELLOW18:def 7 :
:: deftheorem Def8 defines -carrier_of YELLOW18:def 8 :
:: deftheorem defines -carrier_of YELLOW18:def 9 :
theorem Th32: :: YELLOW18:32 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th33: :: YELLOW18:33 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def10 defines set-id-inheriting YELLOW18:def 10 :
:: deftheorem Def11 defines concrete YELLOW18:def 11 :
theorem Th34: :: YELLOW18:34 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th35: :: YELLOW18:35 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th36: :: YELLOW18:36 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:37 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th38: :: YELLOW18:38 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th39: :: YELLOW18:39 :: Showing IDV graph ... (Click the Palm Tree again to close it)
scheme :: YELLOW18:sch 16
ConcreteCategoryLambda{
F1()
-> non
empty set ,
F2(
set ,
set )
-> set ,
F3(
set )
-> set } :
provided
A1:
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 A2:
for
a,
b being
Element of
F1() holds
F2(
a,
b)
c= Funcs F3(
a),
F3(
b)
and A3:
for
a being
Element of
F1() holds
id F3(
a)
in F2(
a,
a)
scheme :: YELLOW18:sch 17
ConcreteCategoryQuasiLambda{
F1()
-> non
empty set ,
P1[
set ,
set ,
set ],
F2(
set )
-> set } :
provided
A1:
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 A2:
for
a being
Element of
F1() holds
P1[
a,
a,
id F2(
a)]
scheme :: YELLOW18:sch 18
ConcreteCategoryEx{
F1()
-> non
empty set ,
F2(
set )
-> set ,
P1[
set ,
set ],
P2[
set ,
set ,
set ] } :
provided
A1:
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 A2:
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 19
ConcreteCategoryUniq1{
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 20
ConcreteCategoryUniq2{
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 21
ConcreteCategoryUniq3{
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th41: :: YELLOW18:41 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th42: :: YELLOW18:42 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th43: :: YELLOW18:43 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: YELLOW18:44 :: Showing IDV graph ... (Click the Palm Tree again to close it)
scheme :: YELLOW18:sch 22
ConcreteCatEquivalence{
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
A1:
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 A2:
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 A3:
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 A4:
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 A5:
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 A6:
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 $1
= $2
`22 ;
defpred S2[
set ,
set ,
Function]
means ex
fa,
fb being
object of
C ex
g being
Morphism of
fa,
fb st
(
fa = $1 &
fb = $2 &
<^fa,fb^> <> {} & ( for
o being
object of
C st
<^o,fa^> <> {} holds
for
h being
Morphism of
o,
fa holds $3
. [h,[o,fa]] = [(g * h),[o,fb]] ) );
deffunc H1(
set )
-> set =
Union (disjoin the Arrows of C);
A1:
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]
A9:
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 C -> 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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th46: :: YELLOW18:46 :: Showing IDV graph ... (Click the Palm Tree again to close it)
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 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let A be
category;
set B =
Concretized A;
func Concretization A -> strict covariant Functor of
A,
Concretized A 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 :: YELLOW18:48 :: Showing IDV graph ... (Click the Palm Tree again to close it)