:: YELLOW18 semantic presentation
scheme :: YELLOW18:sch 1
s1{ F
1()
-> non
empty set , F
2(
set ,
set )
-> set , F
3(
set ,
set ,
set ,
set ,
set )
-> set } :
ex b
1 being non
empty transitive strict AltCatStr st
( the
carrier of b
1 = F
1() & ( for b
2, b
3 being
object of b
1 holds
<^b2,b3^> = F
2(b
2,b
3) ) & ( for b
2, b
3, b
4 being
object of b
1 holds
(
<^b2,b3^> <> {} &
<^b3,b4^> <> {} implies for b
5 being
Morphism of b
2,b
3for b
6 being
Morphism of b
3,b
4 holds b
6 * b
5 = F
3(b
2,b
3,b
4,b
5,b
6) ) ) )
provided
E1:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
set holds
( b
4 in F
2(b
1,b
2) & b
5 in F
2(b
2,b
3) implies F
3(b
1,b
2,b
3,b
4,b
5)
in F
2(b
1,b
3) )
scheme :: YELLOW18:sch 2
s2{ F
1()
-> non
empty transitive AltCatStr , F
2(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
E1:
for b
1, b
2, b
3 being
object of F
1() holds
(
<^b1,b2^> <> {} &
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
1,b
2for b
5 being
Morphism of b
2,b
3 holds b
5 * b
4 = F
2(b
1,b
2,b
3,b
4,b
5) )
and
E2:
for b
1, b
2, b
3, b
4 being
object of F
1()
for b
5, b
6, b
7 being
set holds
( b
5 in <^b1,b2^> & b
6 in <^b2,b3^> & b
7 in <^b3,b4^> implies F
2(b
1,b
3,b
4,F
2(b
1,b
2,b
3,b
5,b
6),b
7)
= F
2(b
1,b
2,b
4,b
5,F
2(b
2,b
3,b
4,b
6,b
7)) )
scheme :: YELLOW18:sch 3
s3{ F
1()
-> non
empty transitive AltCatStr , F
2(
set ,
set ,
set ,
set ,
set )
-> set } :
provided
E1:
for b
1, b
2, b
3 being
object of F
1() holds
(
<^b1,b2^> <> {} &
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
1,b
2for b
5 being
Morphism of b
2,b
3 holds b
5 * b
4 = F
2(b
1,b
2,b
3,b
4,b
5) )
and
E2:
for b
1 being
object of F
1() holds
ex b
2 being
set st
( b
2 in <^b1,b1^> & ( for b
3 being
object of F
1()
for b
4 being
set holds
( b
4 in <^b1,b3^> implies F
2(b
1,b
1,b
3,b
2,b
4)
= b
4 ) ) )
and
E3:
for b
1 being
object of F
1() holds
ex b
2 being
set st
( b
2 in <^b1,b1^> & ( for b
3 being
object of F
1()
for b
4 being
set holds
( b
4 in <^b3,b1^> implies F
2(b
3,b
1,b
1,b
4,b
2)
= b
4 ) ) )
scheme :: YELLOW18:sch 4
s4{ F
1()
-> non
empty set , F
2(
set ,
set )
-> set , F
3(
set ,
set ,
set ,
set ,
set )
-> set } :
ex b
1 being
strict category st
( the
carrier of b
1 = F
1() & ( for b
2, b
3 being
object of b
1 holds
<^b2,b3^> = F
2(b
2,b
3) ) & ( for b
2, b
3, b
4 being
object of b
1 holds
(
<^b2,b3^> <> {} &
<^b3,b4^> <> {} implies for b
5 being
Morphism of b
2,b
3for b
6 being
Morphism of b
3,b
4 holds b
6 * b
5 = F
3(b
2,b
3,b
4,b
5,b
6) ) ) )
provided
E1:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
set holds
( b
4 in F
2(b
1,b
2) & b
5 in F
2(b
2,b
3) implies F
3(b
1,b
2,b
3,b
4,b
5)
in F
2(b
1,b
3) )
and
E2:
for b
1, b
2, b
3, b
4 being
Element of F
1()
for b
5, b
6, b
7 being
set holds
( b
5 in F
2(b
1,b
2) & b
6 in F
2(b
2,b
3) & b
7 in F
2(b
3,b
4) implies F
3(b
1,b
3,b
4,F
3(b
1,b
2,b
3,b
5,b
6),b
7)
= F
3(b
1,b
2,b
4,b
5,F
3(b
2,b
3,b
4,b
6,b
7)) )
and
E3:
for b
1 being
Element of F
1() holds
ex b
2 being
set st
( b
2 in F
2(b
1,b
1) & ( for b
3 being
Element of F
1()
for b
4 being
set holds
( b
4 in F
2(b
1,b
3) implies F
3(b
1,b
1,b
3,b
2,b
4)
= b
4 ) ) )
and
E4:
for b
1 being
Element of F
1() holds
ex b
2 being
set st
( b
2 in F
2(b
1,b
1) & ( for b
3 being
Element of F
1()
for b
4 being
set holds
( b
4 in F
2(b
3,b
1) implies F
3(b
3,b
1,b
1,b
4,b
2)
= b
4 ) ) )
scheme :: YELLOW18:sch 5
s5{ F
1()
-> non
empty set , F
2(
set ,
set )
-> set , F
3(
set ,
set ,
set ,
set ,
set )
-> set } :
for b
1, b
2 being non
empty transitive AltCatStr holds
( the
carrier of b
1 = F
1() & ( for b
3, b
4 being
object of b
1 holds
<^b3,b4^> = F
2(b
3,b
4) ) & ( for b
3, b
4, b
5 being
object of b
1 holds
(
<^b3,b4^> <> {} &
<^b4,b5^> <> {} implies for b
6 being
Morphism of b
3,b
4for b
7 being
Morphism of b
4,b
5 holds b
7 * b
6 = F
3(b
3,b
4,b
5,b
6,b
7) ) ) & the
carrier of b
2 = F
1() & ( for b
3, b
4 being
object of b
2 holds
<^b3,b4^> = F
2(b
3,b
4) ) & ( for b
3, b
4, b
5 being
object of b
2 holds
(
<^b3,b4^> <> {} &
<^b4,b5^> <> {} implies for b
6 being
Morphism of b
3,b
4for b
7 being
Morphism of b
4,b
5 holds b
7 * b
6 = F
3(b
3,b
4,b
5,b
6,b
7) ) ) implies
AltCatStr(# the
carrier of b
1,the
Arrows of b
1,the
Comp of b
1 #)
= AltCatStr(# the
carrier of b
2,the
Arrows of b
2,the
Comp of b
2 #) )
scheme :: YELLOW18:sch 6
s6{ F
1()
-> non
empty set , P
1[
set ,
set ,
set ], F
2(
set ,
set )
-> set , F
3(
set ,
set ,
set ,
set ,
set )
-> set } :
ex b
1 being
strict category st
( the
carrier of b
1 = F
1() & ( for b
2, b
3 being
object of b
1for b
4 being
set holds
( b
4 in <^b2,b3^> iff ( b
4 in F
2(b
2,b
3) & P
1[b
2,b
3,b
4] ) ) ) & ( for b
2, b
3, b
4 being
object of b
1 holds
(
<^b2,b3^> <> {} &
<^b3,b4^> <> {} implies for b
5 being
Morphism of b
2,b
3for b
6 being
Morphism of b
3,b
4 holds b
6 * b
5 = F
3(b
2,b
3,b
4,b
5,b
6) ) ) )
provided
E1:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
set holds
( b
4 in F
2(b
1,b
2) & P
1[b
1,b
2,b
4] & b
5 in F
2(b
2,b
3) & P
1[b
2,b
3,b
5] implies ( F
3(b
1,b
2,b
3,b
4,b
5)
in F
2(b
1,b
3) & P
1[b
1,b
3,F
3(b
1,b
2,b
3,b
4,b
5)] ) )
and
E2:
for b
1, b
2, b
3, b
4 being
Element of F
1()
for b
5, b
6, b
7 being
set holds
( b
5 in F
2(b
1,b
2) & P
1[b
1,b
2,b
5] & b
6 in F
2(b
2,b
3) & P
1[b
2,b
3,b
6] & b
7 in F
2(b
3,b
4) & P
1[b
3,b
4,b
7] implies F
3(b
1,b
3,b
4,F
3(b
1,b
2,b
3,b
5,b
6),b
7)
= F
3(b
1,b
2,b
4,b
5,F
3(b
2,b
3,b
4,b
6,b
7)) )
and
E3:
for b
1 being
Element of F
1() holds
ex b
2 being
set st
( b
2 in F
2(b
1,b
1) & P
1[b
1,b
1,b
2] & ( for b
3 being
Element of F
1()
for b
4 being
set holds
( b
4 in F
2(b
1,b
3) & P
1[b
1,b
3,b
4] implies F
3(b
1,b
1,b
3,b
2,b
4)
= b
4 ) ) )
and
E4:
for b
1 being
Element of F
1() holds
ex b
2 being
set st
( b
2 in F
2(b
1,b
1) & P
1[b
1,b
1,b
2] & ( for b
3 being
Element of F
1()
for b
4 being
set holds
( b
4 in F
2(b
3,b
1) & P
1[b
3,b
1,b
4] implies F
3(b
3,b
1,b
1,b
4,b
2)
= b
4 ) ) )
scheme :: YELLOW18:sch 7
s7{ F
1()
-> category, P
1[
set ], P
2[
set ,
set ,
set ] } :
provided
E1:
ex b
1 being
object of F
1() st P
1[b
1]
and
E2:
for b
1, b
2, b
3 being
object of F
1() holds
( P
1[b
1] & P
1[b
2] & P
1[b
3] &
<^b1,b2^> <> {} &
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
1,b
2for b
5 being
Morphism of b
2,b
3 holds
( P
2[b
1,b
2,b
4] & P
2[b
2,b
3,b
5] implies P
2[b
1,b
3,b
5 * b
4] ) )
and
E3:
for b
1 being
object of F
1() holds
( P
1[b
1] implies P
2[b
1,b
1,
idm b
1] )
scheme :: YELLOW18:sch 8
s8{ F
1()
-> category, F
2()
-> category, F
3(
set )
-> set , F
4(
set ,
set ,
set )
-> set } :
provided
E1:
for b
1 being
object of F
1() holds
F
3(b
1) is
object of F
2()
and
E2:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds F
4(b
1,b
2,b
3)
in the
Arrows of F
2()
. F
3(b
1),F
3(b
2) )
and
E3:
for b
1, b
2, b
3 being
object of F
1() holds
(
<^b1,b2^> <> {} &
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
1,b
2for b
5 being
Morphism of b
2,b
3for b
6, b
7, b
8 being
object of F
2() holds
( b
6 = F
3(b
1) & b
7 = F
3(b
2) & b
8 = F
3(b
3) implies for b
9 being
Morphism of b
6,b
7for b
10 being
Morphism of b
7,b
8 holds
( b
9 = F
4(b
1,b
2,b
4) & b
10 = F
4(b
2,b
3,b
5) implies F
4(b
1,b
3,
(b5 * b4))
= b
10 * b
9 ) ) )
and
E4:
for b
1 being
object of F
1()
for b
2 being
object of F
2() holds
( b
2 = F
3(b
1) implies F
4(b
1,b
1,
(idm b1))
= idm b
2 )
theorem Th1: :: YELLOW18:1
scheme :: YELLOW18:sch 9
s9{ F
1()
-> category, F
2()
-> category, F
3(
set )
-> set , F
4(
set ,
set ,
set )
-> set } :
provided
E2:
for b
1 being
object of F
1() holds
F
3(b
1) is
object of F
2()
and
E3:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds F
4(b
1,b
2,b
3)
in the
Arrows of F
2()
. F
3(b
2),F
3(b
1) )
and
E4:
for b
1, b
2, b
3 being
object of F
1() holds
(
<^b1,b2^> <> {} &
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
1,b
2for b
5 being
Morphism of b
2,b
3for b
6, b
7, b
8 being
object of F
2() holds
( b
6 = F
3(b
1) & b
7 = F
3(b
2) & b
8 = F
3(b
3) implies for b
9 being
Morphism of b
7,b
6for b
10 being
Morphism of b
8,b
7 holds
( b
9 = F
4(b
1,b
2,b
4) & b
10 = F
4(b
2,b
3,b
5) implies F
4(b
1,b
3,
(b5 * b4))
= b
9 * b
10 ) ) )
and
E5:
for b
1 being
object of F
1()
for b
2 being
object of F
2() holds
( b
2 = F
3(b
1) implies F
4(b
1,b
1,
(idm b1))
= idm b
2 )
theorem Th2: :: YELLOW18:2
definition
let c
1, c
2, c
3 be non
empty set ;
let c
4 be
Function of
[:c1,c2:],c
3;
redefine attr one-to-one as a
4 is
one-to-one means :: YELLOW18:def 1
for b
1, b
2 being
Element of a
1for b
3, b
4 being
Element of a
2 holds
( a
4 . b
1,b
3 = a
4 . b
2,b
4 implies ( b
1 = b
2 & b
3 = b
4 ) );
compatibility
( c4 is one-to-one iff for b1, b2 being Element of c1
for b3, b4 being Element of c2 holds
( c4 . b1,b3 = c4 . b2,b4 implies ( b1 = b2 & b3 = b4 ) ) )
end;
:: deftheorem Def1 defines one-to-one YELLOW18:def 1 :
scheme :: YELLOW18:sch 10
s10{ F
1()
-> category, F
2()
-> category, F
3()
-> covariant Functor of F
1(),F
2(), F
4(
set )
-> set , F
5(
set ,
set ,
set )
-> set } :
provided
E3:
for b
1 being
object of F
1() holds F
3()
. b
1 = F
4(b
1)
and
E4:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds F
3()
. b
3 = F
5(b
1,b
2,b
3) )
and
E5:
for b
1, b
2 being
object of F
1() holds
( F
4(b
1)
= F
4(b
2) implies b
1 = b
2 )
and
E6:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3, b
4 being
Morphism of b
1,b
2 holds
( F
5(b
1,b
2,b
3)
= F
5(b
1,b
2,b
4) implies b
3 = b
4 ) )
and
E7:
for b
1, b
2 being
object of F
2() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds
ex b
4, b
5 being
object of F
1()ex b
6 being
Morphism of b
4,b
5 st
( b
1 = F
4(b
4) & b
2 = F
4(b
5) &
<^b4,b5^> <> {} & b
3 = F
5(b
4,b
5,b
6) ) )
scheme :: YELLOW18:sch 11
s11{ F
1()
-> category, F
2()
-> category, F
3(
set )
-> set , F
4(
set ,
set ,
set )
-> set } :
provided
E3:
ex b
1 being
covariant Functor of F
1(),F
2() st
( ( for b
2 being
object of F
1() holds b
1 . b
2 = F
3(b
2) ) & ( for b
2, b
3 being
object of F
1() holds
(
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
2,b
3 holds b
1 . b
4 = F
4(b
2,b
3,b
4) ) ) )
and
E4:
for b
1, b
2 being
object of F
1() holds
( F
3(b
1)
= F
3(b
2) implies b
1 = b
2 )
and
E5:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3, b
4 being
Morphism of b
1,b
2 holds
( F
4(b
1,b
2,b
3)
= F
4(b
1,b
2,b
4) implies b
3 = b
4 ) )
and
E6:
for b
1, b
2 being
object of F
2() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds
ex b
4, b
5 being
object of F
1()ex b
6 being
Morphism of b
4,b
5 st
( b
1 = F
3(b
4) & b
2 = F
3(b
5) &
<^b4,b5^> <> {} & b
3 = F
4(b
4,b
5,b
6) ) )
scheme :: YELLOW18:sch 12
s12{ F
1()
-> category, F
2()
-> category, F
3()
-> contravariant Functor of F
1(),F
2(), F
4(
set )
-> set , F
5(
set ,
set ,
set )
-> set } :
provided
E3:
for b
1 being
object of F
1() holds F
3()
. b
1 = F
4(b
1)
and
E4:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds F
3()
. b
3 = F
5(b
1,b
2,b
3) )
and
E5:
for b
1, b
2 being
object of F
1() holds
( F
4(b
1)
= F
4(b
2) implies b
1 = b
2 )
and
E6:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3, b
4 being
Morphism of b
1,b
2 holds
( F
5(b
1,b
2,b
3)
= F
5(b
1,b
2,b
4) implies b
3 = b
4 ) )
and
E7:
for b
1, b
2 being
object of F
2() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds
ex b
4, b
5 being
object of F
1()ex b
6 being
Morphism of b
4,b
5 st
( b
2 = F
4(b
4) & b
1 = F
4(b
5) &
<^b4,b5^> <> {} & b
3 = F
5(b
4,b
5,b
6) ) )
scheme :: YELLOW18:sch 13
s13{ F
1()
-> category, F
2()
-> category, F
3(
set )
-> set , F
4(
set ,
set ,
set )
-> set } :
provided
E3:
ex b
1 being
contravariant Functor of F
1(),F
2() st
( ( for b
2 being
object of F
1() holds b
1 . b
2 = F
3(b
2) ) & ( for b
2, b
3 being
object of F
1() holds
(
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
2,b
3 holds b
1 . b
4 = F
4(b
2,b
3,b
4) ) ) )
and
E4:
for b
1, b
2 being
object of F
1() holds
( F
3(b
1)
= F
3(b
2) implies b
1 = b
2 )
and
E5:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3, b
4 being
Morphism of b
1,b
2 holds
( F
4(b
1,b
2,b
3)
= F
4(b
1,b
2,b
4) implies b
3 = b
4 ) )
and
E6:
for b
1, b
2 being
object of F
2() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds
ex b
4, b
5 being
object of F
1()ex b
6 being
Morphism of b
4,b
5 st
( b
2 = F
3(b
4) & b
1 = F
3(b
5) &
<^b4,b5^> <> {} & b
3 = F
4(b
4,b
5,b
6) ) )
definition
let c
1, c
2 be
category;
pred c
1,c
2 are_equivalent means :: YELLOW18:def 2
ex b
1 being
covariant Functor of a
1,a
2ex b
2 being
covariant Functor of a
2,a
1 st
( b
2 * b
1,
id a
1 are_naturally_equivalent & b
1 * b
2,
id a
2 are_naturally_equivalent );
reflexivity
for b1 being category holds
ex b2, b3 being covariant Functor of b1,b1 st
( b3 * b2, id b1 are_naturally_equivalent & b2 * b3, id b1 are_naturally_equivalent )
symmetry
for b1, b2 being category holds
not ( ex b3 being covariant Functor of b1,b2ex b4 being covariant Functor of b2,b1 st
( b4 * b3, id b1 are_naturally_equivalent & b3 * b4, id b2 are_naturally_equivalent ) & ( for b3 being covariant Functor of b2,b1
for b4 being covariant Functor of b1,b2 holds
not ( b4 * b3, id b2 are_naturally_equivalent & b3 * b4, id b1 are_naturally_equivalent ) ) )
;
end;
:: deftheorem Def2 defines are_equivalent YELLOW18:def 2 :
theorem Th3: :: YELLOW18:3
for b
1, b
2, b
3 being non
empty reflexive AltGraph for b
4, b
5 being
feasible FunctorStr of b
1,b
2for b
6, b
7 being
FunctorStr of b
2,b
3 holds
(
FunctorStr(# the
ObjectMap of b
4,the
MorphMap of b
4 #)
= FunctorStr(# the
ObjectMap of b
5,the
MorphMap of b
5 #) &
FunctorStr(# the
ObjectMap of b
6,the
MorphMap of b
6 #)
= FunctorStr(# the
ObjectMap of b
7,the
MorphMap of b
7 #) implies b
6 * b
4 = b
7 * b
5 )
theorem Th4: :: YELLOW18:4
theorem Th5: :: YELLOW18:5
scheme :: YELLOW18:sch 14
s14{ F
1()
-> category, F
2()
-> category, F
3()
-> covariant Functor of F
1(),F
2(), F
4()
-> covariant Functor of F
1(),F
2(), F
5(
set )
-> set } :
provided
E6:
for b
1 being
object of F
1() holds F
5(b
1)
in <^(F3() . b1),(F4() . b1)^>
and
E7:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2for b
4 being
Morphism of
(F3() . b1),
(F4() . b1) holds
( b
4 = F
5(b
1) implies for b
5 being
Morphism of
(F3() . b2),
(F4() . b2) holds
( b
5 = F
5(b
2) implies b
5 * (F3() . b3) = (F4() . b3) * b
4 ) ) )
scheme :: YELLOW18:sch 15
s15{ F
1()
-> category, F
2()
-> category, F
3()
-> covariant Functor of F
1(),F
2(), F
4()
-> covariant Functor of F
1(),F
2(), F
5(
set )
-> set } :
provided
E6:
for b
1 being
object of F
1() holds
( F
5(b
1)
in <^(F3() . b1),(F4() . b1)^> &
<^(F4() . b1),(F3() . b1)^> <> {} & ( for b
2 being
Morphism of
(F3() . b1),
(F4() . b1) holds
( b
2 = F
5(b
1) implies b
2 is
iso ) ) )
and
E7:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2for b
4 being
Morphism of
(F3() . b1),
(F4() . b1) holds
( b
4 = F
5(b
1) implies for b
5 being
Morphism of
(F3() . b2),
(F4() . b2) holds
( b
5 = F
5(b
2) implies b
5 * (F3() . b3) = (F4() . b3) * b
4 ) ) )
definition
let c
1, c
2 be non
empty AltCatStr ;
pred c
1,c
2 are_opposite means :
Def3:
:: YELLOW18:def 3
( the
carrier of a
2 = the
carrier of a
1 & the
Arrows of a
2 = ~ the
Arrows of a
1 & ( for b
1, b
2, b
3 being
object of a
1for b
4, b
5, b
6 being
object of a
2 holds
( b
4 = b
1 & b
5 = b
2 & b
6 = b
3 implies the
Comp of a
2 . b
4,b
5,b
6 = ~ (the Comp of a1 . b3,b2,b1) ) ) );
symmetry
for b1, b2 being non empty AltCatStr holds
( the carrier of b2 = the carrier of b1 & the Arrows of b2 = ~ the Arrows of b1 & ( for b3, b4, b5 being object of b1
for b6, b7, b8 being object of b2 holds
( b6 = b3 & b7 = b4 & b8 = b5 implies the Comp of b2 . b6,b7,b8 = ~ (the Comp of b1 . b5,b4,b3) ) ) implies ( the carrier of b1 = the carrier of b2 & the Arrows of b1 = ~ the Arrows of b2 & ( for b3, b4, b5 being object of b2
for b6, b7, b8 being object of b1 holds
( b6 = b3 & b7 = b4 & b8 = b5 implies the Comp of b1 . b6,b7,b8 = ~ (the Comp of b2 . b5,b4,b3) ) ) ) )
end;
:: deftheorem Def3 defines are_opposite YELLOW18:def 3 :
for b
1, b
2 being non
empty AltCatStr holds
( b
1,b
2 are_opposite iff ( the
carrier of b
2 = the
carrier of b
1 & the
Arrows of b
2 = ~ the
Arrows of b
1 & ( for b
3, b
4, b
5 being
object of b
1for b
6, b
7, b
8 being
object of b
2 holds
( b
6 = b
3 & b
7 = b
4 & b
8 = b
5 implies the
Comp of b
2 . b
6,b
7,b
8 = ~ (the Comp of b1 . b5,b4,b3) ) ) ) );
theorem Th6: :: YELLOW18:6
theorem Th7: :: YELLOW18:7
theorem Th8: :: YELLOW18:8
theorem Th9: :: YELLOW18:9
for b
1, b
2 being non
empty transitive AltCatStr holds
( b
1,b
2 are_opposite iff ( the
carrier of b
2 = the
carrier of b
1 & ( for b
3, b
4, b
5 being
object of b
1for b
6, b
7, b
8 being
object of b
2 holds
( b
6 = b
3 & b
7 = b
4 & b
8 = b
5 implies (
<^b3,b4^> = <^b7,b6^> & (
<^b3,b4^> <> {} &
<^b4,b5^> <> {} implies for b
9 being
Morphism of b
3,b
4for b
10 being
Morphism of b
4,b
5for b
11 being
Morphism of b
7,b
6for b
12 being
Morphism of b
8,b
7 holds
( b
11 = b
9 & b
12 = b
10 implies b
11 * b
12 = b
10 * b
9 ) ) ) ) ) ) )
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 c
1, c
2 be
category;
assume E16:
c
1,c
2 are_opposite
;
deffunc H
1(
set )
-> set = a
1;
deffunc H
2(
set ,
set ,
set )
-> set = a
3;
E17:
for b
1 being
object of c
1 holds
H
1(b
1) is
object of c
2
by E16, Def3;
E18:
now
let c
3, c
4 be
object of c
1;
assume E19:
<^c3,c4^> <> {}
;
let c
5 be
Morphism of c
3,c
4;
reconsider c
6 = c
3, c
7 = c
4 as
object of c
2 by E16, Def3;
<^c3,c4^> =
<^c7,c6^>
by E16, Th9
.=
the
Arrows of c
2 . c
4,c
3
;
hence
H
2(c
3,c
4,c
5)
in the
Arrows of c
2 . H
1(c
4),H
1(c
3)
by E19;
end;
E19:
for b
1, b
2, b
3 being
object of c
1 holds
(
<^b1,b2^> <> {} &
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
1,b
2for b
5 being
Morphism of b
2,b
3for b
6, b
7, b
8 being
object of c
2 holds
( b
6 = H
1(b
1) & b
7 = H
1(b
2) & b
8 = H
1(b
3) implies for b
9 being
Morphism of b
7,b
6for b
10 being
Morphism of b
8,b
7 holds
( b
9 = H
2(b
1,b
2,b
4) & b
10 = H
2(b
2,b
3,b
5) implies H
2(b
1,b
3,b
5 * b
4)
= b
9 * b
10 ) ) )
by E16, Th9;
E20:
for b
1 being
object of c
1for b
2 being
object of c
2 holds
( b
2 = H
1(b
1) implies H
2(b
1,b
1,
idm b
1)
= idm b
2 )
by E16, Th10;
func dualizing-func c
1,c
2 -> strict contravariant Functor of a
1,a
2 means :
Def5:
:: YELLOW18:def 5
( ( for b
1 being
object of a
1 holds a
3 . b
1 = b
1 ) & ( for b
1, b
2 being
object of a
1 holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds a
3 . b
3 = b
3 ) ) );
existence
ex b1 being strict contravariant Functor of c1,c2 st
( ( for b2 being object of c1 holds b1 . b2 = b2 ) & ( for b2, b3 being object of c1 holds
( <^b2,b3^> <> {} implies for b4 being Morphism of b2,b3 holds b1 . b4 = b4 ) ) )
uniqueness
for b1, b2 being strict contravariant Functor of c1,c2 holds
( ( for b3 being object of c1 holds b1 . b3 = b3 ) & ( for b3, b4 being object of c1 holds
( <^b3,b4^> <> {} implies for b5 being Morphism of b3,b4 holds b1 . b5 = b5 ) ) & ( for b3 being object of c1 holds b2 . b3 = b3 ) & ( for b3, b4 being object of c1 holds
( <^b3,b4^> <> {} implies for b5 being Morphism of b3,b4 holds b2 . b5 = b5 ) ) implies 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
E20:
now
let c
1, c
2 be
category;
assume E21:
c
1,c
2 are_opposite
;
let c
3, c
4 be
object of c
1;
assume E22:
(
<^c3,c4^> <> {} &
<^c4,c3^> <> {} )
;
let c
5, c
6 be
object of c
2;
assume E23:
( c
5 = c
3 & c
6 = c
4 )
;
let c
7 be
Morphism of c
3,c
4;
let c
8 be
Morphism of c
6,c
5;
assume E24:
c
8 = c
7
;
thus
( c
7 is
retraction implies c
8 is
coretraction )
proof
given c
9 being
Morphism of c
4,c
3 such that E25:
c
9 is_right_inverse_of c
7
;
:: according to ALTCAT_3:def 2
reconsider c
10 = c
9 as
Morphism of c
5,c
6 by E21, E23, Th7;
take
c
10
;
:: according to ALTCAT_3:def 3
c
7 * c
9 =
idm c
4
by E25, ALTCAT_3:def 1
.=
idm c
6
by E21, E23, Th10
;
hence
c
10 * c
8 = idm c
6
by E21, E22, E23, E24, Th9;
:: according to ALTCAT_3:def 1
end;
thus
( c
7 is
coretraction implies c
8 is
retraction )
proof
given c
9 being
Morphism of c
4,c
3 such that E25:
c
9 is_left_inverse_of c
7
;
:: according to ALTCAT_3:def 3
reconsider c
10 = c
9 as
Morphism of c
5,c
6 by E21, E23, Th7;
take
c
10
;
:: according to ALTCAT_3:def 2
c
9 * c
7 =
idm c
3
by E25, ALTCAT_3:def 1
.=
idm c
5
by E21, E23, Th10
;
hence
c
8 * c
10 = idm c
5
by E21, E22, E23, E24, Th9;
:: 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 b
1, b
2, b
3, b
4 being
category holds
( b
1,b
2 are_opposite & b
3,b
4 are_opposite implies for b
5, b
6 being
covariant Functor of b
2,b
3 holds
( b
5,b
6 are_naturally_equivalent implies
((dualizing-func b3,b4) * b6) * (dualizing-func b1,b2),
((dualizing-func b3,b4) * b5) * (dualizing-func b1,b2) 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 16
s16{ F
1()
-> non
empty set , F
2(
set ,
set )
-> set , F
3(
set )
-> set } :
provided
E37:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
Function holds
( b
4 in F
2(b
1,b
2) & b
5 in F
2(b
2,b
3) implies b
5 * b
4 in F
2(b
1,b
3) )
and
E38:
for b
1, b
2 being
Element of F
1() holds F
2(b
1,b
2)
c= Funcs F
3(b
1),F
3(b
2)
and
E39:
for b
1 being
Element of F
1() holds
id F
3(b
1)
in F
2(b
1,b
1)
scheme :: YELLOW18:sch 17
s17{ F
1()
-> non
empty set , P
1[
set ,
set ,
set ], F
2(
set )
-> set } :
provided
E37:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
Function holds
( P
1[b
1,b
2,b
4] & P
1[b
2,b
3,b
5] implies P
1[b
1,b
3,b
5 * b
4] )
and
E38:
for b
1 being
Element of F
1() holds P
1[b
1,b
1,
id F
2(b
1)]
scheme :: YELLOW18:sch 18
s18{ F
1()
-> non
empty set , F
2(
set )
-> set , P
1[
set ,
set ], P
2[
set ,
set ,
set ] } :
provided
E37:
for b
1, b
2, b
3 being
Element of F
1()
for b
4, b
5 being
Function holds
( P
2[b
1,b
2,b
4] & P
2[b
2,b
3,b
5] implies P
2[b
1,b
3,b
5 * b
4] )
and
E38:
for b
1 being
Element of F
1()
for b
2 being
set holds
( ( for b
3 being
set holds
( b
3 in b
2 iff ( b
3 in F
2(b
1) & P
1[b
1,b
3] ) ) ) implies P
2[b
1,b
1,
id b
2] )
scheme :: YELLOW18:sch 19
s19{ F
1()
-> non
empty set , F
2(
set ,
set )
-> set } :
for b
1, b
2 being
semi-functional para-functional category holds
( the
carrier of b
1 = F
1() & ( for b
3, b
4 being
object of b
1 holds
<^b3,b4^> = F
2(b
3,b
4) ) & the
carrier of b
2 = F
1() & ( for b
3, b
4 being
object of b
2 holds
<^b3,b4^> = F
2(b
3,b
4) ) implies
AltCatStr(# the
carrier of b
1,the
Arrows of b
1,the
Comp of b
1 #)
= AltCatStr(# the
carrier of b
2,the
Arrows of b
2,the
Comp of b
2 #) )
scheme :: YELLOW18:sch 20
s20{ F
1()
-> non
empty set , P
1[
set ,
set ,
set ], F
2(
set )
-> set } :
for b
1, b
2 being
semi-functional para-functional category holds
( the
carrier of b
1 = F
1() & ( for b
3, b
4 being
Element of F
1()
for b
5 being
Function holds
( b
5 in the
Arrows of b
1 . b
3,b
4 iff ( b
5 in Funcs F
2(b
3),F
2(b
4) & P
1[b
3,b
4,b
5] ) ) ) & the
carrier of b
2 = F
1() & ( for b
3, b
4 being
Element of F
1()
for b
5 being
Function holds
( b
5 in the
Arrows of b
2 . b
3,b
4 iff ( b
5 in Funcs F
2(b
3),F
2(b
4) & P
1[b
3,b
4,b
5] ) ) ) implies
AltCatStr(# the
carrier of b
1,the
Arrows of b
1,the
Comp of b
1 #)
= AltCatStr(# the
carrier of b
2,the
Arrows of b
2,the
Comp of b
2 #) )
scheme :: YELLOW18:sch 21
s21{ F
1()
-> non
empty set , F
2(
set )
-> set , P
1[
set ,
set ], P
2[
set ,
set ,
set ] } :
for b
1, b
2 being
semi-functional para-functional category holds
( the
carrier of b
1 = F
1() & ( for b
3 being
object of b
1for b
4 being
set holds
( b
4 in the_carrier_of b
3 iff ( b
4 in F
2(b
3) & P
1[b
3,b
4] ) ) ) & ( for b
3, b
4 being
Element of F
1()
for b
5 being
Function holds
( b
5 in the
Arrows of b
1 . b
3,b
4 iff ( b
5 in Funcs (b1 -carrier_of b3),
(b1 -carrier_of b4) & P
2[b
3,b
4,b
5] ) ) ) & the
carrier of b
2 = F
1() & ( for b
3 being
object of b
2for b
4 being
set holds
( b
4 in the_carrier_of b
3 iff ( b
4 in F
2(b
3) & P
1[b
3,b
4] ) ) ) & ( for b
3, b
4 being
Element of F
1()
for b
5 being
Function holds
( b
5 in the
Arrows of b
2 . b
3,b
4 iff ( b
5 in Funcs (b2 -carrier_of b3),
(b2 -carrier_of b4) & P
2[b
3,b
4,b
5] ) ) ) implies
AltCatStr(# the
carrier of b
1,the
Arrows of b
1,the
Comp of b
1 #)
= AltCatStr(# the
carrier of b
2,the
Arrows of b
2,the
Comp of b
2 #) )
theorem Th40: :: YELLOW18:40
theorem Th41: :: YELLOW18:41
theorem Th42: :: YELLOW18:42
theorem Th43: :: YELLOW18:43
theorem Th44: :: YELLOW18:44
scheme :: YELLOW18:sch 22
s22{ F
1()
-> semi-functional para-functional category, F
2()
-> semi-functional para-functional category, F
3(
set )
-> set , F
4(
set )
-> set , F
5(
set ,
set ,
set )
-> Function, F
6(
set ,
set ,
set )
-> Function, F
7(
set )
-> Function, F
8(
set )
-> Function } :
provided
E41:
ex b
1 being
covariant Functor of F
1(),F
2() st
( ( for b
2 being
object of F
1() holds b
1 . b
2 = F
3(b
2) ) & ( for b
2, b
3 being
object of F
1() holds
(
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
2,b
3 holds b
1 . b
4 = F
5(b
2,b
3,b
4) ) ) )
and
E42:
ex b
1 being
covariant Functor of F
2(),F
1() st
( ( for b
2 being
object of F
2() holds b
1 . b
2 = F
4(b
2) ) & ( for b
2, b
3 being
object of F
2() holds
(
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
2,b
3 holds b
1 . b
4 = F
6(b
2,b
3,b
4) ) ) )
and
E43:
for b
1, b
2 being
object of F
1() holds
( b
1 = F
4(F
3(b
2)) implies ( F
7(b
2)
in <^b1,b2^> & F
7(b
2)
" in <^b2,b1^> & F
7(b
2) is
one-to-one ) )
and
E44:
for b
1, b
2 being
object of F
2() holds
( b
2 = F
3(F
4(b
1)) implies ( F
8(b
1)
in <^b1,b2^> & F
8(b
1)
" in <^b2,b1^> & F
8(b
1) is
one-to-one ) )
and
E45:
for b
1, b
2 being
object of F
1() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds F
7(b
2)
* F
6(F
3(b
1),F
3(b
2),F
5(b
1,b
2,b
3))
= b
3 * F
7(b
1) )
and
E46:
for b
1, b
2 being
object of F
2() holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds F
5(F
4(b
1),F
4(b
2),F
6(b
1,b
2,b
3))
* F
8(b
1)
= F
8(b
2)
* b
3 )
definition
let c
1 be
category;
defpred S
1[
set ,
set ] means a
1 = a
2 `22 ;
defpred S
2[
set ,
set ,
Function] means ex b
1, b
2 being
object of c
1ex b
3 being
Morphism of b
1,b
2 st
( b
1 = a
1 & b
2 = a
2 &
<^b1,b2^> <> {} & ( for b
4 being
object of c
1 holds
(
<^b4,b1^> <> {} implies for b
5 being
Morphism of b
4,b
1 holds a
3 . [b5,[b4,b1]] = [(b3 * b5),[b4,b2]] ) ) );
deffunc H
1(
set )
-> set =
Union (disjoin the Arrows of c1);
E41:
for b
1, b
2, b
3 being
Element of c
1for b
4, b
5 being
Function holds
( S
2[b
1,b
2,b
4] & S
2[b
2,b
3,b
5] implies S
2[b
1,b
3,b
5 * b
4] )
E42:
for b
1 being
Element of c
1for b
2 being
set holds
( ( for b
3 being
set holds
( b
3 in b
2 iff ( b
3 in H
1(b
1) & S
1[b
1,b
3] ) ) ) implies S
2[b
1,b
1,
id b
2] )
func Concretized c
1 -> strict concrete category means :
Def12:
:: YELLOW18:def 12
( the
carrier of a
2 = the
carrier of a
1 & ( for b
1 being
object of a
2for b
2 being
set holds
( b
2 in the_carrier_of b
1 iff ( b
2 in Union (disjoin the Arrows of a1) & b
1 = b
2 `22 ) ) ) & ( for b
1, b
2 being
Element of a
1for b
3 being
Function holds
( b
3 in the
Arrows of a
2 . b
1,b
2 iff ( b
3 in Funcs (a2 -carrier_of b1),
(a2 -carrier_of b2) & ex b
4, b
5 being
object of a
1ex b
6 being
Morphism of b
4,b
5 st
( b
4 = b
1 & b
5 = b
2 &
<^b4,b5^> <> {} & ( for b
7 being
object of a
1 holds
(
<^b7,b4^> <> {} implies for b
8 being
Morphism of b
7,b
4 holds b
3 . [b8,[b7,b4]] = [(b6 * b8),[b7,b5]] ) ) ) ) ) ) );
uniqueness
for b1, b2 being strict concrete category holds
( the carrier of b1 = the carrier of c1 & ( for b3 being object of b1
for b4 being set holds
( b4 in the_carrier_of b3 iff ( b4 in Union (disjoin the Arrows of c1) & b3 = b4 `22 ) ) ) & ( for b3, b4 being Element of c1
for b5 being Function holds
( b5 in the Arrows of b1 . b3,b4 iff ( b5 in Funcs (b1 -carrier_of b3),(b1 -carrier_of b4) & ex b6, b7 being object of c1ex b8 being Morphism of b6,b7 st
( b6 = b3 & b7 = b4 & <^b6,b7^> <> {} & ( for b9 being object of c1 holds
( <^b9,b6^> <> {} implies for b10 being Morphism of b9,b6 holds b5 . [b10,[b9,b6]] = [(b8 * b10),[b9,b7]] ) ) ) ) ) ) & the carrier of b2 = the carrier of c1 & ( for b3 being object of b2
for b4 being set holds
( b4 in the_carrier_of b3 iff ( b4 in Union (disjoin the Arrows of c1) & b3 = b4 `22 ) ) ) & ( for b3, b4 being Element of c1
for b5 being Function holds
( b5 in the Arrows of b2 . b3,b4 iff ( b5 in Funcs (b2 -carrier_of b3),(b2 -carrier_of b4) & ex b6, b7 being object of c1ex b8 being Morphism of b6,b7 st
( b6 = b3 & b7 = b4 & <^b6,b7^> <> {} & ( for b9 being object of c1 holds
( <^b9,b6^> <> {} implies for b10 being Morphism of b9,b6 holds b5 . [b10,[b9,b6]] = [(b8 * b10),[b9,b7]] ) ) ) ) ) ) implies b1 = b2 )
existence
ex b1 being strict concrete category st
( the carrier of b1 = the carrier of c1 & ( for b2 being object of b1
for b3 being set holds
( b3 in the_carrier_of b2 iff ( b3 in Union (disjoin the Arrows of c1) & b2 = b3 `22 ) ) ) & ( for b2, b3 being Element of c1
for b4 being Function holds
( b4 in the Arrows of b1 . b2,b3 iff ( b4 in Funcs (b1 -carrier_of b2),(b1 -carrier_of b3) & ex b5, b6 being object of c1ex b7 being Morphism of b5,b6 st
( b5 = b2 & b6 = b3 & <^b5,b6^> <> {} & ( for b8 being object of c1 holds
( <^b8,b5^> <> {} implies for b9 being Morphism of b8,b5 holds b4 . [b9,[b8,b5]] = [(b7 * b9),[b8,b6]] ) ) ) ) ) ) )
end;
:: deftheorem Def12 defines Concretized YELLOW18:def 12 :
for b
1 being
categoryfor b
2 being
strict concrete category holds
( b
2 = Concretized b
1 iff ( the
carrier of b
2 = the
carrier of b
1 & ( for b
3 being
object of b
2for b
4 being
set holds
( b
4 in the_carrier_of b
3 iff ( b
4 in Union (disjoin the Arrows of b1) & b
3 = b
4 `22 ) ) ) & ( for b
3, b
4 being
Element of b
1for b
5 being
Function holds
( b
5 in the
Arrows of b
2 . b
3,b
4 iff ( b
5 in Funcs (b2 -carrier_of b3),
(b2 -carrier_of b4) & ex b
6, b
7 being
object of b
1ex b
8 being
Morphism of b
6,b
7 st
( b
6 = b
3 & b
7 = b
4 &
<^b6,b7^> <> {} & ( for b
9 being
object of b
1 holds
(
<^b9,b6^> <> {} implies for b
10 being
Morphism of b
9,b
6 holds b
5 . [b10,[b9,b6]] = [(b8 * b10),[b9,b7]] ) ) ) ) ) ) ) );
theorem Th45: :: YELLOW18:45
theorem Th46: :: YELLOW18:46
for b
1 being
categoryfor b
2, b
3 being
object of b
1 holds
(
<^b2,b3^> <> {} implies for b
4 being
Morphism of b
2,b
3 holds
ex b
5 being
Function of
(Concretized b1) -carrier_of b
2,
(Concretized b1) -carrier_of b
3 st
( b
5 in the
Arrows of
(Concretized b1) . b
2,b
3 & ( for b
6 being
object of b
1for b
7 being
Morphism of b
6,b
2 holds
(
<^b6,b2^> <> {} implies b
5 . [b7,[b6,b2]] = [(b4 * b7),[b6,b3]] ) ) ) )
theorem Th47: :: YELLOW18:47
scheme :: YELLOW18:sch 23
s23{ F
1()
-> set , F
2()
-> ManySortedSet of F
1(), F
3()
-> ManySortedSet of F
1(), P
1[
set ,
set ,
set ] } :
ex b
1 being
ManySortedFunction of F
2(),F
3() st
for b
2, b
3 being
set holds
( b
2 in F
1() & b
3 in F
2()
. b
2 implies (
(b1 . b2) . b
3 in F
3()
. b
2 & P
1[b
2,b
3,
(b1 . b2) . b
3] ) )
provided
E45:
for b
1, b
2 being
set holds
not ( b
1 in F
1() & b
2 in F
2()
. b
1 & ( for b
3 being
set holds
not ( b
3 in F
3()
. b
1 & P
1[b
1,b
2,b
3] ) ) )
definition
let c
1 be
category;
set c
2 =
Concretized c
1;
func Concretization c
1 -> strict covariant Functor of a
1,
Concretized a
1 means :
Def13:
:: YELLOW18:def 13
( ( for b
1 being
object of a
1 holds a
2 . b
1 = b
1 ) & ( for b
1, b
2 being
object of a
1 holds
(
<^b1,b2^> <> {} implies for b
3 being
Morphism of b
1,b
2 holds
(a2 . b3) . [(idm b1),[b1,b1]] = [b3,[b1,b2]] ) ) );
uniqueness
for b1, b2 being strict covariant Functor of c1, Concretized c1 holds
( ( for b3 being object of c1 holds b1 . b3 = b3 ) & ( for b3, b4 being object of c1 holds
( <^b3,b4^> <> {} implies for b5 being Morphism of b3,b4 holds (b1 . b5) . [(idm b3),[b3,b3]] = [b5,[b3,b4]] ) ) & ( for b3 being object of c1 holds b2 . b3 = b3 ) & ( for b3, b4 being object of c1 holds
( <^b3,b4^> <> {} implies for b5 being Morphism of b3,b4 holds (b2 . b5) . [(idm b3),[b3,b3]] = [b5,[b3,b4]] ) ) implies b1 = b2 )
existence
ex b1 being strict covariant Functor of c1, Concretized c1 st
( ( for b2 being object of c1 holds b1 . b2 = b2 ) & ( for b2, b3 being object of c1 holds
( <^b2,b3^> <> {} implies for b4 being Morphism of b2,b3 holds (b1 . b4) . [(idm b2),[b2,b2]] = [b4,[b2,b3]] ) ) )
end;
:: deftheorem Def13 defines Concretization YELLOW18:def 13 :
theorem Th48: :: YELLOW18:48