:: FUNCTOR0 semantic presentation :: Showing IDV graph ... (Click the Palm Trees again to close it)
scheme :: FUNCTOR0:sch 1
ValOnPair{
F1()
-> non
empty set ,
F2()
-> Function,
F3()
-> Element of
F1(),
F4()
-> Element of
F1(),
F5(
set ,
set )
-> set ,
P1[
set ,
set ] } :
F2()
. F3(),
F4()
= F5(
F3(),
F4())
provided
A1:
F2()
= { [[o,o'],F5(o,o')] where o, o' is Element of F1() : P1[o,o'] }
and A2:
P1[
F3(),
F4()]
theorem Th1: :: FUNCTOR0:1 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: FUNCTOR0:2 :: Showing IDV graph ... (Click the Palm Tree again to close it)
canceled;
theorem Th3: :: FUNCTOR0:3 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th4: :: FUNCTOR0:4 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th5: :: FUNCTOR0:5 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th6: :: FUNCTOR0:6 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th7: :: FUNCTOR0:7 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th8: :: FUNCTOR0:8 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th9: :: FUNCTOR0:9 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th10: :: FUNCTOR0:10 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th11: :: FUNCTOR0:11 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th12: :: FUNCTOR0:12 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th13: :: FUNCTOR0:13 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th14: :: FUNCTOR0:14 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th15: :: FUNCTOR0:15 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem FUNCTOR0:def 1 :
canceled;
:: deftheorem Def2 defines Covariant FUNCTOR0:def 2 :
:: deftheorem Def3 defines Contravariant FUNCTOR0:def 3 :
theorem Th16: :: FUNCTOR0:16 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem :: FUNCTOR0:17 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def4 defines MSUnTrans FUNCTOR0:def 4 :
:: deftheorem Def5 defines MSUnTrans FUNCTOR0:def 5 :
theorem Th18: :: FUNCTOR0:18 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let I1 be
set ;
let I2 be non
empty set ;
let f be
Function of
I1,
I2;
let A be
ManySortedSet of
[:I1,I1:];
let B be
ManySortedSet of
[:I2,I2:];
let F be
MSUnTrans of
[:f,f:],
A,
B;
:: original: ~redefine func ~ F -> MSUnTrans of
[:f,f:],
~ A,
~ B;
coherence
~ F is MSUnTrans of [:f,f:], ~ A, ~ B
end;
theorem Th19: :: FUNCTOR0:19 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th20: :: FUNCTOR0:20 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines . FUNCTOR0:def 6 :
:: deftheorem Def7 defines one-to-one FUNCTOR0:def 7 :
:: deftheorem Def8 defines onto FUNCTOR0:def 8 :
:: deftheorem Def9 defines reflexive FUNCTOR0:def 9 :
:: deftheorem Def10 defines coreflexive FUNCTOR0:def 10 :
:: deftheorem Def11 defines reflexive FUNCTOR0:def 11 :
theorem Th21: :: FUNCTOR0:21 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def12 defines feasible FUNCTOR0:def 12 :
:: deftheorem Def13 defines Covariant FUNCTOR0:def 13 :
:: deftheorem Def14 defines Contravariant FUNCTOR0:def 14 :
:: deftheorem defines Morph-Map FUNCTOR0:def 15 :
definition
let C1,
C2 be non
empty AltGraph ;
let F be
Covariant FunctorStr of
C1,
C2;
let o1,
o2 be
object of
C1;
:: original: Morph-Mapredefine func Morph-Map F,
o1,
o2 -> Function of
<^o1,o2^>,
<^(F . o1),(F . o2)^>;
coherence
Morph-Map F,o1,o2 is Function of <^o1,o2^>,<^(F . o1),(F . o2)^>
end;
definition
let C1,
C2 be non
empty AltGraph ;
let F be
Covariant FunctorStr of
C1,
C2;
let o1,
o2 be
object of
C1;
assume A1:
(
<^o1,o2^> <> {} &
<^(F . o1),(F . o2)^> <> {} )
;
let m be
Morphism of
o1,
o2;
func F . m -> Morphism of
(F . o1),
(F . o2) equals :
Def16:
:: FUNCTOR0:def 16
(Morph-Map F,o1,o2) . m;
coherence
(Morph-Map F,o1,o2) . m is Morphism of (F . o1),(F . o2)
end;
:: deftheorem Def16 defines . FUNCTOR0:def 16 :
definition
let C1,
C2 be non
empty AltGraph ;
let F be
Contravariant FunctorStr of
C1,
C2;
let o1,
o2 be
object of
C1;
:: original: Morph-Mapredefine func Morph-Map F,
o1,
o2 -> Function of
<^o1,o2^>,
<^(F . o2),(F . o1)^>;
coherence
Morph-Map F,o1,o2 is Function of <^o1,o2^>,<^(F . o2),(F . o1)^>
end;
definition
let C1,
C2 be non
empty AltGraph ;
let F be
Contravariant FunctorStr of
C1,
C2;
let o1,
o2 be
object of
C1;
assume A1:
(
<^o1,o2^> <> {} &
<^(F . o2),(F . o1)^> <> {} )
;
let m be
Morphism of
o1,
o2;
func F . m -> Morphism of
(F . o2),
(F . o1) equals :
Def17:
:: FUNCTOR0:def 17
(Morph-Map F,o1,o2) . m;
coherence
(Morph-Map F,o1,o2) . m is Morphism of (F . o2),(F . o1)
end;
:: deftheorem Def17 defines . FUNCTOR0:def 17 :
definition
let C1,
C2 be non
empty AltGraph ;
let o be
object of
C2;
assume A1:
<^o,o^> <> {}
;
let m be
Morphism of
o,
o;
func C1 --> m -> strict FunctorStr of
C1,
C2 means :
Def18:
:: FUNCTOR0:def 18
( the
ObjectMap of
it = [:the carrier of C1,the carrier of C1:] --> [o,o] & the
MorphMap of
it = { [[o1,o2],(<^o1,o2^> --> m)] where o1, o2 is object of C1 : verum } );
existence
ex b1 being strict FunctorStr of C1,C2 st
( the ObjectMap of b1 = [:the carrier of C1,the carrier of C1:] --> [o,o] & the MorphMap of b1 = { [[o1,o2],(<^o1,o2^> --> m)] where o1, o2 is object of C1 : verum } )
uniqueness
for b1, b2 being strict FunctorStr of C1,C2 st the ObjectMap of b1 = [:the carrier of C1,the carrier of C1:] --> [o,o] & the MorphMap of b1 = { [[o1,o2],(<^o1,o2^> --> m)] where o1, o2 is object of C1 : verum } & the ObjectMap of b2 = [:the carrier of C1,the carrier of C1:] --> [o,o] & the MorphMap of b2 = { [[o1,o2],(<^o1,o2^> --> m)] where o1, o2 is object of C1 : verum } holds
b1 = b2
;
end;
:: deftheorem Def18 defines --> FUNCTOR0:def 18 :
for
C1,
C2 being non
empty AltGraph for
o being
object of
C2 st
<^o,o^> <> {} holds
for
m being
Morphism of
o,
o for
b5 being
strict FunctorStr of
C1,
C2 holds
(
b5 = C1 --> m iff ( the
ObjectMap of
b5 = [:the carrier of C1,the carrier of C1:] --> [o,o] & the
MorphMap of
b5 = { [[o1,o2],(<^o1,o2^> --> m)] where o1, o2 is object of C1 : verum } ) );
theorem Th22: :: FUNCTOR0:22 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th23: :: FUNCTOR0:23 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def19 defines feasible FUNCTOR0:def 19 :
theorem Th24: :: FUNCTOR0:24 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def20 defines feasible FUNCTOR0:def 20 :
:: deftheorem Def21 defines id-preserving FUNCTOR0:def 21 :
theorem Th25: :: FUNCTOR0:25 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let C1,
C2 be non
empty AltCatStr ;
let F be
FunctorStr of
C1,
C2;
attr F is
comp-preserving means :
Def22:
:: FUNCTOR0:def 22
for
o1,
o2,
o3 being
object of
C1 st
<^o1,o2^> <> {} &
<^o2,o3^> <> {} holds
for
f being
Morphism of
o1,
o2 for
g being
Morphism of
o2,
o3 ex
f' being
Morphism of
(F . o1),
(F . o2) ex
g' being
Morphism of
(F . o2),
(F . o3) st
(
f' = (Morph-Map F,o1,o2) . f &
g' = (Morph-Map F,o2,o3) . g &
(Morph-Map F,o1,o3) . (g * f) = g' * f' );
end;
:: deftheorem Def22 defines comp-preserving FUNCTOR0:def 22 :
for
C1,
C2 being non
empty AltCatStr for
F being
FunctorStr of
C1,
C2 holds
(
F is
comp-preserving iff for
o1,
o2,
o3 being
object of
C1 st
<^o1,o2^> <> {} &
<^o2,o3^> <> {} holds
for
f being
Morphism of
o1,
o2 for
g being
Morphism of
o2,
o3 ex
f' being
Morphism of
(F . o1),
(F . o2) ex
g' being
Morphism of
(F . o2),
(F . o3) st
(
f' = (Morph-Map F,o1,o2) . f &
g' = (Morph-Map F,o2,o3) . g &
(Morph-Map F,o1,o3) . (g * f) = g' * f' ) );
definition
let C1,
C2 be non
empty AltCatStr ;
let F be
FunctorStr of
C1,
C2;
attr F is
comp-reversing means :
Def23:
:: FUNCTOR0:def 23
for
o1,
o2,
o3 being
object of
C1 st
<^o1,o2^> <> {} &
<^o2,o3^> <> {} holds
for
f being
Morphism of
o1,
o2 for
g being
Morphism of
o2,
o3 ex
f' being
Morphism of
(F . o2),
(F . o1) ex
g' being
Morphism of
(F . o3),
(F . o2) st
(
f' = (Morph-Map F,o1,o2) . f &
g' = (Morph-Map F,o2,o3) . g &
(Morph-Map F,o1,o3) . (g * f) = f' * g' );
end;
:: deftheorem Def23 defines comp-reversing FUNCTOR0:def 23 :
for
C1,
C2 being non
empty AltCatStr for
F being
FunctorStr of
C1,
C2 holds
(
F is
comp-reversing iff for
o1,
o2,
o3 being
object of
C1 st
<^o1,o2^> <> {} &
<^o2,o3^> <> {} holds
for
f being
Morphism of
o1,
o2 for
g being
Morphism of
o2,
o3 ex
f' being
Morphism of
(F . o2),
(F . o1) ex
g' being
Morphism of
(F . o3),
(F . o2) st
(
f' = (Morph-Map F,o1,o2) . f &
g' = (Morph-Map F,o2,o3) . g &
(Morph-Map F,o1,o3) . (g * f) = f' * g' ) );
definition
let C1 be non
empty transitive AltCatStr ;
let C2 be non
empty reflexive AltCatStr ;
let F be
feasible Covariant FunctorStr of
C1,
C2;
redefine attr F is
comp-preserving means :: FUNCTOR0:def 24
for
o1,
o2,
o3 being
object of
C1 st
<^o1,o2^> <> {} &
<^o2,o3^> <> {} holds
for
f being
Morphism of
o1,
o2 for
g being
Morphism of
o2,
o3 holds
F . (g * f) = (F . g) * (F . f);
compatibility
( F is comp-preserving iff for o1, o2, o3 being object of C1 st <^o1,o2^> <> {} & <^o2,o3^> <> {} holds
for f being Morphism of o1,o2
for g being Morphism of o2,o3 holds F . (g * f) = (F . g) * (F . f) )
end;
:: deftheorem defines comp-preserving FUNCTOR0:def 24 :
definition
let C1 be non
empty transitive AltCatStr ;
let C2 be non
empty reflexive AltCatStr ;
let F be
feasible Contravariant FunctorStr of
C1,
C2;
redefine attr F is
comp-reversing means :: FUNCTOR0:def 25
for
o1,
o2,
o3 being
object of
C1 st
<^o1,o2^> <> {} &
<^o2,o3^> <> {} holds
for
f being
Morphism of
o1,
o2 for
g being
Morphism of
o2,
o3 holds
F . (g * f) = (F . f) * (F . g);
compatibility
( F is comp-reversing iff for o1, o2, o3 being object of C1 st <^o1,o2^> <> {} & <^o2,o3^> <> {} holds
for f being Morphism of o1,o2
for g being Morphism of o2,o3 holds F . (g * f) = (F . f) * (F . g) )
end;
:: deftheorem defines comp-reversing FUNCTOR0:def 25 :
theorem Th26: :: FUNCTOR0:26 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th27: :: FUNCTOR0:27 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def26 defines Functor FUNCTOR0:def 26 :
:: deftheorem Def27 defines covariant FUNCTOR0:def 27 :
:: deftheorem Def28 defines contravariant FUNCTOR0:def 28 :
:: deftheorem Def29 defines incl FUNCTOR0:def 29 :
:: deftheorem Def30 defines id FUNCTOR0:def 30 :
theorem Th28: :: FUNCTOR0:28 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th29: :: FUNCTOR0:29 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def31 defines faithful FUNCTOR0:def 31 :
:: deftheorem Def32 defines full FUNCTOR0:def 32 :
:: deftheorem Def33 defines full FUNCTOR0:def 33 :
:: deftheorem Def34 defines injective FUNCTOR0:def 34 :
:: deftheorem Def35 defines surjective FUNCTOR0:def 35 :
:: deftheorem Def36 defines bijective FUNCTOR0:def 36 :
theorem Th30: :: FUNCTOR0:30 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th31: :: FUNCTOR0:31 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th32: :: FUNCTOR0:32 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem Def37 defines * FUNCTOR0:def 37 :
theorem :: FUNCTOR0:33 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th34: :: FUNCTOR0:34 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th35: :: FUNCTOR0:35 :: Showing IDV graph ... (Click the Palm Tree again to close it)
:: deftheorem defines | FUNCTOR0:def 38 :
definition
let A,
B be non
empty AltGraph ;
let F be
FunctorStr of
A,
B;
assume A1:
F is
bijective
;
func F " -> strict FunctorStr of
B,
A means :
Def39:
:: FUNCTOR0:def 39
( the
ObjectMap of
it = the
ObjectMap of
F " & ex
f being
ManySortedFunction of the
Arrows of
A,the
Arrows of
B * the
ObjectMap of
F st
(
f = the
MorphMap of
F & the
MorphMap of
it = (f "" ) * (the ObjectMap of F " ) ) );
existence
ex b1 being strict FunctorStr of B,A st
( the ObjectMap of b1 = the ObjectMap of F " & ex f being ManySortedFunction of the Arrows of A,the Arrows of B * the ObjectMap of F st
( f = the MorphMap of F & the MorphMap of b1 = (f "" ) * (the ObjectMap of F " ) ) )
uniqueness
for b1, b2 being strict FunctorStr of B,A st the ObjectMap of b1 = the ObjectMap of F " & ex f being ManySortedFunction of the Arrows of A,the Arrows of B * the ObjectMap of F st
( f = the MorphMap of F & the MorphMap of b1 = (f "" ) * (the ObjectMap of F " ) ) & the ObjectMap of b2 = the ObjectMap of F " & ex f being ManySortedFunction of the Arrows of A,the Arrows of B * the ObjectMap of F st
( f = the MorphMap of F & the MorphMap of b2 = (f "" ) * (the ObjectMap of F " ) ) holds
b1 = b2
;
end;
:: deftheorem Def39 defines " FUNCTOR0:def 39 :
theorem Th36: :: FUNCTOR0:36 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th37: :: FUNCTOR0:37 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th38: :: FUNCTOR0:38 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th39: :: FUNCTOR0:39 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th40: :: FUNCTOR0:40 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th41: :: FUNCTOR0:41 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th42: :: FUNCTOR0:42 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th43: :: FUNCTOR0:43 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th44: :: FUNCTOR0:44 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th45: :: FUNCTOR0:45 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th46: :: FUNCTOR0:46 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th47: :: FUNCTOR0:47 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th48: :: FUNCTOR0:48 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th49: :: FUNCTOR0:49 :: Showing IDV graph ... (Click the Palm Tree again to close it)
theorem Th50: :: FUNCTOR0:50 :: Showing IDV graph ... (Click the Palm Tree again to close it)
definition
let A,
B be non
empty transitive with_units AltCatStr ;
pred A,
B are_isomorphic means :: FUNCTOR0:def 40
ex
F being
Functor of
A,
B st
(
F is
bijective &
F is
covariant );
reflexivity
for A being non empty transitive with_units AltCatStr ex F being Functor of A,A st
( F is bijective & F is covariant )
symmetry
for A, B being non empty transitive with_units AltCatStr st ex F being Functor of A,B st
( F is bijective & F is covariant ) holds
ex F being Functor of B,A st
( F is bijective & F is covariant )
pred A,
B are_anti-isomorphic means :: FUNCTOR0:def 41
ex
F being
Functor of
A,
B st
(
F is
bijective &
F is
contravariant );
symmetry
for A, B being non empty transitive with_units AltCatStr st ex F being Functor of A,B st
( F is bijective & F is contravariant ) holds
ex F being Functor of B,A st
( F is bijective & F is contravariant )
end;
:: deftheorem defines are_isomorphic FUNCTOR0:def 40 :
:: deftheorem defines are_anti-isomorphic FUNCTOR0:def 41 :