begin
theorem Th1:
theorem Th2:
theorem Th3:
theorem Th4:
theorem Th5:
theorem
theorem
theorem
theorem
begin
definition
let A,
B be
AltCatStr ;
pred A,
B have_the_same_composition means :
Def1:
for
a1,
a2,
a3 being
set holds the
Comp of
A . [a1,a2,a3] tolerates the
Comp of
B . [a1,a2,a3];
symmetry
for A, B being AltCatStr st ( for a1, a2, a3 being set holds the Comp of A . [a1,a2,a3] tolerates the Comp of B . [a1,a2,a3] ) holds
for a1, a2, a3 being set holds the Comp of B . [a1,a2,a3] tolerates the Comp of A . [a1,a2,a3]
;
end;
:: deftheorem Def1 defines have_the_same_composition YELLOW20:def 1 :
for A, B being AltCatStr holds
( A,B have_the_same_composition iff for a1, a2, a3 being set holds the Comp of A . [a1,a2,a3] tolerates the Comp of B . [a1,a2,a3] );
theorem Th10:
for
A,
B being
AltCatStr holds
(
A,
B have_the_same_composition iff for
a1,
a2,
a3,
x being
set st
x in dom ( the Comp of A . [a1,a2,a3]) &
x in dom ( the Comp of B . [a1,a2,a3]) holds
( the Comp of A . [a1,a2,a3]) . x = ( the Comp of B . [a1,a2,a3]) . x )
theorem Th11:
for
A,
B being non
empty transitive AltCatStr holds
(
A,
B have_the_same_composition iff for
a1,
a2,
a3 being
object of
A st
<^a1,a2^> <> {} &
<^a2,a3^> <> {} holds
for
b1,
b2,
b3 being
object of
B st
<^b1,b2^> <> {} &
<^b2,b3^> <> {} &
b1 = a1 &
b2 = a2 &
b3 = a3 holds
for
f1 being
Morphism of
a1,
a2 for
g1 being
Morphism of
b1,
b2 st
g1 = f1 holds
for
f2 being
Morphism of
a2,
a3 for
g2 being
Morphism of
b2,
b3 st
g2 = f2 holds
f2 * f1 = g2 * g1 )
theorem
:: deftheorem Def2 defines Intersect YELLOW20:def 2 :
for f, g, b3 being Function holds
( b3 = Intersect (f,g) iff ( dom b3 = (dom f) /\ (dom g) & ( for x being set st x in (dom f) /\ (dom g) holds
b3 . x = (f . x) /\ (g . x) ) ) );
theorem
theorem Th14:
theorem Th15:
theorem
canceled;
theorem Th17:
for
I1,
I2 being
set for
A1,
B1 being
ManySortedSet of
I1 for
A2,
B2 being
ManySortedSet of
I2 for
A,
B being
ManySortedSet of
I1 /\ I2 st
A = Intersect (
A1,
A2) &
B = Intersect (
B1,
B2) holds
for
F being
ManySortedFunction of
A1,
B1 for
G being
ManySortedFunction of
A2,
B2 st ( for
x being
set st
x in dom F &
x in dom G holds
F . x tolerates G . x ) holds
Intersect (
F,
G) is
ManySortedFunction of
A,
B
theorem Th18:
theorem Th19:
for
I,
J being
set for
F1,
F2 being
ManySortedSet of
[:I,I:] for
G1,
G2 being
ManySortedSet of
[:J,J:] ex
H1,
H2 being
ManySortedSet of
[:(I /\ J),(I /\ J):] st
(
H1 = Intersect (
F1,
G1) &
H2 = Intersect (
F2,
G2) &
Intersect (
{|F1,F2|},
{|G1,G2|})
= {|H1,H2|} )
definition
let A,
B be
AltCatStr ;
assume A1:
A,
B have_the_same_composition
;
func Intersect (
A,
B)
-> strict AltCatStr means :
Def3:
( the
carrier of
it = the
carrier of
A /\ the
carrier of
B & the
Arrows of
it = Intersect ( the
Arrows of
A, the
Arrows of
B) & the
Comp of
it = Intersect ( the
Comp of
A, the
Comp of
B) );
existence
ex b1 being strict AltCatStr st
( the carrier of b1 = the carrier of A /\ the carrier of B & the Arrows of b1 = Intersect ( the Arrows of A, the Arrows of B) & the Comp of b1 = Intersect ( the Comp of A, the Comp of B) )
uniqueness
for b1, b2 being strict AltCatStr st the carrier of b1 = the carrier of A /\ the carrier of B & the Arrows of b1 = Intersect ( the Arrows of A, the Arrows of B) & the Comp of b1 = Intersect ( the Comp of A, the Comp of B) & the carrier of b2 = the carrier of A /\ the carrier of B & the Arrows of b2 = Intersect ( the Arrows of A, the Arrows of B) & the Comp of b2 = Intersect ( the Comp of A, the Comp of B) holds
b1 = b2
;
end;
:: deftheorem Def3 defines Intersect YELLOW20:def 3 :
for A, B being AltCatStr st A,B have_the_same_composition holds
for b3 being strict AltCatStr holds
( b3 = Intersect (A,B) iff ( the carrier of b3 = the carrier of A /\ the carrier of B & the Arrows of b3 = Intersect ( the Arrows of A, the Arrows of B) & the Comp of b3 = Intersect ( the Comp of A, the Comp of B) ) );
theorem
theorem Th21:
theorem Th22:
theorem Th23:
theorem Th24:
for
A,
B being
AltCatStr st
A,
B have_the_same_composition holds
for
a1,
a2 being
object of
A for
b1,
b2 being
object of
B for
o1,
o2 being
object of
(Intersect (A,B)) st
o1 = a1 &
o1 = b1 &
o2 = a2 &
o2 = b2 &
<^a1,a2^> <> {} &
<^b1,b2^> <> {} holds
for
f being
Morphism of
a1,
a2 for
g being
Morphism of
b1,
b2 st
f = g holds
f in <^o1,o2^>
theorem
theorem
begin
scheme
SubcategoryUniq{
F1()
-> category,
F2()
-> non
empty subcategory of
F1(),
F3()
-> non
empty subcategory of
F1(),
P1[
set ],
P2[
set ,
set ,
set ] } :
provided
A1:
for
a being
object of
F1() holds
(
a is
object of
F2() iff
P1[
a] )
and A2:
for
a,
b being
object of
F1()
for
a9,
b9 being
object of
F2() st
a9 = a &
b9 = b &
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
(
f in <^a9,b9^> iff
P2[
a,
b,
f] )
and A3:
for
a being
object of
F1() holds
(
a is
object of
F3() iff
P1[
a] )
and A4:
for
a,
b being
object of
F1()
for
a9,
b9 being
object of
F3() st
a9 = a &
b9 = b &
<^a,b^> <> {} holds
for
f being
Morphism of
a,
b holds
(
f in <^a9,b9^> iff
P2[
a,
b,
f] )
theorem Th27:
begin
theorem Th28:
theorem Th29:
theorem Th30:
theorem Th31:
theorem Th32:
theorem Th33:
theorem Th34:
theorem Th35:
theorem Th36:
theorem Th37:
begin
definition
let A,
B be
category;
let F be
FunctorStr of
A,
B;
let A9,
B9 be
category;
pred A9,
B9 are_isomorphic_under F means
(
A9 is
subcategory of
A &
B9 is
subcategory of
B & ex
G being
covariant Functor of
A9,
B9 st
(
G is
bijective & ( for
a9 being
object of
A9 for
a being
object of
A st
a9 = a holds
G . a9 = F . a ) & ( for
b9,
c9 being
object of
A9 for
b,
c being
object of
A st
<^b9,c9^> <> {} &
b9 = b &
c9 = c holds
for
f9 being
Morphism of
b9,
c9 for
f being
Morphism of
b,
c st
f9 = f holds
G . f9 = (Morph-Map (F,b,c)) . f ) ) );
pred A9,
B9 are_anti-isomorphic_under F means
(
A9 is
subcategory of
A &
B9 is
subcategory of
B & ex
G being
contravariant Functor of
A9,
B9 st
(
G is
bijective & ( for
a9 being
object of
A9 for
a being
object of
A st
a9 = a holds
G . a9 = F . a ) & ( for
b9,
c9 being
object of
A9 for
b,
c being
object of
A st
<^b9,c9^> <> {} &
b9 = b &
c9 = c holds
for
f9 being
Morphism of
b9,
c9 for
f being
Morphism of
b,
c st
f9 = f holds
G . f9 = (Morph-Map (F,b,c)) . f ) ) );
end;
:: deftheorem defines are_isomorphic_under YELLOW20:def 4 :
for A, B being category
for F being FunctorStr of A,B
for A9, B9 being category holds
( A9,B9 are_isomorphic_under F iff ( A9 is subcategory of A & B9 is subcategory of B & ex G being covariant Functor of A9,B9 st
( G is bijective & ( for a9 being object of A9
for a being object of A st a9 = a holds
G . a9 = F . a ) & ( for b9, c9 being object of A9
for b, c being object of A st <^b9,c9^> <> {} & b9 = b & c9 = c holds
for f9 being Morphism of b9,c9
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map (F,b,c)) . f ) ) ) );
:: deftheorem defines are_anti-isomorphic_under YELLOW20:def 5 :
for A, B being category
for F being FunctorStr of A,B
for A9, B9 being category holds
( A9,B9 are_anti-isomorphic_under F iff ( A9 is subcategory of A & B9 is subcategory of B & ex G being contravariant Functor of A9,B9 st
( G is bijective & ( for a9 being object of A9
for a being object of A st a9 = a holds
G . a9 = F . a ) & ( for b9, c9 being object of A9
for b, c being object of A st <^b9,c9^> <> {} & b9 = b & c9 = c holds
for f9 being Morphism of b9,c9
for f being Morphism of b,c st f9 = f holds
G . f9 = (Morph-Map (F,b,c)) . f ) ) ) );
theorem
theorem
theorem
theorem
theorem
theorem
theorem
theorem Th45:
theorem
theorem Th47:
theorem Th48:
theorem Th49:
theorem
theorem
theorem
theorem
theorem
theorem
theorem
theorem
for
A1,
A2 being non
empty category for
F being
covariant Functor of
A1,
A2 for
B1 being non
empty subcategory of
A1 for
B2 being non
empty subcategory of
A2 st
F is
bijective & ( for
a being
object of
A1 holds
(
a is
object of
B1 iff
F . a is
object of
B2 ) ) & ( for
a,
b being
object of
A1 st
<^a,b^> <> {} holds
for
a1,
b1 being
object of
B1 st
a1 = a &
b1 = b holds
for
a2,
b2 being
object of
B2 st
a2 = F . a &
b2 = F . b holds
for
f being
Morphism of
a,
b holds
(
f in <^a1,b1^> iff
F . f in <^a2,b2^> ) ) holds
B1,
B2 are_isomorphic_under F
theorem
for
A1,
A2 being non
empty category for
F being
contravariant Functor of
A1,
A2 for
B1 being non
empty subcategory of
A1 for
B2 being non
empty subcategory of
A2 st
F is
bijective & ( for
a being
object of
A1 holds
(
a is
object of
B1 iff
F . a is
object of
B2 ) ) & ( for
a,
b being
object of
A1 st
<^a,b^> <> {} holds
for
a1,
b1 being
object of
B1 st
a1 = a &
b1 = b holds
for
a2,
b2 being
object of
B2 st
a2 = F . a &
b2 = F . b holds
for
f being
Morphism of
a,
b holds
(
f in <^a1,b1^> iff
F . f in <^b2,a2^> ) ) holds
B1,
B2 are_anti-isomorphic_under F