:: CAT_1 semantic presentation
begin
definition
attrc1 is strict ;
struct CatStr -> MultiGraphStruct ;
aggrCatStr(# carrier, carrier', Source, Target, Comp #) -> CatStr ;
sel Comp c1 -> PartFunc of [: the carrier' of c1, the carrier' of c1:], the carrier' of c1;
end;
definition
let C be CatStr ;
mode Object of C is Element of C;
mode Morphism of C is Element of the carrier' of C;
end;
registration
cluster non empty non void for CatStr ;
existence
ex b1 being CatStr st
( not b1 is void & not b1 is empty )
proof
take CatStr(# {0},{1},(1 :-> 0),(1 :-> 0),((1,1) :-> 1) #) ; ::_thesis: ( not CatStr(# {0},{1},(1 :-> 0),(1 :-> 0),((1,1) :-> 1) #) is void & not CatStr(# {0},{1},(1 :-> 0),(1 :-> 0),((1,1) :-> 1) #) is empty )
thus ( not CatStr(# {0},{1},(1 :-> 0),(1 :-> 0),((1,1) :-> 1) #) is void & not CatStr(# {0},{1},(1 :-> 0),(1 :-> 0),((1,1) :-> 1) #) is empty ) ; ::_thesis: verum
end;
end;
definition
let C be CatStr ;
let f, g be Morphism of C;
assume A1: [g,f] in dom the Comp of C ;
funcg (*) f -> Morphism of C equals :Def1: :: CAT_1:def 1
the Comp of C . (g,f);
coherence
the Comp of C . (g,f) is Morphism of C by A1, PARTFUN1:4;
end;
:: deftheorem Def1 defines (*) CAT_1:def_1_:_
for C being CatStr
for f, g being Morphism of C st [g,f] in dom the Comp of C holds
g (*) f = the Comp of C . (g,f);
definition
canceled;
canceled;
let C be non empty non void CatStr ;
let a, b be Object of C;
func Hom (a,b) -> Subset of the carrier' of C equals :: CAT_1:def 4
{ f where f is Morphism of C : ( dom f = a & cod f = b ) } ;
correctness
coherence
{ f where f is Morphism of C : ( dom f = a & cod f = b ) } is Subset of the carrier' of C;
proof
set M = { f where f is Morphism of C : ( dom f = a & cod f = b ) } ;
{ f where f is Morphism of C : ( dom f = a & cod f = b ) } c= the carrier' of C
proof
let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { f where f is Morphism of C : ( dom f = a & cod f = b ) } or x in the carrier' of C )
assume x in { f where f is Morphism of C : ( dom f = a & cod f = b ) } ; ::_thesis: x in the carrier' of C
then ex f being Morphism of C st
( x = f & dom f = a & cod f = b ) ;
hence x in the carrier' of C ; ::_thesis: verum
end;
hence { f where f is Morphism of C : ( dom f = a & cod f = b ) } is Subset of the carrier' of C ; ::_thesis: verum
end;
end;
:: deftheorem CAT_1:def_2_:_
canceled;
:: deftheorem CAT_1:def_3_:_
canceled;
:: deftheorem defines Hom CAT_1:def_4_:_
for C being non empty non void CatStr
for a, b being Object of C holds Hom (a,b) = { f where f is Morphism of C : ( dom f = a & cod f = b ) } ;
theorem Th1: :: CAT_1:1
for C being non empty non void CatStr
for f being Morphism of C
for a, b being Object of C holds
( f in Hom (a,b) iff ( dom f = a & cod f = b ) )
proof
let C be non empty non void CatStr ; ::_thesis: for f being Morphism of C
for a, b being Object of C holds
( f in Hom (a,b) iff ( dom f = a & cod f = b ) )
let f be Morphism of C; ::_thesis: for a, b being Object of C holds
( f in Hom (a,b) iff ( dom f = a & cod f = b ) )
let a, b be Object of C; ::_thesis: ( f in Hom (a,b) iff ( dom f = a & cod f = b ) )
thus ( f in Hom (a,b) implies ( dom f = a & cod f = b ) ) ::_thesis: ( dom f = a & cod f = b implies f in Hom (a,b) )
proof
assume f in Hom (a,b) ; ::_thesis: ( dom f = a & cod f = b )
then ex g being Morphism of C st
( f = g & dom g = a & cod g = b ) ;
hence ( dom f = a & cod f = b ) ; ::_thesis: verum
end;
thus ( dom f = a & cod f = b implies f in Hom (a,b) ) ; ::_thesis: verum
end;
theorem :: CAT_1:2
for C being non empty non void CatStr
for f being Morphism of C holds Hom ((dom f),(cod f)) <> {} by Th1;
definition
let C be non empty non void CatStr ;
let a, b be Object of C;
assume A1: Hom (a,b) <> {} ;
mode Morphism of a,b -> Morphism of C means :Def4: :: CAT_1:def 5
it in Hom (a,b);
existence
ex b1 being Morphism of C st b1 in Hom (a,b) by A1, SUBSET_1:4;
end;
:: deftheorem Def4 defines Morphism CAT_1:def_5_:_
for C being non empty non void CatStr
for a, b being Object of C st Hom (a,b) <> {} holds
for b4 being Morphism of C holds
( b4 is Morphism of a,b iff b4 in Hom (a,b) );
theorem :: CAT_1:3
canceled;
theorem Th4: :: CAT_1:4
for C being non empty non void CatStr
for f being Morphism of C holds f is Morphism of dom f, cod f
proof
let C be non empty non void CatStr ; ::_thesis: for f being Morphism of C holds f is Morphism of dom f, cod f
let f be Morphism of C; ::_thesis: f is Morphism of dom f, cod f
f in Hom ((dom f),(cod f)) ;
hence f is Morphism of dom f, cod f by Def4; ::_thesis: verum
end;
theorem Th5: :: CAT_1:5
for C being non empty non void CatStr
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
( dom f = a & cod f = b )
proof
let C be non empty non void CatStr ; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
( dom f = a & cod f = b )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} holds
( dom f = a & cod f = b )
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} implies ( dom f = a & cod f = b ) )
assume Hom (a,b) <> {} ; ::_thesis: ( dom f = a & cod f = b )
then f in Hom (a,b) by Def4;
hence ( dom f = a & cod f = b ) by Th1; ::_thesis: verum
end;
theorem :: CAT_1:6
for C being non empty non void CatStr
for a, b, c, d being Object of C
for f being Morphism of a,b
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (c,d) <> {} & f = h holds
( a = c & b = d )
proof
let C be non empty non void CatStr ; ::_thesis: for a, b, c, d being Object of C
for f being Morphism of a,b
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (c,d) <> {} & f = h holds
( a = c & b = d )
let a, b, c, d be Object of C; ::_thesis: for f being Morphism of a,b
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (c,d) <> {} & f = h holds
( a = c & b = d )
let f be Morphism of a,b; ::_thesis: for h being Morphism of c,d st Hom (a,b) <> {} & Hom (c,d) <> {} & f = h holds
( a = c & b = d )
let h be Morphism of c,d; ::_thesis: ( Hom (a,b) <> {} & Hom (c,d) <> {} & f = h implies ( a = c & b = d ) )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (c,d) <> {} ; ::_thesis: ( not f = h or ( a = c & b = d ) )
( dom f = a & cod f = b ) by A1, Th5;
hence ( not f = h or ( a = c & b = d ) ) by A2, Th5; ::_thesis: verum
end;
theorem Th7: :: CAT_1:7
for C being non empty non void CatStr
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) = {f} holds
for g being Morphism of a,b holds f = g
proof
let C be non empty non void CatStr ; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) = {f} holds
for g being Morphism of a,b holds f = g
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) = {f} holds
for g being Morphism of a,b holds f = g
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) = {f} implies for g being Morphism of a,b holds f = g )
assume A1: Hom (a,b) = {f} ; ::_thesis: for g being Morphism of a,b holds f = g
let g be Morphism of a,b; ::_thesis: f = g
g in {f} by A1, Def4;
hence f = g by TARSKI:def_1; ::_thesis: verum
end;
theorem Th8: :: CAT_1:8
for C being non empty non void CatStr
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} & ( for g being Morphism of a,b holds f = g ) holds
Hom (a,b) = {f}
proof
let C be non empty non void CatStr ; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} & ( for g being Morphism of a,b holds f = g ) holds
Hom (a,b) = {f}
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} & ( for g being Morphism of a,b holds f = g ) holds
Hom (a,b) = {f}
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} & ( for g being Morphism of a,b holds f = g ) implies Hom (a,b) = {f} )
assume that
A1: Hom (a,b) <> {} and
A2: for g being Morphism of a,b holds f = g ; ::_thesis: Hom (a,b) = {f}
for x being set holds
( x in Hom (a,b) iff x = f )
proof
let x be set ; ::_thesis: ( x in Hom (a,b) iff x = f )
thus ( x in Hom (a,b) implies x = f ) ::_thesis: ( x = f implies x in Hom (a,b) )
proof
assume x in Hom (a,b) ; ::_thesis: x = f
then consider g being Morphism of C such that
A3: x = g and
A4: ( dom g = a & cod g = b ) ;
g is Morphism of a,b by A4, Th4;
hence x = f by A2, A3; ::_thesis: verum
end;
thus ( x = f implies x in Hom (a,b) ) by A1, Def4; ::_thesis: verum
end;
hence Hom (a,b) = {f} by TARSKI:def_1; ::_thesis: verum
end;
theorem :: CAT_1:9
for C being non empty non void CatStr
for a, b, c, d being Object of C
for f being Morphism of a,b st Hom (a,b), Hom (c,d) are_equipotent & Hom (a,b) = {f} holds
ex h being Morphism of c,d st Hom (c,d) = {h}
proof
let C be non empty non void CatStr ; ::_thesis: for a, b, c, d being Object of C
for f being Morphism of a,b st Hom (a,b), Hom (c,d) are_equipotent & Hom (a,b) = {f} holds
ex h being Morphism of c,d st Hom (c,d) = {h}
let a, b, c, d be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b), Hom (c,d) are_equipotent & Hom (a,b) = {f} holds
ex h being Morphism of c,d st Hom (c,d) = {h}
let f be Morphism of a,b; ::_thesis: ( Hom (a,b), Hom (c,d) are_equipotent & Hom (a,b) = {f} implies ex h being Morphism of c,d st Hom (c,d) = {h} )
assume Hom (a,b), Hom (c,d) are_equipotent ; ::_thesis: ( not Hom (a,b) = {f} or ex h being Morphism of c,d st Hom (c,d) = {h} )
then consider F being Function such that
F is one-to-one and
A1: ( dom F = Hom (a,b) & rng F = Hom (c,d) ) by WELLORD2:def_4;
assume Hom (a,b) = {f} ; ::_thesis: ex h being Morphism of c,d st Hom (c,d) = {h}
then A2: Hom (c,d) = {(F . f)} by A1, FUNCT_1:4;
then F . f in Hom (c,d) by TARSKI:def_1;
then F . f is Morphism of c,d by Def4;
hence ex h being Morphism of c,d st Hom (c,d) = {h} by A2; ::_thesis: verum
end;
definition
let C be non empty non void CatStr ;
attrC is Category-like means :Def5a: :: CAT_1:def 6
for f, g being Morphism of C holds
( [g,f] in dom the Comp of C iff dom g = cod f );
attrC is transitive means :Def5b: :: CAT_1:def 7
for f, g being Morphism of C st dom g = cod f holds
( dom (g (*) f) = dom f & cod (g (*) f) = cod g );
attrC is associative means :Def5c: :: CAT_1:def 8
for f, g, h being Morphism of C st dom h = cod g & dom g = cod f holds
h (*) (g (*) f) = (h (*) g) (*) f;
attrC is reflexive means :Def5d: :: CAT_1:def 9
for b being Element of C holds Hom (b,b) <> {} ;
attrC is with_identities means :Def5e: :: CAT_1:def 10
for a being Element of C ex i being Morphism of a,a st
for b being Element of C holds
( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) );
end;
:: deftheorem Def5a defines Category-like CAT_1:def_6_:_
for C being non empty non void CatStr holds
( C is Category-like iff for f, g being Morphism of C holds
( [g,f] in dom the Comp of C iff dom g = cod f ) );
:: deftheorem Def5b defines transitive CAT_1:def_7_:_
for C being non empty non void CatStr holds
( C is transitive iff for f, g being Morphism of C st dom g = cod f holds
( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) );
:: deftheorem Def5c defines associative CAT_1:def_8_:_
for C being non empty non void CatStr holds
( C is associative iff for f, g, h being Morphism of C st dom h = cod g & dom g = cod f holds
h (*) (g (*) f) = (h (*) g) (*) f );
:: deftheorem Def5d defines reflexive CAT_1:def_9_:_
for C being non empty non void CatStr holds
( C is reflexive iff for b being Element of C holds Hom (b,b) <> {} );
:: deftheorem Def5e defines with_identities CAT_1:def_10_:_
for C being non empty non void CatStr holds
( C is with_identities iff for a being Element of C ex i being Morphism of a,a st
for b being Element of C holds
( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) ) );
definition
let o, m be set ;
func 1Cat (o,m) -> strict CatStr equals :: CAT_1:def 11
CatStr(# {o},{m},(m :-> o),(m :-> o),((m,m) :-> m) #);
correctness
coherence
CatStr(# {o},{m},(m :-> o),(m :-> o),((m,m) :-> m) #) is strict CatStr ;
;
end;
:: deftheorem defines 1Cat CAT_1:def_11_:_
for o, m being set holds 1Cat (o,m) = CatStr(# {o},{m},(m :-> o),(m :-> o),((m,m) :-> m) #);
registration
let o, m be set ;
cluster 1Cat (o,m) -> non empty trivial non void trivial' strict ;
coherence
( not 1Cat (o,m) is empty & 1Cat (o,m) is trivial & not 1Cat (o,m) is void & 1Cat (o,m) is trivial' ) ;
end;
registration
cluster non empty trivial non void -> non empty non void transitive reflexive for CatStr ;
coherence
for b1 being non empty non void CatStr st not b1 is empty & b1 is trivial holds
( b1 is transitive & b1 is reflexive )
proof
let C be non empty non void CatStr ; ::_thesis: ( not C is empty & C is trivial implies ( C is transitive & C is reflexive ) )
assume Z: ( not C is empty & C is trivial ) ; ::_thesis: ( C is transitive & C is reflexive )
thus for f, g being Morphism of C st dom g = cod f holds
( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) by Z, ZFMISC_1:def_10; :: according to CAT_1:def_7 ::_thesis: C is reflexive
let b be Element of C; :: according to CAT_1:def_9 ::_thesis: Hom (b,b) <> {}
set i = the Morphism of C;
( cod the Morphism of C = b & dom the Morphism of C = b ) by Z, ZFMISC_1:def_10;
hence Hom (b,b) <> {} by Th1; ::_thesis: verum
end;
end;
registration
cluster non empty non void trivial' -> non empty non void associative with_identities for CatStr ;
coherence
for b1 being non empty non void CatStr st not b1 is void & b1 is trivial' holds
( b1 is associative & b1 is with_identities )
proof
let C be non empty non void CatStr ; ::_thesis: ( not C is void & C is trivial' implies ( C is associative & C is with_identities ) )
assume Z: ( not C is void & C is trivial' ) ; ::_thesis: ( C is associative & C is with_identities )
thus for f, g, h being Morphism of C st dom h = cod g & dom g = cod f holds
h (*) (g (*) f) = (h (*) g) (*) f by Z, ZFMISC_1:def_10; :: according to CAT_1:def_8 ::_thesis: C is with_identities
let a be Element of C; :: according to CAT_1:def_10 ::_thesis: ex i being Morphism of a,a st
for b being Element of C holds
( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) )
take i = the Morphism of a,a; ::_thesis: for b being Element of C holds
( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) )
let b be Element of C; ::_thesis: ( ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) )
thus ( Hom (a,b) <> {} implies for g being Morphism of a,b holds g (*) i = g ) by Z, ZFMISC_1:def_10; ::_thesis: ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f )
thus ( Hom (b,a) <> {} implies for f being Morphism of b,a holds i (*) f = f ) by Z, ZFMISC_1:def_10; ::_thesis: verum
end;
end;
registration
let o, m be set ;
cluster 1Cat (o,m) -> strict Category-like ;
coherence
1Cat (o,m) is Category-like
proof
let f, g be Morphism of (1Cat (o,m)); :: according to CAT_1:def_6 ::_thesis: ( [g,f] in dom the Comp of (1Cat (o,m)) iff dom g = cod f )
thus ( [g,f] in dom the Comp of (1Cat (o,m)) implies dom g = cod f ) by ZFMISC_1:def_10; ::_thesis: ( dom g = cod f implies [g,f] in dom the Comp of (1Cat (o,m)) )
assume dom g = cod f ; ::_thesis: [g,f] in dom the Comp of (1Cat (o,m))
A2: dom the Comp of (1Cat (o,m)) = {[m,m]} by FUNCOP_1:13;
( f = m & g = m ) by TARSKI:def_1;
hence [g,f] in dom the Comp of (1Cat (o,m)) by A2, TARSKI:def_1; ::_thesis: verum
end;
end;
registration
cluster non empty non void V59() strict Category-like transitive associative reflexive with_identities for CatStr ;
existence
ex b1 being non empty non void CatStr st
( b1 is reflexive & b1 is transitive & b1 is associative & b1 is with_identities & b1 is Category-like & not b1 is void & not b1 is empty & b1 is strict )
proof
take 1Cat (0,0) ; ::_thesis: ( 1Cat (0,0) is reflexive & 1Cat (0,0) is transitive & 1Cat (0,0) is associative & 1Cat (0,0) is with_identities & 1Cat (0,0) is Category-like & not 1Cat (0,0) is void & not 1Cat (0,0) is empty & 1Cat (0,0) is strict )
thus ( 1Cat (0,0) is reflexive & 1Cat (0,0) is transitive & 1Cat (0,0) is associative & 1Cat (0,0) is with_identities & 1Cat (0,0) is Category-like & not 1Cat (0,0) is void & not 1Cat (0,0) is empty & 1Cat (0,0) is strict ) ; ::_thesis: verum
end;
end;
definition
mode Category is non empty non void Category-like transitive associative reflexive with_identities CatStr ;
end;
registration
let C be non empty non void reflexive CatStr ;
let a be Object of C;
cluster Hom (a,a) -> non empty ;
coherence
not Hom (a,a) is empty by Def5d;
end;
definition
let C be non empty non void reflexive with_identities CatStr ;
let a be Object of C;
func id a -> Morphism of a,a means :Defid: :: CAT_1:def 12
for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) it = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds it (*) f = f ) );
existence
ex b1 being Morphism of a,a st
for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) b1 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds b1 (*) f = f ) ) by Def5e;
uniqueness
for b1, b2 being Morphism of a,a st ( for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) b1 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds b1 (*) f = f ) ) ) & ( for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) b2 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds b2 (*) f = f ) ) ) holds
b1 = b2
proof
let m1, m2 be Morphism of a,a; ::_thesis: ( ( for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) m1 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds m1 (*) f = f ) ) ) & ( for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) m2 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds m2 (*) f = f ) ) ) implies m1 = m2 )
assume that
Z1: for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) m1 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds m1 (*) f = f ) ) and
Z2: for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) m2 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds m2 (*) f = f ) ) ; ::_thesis: m1 = m2
A: Hom (a,a) <> {} ;
hence m1 = m1 (*) m2 by Z2
.= m2 by A, Z1 ;
::_thesis: verum
end;
end;
:: deftheorem Defid defines id CAT_1:def_12_:_
for C being non empty non void reflexive with_identities CatStr
for a being Object of C
for b3 being Morphism of a,a holds
( b3 = id a iff for b being Object of C holds
( ( Hom (a,b) <> {} implies for f being Morphism of a,b holds f (*) b3 = f ) & ( Hom (b,a) <> {} implies for f being Morphism of b,a holds b3 (*) f = f ) ) );
theorem :: CAT_1:10
canceled;
theorem Th11: :: CAT_1:11
for o, m being set
for a, b being Object of (1Cat (o,m))
for f being Morphism of (1Cat (o,m)) holds f in Hom (a,b)
proof
let o, m be set ; ::_thesis: for a, b being Object of (1Cat (o,m))
for f being Morphism of (1Cat (o,m)) holds f in Hom (a,b)
let a, b be Object of (1Cat (o,m)); ::_thesis: for f being Morphism of (1Cat (o,m)) holds f in Hom (a,b)
let f be Morphism of (1Cat (o,m)); ::_thesis: f in Hom (a,b)
dom f = o by TARSKI:def_1;
then ( dom f = a & cod f = b ) by TARSKI:def_1;
hence f in Hom (a,b) ; ::_thesis: verum
end;
theorem :: CAT_1:12
for o, m being set
for a, b being Object of (1Cat (o,m))
for f being Morphism of (1Cat (o,m)) holds f is Morphism of a,b
proof
let o, m be set ; ::_thesis: for a, b being Object of (1Cat (o,m))
for f being Morphism of (1Cat (o,m)) holds f is Morphism of a,b
let a, b be Object of (1Cat (o,m)); ::_thesis: for f being Morphism of (1Cat (o,m)) holds f is Morphism of a,b
let f be Morphism of (1Cat (o,m)); ::_thesis: f is Morphism of a,b
f in Hom (a,b) by Th11;
hence f is Morphism of a,b by Def4; ::_thesis: verum
end;
theorem :: CAT_1:13
for o, m being set
for a, b being Object of (1Cat (o,m)) holds Hom (a,b) <> {} by Th11;
theorem :: CAT_1:14
for o, m being set
for a, b, c, d being Object of (1Cat (o,m))
for f being Morphism of a,b
for g being Morphism of c,d holds f = g
proof
let o, m be set ; ::_thesis: for a, b, c, d being Object of (1Cat (o,m))
for f being Morphism of a,b
for g being Morphism of c,d holds f = g
let a, b, c, d be Object of (1Cat (o,m)); ::_thesis: for f being Morphism of a,b
for g being Morphism of c,d holds f = g
let f be Morphism of a,b; ::_thesis: for g being Morphism of c,d holds f = g
let g be Morphism of c,d; ::_thesis: f = g
f = m by TARSKI:def_1;
hence f = g by TARSKI:def_1; ::_thesis: verum
end;
theorem :: CAT_1:15
for C being Category
for g, f being Morphism of C holds
( dom g = cod f iff [g,f] in dom the Comp of C ) by Def5a;
theorem Th16: :: CAT_1:16
for C being Category
for g, f being Morphism of C st dom g = cod f holds
g (*) f = the Comp of C . (g,f)
proof
let C be Category; ::_thesis: for g, f being Morphism of C st dom g = cod f holds
g (*) f = the Comp of C . (g,f)
let g, f be Morphism of C; ::_thesis: ( dom g = cod f implies g (*) f = the Comp of C . (g,f) )
assume dom g = cod f ; ::_thesis: g (*) f = the Comp of C . (g,f)
then [g,f] in dom the Comp of C by Def5a;
hence g (*) f = the Comp of C . (g,f) by Def1; ::_thesis: verum
end;
theorem :: CAT_1:17
for C being Category
for f, g being Morphism of C st dom g = cod f holds
( dom (g (*) f) = dom f & cod (g (*) f) = cod g ) by Def5b;
theorem :: CAT_1:18
for C being Category
for f, g, h being Morphism of C st dom h = cod g & dom g = cod f holds
h (*) (g (*) f) = (h (*) g) (*) f by Def5c;
theorem :: CAT_1:19
canceled;
theorem :: CAT_1:20
canceled;
theorem :: CAT_1:21
for C being Category
for b being Object of C
for f being Morphism of C st cod f = b holds
(id b) (*) f = f
proof
let C be Category; ::_thesis: for b being Object of C
for f being Morphism of C st cod f = b holds
(id b) (*) f = f
let b be Object of C; ::_thesis: for f being Morphism of C st cod f = b holds
(id b) (*) f = f
let f be Morphism of C; ::_thesis: ( cod f = b implies (id b) (*) f = f )
assume Z: cod f = b ; ::_thesis: (id b) (*) f = f
then reconsider ff = f as Morphism of dom f,b by Th4;
Hom ((dom f),b) <> {} by Z, Th1;
then (id b) (*) ff = ff by Defid;
hence (id b) (*) f = f ; ::_thesis: verum
end;
theorem :: CAT_1:22
for C being Category
for b being Object of C
for g being Morphism of C st dom g = b holds
g (*) (id b) = g
proof
let C be Category; ::_thesis: for b being Object of C
for g being Morphism of C st dom g = b holds
g (*) (id b) = g
let b be Object of C; ::_thesis: for g being Morphism of C st dom g = b holds
g (*) (id b) = g
let f be Morphism of C; ::_thesis: ( dom f = b implies f (*) (id b) = f )
assume Z: dom f = b ; ::_thesis: f (*) (id b) = f
then reconsider ff = f as Morphism of b, cod f by Th4;
Hom (b,(cod f)) <> {} by Z, Th1;
then ff (*) (id b) = ff by Defid;
hence f (*) (id b) = f ; ::_thesis: verum
end;
theorem Th23: :: CAT_1:23
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g (*) f in Hom (a,c)
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g (*) f in Hom (a,c)
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g (*) f in Hom (a,c)
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g (*) f in Hom (a,c)
let g be Morphism of b,c; ::_thesis: ( Hom (a,b) <> {} & Hom (b,c) <> {} implies g (*) f in Hom (a,c) )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,c) <> {} ; ::_thesis: g (*) f in Hom (a,c)
A3: f in Hom (a,b) by A1, Def4;
then A4: cod f = b by Th1;
A5: g in Hom (b,c) by A2, Def4;
then A6: dom g = b by Th1;
cod g = c by A5, Th1;
then A7: cod (g (*) f) = c by A6, A4, Def5b;
dom f = a by A3, Th1;
then dom (g (*) f) = a by A6, A4, Def5b;
hence g (*) f in Hom (a,c) by A7; ::_thesis: verum
end;
definition
let C be Category;
let a, b, c be Object of C;
let f be Morphism of a,b;
let g be Morphism of b,c;
assume A1: ( Hom (a,b) <> {} & Hom (b,c) <> {} ) ;
funcg * f -> Morphism of a,c equals :Def10: :: CAT_1:def 13
g (*) f;
correctness
coherence
g (*) f is Morphism of a,c;
proof
g (*) f in Hom (a,c) by A1, Th23;
hence g (*) f is Morphism of a,c by Def4; ::_thesis: verum
end;
end;
:: deftheorem Def10 defines * CAT_1:def_13_:_
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} holds
g * f = g (*) f;
theorem :: CAT_1:24
for C being Category
for a, b, c being Object of C st Hom (a,b) <> {} & Hom (b,c) <> {} holds
Hom (a,c) <> {} by Th23;
theorem Th25: :: CAT_1:25
for C being Category
for a, b, c, d being Object of C
for f being Morphism of a,b
for g being Morphism of b,c
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (b,c) <> {} & Hom (c,d) <> {} holds
(h * g) * f = h * (g * f)
proof
let C be Category; ::_thesis: for a, b, c, d being Object of C
for f being Morphism of a,b
for g being Morphism of b,c
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (b,c) <> {} & Hom (c,d) <> {} holds
(h * g) * f = h * (g * f)
let a, b, c, d be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (b,c) <> {} & Hom (c,d) <> {} holds
(h * g) * f = h * (g * f)
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c
for h being Morphism of c,d st Hom (a,b) <> {} & Hom (b,c) <> {} & Hom (c,d) <> {} holds
(h * g) * f = h * (g * f)
let g be Morphism of b,c; ::_thesis: for h being Morphism of c,d st Hom (a,b) <> {} & Hom (b,c) <> {} & Hom (c,d) <> {} holds
(h * g) * f = h * (g * f)
let h be Morphism of c,d; ::_thesis: ( Hom (a,b) <> {} & Hom (b,c) <> {} & Hom (c,d) <> {} implies (h * g) * f = h * (g * f) )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,c) <> {} and
A3: Hom (c,d) <> {} ; ::_thesis: (h * g) * f = h * (g * f)
A4: Hom (a,c) <> {} by A1, A2, Th23;
h in Hom (c,d) by A3, Def4;
then A5: dom h = c by Th1;
g in Hom (b,c) by A2, Def4;
then A6: ( cod g = c & dom g = b ) by Th1;
reconsider hh = h as Morphism of C ;
reconsider gg = g as Morphism of C ;
reconsider ff = f as Morphism of C ;
f in Hom (a,b) by A1, Def4;
then A7: cod f = b by Th1;
Hom (b,d) <> {} by A2, A3, Th23;
hence (h * g) * f = (h * g) (*) ff by A1, Def10
.= (hh (*) gg) (*) ff by A2, A3, Def10
.= hh (*) (gg (*) ff) by A5, A6, A7, Def5c
.= hh (*) (g * f) by A1, A2, Def10
.= h * (g * f) by A3, A4, Def10 ;
::_thesis: verum
end;
theorem :: CAT_1:26
canceled;
theorem :: CAT_1:27
for C being Category
for a being Object of C holds id a in Hom (a,a) by Def4;
theorem Th28: :: CAT_1:28
for C being Category
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
(id b) * f = f
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
(id b) * f = f
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} holds
(id b) * f = f
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} implies (id b) * f = f )
assume A1: Hom (a,b) <> {} ; ::_thesis: (id b) * f = f
A2: (id b) (*) f = f by A1, Defid;
Hom (b,b) <> {} ;
hence (id b) * f = f by A1, A2, Def10; ::_thesis: verum
end;
theorem Th29: :: CAT_1:29
for C being Category
for b, c being Object of C
for g being Morphism of b,c st Hom (b,c) <> {} holds
g * (id b) = g
proof
let C be Category; ::_thesis: for b, c being Object of C
for g being Morphism of b,c st Hom (b,c) <> {} holds
g * (id b) = g
let b, c be Object of C; ::_thesis: for g being Morphism of b,c st Hom (b,c) <> {} holds
g * (id b) = g
let g be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} implies g * (id b) = g )
assume A1: Hom (b,c) <> {} ; ::_thesis: g * (id b) = g
A2: g (*) (id b) = g by A1, Defid;
Hom (b,b) <> {} ;
hence g * (id b) = g by A1, A2, Def10; ::_thesis: verum
end;
registration
let C be Category;
let a be Object of C;
let f be Morphism of a,a;
X: Hom (a,a) <> {} ;
reducef * (id a) to f;
reducibility
f * (id a) = f by X, Th29;
reduce(id a) * f to f;
reducibility
(id a) * f = f by X, Th28;
end;
theorem :: CAT_1:30
for C being Category
for a being Object of C holds (id a) * (id a) = id a ;
definition
let C be Category;
let b, c be Object of C;
let g be Morphism of b,c;
attrg is monic means :Defm: :: CAT_1:def 14
( Hom (b,c) <> {} & ( for a being Object of C st Hom (a,b) <> {} holds
for f1, f2 being Morphism of a,b st g * f1 = g * f2 holds
f1 = f2 ) );
end;
:: deftheorem Defm defines monic CAT_1:def_14_:_
for C being Category
for b, c being Object of C
for g being Morphism of b,c holds
( g is monic iff ( Hom (b,c) <> {} & ( for a being Object of C st Hom (a,b) <> {} holds
for f1, f2 being Morphism of a,b st g * f1 = g * f2 holds
f1 = f2 ) ) );
definition
let C be Category;
let a, b be Object of C;
let f be Morphism of a,b;
attrf is epi means :Defe: :: CAT_1:def 15
( Hom (a,b) <> {} & ( for c being Object of C st Hom (b,c) <> {} holds
for g1, g2 being Morphism of b,c st g1 * f = g2 * f holds
g1 = g2 ) );
end;
:: deftheorem Defe defines epi CAT_1:def_15_:_
for C being Category
for a, b being Object of C
for f being Morphism of a,b holds
( f is epi iff ( Hom (a,b) <> {} & ( for c being Object of C st Hom (b,c) <> {} holds
for g1, g2 being Morphism of b,c st g1 * f = g2 * f holds
g1 = g2 ) ) );
definition
let C be Category;
let a, b be Object of C;
let f be Morphism of a,b;
attrf is invertible means :Dfi: :: CAT_1:def 16
( Hom (a,b) <> {} & Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) );
end;
:: deftheorem Dfi defines invertible CAT_1:def_16_:_
for C being Category
for a, b being Object of C
for f being Morphism of a,b holds
( f is invertible iff ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) );
theorem Th31: :: CAT_1:31
for C being Category
for b, c being Object of C
for g being Morphism of b,c st Hom (b,c) <> {} holds
( g is monic iff for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 )
proof
let C be Category; ::_thesis: for b, c being Object of C
for g being Morphism of b,c st Hom (b,c) <> {} holds
( g is monic iff for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 )
let b, c be Object of C; ::_thesis: for g being Morphism of b,c st Hom (b,c) <> {} holds
( g is monic iff for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 )
let g be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} implies ( g is monic iff for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 ) )
assume A1: Hom (b,c) <> {} ; ::_thesis: ( g is monic iff for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 )
thus ( g is monic implies for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 ) by Defm; ::_thesis: ( ( for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 ) implies g is monic )
assume A7: for a being Object of C
for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2 ; ::_thesis: g is monic
thus Hom (b,c) <> {} by A1; :: according to CAT_1:def_14 ::_thesis: for a being Object of C st Hom (a,b) <> {} holds
for f1, f2 being Morphism of a,b st g * f1 = g * f2 holds
f1 = f2
thus for a being Object of C st Hom (a,b) <> {} holds
for f1, f2 being Morphism of a,b st g * f1 = g * f2 holds
f1 = f2 by A7; ::_thesis: verum
end;
theorem :: CAT_1:32
for C being Category
for b, c, d being Object of C
for g being Morphism of b,c
for h being Morphism of c,d st g is monic & h is monic holds
h * g is monic
proof
let C be Category; ::_thesis: for b, c, d being Object of C
for g being Morphism of b,c
for h being Morphism of c,d st g is monic & h is monic holds
h * g is monic
let b, c, d be Object of C; ::_thesis: for g being Morphism of b,c
for h being Morphism of c,d st g is monic & h is monic holds
h * g is monic
let g be Morphism of b,c; ::_thesis: for h being Morphism of c,d st g is monic & h is monic holds
h * g is monic
let h be Morphism of c,d; ::_thesis: ( g is monic & h is monic implies h * g is monic )
assume that
A3: g is monic and
A4: h is monic ; ::_thesis: h * g is monic
A1: Hom (b,c) <> {} by A3, Defm;
A2: Hom (c,d) <> {} by A4, Defm;
A5: now__::_thesis:_for_a_being_Object_of_C
for_f1,_f2_being_Morphism_of_a,b_st_Hom_(a,b)_<>_{}_&_(h_*_g)_*_f1_=_(h_*_g)_*_f2_holds_
f1_=_f2
let a be Object of C; ::_thesis: for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & (h * g) * f1 = (h * g) * f2 holds
f1 = f2
let f1, f2 be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} & (h * g) * f1 = (h * g) * f2 implies f1 = f2 )
assume that
A6: Hom (a,b) <> {} and
A7: (h * g) * f1 = (h * g) * f2 ; ::_thesis: f1 = f2
A8: Hom (a,c) <> {} by A1, A6, Th23;
( h * (g * f1) = (h * g) * f1 & (h * g) * f2 = h * (g * f2) ) by A1, A2, A6, Th25;
then g * f1 = g * f2 by Defm, A4, A7, A8;
hence f1 = f2 by Defm, A3, A6; ::_thesis: verum
end;
Hom (b,d) <> {} by A1, A2, Th23;
hence h * g is monic by A5, Th31; ::_thesis: verum
end;
theorem :: CAT_1:33
for C being Category
for b, c, d being Object of C
for g being Morphism of b,c
for h being Morphism of c,d st Hom (b,c) <> {} & Hom (c,d) <> {} & h * g is monic holds
g is monic
proof
let C be Category; ::_thesis: for b, c, d being Object of C
for g being Morphism of b,c
for h being Morphism of c,d st Hom (b,c) <> {} & Hom (c,d) <> {} & h * g is monic holds
g is monic
let b, c, d be Object of C; ::_thesis: for g being Morphism of b,c
for h being Morphism of c,d st Hom (b,c) <> {} & Hom (c,d) <> {} & h * g is monic holds
g is monic
let g be Morphism of b,c; ::_thesis: for h being Morphism of c,d st Hom (b,c) <> {} & Hom (c,d) <> {} & h * g is monic holds
g is monic
let h be Morphism of c,d; ::_thesis: ( Hom (b,c) <> {} & Hom (c,d) <> {} & h * g is monic implies g is monic )
assume that
A1: Hom (b,c) <> {} and
A2: Hom (c,d) <> {} and
A3: h * g is monic ; ::_thesis: g is monic
now__::_thesis:_for_a_being_Object_of_C
for_f1,_f2_being_Morphism_of_a,b_st_Hom_(a,b)_<>_{}_&_g_*_f1_=_g_*_f2_holds_
f1_=_f2
let a be Object of C; ::_thesis: for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & g * f1 = g * f2 holds
f1 = f2
let f1, f2 be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} & g * f1 = g * f2 implies f1 = f2 )
A4: Hom (b,d) <> {} by A1, A2, Th23;
assume A5: Hom (a,b) <> {} ; ::_thesis: ( g * f1 = g * f2 implies f1 = f2 )
then ( h * (g * f1) = (h * g) * f1 & h * (g * f2) = (h * g) * f2 ) by A1, A2, Th25;
hence ( g * f1 = g * f2 implies f1 = f2 ) by A3, A5, A4, Th31; ::_thesis: verum
end;
hence g is monic by A1, Th31; ::_thesis: verum
end;
theorem :: CAT_1:34
for C being Category
for a, b being Object of C
for h being Morphism of a,b
for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
g is monic
proof
let C be Category; ::_thesis: for a, b being Object of C
for h being Morphism of a,b
for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
g is monic
let a, b be Object of C; ::_thesis: for h being Morphism of a,b
for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
g is monic
let h be Morphism of a,b; ::_thesis: for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
g is monic
let g be Morphism of b,a; ::_thesis: ( Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b implies g is monic )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,a) <> {} and
A3: h * g = id b ; ::_thesis: g is monic
now__::_thesis:_for_c_being_Object_of_C
for_g1,_g2_being_Morphism_of_c,b_st_Hom_(c,b)_<>_{}_&_g_*_g1_=_g_*_g2_holds_
g1_=_g2
let c be Object of C; ::_thesis: for g1, g2 being Morphism of c,b st Hom (c,b) <> {} & g * g1 = g * g2 holds
g1 = g2
let g1, g2 be Morphism of c,b; ::_thesis: ( Hom (c,b) <> {} & g * g1 = g * g2 implies g1 = g2 )
assume that
A4: Hom (c,b) <> {} and
A5: g * g1 = g * g2 ; ::_thesis: g1 = g2
thus g1 = (h * g) * g1 by A3, A4, Th28
.= h * (g * g2) by A1, A2, A4, A5, Th25
.= (h * g) * g2 by A1, A2, A4, Th25
.= g2 by A3, A4, Th28 ; ::_thesis: verum
end;
hence g is monic by A2, Th31; ::_thesis: verum
end;
theorem :: CAT_1:35
for C being Category
for b being Object of C holds id b is monic
proof
let C be Category; ::_thesis: for b being Object of C holds id b is monic
let b be Object of C; ::_thesis: id b is monic
A1: now__::_thesis:_for_a_being_Object_of_C
for_f1,_f2_being_Morphism_of_a,b_st_Hom_(a,b)_<>_{}_&_(id_b)_*_f1_=_(id_b)_*_f2_holds_
f1_=_f2
let a be Object of C; ::_thesis: for f1, f2 being Morphism of a,b st Hom (a,b) <> {} & (id b) * f1 = (id b) * f2 holds
f1 = f2
let f1, f2 be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} & (id b) * f1 = (id b) * f2 implies f1 = f2 )
assume A2: Hom (a,b) <> {} ; ::_thesis: ( (id b) * f1 = (id b) * f2 implies f1 = f2 )
then (id b) * f1 = f1 by Th28;
hence ( (id b) * f1 = (id b) * f2 implies f1 = f2 ) by A2, Th28; ::_thesis: verum
end;
Hom (b,b) <> {} ;
hence id b is monic by A1, Th31; ::_thesis: verum
end;
theorem Th36: :: CAT_1:36
for C being Category
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
( f is epi iff for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 )
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
( f is epi iff for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} holds
( f is epi iff for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 )
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} implies ( f is epi iff for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 ) )
assume A1: Hom (a,b) <> {} ; ::_thesis: ( f is epi iff for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 )
thus ( f is epi implies for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 ) ::_thesis: ( ( for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 ) implies f is epi )
proof
assume that
Hom (a,b) <> {} and
A2: for c being Object of C st Hom (b,c) <> {} holds
for g1, g2 being Morphism of b,c st g1 * f = g2 * f holds
g1 = g2 ; :: according to CAT_1:def_15 ::_thesis: for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2
let c be Object of C; ::_thesis: for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2
let g1, g2 be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} & g1 * f = g2 * f implies g1 = g2 )
thus ( Hom (b,c) <> {} & g1 * f = g2 * f implies g1 = g2 ) by A2; ::_thesis: verum
end;
assume A7: for c being Object of C
for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * f = g2 * f holds
g1 = g2 ; ::_thesis: f is epi
thus Hom (a,b) <> {} by A1; :: according to CAT_1:def_15 ::_thesis: for c being Object of C st Hom (b,c) <> {} holds
for g1, g2 being Morphism of b,c st g1 * f = g2 * f holds
g1 = g2
thus for c being Object of C st Hom (b,c) <> {} holds
for g1, g2 being Morphism of b,c st g1 * f = g2 * f holds
g1 = g2 by A7; ::_thesis: verum
end;
theorem :: CAT_1:37
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is epi & g is epi holds
g * f is epi
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is epi & g is epi holds
g * f is epi
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st f is epi & g is epi holds
g * f is epi
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st f is epi & g is epi holds
g * f is epi
let g be Morphism of b,c; ::_thesis: ( f is epi & g is epi implies g * f is epi )
assume that
A3: f is epi and
A4: g is epi ; ::_thesis: g * f is epi
A1: Hom (a,b) <> {} by A3, Defe;
A2: Hom (b,c) <> {} by A4, Defe;
A5: now__::_thesis:_for_d_being_Object_of_C
for_h1,_h2_being_Morphism_of_c,d_st_Hom_(c,d)_<>_{}_&_h1_*_(g_*_f)_=_h2_*_(g_*_f)_holds_
h1_=_h2
let d be Object of C; ::_thesis: for h1, h2 being Morphism of c,d st Hom (c,d) <> {} & h1 * (g * f) = h2 * (g * f) holds
h1 = h2
let h1, h2 be Morphism of c,d; ::_thesis: ( Hom (c,d) <> {} & h1 * (g * f) = h2 * (g * f) implies h1 = h2 )
assume that
A6: Hom (c,d) <> {} and
A7: h1 * (g * f) = h2 * (g * f) ; ::_thesis: h1 = h2
A8: Hom (b,d) <> {} by A2, A6, Th23;
( h1 * (g * f) = (h1 * g) * f & (h2 * g) * f = h2 * (g * f) ) by A1, A2, A6, Th25;
then h1 * g = h2 * g by Defe, A3, A7, A8;
hence h1 = h2 by Defe, A4, A6; ::_thesis: verum
end;
Hom (a,c) <> {} by A1, A2, Th23;
hence g * f is epi by A5, Th36; ::_thesis: verum
end;
theorem :: CAT_1:38
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} & g * f is epi holds
g is epi
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} & g * f is epi holds
g is epi
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} & g * f is epi holds
g is epi
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,c) <> {} & g * f is epi holds
g is epi
let g be Morphism of b,c; ::_thesis: ( Hom (a,b) <> {} & Hom (b,c) <> {} & g * f is epi implies g is epi )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,c) <> {} and
A3: g * f is epi ; ::_thesis: g is epi
now__::_thesis:_for_d_being_Object_of_C
for_h1,_h2_being_Morphism_of_c,d_st_Hom_(c,d)_<>_{}_&_h1_*_g_=_h2_*_g_holds_
h1_=_h2
let d be Object of C; ::_thesis: for h1, h2 being Morphism of c,d st Hom (c,d) <> {} & h1 * g = h2 * g holds
h1 = h2
let h1, h2 be Morphism of c,d; ::_thesis: ( Hom (c,d) <> {} & h1 * g = h2 * g implies h1 = h2 )
A4: Hom (a,c) <> {} by A1, A2, Th23;
assume A5: Hom (c,d) <> {} ; ::_thesis: ( h1 * g = h2 * g implies h1 = h2 )
then ( h1 * (g * f) = (h1 * g) * f & h2 * (g * f) = (h2 * g) * f ) by A1, A2, Th25;
hence ( h1 * g = h2 * g implies h1 = h2 ) by A3, A5, A4, Th36; ::_thesis: verum
end;
hence g is epi by A2, Th36; ::_thesis: verum
end;
theorem :: CAT_1:39
for C being Category
for a, b being Object of C
for h being Morphism of a,b
for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
h is epi
proof
let C be Category; ::_thesis: for a, b being Object of C
for h being Morphism of a,b
for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
h is epi
let a, b be Object of C; ::_thesis: for h being Morphism of a,b
for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
h is epi
let h be Morphism of a,b; ::_thesis: for g being Morphism of b,a st Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b holds
h is epi
let g be Morphism of b,a; ::_thesis: ( Hom (a,b) <> {} & Hom (b,a) <> {} & h * g = id b implies h is epi )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,a) <> {} and
A3: h * g = id b ; ::_thesis: h is epi
now__::_thesis:_for_c_being_Object_of_C
for_h1,_h2_being_Morphism_of_b,c_st_Hom_(b,c)_<>_{}_&_h1_*_h_=_h2_*_h_holds_
h1_=_h2
let c be Object of C; ::_thesis: for h1, h2 being Morphism of b,c st Hom (b,c) <> {} & h1 * h = h2 * h holds
h1 = h2
let h1, h2 be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} & h1 * h = h2 * h implies h1 = h2 )
assume that
A4: Hom (b,c) <> {} and
A5: h1 * h = h2 * h ; ::_thesis: h1 = h2
thus h1 = h1 * (h * g) by A3, A4, Th29
.= (h2 * h) * g by A1, A2, A4, A5, Th25
.= h2 * (h * g) by A1, A2, A4, Th25
.= h2 by A3, A4, Th29 ; ::_thesis: verum
end;
hence h is epi by A1, Th36; ::_thesis: verum
end;
theorem :: CAT_1:40
for C being Category
for b being Object of C holds id b is epi
proof
let C be Category; ::_thesis: for b being Object of C holds id b is epi
let b be Object of C; ::_thesis: id b is epi
A1: now__::_thesis:_for_c_being_Object_of_C
for_g1,_g2_being_Morphism_of_b,c_st_Hom_(b,c)_<>_{}_&_g1_*_(id_b)_=_g2_*_(id_b)_holds_
g1_=_g2
let c be Object of C; ::_thesis: for g1, g2 being Morphism of b,c st Hom (b,c) <> {} & g1 * (id b) = g2 * (id b) holds
g1 = g2
let g1, g2 be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} & g1 * (id b) = g2 * (id b) implies g1 = g2 )
assume A2: Hom (b,c) <> {} ; ::_thesis: ( g1 * (id b) = g2 * (id b) implies g1 = g2 )
then g1 * (id b) = g1 by Th29;
hence ( g1 * (id b) = g2 * (id b) implies g1 = g2 ) by A2, Th29; ::_thesis: verum
end;
Hom (b,b) <> {} ;
hence id b is epi by A1, Th36; ::_thesis: verum
end;
theorem Th41: :: CAT_1:41
for C being Category
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
( f is invertible iff ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) )
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} holds
( f is invertible iff ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} holds
( f is invertible iff ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) )
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} implies ( f is invertible iff ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) ) )
assume A1: Hom (a,b) <> {} ; ::_thesis: ( f is invertible iff ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) )
thus ( f is invertible implies ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) ) ::_thesis: ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) implies f is invertible )
proof
assume A2: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_1:def_16 ::_thesis: ( for g being Morphism of b,a holds
( not f * g = id b or not g * f = id a ) or ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ) )
given g being Morphism of b,a such that A3: ( f * g = id b & g * f = id a ) ; ::_thesis: ( Hom (b,a) <> {} & ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) )
thus Hom (b,a) <> {} by A2; ::_thesis: ex g being Morphism of b,a st
( f * g = id b & g * f = id a )
take g ; ::_thesis: ( f * g = id b & g * f = id a )
thus ( f * g = id b & g * f = id a ) by A3; ::_thesis: verum
end;
assume A6: Hom (b,a) <> {} ; ::_thesis: ( for g being Morphism of b,a holds
( not f * g = id b or not g * f = id a ) or f is invertible )
given g being Morphism of b,a such that A7: ( f * g = id b & g * f = id a ) ; ::_thesis: f is invertible
thus ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A1, A6; :: according to CAT_1:def_16 ::_thesis: ex g being Morphism of b,a st
( f * g = id b & g * f = id a )
take g ; ::_thesis: ( f * g = id b & g * f = id a )
thus ( f * g = id b & g * f = id a ) by A7; ::_thesis: verum
end;
theorem Th42: :: CAT_1:42
for C being Category
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} & Hom (b,a) <> {} holds
for g1, g2 being Morphism of b,a st f * g1 = id b & g2 * f = id a holds
g1 = g2
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} & Hom (b,a) <> {} holds
for g1, g2 being Morphism of b,a st f * g1 = id b & g2 * f = id a holds
g1 = g2
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} & Hom (b,a) <> {} holds
for g1, g2 being Morphism of b,a st f * g1 = id b & g2 * f = id a holds
g1 = g2
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} & Hom (b,a) <> {} implies for g1, g2 being Morphism of b,a st f * g1 = id b & g2 * f = id a holds
g1 = g2 )
assume that
A1: Hom (a,b) <> {} and
A2: Hom (b,a) <> {} ; ::_thesis: for g1, g2 being Morphism of b,a st f * g1 = id b & g2 * f = id a holds
g1 = g2
let g1, g2 be Morphism of b,a; ::_thesis: ( f * g1 = id b & g2 * f = id a implies g1 = g2 )
assume A3: f * g1 = id b ; ::_thesis: ( not g2 * f = id a or g1 = g2 )
assume g2 * f = id a ; ::_thesis: g1 = g2
hence g1 = (g2 * f) * g1 by A2, Th28
.= g2 * (id b) by A1, A2, A3, Th25
.= g2 by A2, Th29 ;
::_thesis: verum
end;
definition
let C be Category;
let a, b be Object of C;
let f be Morphism of a,b;
assume A2: f is invertible ;
A1: Hom (a,b) <> {} by A2, Dfi;
funcf " -> Morphism of b,a means :Def11: :: CAT_1:def 17
( f * it = id b & it * f = id a );
existence
ex b1 being Morphism of b,a st
( f * b1 = id b & b1 * f = id a ) by Dfi, A2;
uniqueness
for b1, b2 being Morphism of b,a st f * b1 = id b & b1 * f = id a & f * b2 = id b & b2 * f = id a holds
b1 = b2
proof
Hom (b,a) <> {} by Dfi, A2;
hence for b1, b2 being Morphism of b,a st f * b1 = id b & b1 * f = id a & f * b2 = id b & b2 * f = id a holds
b1 = b2 by A1, Th42; ::_thesis: verum
end;
end;
:: deftheorem Def11 defines " CAT_1:def_17_:_
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is invertible holds
for b5 being Morphism of b,a holds
( b5 = f " iff ( f * b5 = id b & b5 * f = id a ) );
theorem :: CAT_1:43
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is invertible holds
( f is monic & f is epi )
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st f is invertible holds
( f is monic & f is epi )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st f is invertible holds
( f is monic & f is epi )
let f be Morphism of a,b; ::_thesis: ( f is invertible implies ( f is monic & f is epi ) )
assume A2: f is invertible ; ::_thesis: ( f is monic & f is epi )
A1: Hom (a,b) <> {} by A2, Dfi;
consider k being Morphism of b,a such that
A3: f * k = id b and
A4: k * f = id a by Dfi, A2;
A5: Hom (b,a) <> {} by Dfi, A2;
now__::_thesis:_for_c_being_Object_of_C
for_g,_h_being_Morphism_of_c,a_st_Hom_(c,a)_<>_{}_&_f_*_g_=_f_*_h_holds_
g_=_h
let c be Object of C; ::_thesis: for g, h being Morphism of c,a st Hom (c,a) <> {} & f * g = f * h holds
g = h
let g, h be Morphism of c,a; ::_thesis: ( Hom (c,a) <> {} & f * g = f * h implies g = h )
assume that
A6: Hom (c,a) <> {} and
A7: f * g = f * h ; ::_thesis: g = h
g = (k * f) * g by A4, A6, Th28
.= k * (f * h) by A1, A5, A6, A7, Th25
.= (id a) * h by A1, A5, A4, A6, Th25 ;
hence g = h by A6, Th28; ::_thesis: verum
end;
hence f is monic by A1, Th31; ::_thesis: f is epi
now__::_thesis:_for_c_being_Object_of_C
for_g,_h_being_Morphism_of_b,c_st_Hom_(b,c)_<>_{}_&_g_*_f_=_h_*_f_holds_
g_=_h
let c be Object of C; ::_thesis: for g, h being Morphism of b,c st Hom (b,c) <> {} & g * f = h * f holds
g = h
let g, h be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} & g * f = h * f implies g = h )
assume that
A8: Hom (b,c) <> {} and
A9: g * f = h * f ; ::_thesis: g = h
g = g * (f * k) by A3, A8, Th29
.= (h * f) * k by A1, A5, A8, A9, Th25
.= h * (id b) by A1, A5, A3, A8, Th25 ;
hence g = h by A8, Th29; ::_thesis: verum
end;
hence f is epi by A1, Th36; ::_thesis: verum
end;
theorem :: CAT_1:44
for C being Category
for a being Object of C holds id a is invertible
proof
let C be Category; ::_thesis: for a being Object of C holds id a is invertible
let a be Object of C; ::_thesis: id a is invertible
( Hom (a,a) <> {} & (id a) * (id a) = id a ) ;
hence id a is invertible by Th41; ::_thesis: verum
end;
theorem Th45: :: CAT_1:45
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is invertible & g is invertible holds
g * f is invertible
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is invertible & g is invertible holds
g * f is invertible
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st f is invertible & g is invertible holds
g * f is invertible
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st f is invertible & g is invertible holds
g * f is invertible
let g be Morphism of b,c; ::_thesis: ( f is invertible & g is invertible implies g * f is invertible )
assume A3: f is invertible ; ::_thesis: ( not g is invertible or g * f is invertible )
then A4: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by Dfi;
consider f1 being Morphism of b,a such that
A5: f * f1 = id b and
A6: f1 * f = id a by Dfi, A3;
assume A7: g is invertible ; ::_thesis: g * f is invertible
then A8: ( Hom (b,c) <> {} & Hom (c,b) <> {} ) by Dfi;
consider g1 being Morphism of c,b such that
A9: g * g1 = id c and
A10: g1 * g = id b by Dfi, A7;
A11: now__::_thesis:_(_Hom_(c,a)_<>_{}_&_ex_f1g1_being_Morphism_of_c,a_st_
(_(g_*_f)_*_f1g1_=_id_c_&_f1g1_*_(g_*_f)_=_id_a_)_)
thus A12: Hom (c,a) <> {} by A4, A8, Th23; ::_thesis: ex f1g1 being Morphism of c,a st
( (g * f) * f1g1 = id c & f1g1 * (g * f) = id a )
take f1g1 = f1 * g1; ::_thesis: ( (g * f) * f1g1 = id c & f1g1 * (g * f) = id a )
thus (g * f) * f1g1 = g * (f * (f1 * g1)) by A4, A8, A12, Th25
.= g * ((id b) * g1) by A4, A5, A8, Th25
.= id c by A8, A9, Th28 ; ::_thesis: f1g1 * (g * f) = id a
Hom (a,c) <> {} by A4, A8, Th23;
hence f1g1 * (g * f) = f1 * (g1 * (g * f)) by A4, A8, Th25
.= f1 * ((id b) * f) by A4, A8, A10, Th25
.= id a by A4, A6, Th28 ;
::_thesis: verum
end;
Hom (a,c) <> {} by A4, A8, Th23;
hence g * f is invertible by A11, Th41; ::_thesis: verum
end;
theorem :: CAT_1:46
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is invertible holds
f " is invertible
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st f is invertible holds
f " is invertible
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st f is invertible holds
f " is invertible
let f be Morphism of a,b; ::_thesis: ( f is invertible implies f " is invertible )
assume A2: f is invertible ; ::_thesis: f " is invertible
then A3: f * (f ") = id b by Def11;
A1: Hom (a,b) <> {} by A2, Dfi;
( Hom (b,a) <> {} & (f ") * f = id a ) by Dfi, A2, Def11;
hence f " is invertible by A1, A3, Th41; ::_thesis: verum
end;
theorem :: CAT_1:47
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is invertible & g is invertible holds
(g * f) " = (f ") * (g ")
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is invertible & g is invertible holds
(g * f) " = (f ") * (g ")
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st f is invertible & g is invertible holds
(g * f) " = (f ") * (g ")
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st f is invertible & g is invertible holds
(g * f) " = (f ") * (g ")
let g be Morphism of b,c; ::_thesis: ( f is invertible & g is invertible implies (g * f) " = (f ") * (g ") )
assume that
A3: f is invertible and
A4: g is invertible ; ::_thesis: (g * f) " = (f ") * (g ")
A1: Hom (a,b) <> {} by A3, Dfi;
A2: Hom (b,c) <> {} by A4, Dfi;
A5: Hom (c,b) <> {} by Dfi, A4;
A6: Hom (b,a) <> {} by Dfi, A3;
then A7: Hom (c,a) <> {} by A5, Th23;
then A8: ((f ") * (g ")) * (g * f) = (((f ") * (g ")) * g) * f by A1, A2, Th25
.= ((f ") * ((g ") * g)) * f by A2, A6, A5, Th25
.= ((f ") * (id b)) * f by A4, Def11
.= (f ") * f by A6, Th29
.= id a by A3, Def11 ;
A9: ( Hom (a,c) <> {} & g * f is invertible ) by A1, A2, A3, A4, Th23, Th45;
(g * f) * ((f ") * (g ")) = g * (f * ((f ") * (g "))) by A1, A2, A7, Th25
.= g * ((f * (f ")) * (g ")) by A1, A6, A5, Th25
.= g * ((id b) * (g ")) by A3, Def11
.= g * (g ") by A5, Th28
.= id c by A4, Def11 ;
hence (g * f) " = (f ") * (g ") by A8, A9, Def11; ::_thesis: verum
end;
definition
let C be Category;
let a be Object of C;
attra is terminal means :Def12: :: CAT_1:def 18
for b being Object of C holds
( Hom (b,a) <> {} & ex f being Morphism of b,a st
for g being Morphism of b,a holds f = g );
attra is initial means :Def13: :: CAT_1:def 19
for b being Object of C holds
( Hom (a,b) <> {} & ex f being Morphism of a,b st
for g being Morphism of a,b holds f = g );
let b be Object of C;
preda,b are_isomorphic means :: CAT_1:def 20
ex f being Morphism of a,b st f is invertible ;
reflexivity
for a being Object of C ex f being Morphism of a,a st f is invertible
proof
let a be Object of C; ::_thesis: ex f being Morphism of a,a st f is invertible
A1: Hom (a,a) <> {} ;
take id a ; ::_thesis: id a is invertible
(id a) * (id a) = id a ;
hence id a is invertible by A1, Th41; ::_thesis: verum
end;
symmetry
for a, b being Object of C st ex f being Morphism of a,b st f is invertible holds
ex f being Morphism of b,a st f is invertible
proof
let a, b be Object of C; ::_thesis: ( ex f being Morphism of a,b st f is invertible implies ex f being Morphism of b,a st f is invertible )
given f being Morphism of a,b such that A2: f is invertible ; ::_thesis: ex f being Morphism of b,a st f is invertible
A3: ( Hom (b,a) <> {} & Hom (a,b) <> {} ) by A2, Dfi;
consider g being Morphism of b,a such that
A4: ( f * g = id b & g * f = id a ) by A2, Dfi;
take g ; ::_thesis: g is invertible
thus g is invertible by A3, A4, Dfi; ::_thesis: verum
end;
end;
:: deftheorem Def12 defines terminal CAT_1:def_18_:_
for C being Category
for a being Object of C holds
( a is terminal iff for b being Object of C holds
( Hom (b,a) <> {} & ex f being Morphism of b,a st
for g being Morphism of b,a holds f = g ) );
:: deftheorem Def13 defines initial CAT_1:def_19_:_
for C being Category
for a being Object of C holds
( a is initial iff for b being Object of C holds
( Hom (a,b) <> {} & ex f being Morphism of a,b st
for g being Morphism of a,b holds f = g ) );
:: deftheorem defines are_isomorphic CAT_1:def_20_:_
for C being Category
for a, b being Object of C holds
( a,b are_isomorphic iff ex f being Morphism of a,b st f is invertible );
theorem :: CAT_1:48
for C being Category
for a, b being Object of C holds
( a,b are_isomorphic iff ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) ) )
proof
let C be Category; ::_thesis: for a, b being Object of C holds
( a,b are_isomorphic iff ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) ) )
let a, b be Object of C; ::_thesis: ( a,b are_isomorphic iff ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) ) )
thus ( a,b are_isomorphic implies ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) ) ) ::_thesis: ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) implies a,b are_isomorphic )
proof
given f being Morphism of a,b such that A2: f is invertible ; :: according to CAT_1:def_20 ::_thesis: ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) )
thus ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A2, Dfi; ::_thesis: ex f being Morphism of a,b ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a )
take f ; ::_thesis: ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a )
thus ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) by A2, Dfi; ::_thesis: verum
end;
assume that
A3: Hom (a,b) <> {} and
A4: Hom (b,a) <> {} ; ::_thesis: ( for f being Morphism of a,b
for f9 being Morphism of b,a holds
( not f * f9 = id b or not f9 * f = id a ) or a,b are_isomorphic )
given f being Morphism of a,b such that A5: ex f9 being Morphism of b,a st
( f * f9 = id b & f9 * f = id a ) ; ::_thesis: a,b are_isomorphic
take f ; :: according to CAT_1:def_20 ::_thesis: f is invertible
thus f is invertible by A3, A4, A5, Th41; ::_thesis: verum
end;
theorem :: CAT_1:49
for C being Category
for a being Object of C holds
( a is initial iff for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} )
proof
let C be Category; ::_thesis: for a being Object of C holds
( a is initial iff for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} )
let a be Object of C; ::_thesis: ( a is initial iff for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} )
thus ( a is initial implies for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} ) ::_thesis: ( ( for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} ) implies a is initial )
proof
assume A1: a is initial ; ::_thesis: for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f}
let b be Object of C; ::_thesis: ex f being Morphism of a,b st Hom (a,b) = {f}
consider f being Morphism of a,b such that
A2: for g being Morphism of a,b holds f = g by A1, Def13;
take f ; ::_thesis: Hom (a,b) = {f}
thus Hom (a,b) = {f} by A2, Th8, A1, Def13; ::_thesis: verum
end;
assume A3: for b being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} ; ::_thesis: a is initial
let b be Object of C; :: according to CAT_1:def_19 ::_thesis: ( Hom (a,b) <> {} & ex f being Morphism of a,b st
for g being Morphism of a,b holds f = g )
consider f being Morphism of a,b such that
A4: Hom (a,b) = {f} by A3;
thus Hom (a,b) <> {} by A4; ::_thesis: ex f being Morphism of a,b st
for g being Morphism of a,b holds f = g
take f ; ::_thesis: for g being Morphism of a,b holds f = g
thus for g being Morphism of a,b holds f = g by A4, Th7; ::_thesis: verum
end;
theorem Th50: :: CAT_1:50
for C being Category
for a being Object of C st a is initial holds
for h being Morphism of a,a holds id a = h
proof
let C be Category; ::_thesis: for a being Object of C st a is initial holds
for h being Morphism of a,a holds id a = h
let a be Object of C; ::_thesis: ( a is initial implies for h being Morphism of a,a holds id a = h )
assume a is initial ; ::_thesis: for h being Morphism of a,a holds id a = h
then consider f being Morphism of a,a such that
A1: for g being Morphism of a,a holds f = g by Def13;
let h be Morphism of a,a; ::_thesis: id a = h
id a = f by A1;
hence id a = h by A1; ::_thesis: verum
end;
theorem :: CAT_1:51
for C being Category
for a, b being Object of C st a is initial & b is initial holds
a,b are_isomorphic
proof
let C be Category; ::_thesis: for a, b being Object of C st a is initial & b is initial holds
a,b are_isomorphic
let a, b be Object of C; ::_thesis: ( a is initial & b is initial implies a,b are_isomorphic )
assume that
A1: a is initial and
A2: b is initial ; ::_thesis: a,b are_isomorphic
set g = the Morphism of b,a;
set f = the Morphism of a,b;
A3: Hom (a,b) <> {} by A1, Def13;
take the Morphism of a,b ; :: according to CAT_1:def_20 ::_thesis: the Morphism of a,b is invertible
now__::_thesis:_(_Hom_(b,a)_<>_{}_&_ex_g_being_Morphism_of_b,a_st_
(_the_Morphism_of_a,b_*_g_=_id_b_&_g_*_the_Morphism_of_a,b_=_id_a_)_)
thus Hom (b,a) <> {} by A2, Def13; ::_thesis: ex g being Morphism of b,a st
( the Morphism of a,b * g = id b & g * the Morphism of a,b = id a )
take g = the Morphism of b,a; ::_thesis: ( the Morphism of a,b * g = id b & g * the Morphism of a,b = id a )
thus ( the Morphism of a,b * g = id b & g * the Morphism of a,b = id a ) by A1, A2, Th50; ::_thesis: verum
end;
hence the Morphism of a,b is invertible by A3, Th41; ::_thesis: verum
end;
theorem :: CAT_1:52
for C being Category
for a, b being Object of C st a is initial & a,b are_isomorphic holds
b is initial
proof
let C be Category; ::_thesis: for a, b being Object of C st a is initial & a,b are_isomorphic holds
b is initial
let a, b be Object of C; ::_thesis: ( a is initial & a,b are_isomorphic implies b is initial )
assume A1: a is initial ; ::_thesis: ( not a,b are_isomorphic or b is initial )
given f being Morphism of a,b such that A2: f is invertible ; :: according to CAT_1:def_20 ::_thesis: b is initial
A3: Hom (b,a) <> {} by A2, Dfi;
let c be Object of C; :: according to CAT_1:def_19 ::_thesis: ( Hom (b,c) <> {} & ex f being Morphism of b,c st
for g being Morphism of b,c holds f = g )
consider h being Morphism of a,c such that
A4: for g being Morphism of a,c holds h = g by A1, Def13;
Hom (a,c) <> {} by A1, Def13;
hence A5: Hom (b,c) <> {} by A3, Th23; ::_thesis: ex f being Morphism of b,c st
for g being Morphism of b,c holds f = g
consider f9 being Morphism of b,a such that
A6: f * f9 = id b and
f9 * f = id a by A2, Dfi;
A7: Hom (a,b) <> {} by A2, Dfi;
take h * f9 ; ::_thesis: for g being Morphism of b,c holds h * f9 = g
let h9 be Morphism of b,c; ::_thesis: h * f9 = h9
thus h9 = h9 * (f * f9) by A6, A5, Th29
.= (h9 * f) * f9 by A3, A5, A7, Th25
.= h * f9 by A4 ; ::_thesis: verum
end;
theorem :: CAT_1:53
for C being Category
for b being Object of C holds
( b is terminal iff for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} )
proof
let C be Category; ::_thesis: for b being Object of C holds
( b is terminal iff for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} )
let b be Object of C; ::_thesis: ( b is terminal iff for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} )
thus ( b is terminal implies for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} ) ::_thesis: ( ( for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} ) implies b is terminal )
proof
assume A1: b is terminal ; ::_thesis: for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f}
let a be Object of C; ::_thesis: ex f being Morphism of a,b st Hom (a,b) = {f}
consider f being Morphism of a,b such that
A2: for g being Morphism of a,b holds f = g by A1, Def12;
take f ; ::_thesis: Hom (a,b) = {f}
thus Hom (a,b) = {f} by A2, Th8, A1, Def12; ::_thesis: verum
end;
assume A3: for a being Object of C ex f being Morphism of a,b st Hom (a,b) = {f} ; ::_thesis: b is terminal
let a be Object of C; :: according to CAT_1:def_18 ::_thesis: ( Hom (a,b) <> {} & ex f being Morphism of a,b st
for g being Morphism of a,b holds f = g )
consider f being Morphism of a,b such that
A4: Hom (a,b) = {f} by A3;
thus Hom (a,b) <> {} by A4; ::_thesis: ex f being Morphism of a,b st
for g being Morphism of a,b holds f = g
take f ; ::_thesis: for g being Morphism of a,b holds f = g
thus for g being Morphism of a,b holds f = g by A4, Th7; ::_thesis: verum
end;
theorem Th54: :: CAT_1:54
for C being Category
for a being Object of C st a is terminal holds
for h being Morphism of a,a holds id a = h
proof
let C be Category; ::_thesis: for a being Object of C st a is terminal holds
for h being Morphism of a,a holds id a = h
let a be Object of C; ::_thesis: ( a is terminal implies for h being Morphism of a,a holds id a = h )
assume a is terminal ; ::_thesis: for h being Morphism of a,a holds id a = h
then consider f being Morphism of a,a such that
A1: for g being Morphism of a,a holds f = g by Def12;
let h be Morphism of a,a; ::_thesis: id a = h
id a = f by A1;
hence id a = h by A1; ::_thesis: verum
end;
theorem :: CAT_1:55
for C being Category
for a, b being Object of C st a is terminal & b is terminal holds
a,b are_isomorphic
proof
let C be Category; ::_thesis: for a, b being Object of C st a is terminal & b is terminal holds
a,b are_isomorphic
let a, b be Object of C; ::_thesis: ( a is terminal & b is terminal implies a,b are_isomorphic )
assume that
A1: a is terminal and
A2: b is terminal ; ::_thesis: a,b are_isomorphic
set g = the Morphism of b,a;
set f = the Morphism of a,b;
A3: Hom (a,b) <> {} by A2, Def12;
take the Morphism of a,b ; :: according to CAT_1:def_20 ::_thesis: the Morphism of a,b is invertible
now__::_thesis:_(_Hom_(b,a)_<>_{}_&_ex_g_being_Morphism_of_b,a_st_
(_the_Morphism_of_a,b_*_g_=_id_b_&_g_*_the_Morphism_of_a,b_=_id_a_)_)
thus Hom (b,a) <> {} by A1, Def12; ::_thesis: ex g being Morphism of b,a st
( the Morphism of a,b * g = id b & g * the Morphism of a,b = id a )
take g = the Morphism of b,a; ::_thesis: ( the Morphism of a,b * g = id b & g * the Morphism of a,b = id a )
thus ( the Morphism of a,b * g = id b & g * the Morphism of a,b = id a ) by A1, A2, Th54; ::_thesis: verum
end;
hence the Morphism of a,b is invertible by A3, Th41; ::_thesis: verum
end;
theorem :: CAT_1:56
for C being Category
for b, a being Object of C st b is terminal & a,b are_isomorphic holds
a is terminal
proof
let C be Category; ::_thesis: for b, a being Object of C st b is terminal & a,b are_isomorphic holds
a is terminal
let b, a be Object of C; ::_thesis: ( b is terminal & a,b are_isomorphic implies a is terminal )
assume A1: b is terminal ; ::_thesis: ( not a,b are_isomorphic or a is terminal )
given f being Morphism of a,b such that A2: f is invertible ; :: according to CAT_1:def_20 ::_thesis: a is terminal
A3: Hom (b,a) <> {} by A2, Dfi;
let c be Object of C; :: according to CAT_1:def_18 ::_thesis: ( Hom (c,a) <> {} & ex f being Morphism of c,a st
for g being Morphism of c,a holds f = g )
consider h being Morphism of c,b such that
A4: for g being Morphism of c,b holds h = g by A1, Def12;
Hom (c,b) <> {} by A1, Def12;
hence A5: Hom (c,a) <> {} by A3, Th23; ::_thesis: ex f being Morphism of c,a st
for g being Morphism of c,a holds f = g
consider f9 being Morphism of b,a such that
f * f9 = id b and
A6: f9 * f = id a by A2, Dfi;
A7: Hom (a,b) <> {} by A2, Dfi;
take f9 * h ; ::_thesis: for g being Morphism of c,a holds f9 * h = g
let h9 be Morphism of c,a; ::_thesis: f9 * h = h9
thus f9 * h = f9 * (f * h9) by A4
.= (f9 * f) * h9 by A3, A5, A7, Th25
.= h9 by A6, A5, Th28 ; ::_thesis: verum
end;
theorem :: CAT_1:57
for C being Category
for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} & a is terminal holds
f is monic
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st Hom (a,b) <> {} & a is terminal holds
f is monic
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st Hom (a,b) <> {} & a is terminal holds
f is monic
let f be Morphism of a,b; ::_thesis: ( Hom (a,b) <> {} & a is terminal implies f is monic )
assume that
A1: Hom (a,b) <> {} and
A2: a is terminal ; ::_thesis: f is monic
now__::_thesis:_for_c_being_Object_of_C
for_g,_h_being_Morphism_of_c,a_st_Hom_(c,a)_<>_{}_&_f_*_g_=_f_*_h_holds_
g_=_h
let c be Object of C; ::_thesis: for g, h being Morphism of c,a st Hom (c,a) <> {} & f * g = f * h holds
g = h
let g, h be Morphism of c,a; ::_thesis: ( Hom (c,a) <> {} & f * g = f * h implies g = h )
assume that
Hom (c,a) <> {} and
f * g = f * h ; ::_thesis: g = h
consider ff being Morphism of c,a such that
A3: for gg being Morphism of c,a holds ff = gg by A2, Def12;
ff = g by A3;
hence g = h by A3; ::_thesis: verum
end;
hence f is monic by A1, Th31; ::_thesis: verum
end;
registration
let C be Category;
let a be Object of C;
reduce dom (id a) to a;
reducibility
dom (id a) = a
proof
id a in Hom (a,a) by Def4;
hence dom (id a) = a by Th1; ::_thesis: verum
end;
reduce cod (id a) to a;
reducibility
cod (id a) = a
proof
id a in Hom (a,a) by Def4;
hence cod (id a) = a by Th1; ::_thesis: verum
end;
end;
theorem Th58: :: CAT_1:58
for C being Category
for a being Object of C holds
( dom (id a) = a & cod (id a) = a ) ;
theorem Th59: :: CAT_1:59
for C being Category
for a, b being Object of C st id a = id b holds
a = b
proof
let C be Category; ::_thesis: for a, b being Object of C st id a = id b holds
a = b
let a, b be Object of C; ::_thesis: ( id a = id b implies a = b )
assume Z: id a = id b ; ::_thesis: a = b
thus a = dom (id a)
.= b by Th58, Z ; ::_thesis: verum
end;
theorem :: CAT_1:60
for C being Category
for a, b, c being Object of C st a,b are_isomorphic & b,c are_isomorphic holds
a,c are_isomorphic
proof
let C be Category; ::_thesis: for a, b, c being Object of C st a,b are_isomorphic & b,c are_isomorphic holds
a,c are_isomorphic
let a, b, c be Object of C; ::_thesis: ( a,b are_isomorphic & b,c are_isomorphic implies a,c are_isomorphic )
given f being Morphism of a,b such that A2: f is invertible ; :: according to CAT_1:def_20 ::_thesis: ( not b,c are_isomorphic or a,c are_isomorphic )
given g being Morphism of b,c such that A4: g is invertible ; :: according to CAT_1:def_20 ::_thesis: a,c are_isomorphic
take g * f ; :: according to CAT_1:def_20 ::_thesis: g * f is invertible
thus g * f is invertible by A2, A4, Th45; ::_thesis: verum
end;
definition
let C, D be Category;
mode Functor of C,D -> Function of the carrier' of C, the carrier' of D means :Def15: :: CAT_1:def 21
( ( for c being Element of C ex d being Element of D st it . (id c) = id d ) & ( for f being Element of the carrier' of C holds
( it . (id (dom f)) = id (dom (it . f)) & it . (id (cod f)) = id (cod (it . f)) ) ) & ( for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
it . (g (*) f) = (it . g) (*) (it . f) ) );
existence
ex b1 being Function of the carrier' of C, the carrier' of D st
( ( for c being Element of C ex d being Element of D st b1 . (id c) = id d ) & ( for f being Element of the carrier' of C holds
( b1 . (id (dom f)) = id (dom (b1 . f)) & b1 . (id (cod f)) = id (cod (b1 . f)) ) ) & ( for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
b1 . (g (*) f) = (b1 . g) (*) (b1 . f) ) )
proof
set d = the Element of D;
reconsider F = the carrier' of C --> (id the Element of D) as Function of the carrier' of C, the carrier' of D ;
take F ; ::_thesis: ( ( for c being Element of C ex d being Element of D st F . (id c) = id d ) & ( for f being Element of the carrier' of C holds
( F . (id (dom f)) = id (dom (F . f)) & F . (id (cod f)) = id (cod (F . f)) ) ) & ( for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
F . (g (*) f) = (F . g) (*) (F . f) ) )
thus for c being Element of C ex d being Element of D st F . (id c) = id d by FUNCOP_1:7; ::_thesis: ( ( for f being Element of the carrier' of C holds
( F . (id (dom f)) = id (dom (F . f)) & F . (id (cod f)) = id (cod (F . f)) ) ) & ( for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
F . (g (*) f) = (F . g) (*) (F . f) ) )
A1: Hom ( the Element of D, the Element of D) <> {} ;
thus for f being Element of the carrier' of C holds
( F . (id (dom f)) = id (dom (F . f)) & F . (id (cod f)) = id (cod (F . f)) ) ::_thesis: for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
F . (g (*) f) = (F . g) (*) (F . f)
proof
let f be Element of the carrier' of C; ::_thesis: ( F . (id (dom f)) = id (dom (F . f)) & F . (id (cod f)) = id (cod (F . f)) )
A2: F . f = id the Element of D by FUNCOP_1:7;
thus F . (id (dom f)) = id the Element of D by FUNCOP_1:7
.= id (dom (F . f)) by A2, Th58 ; ::_thesis: F . (id (cod f)) = id (cod (F . f))
thus F . (id (cod f)) = id the Element of D by FUNCOP_1:7
.= id (cod (F . f)) by A2, Th58 ; ::_thesis: verum
end;
let f, g be Element of the carrier' of C; ::_thesis: ( [g,f] in dom the Comp of C implies F . (g (*) f) = (F . g) (*) (F . f) )
assume [g,f] in dom the Comp of C ; ::_thesis: F . (g (*) f) = (F . g) (*) (F . f)
thus F . (g (*) f) = (id the Element of D) * (id the Element of D) by FUNCOP_1:7
.= (id the Element of D) (*) (id the Element of D) by A1, Def10
.= (id the Element of D) (*) (F . f) by FUNCOP_1:7
.= (F . g) (*) (F . f) by FUNCOP_1:7 ; ::_thesis: verum
end;
end;
:: deftheorem Def15 defines Functor CAT_1:def_21_:_
for C, D being Category
for b3 being Function of the carrier' of C, the carrier' of D holds
( b3 is Functor of C,D iff ( ( for c being Element of C ex d being Element of D st b3 . (id c) = id d ) & ( for f being Element of the carrier' of C holds
( b3 . (id (dom f)) = id (dom (b3 . f)) & b3 . (id (cod f)) = id (cod (b3 . f)) ) ) & ( for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
b3 . (g (*) f) = (b3 . g) (*) (b3 . f) ) ) );
theorem Th61: :: CAT_1:61
for C, D being Category
for T being Function of the carrier' of C, the carrier' of D st ( for c being Object of C ex d being Object of D st T . (id c) = id d ) & ( for f being Morphism of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) holds
T is Functor of C,D
proof
let C, D be Category; ::_thesis: for T being Function of the carrier' of C, the carrier' of D st ( for c being Object of C ex d being Object of D st T . (id c) = id d ) & ( for f being Morphism of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) holds
T is Functor of C,D
let T be Function of the carrier' of C, the carrier' of D; ::_thesis: ( ( for c being Object of C ex d being Object of D st T . (id c) = id d ) & ( for f being Morphism of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) implies T is Functor of C,D )
assume that
A1: for c being Object of C ex d being Object of D st T . (id c) = id d and
A2: for f being Morphism of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) and
A3: for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ; ::_thesis: T is Functor of C,D
thus for c being Element of C ex d being Element of D st T . (id c) = id d by A1; :: according to CAT_1:def_21 ::_thesis: ( ( for f being Element of the carrier' of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) ) & ( for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
T . (g (*) f) = (T . g) (*) (T . f) ) )
thus for f being Element of the carrier' of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) by A2; ::_thesis: for f, g being Element of the carrier' of C st [g,f] in dom the Comp of C holds
T . (g (*) f) = (T . g) (*) (T . f)
let f, g be Element of the carrier' of C; ::_thesis: ( [g,f] in dom the Comp of C implies T . (g (*) f) = (T . g) (*) (T . f) )
assume [g,f] in dom the Comp of C ; ::_thesis: T . (g (*) f) = (T . g) (*) (T . f)
then A5: dom g = cod f by Def5a;
thus T . (g (*) f) = (T . g) (*) (T . f) by A3, A5; ::_thesis: verum
end;
theorem :: CAT_1:62
for C, D being Category
for T being Functor of C,D
for c being Object of C ex d being Object of D st T . (id c) = id d by Def15;
theorem :: CAT_1:63
for C, D being Category
for T being Functor of C,D
for f being Morphism of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) by Def15;
theorem Th64: :: CAT_1:64
for C, D being Category
for T being Functor of C,D
for f, g being Morphism of C st dom g = cod f holds
( dom (T . g) = cod (T . f) & T . (g (*) f) = (T . g) (*) (T . f) )
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for f, g being Morphism of C st dom g = cod f holds
( dom (T . g) = cod (T . f) & T . (g (*) f) = (T . g) (*) (T . f) )
let T be Functor of C,D; ::_thesis: for f, g being Morphism of C st dom g = cod f holds
( dom (T . g) = cod (T . f) & T . (g (*) f) = (T . g) (*) (T . f) )
let f, g be Morphism of C; ::_thesis: ( dom g = cod f implies ( dom (T . g) = cod (T . f) & T . (g (*) f) = (T . g) (*) (T . f) ) )
assume A1: dom g = cod f ; ::_thesis: ( dom (T . g) = cod (T . f) & T . (g (*) f) = (T . g) (*) (T . f) )
then A2: ( the Comp of C . (g,f) = g (*) f & [g,f] in dom the Comp of C ) by Def5a, Th16;
id (dom (T . g)) = T . (id (cod f)) by A1, Def15
.= id (cod (T . f)) by Def15 ;
hence dom (T . g) = cod (T . f) by Th59; ::_thesis: T . (g (*) f) = (T . g) (*) (T . f)
thus T . (g (*) f) = (T . g) (*) (T . f) by A2, Def15; ::_thesis: verum
end;
theorem Th65: :: CAT_1:65
for C, D being Category
for T being Function of the carrier' of C, the carrier' of D
for F being Function of the carrier of C, the carrier of D st ( for c being Object of C holds T . (id c) = id (F . c) ) & ( for f being Morphism of C holds
( F . (dom f) = dom (T . f) & F . (cod f) = cod (T . f) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) holds
T is Functor of C,D
proof
let C, D be Category; ::_thesis: for T being Function of the carrier' of C, the carrier' of D
for F being Function of the carrier of C, the carrier of D st ( for c being Object of C holds T . (id c) = id (F . c) ) & ( for f being Morphism of C holds
( F . (dom f) = dom (T . f) & F . (cod f) = cod (T . f) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) holds
T is Functor of C,D
let T be Function of the carrier' of C, the carrier' of D; ::_thesis: for F being Function of the carrier of C, the carrier of D st ( for c being Object of C holds T . (id c) = id (F . c) ) & ( for f being Morphism of C holds
( F . (dom f) = dom (T . f) & F . (cod f) = cod (T . f) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) holds
T is Functor of C,D
let F be Function of the carrier of C, the carrier of D; ::_thesis: ( ( for c being Object of C holds T . (id c) = id (F . c) ) & ( for f being Morphism of C holds
( F . (dom f) = dom (T . f) & F . (cod f) = cod (T . f) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ) implies T is Functor of C,D )
assume that
A1: for c being Object of C holds T . (id c) = id (F . c) and
A2: for f being Morphism of C holds
( F . (dom f) = dom (T . f) & F . (cod f) = cod (T . f) ) and
A3: for f, g being Morphism of C st dom g = cod f holds
T . (g (*) f) = (T . g) (*) (T . f) ; ::_thesis: T is Functor of C,D
A4: for c being Object of C ex d being Object of D st T . (id c) = id d
proof
let c be Object of C; ::_thesis: ex d being Object of D st T . (id c) = id d
take F . c ; ::_thesis: T . (id c) = id (F . c)
thus T . (id c) = id (F . c) by A1; ::_thesis: verum
end;
for f being Morphism of C holds
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) )
proof
let f be Morphism of C; ::_thesis: ( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) )
thus T . (id (dom f)) = id (F . (dom f)) by A1
.= id (dom (T . f)) by A2 ; ::_thesis: T . (id (cod f)) = id (cod (T . f))
thus T . (id (cod f)) = id (F . (cod f)) by A1
.= id (cod (T . f)) by A2 ; ::_thesis: verum
end;
hence T is Functor of C,D by A3, A4, Th61; ::_thesis: verum
end;
definition
let C, D be Category;
let F be Function of the carrier' of C, the carrier' of D;
assume A1: for c being Element of C ex d being Element of D st F . (id c) = id d ;
func Obj F -> Function of the carrier of C, the carrier of D means :Def16: :: CAT_1:def 22
for c being Element of C
for d being Element of D st F . (id c) = id d holds
it . c = d;
existence
ex b1 being Function of the carrier of C, the carrier of D st
for c being Element of C
for d being Element of D st F . (id c) = id d holds
b1 . c = d
proof
defpred S1[ Object of C, Object of D] means for d being Element of D st F . (id $1) = id d holds
$2 = d;
A2: for c being Element of C ex y being Element of D st S1[c,y]
proof
let c be Element of C; ::_thesis: ex y being Element of D st S1[c,y]
consider y being Element of D such that
A3: F . (id c) = id y by A1;
take y ; ::_thesis: S1[c,y]
let d be Element of D; ::_thesis: ( F . (id c) = id d implies y = d )
assume F . (id c) = id d ; ::_thesis: y = d
hence y = d by A3, Th59; ::_thesis: verum
end;
thus ex f being Function of the carrier of C, the carrier of D st
for x being Element of C holds S1[x,f . x] from FUNCT_2:sch_3(A2); ::_thesis: verum
end;
uniqueness
for b1, b2 being Function of the carrier of C, the carrier of D st ( for c being Element of C
for d being Element of D st F . (id c) = id d holds
b1 . c = d ) & ( for c being Element of C
for d being Element of D st F . (id c) = id d holds
b2 . c = d ) holds
b1 = b2
proof
let F1, F2 be Function of the carrier of C, the carrier of D; ::_thesis: ( ( for c being Element of C
for d being Element of D st F . (id c) = id d holds
F1 . c = d ) & ( for c being Element of C
for d being Element of D st F . (id c) = id d holds
F2 . c = d ) implies F1 = F2 )
assume that
A5: for c being Element of C
for d being Element of D st F . (id c) = id d holds
F1 . c = d and
A6: for c being Element of C
for d being Element of D st F . (id c) = id d holds
F2 . c = d ; ::_thesis: F1 = F2
for c being Element of C holds F1 . c = F2 . c
proof
let c be Element of C; ::_thesis: F1 . c = F2 . c
consider d1 being Element of D such that
A7: F . (id c) = id d1 by A1;
F1 . c = d1 by A5, A7;
hence F1 . c = F2 . c by A6, A7; ::_thesis: verum
end;
hence F1 = F2 by FUNCT_2:63; ::_thesis: verum
end;
end;
:: deftheorem Def16 defines Obj CAT_1:def_22_:_
for C, D being Category
for F being Function of the carrier' of C, the carrier' of D st ( for c being Element of C ex d being Element of D st F . (id c) = id d ) holds
for b4 being Function of the carrier of C, the carrier of D holds
( b4 = Obj F iff for c being Element of C
for d being Element of D st F . (id c) = id d holds
b4 . c = d );
theorem :: CAT_1:66
for C, D being Category
for T being Function of the carrier' of C, the carrier' of D st ( for c being Object of C ex d being Object of D st T . (id c) = id d ) holds
for c being Object of C
for d being Object of D st T . (id c) = id d holds
(Obj T) . c = d by Def16;
theorem Th67: :: CAT_1:67
for C, D being Category
for T being Functor of C,D
for c being Object of C
for d being Object of D st T . (id c) = id d holds
(Obj T) . c = d
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c being Object of C
for d being Object of D st T . (id c) = id d holds
(Obj T) . c = d
let T be Functor of C,D; ::_thesis: for c being Object of C
for d being Object of D st T . (id c) = id d holds
(Obj T) . c = d
for c being Object of C ex d being Object of D st T . (id c) = id d by Def15;
hence for c being Object of C
for d being Object of D st T . (id c) = id d holds
(Obj T) . c = d by Def16; ::_thesis: verum
end;
theorem Th68: :: CAT_1:68
for C, D being Category
for T being Functor of C,D
for c being Object of C holds T . (id c) = id ((Obj T) . c)
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c being Object of C holds T . (id c) = id ((Obj T) . c)
let T be Functor of C,D; ::_thesis: for c being Object of C holds T . (id c) = id ((Obj T) . c)
let c be Object of C; ::_thesis: T . (id c) = id ((Obj T) . c)
ex d being Object of D st T . (id c) = id d by Def15;
hence T . (id c) = id ((Obj T) . c) by Th67; ::_thesis: verum
end;
theorem Th69: :: CAT_1:69
for C, D being Category
for T being Functor of C,D
for f being Morphism of C holds
( (Obj T) . (dom f) = dom (T . f) & (Obj T) . (cod f) = cod (T . f) )
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for f being Morphism of C holds
( (Obj T) . (dom f) = dom (T . f) & (Obj T) . (cod f) = cod (T . f) )
let T be Functor of C,D; ::_thesis: for f being Morphism of C holds
( (Obj T) . (dom f) = dom (T . f) & (Obj T) . (cod f) = cod (T . f) )
let f be Morphism of C; ::_thesis: ( (Obj T) . (dom f) = dom (T . f) & (Obj T) . (cod f) = cod (T . f) )
( T . (id (dom f)) = id (dom (T . f)) & T . (id (cod f)) = id (cod (T . f)) ) by Def15;
hence ( (Obj T) . (dom f) = dom (T . f) & (Obj T) . (cod f) = cod (T . f) ) by Th67; ::_thesis: verum
end;
definition
let C, D be Category;
let T be Functor of C,D;
let c be Object of C;
funcT . c -> Object of D equals :: CAT_1:def 23
(Obj T) . c;
correctness
coherence
(Obj T) . c is Object of D;
;
end;
:: deftheorem defines . CAT_1:def_23_:_
for C, D being Category
for T being Functor of C,D
for c being Object of C holds T . c = (Obj T) . c;
theorem :: CAT_1:70
for C, D being Category
for T being Functor of C,D
for c being Object of C
for d being Object of D st T . (id c) = id d holds
T . c = d by Th67;
theorem :: CAT_1:71
for C, D being Category
for T being Functor of C,D
for c being Object of C holds T . (id c) = id (T . c) by Th68;
theorem :: CAT_1:72
for C, D being Category
for T being Functor of C,D
for f being Morphism of C holds
( T . (dom f) = dom (T . f) & T . (cod f) = cod (T . f) ) by Th69;
theorem Th73: :: CAT_1:73
for B, C, D being Category
for T being Functor of B,C
for S being Functor of C,D holds S * T is Functor of B,D
proof
let B, C, D be Category; ::_thesis: for T being Functor of B,C
for S being Functor of C,D holds S * T is Functor of B,D
let T be Functor of B,C; ::_thesis: for S being Functor of C,D holds S * T is Functor of B,D
let S be Functor of C,D; ::_thesis: S * T is Functor of B,D
reconsider FF = (Obj S) * (Obj T) as Function of the carrier of B, the carrier of D ;
reconsider TT = S * T as Function of the carrier' of B, the carrier' of D ;
now__::_thesis:_(_(_for_b_being_Object_of_B_holds_TT_._(id_b)_=_id_(FF_._b)_)_&_(_for_f_being_Morphism_of_B_holds_
(_FF_._(dom_f)_=_dom_(TT_._f)_&_FF_._(cod_f)_=_cod_(TT_._f)_)_)_&_(_for_f,_g_being_Morphism_of_B_st_dom_g_=_cod_f_holds_
TT_._(g_(*)_f)_=_(TT_._g)_(*)_(TT_._f)_)_)
thus for b being Object of B holds TT . (id b) = id (FF . b) ::_thesis: ( ( for f being Morphism of B holds
( FF . (dom f) = dom (TT . f) & FF . (cod f) = cod (TT . f) ) ) & ( for f, g being Morphism of B st dom g = cod f holds
TT . (g (*) f) = (TT . g) (*) (TT . f) ) )
proof
let b be Object of B; ::_thesis: TT . (id b) = id (FF . b)
thus TT . (id b) = S . (T . (id b)) by FUNCT_2:15
.= S . (id (T . b)) by Th68
.= id (S . ((Obj T) . b)) by Th68
.= id (FF . b) by FUNCT_2:15 ; ::_thesis: verum
end;
thus for f being Morphism of B holds
( FF . (dom f) = dom (TT . f) & FF . (cod f) = cod (TT . f) ) ::_thesis: for f, g being Morphism of B st dom g = cod f holds
TT . (g (*) f) = (TT . g) (*) (TT . f)
proof
let f be Morphism of B; ::_thesis: ( FF . (dom f) = dom (TT . f) & FF . (cod f) = cod (TT . f) )
thus FF . (dom f) = (Obj S) . ((Obj T) . (dom f)) by FUNCT_2:15
.= (Obj S) . (dom (T . f)) by Th69
.= dom (S . (T . f)) by Th69
.= dom (TT . f) by FUNCT_2:15 ; ::_thesis: FF . (cod f) = cod (TT . f)
thus FF . (cod f) = (Obj S) . ((Obj T) . (cod f)) by FUNCT_2:15
.= (Obj S) . (cod (T . f)) by Th69
.= cod (S . (T . f)) by Th69
.= cod (TT . f) by FUNCT_2:15 ; ::_thesis: verum
end;
let f, g be Morphism of B; ::_thesis: ( dom g = cod f implies TT . (g (*) f) = (TT . g) (*) (TT . f) )
assume A1: dom g = cod f ; ::_thesis: TT . (g (*) f) = (TT . g) (*) (TT . f)
then A2: dom (T . g) = cod (T . f) by Th64;
thus TT . (g (*) f) = S . (T . (g (*) f)) by FUNCT_2:15
.= S . ((T . g) (*) (T . f)) by A1, Th64
.= (S . (T . g)) (*) (S . (T . f)) by A2, Th64
.= (TT . g) (*) (S . (T . f)) by FUNCT_2:15
.= (TT . g) (*) (TT . f) by FUNCT_2:15 ; ::_thesis: verum
end;
hence S * T is Functor of B,D by Th65; ::_thesis: verum
end;
definition
let B, C, D be Category;
let T be Functor of B,C;
let S be Functor of C,D;
:: original: *
redefine funcS * T -> Functor of B,D;
coherence
T * S is Functor of B,D by Th73;
end;
theorem Th74: :: CAT_1:74
for C being Category holds id the carrier' of C is Functor of C,C
proof
let C be Category; ::_thesis: id the carrier' of C is Functor of C,C
set F = id the carrier of C;
set T = id the carrier' of C;
now__::_thesis:_(_(_for_c_being_Object_of_C_holds_(id_the_carrier'_of_C)_._(id_c)_=_id_((id_the_carrier_of_C)_._c)_)_&_(_for_f_being_Morphism_of_C_holds_
(_(id_the_carrier_of_C)_._(dom_f)_=_dom_((id_the_carrier'_of_C)_._f)_&_(id_the_carrier_of_C)_._(cod_f)_=_cod_((id_the_carrier'_of_C)_._f)_)_)_&_(_for_f,_g_being_Morphism_of_C_st_dom_g_=_cod_f_holds_
(id_the_carrier'_of_C)_._(g_(*)_f)_=_((id_the_carrier'_of_C)_._g)_(*)_((id_the_carrier'_of_C)_._f)_)_)
thus for c being Object of C holds (id the carrier' of C) . (id c) = id ((id the carrier of C) . c) ::_thesis: ( ( for f being Morphism of C holds
( (id the carrier of C) . (dom f) = dom ((id the carrier' of C) . f) & (id the carrier of C) . (cod f) = cod ((id the carrier' of C) . f) ) ) & ( for f, g being Morphism of C st dom g = cod f holds
(id the carrier' of C) . (g (*) f) = ((id the carrier' of C) . g) (*) ((id the carrier' of C) . f) ) )
proof
let c be Object of C; ::_thesis: (id the carrier' of C) . (id c) = id ((id the carrier of C) . c)
(id the carrier of C) . c = c by FUNCT_1:18;
hence (id the carrier' of C) . (id c) = id ((id the carrier of C) . c) by FUNCT_1:18; ::_thesis: verum
end;
thus for f being Morphism of C holds
( (id the carrier of C) . (dom f) = dom ((id the carrier' of C) . f) & (id the carrier of C) . (cod f) = cod ((id the carrier' of C) . f) ) ::_thesis: for f, g being Morphism of C st dom g = cod f holds
(id the carrier' of C) . (g (*) f) = ((id the carrier' of C) . g) (*) ((id the carrier' of C) . f)
proof
let f be Morphism of C; ::_thesis: ( (id the carrier of C) . (dom f) = dom ((id the carrier' of C) . f) & (id the carrier of C) . (cod f) = cod ((id the carrier' of C) . f) )
(id the carrier' of C) . f = f by FUNCT_1:18;
hence ( (id the carrier of C) . (dom f) = dom ((id the carrier' of C) . f) & (id the carrier of C) . (cod f) = cod ((id the carrier' of C) . f) ) by FUNCT_1:18; ::_thesis: verum
end;
let f, g be Morphism of C; ::_thesis: ( dom g = cod f implies (id the carrier' of C) . (g (*) f) = ((id the carrier' of C) . g) (*) ((id the carrier' of C) . f) )
assume dom g = cod f ; ::_thesis: (id the carrier' of C) . (g (*) f) = ((id the carrier' of C) . g) (*) ((id the carrier' of C) . f)
thus (id the carrier' of C) . (g (*) f) = g (*) f by FUNCT_1:18
.= ((id the carrier' of C) . g) (*) f by FUNCT_1:18
.= ((id the carrier' of C) . g) (*) ((id the carrier' of C) . f) by FUNCT_1:18 ; ::_thesis: verum
end;
hence id the carrier' of C is Functor of C,C by Th65; ::_thesis: verum
end;
theorem Th75: :: CAT_1:75
for B, C, D being Category
for T being Functor of B,C
for S being Functor of C,D
for b being Object of B holds (Obj (S * T)) . b = (Obj S) . ((Obj T) . b)
proof
let B, C, D be Category; ::_thesis: for T being Functor of B,C
for S being Functor of C,D
for b being Object of B holds (Obj (S * T)) . b = (Obj S) . ((Obj T) . b)
let T be Functor of B,C; ::_thesis: for S being Functor of C,D
for b being Object of B holds (Obj (S * T)) . b = (Obj S) . ((Obj T) . b)
let S be Functor of C,D; ::_thesis: for b being Object of B holds (Obj (S * T)) . b = (Obj S) . ((Obj T) . b)
let b be Object of B; ::_thesis: (Obj (S * T)) . b = (Obj S) . ((Obj T) . b)
A1: (S * T) . (id b) = S . (T . (id b)) by FUNCT_2:15;
consider d being Object of D such that
A2: (S * T) . (id b) = id d by Def15;
consider c being Object of C such that
A3: T . (id b) = id c by Def15;
thus (Obj (S * T)) . b = d by A2, Th67
.= (Obj S) . c by A2, A3, A1, Th67
.= (Obj S) . ((Obj T) . b) by A3, Th67 ; ::_thesis: verum
end;
theorem :: CAT_1:76
for B, C, D being Category
for T being Functor of B,C
for S being Functor of C,D
for b being Object of B holds (S * T) . b = S . (T . b) by Th75;
definition
let C be Category;
func id C -> Functor of C,C equals :: CAT_1:def 24
id the carrier' of C;
coherence
id the carrier' of C is Functor of C,C by Th74;
end;
:: deftheorem defines id CAT_1:def_24_:_
for C being Category holds id C = id the carrier' of C;
theorem Th77: :: CAT_1:77
for C being Category
for c being Object of C holds (Obj (id C)) . c = c
proof
let C be Category; ::_thesis: for c being Object of C holds (Obj (id C)) . c = c
let c be Object of C; ::_thesis: (Obj (id C)) . c = c
(id C) . (id c) = id c by FUNCT_1:18;
hence (Obj (id C)) . c = c by Th67; ::_thesis: verum
end;
theorem Th78: :: CAT_1:78
for C being Category holds Obj (id C) = id the carrier of C
proof
let C be Category; ::_thesis: Obj (id C) = id the carrier of C
( dom (Obj (id C)) = the carrier of C & ( for x being set st x in the carrier of C holds
(Obj (id C)) . x = x ) ) by Th77, FUNCT_2:def_1;
hence Obj (id C) = id the carrier of C by FUNCT_1:17; ::_thesis: verum
end;
theorem :: CAT_1:79
for C being Category
for c being Object of C holds (id C) . c = c by Th77;
definition
let C, D be Category;
let T be Functor of C,D;
attrT is isomorphic means :: CAT_1:def 25
( T is one-to-one & rng T = the carrier' of D & rng (Obj T) = the carrier of D );
attrT is full means :Def20: :: CAT_1:def 26
for c, c9 being Object of C st Hom ((T . c),(T . c9)) <> {} holds
for g being Morphism of T . c,T . c9 holds
( Hom (c,c9) <> {} & ex f being Morphism of c,c9 st g = T . f );
attrT is faithful means :Def21: :: CAT_1:def 27
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f1, f2 being Morphism of c,c9 st T . f1 = T . f2 holds
f1 = f2;
end;
:: deftheorem defines isomorphic CAT_1:def_25_:_
for C, D being Category
for T being Functor of C,D holds
( T is isomorphic iff ( T is one-to-one & rng T = the carrier' of D & rng (Obj T) = the carrier of D ) );
:: deftheorem Def20 defines full CAT_1:def_26_:_
for C, D being Category
for T being Functor of C,D holds
( T is full iff for c, c9 being Object of C st Hom ((T . c),(T . c9)) <> {} holds
for g being Morphism of T . c,T . c9 holds
( Hom (c,c9) <> {} & ex f being Morphism of c,c9 st g = T . f ) );
:: deftheorem Def21 defines faithful CAT_1:def_27_:_
for C, D being Category
for T being Functor of C,D holds
( T is faithful iff for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f1, f2 being Morphism of c,c9 st T . f1 = T . f2 holds
f1 = f2 );
theorem :: CAT_1:80
for C being Category holds id C is isomorphic
proof
let C be Category; ::_thesis: id C is isomorphic
rng (id the carrier of C) = the carrier of C ;
hence ( id C is one-to-one & rng (id C) = the carrier' of C & rng (Obj (id C)) = the carrier of C ) by Th78, RELAT_1:45; :: according to CAT_1:def_25 ::_thesis: verum
end;
theorem Th81: :: CAT_1:81
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C
for f being set st f in Hom (c,c9) holds
T . f in Hom ((T . c),(T . c9))
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c, c9 being Object of C
for f being set st f in Hom (c,c9) holds
T . f in Hom ((T . c),(T . c9))
let T be Functor of C,D; ::_thesis: for c, c9 being Object of C
for f being set st f in Hom (c,c9) holds
T . f in Hom ((T . c),(T . c9))
let c, c9 be Object of C; ::_thesis: for f being set st f in Hom (c,c9) holds
T . f in Hom ((T . c),(T . c9))
let f be set ; ::_thesis: ( f in Hom (c,c9) implies T . f in Hom ((T . c),(T . c9)) )
assume A1: f in Hom (c,c9) ; ::_thesis: T . f in Hom ((T . c),(T . c9))
then reconsider f9 = f as Morphism of c,c9 by Def4;
cod f9 = c9 by A1, Th1;
then A2: T . c9 = cod (T . f9) by Th69;
dom f9 = c by A1, Th1;
then T . c = dom (T . f9) by Th69;
hence T . f in Hom ((T . c),(T . c9)) by A2; ::_thesis: verum
end;
theorem Th82: :: CAT_1:82
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds T . f in Hom ((T . c),(T . c9))
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds T . f in Hom ((T . c),(T . c9))
let T be Functor of C,D; ::_thesis: for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds T . f in Hom ((T . c),(T . c9))
let c, c9 be Object of C; ::_thesis: ( Hom (c,c9) <> {} implies for f being Morphism of c,c9 holds T . f in Hom ((T . c),(T . c9)) )
assume A1: Hom (c,c9) <> {} ; ::_thesis: for f being Morphism of c,c9 holds T . f in Hom ((T . c),(T . c9))
let f be Morphism of c,c9; ::_thesis: T . f in Hom ((T . c),(T . c9))
f in Hom (c,c9) by A1, Def4;
hence T . f in Hom ((T . c),(T . c9)) by Th81; ::_thesis: verum
end;
theorem Th83: :: CAT_1:83
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds T . f is Morphism of T . c,T . c9
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds T . f is Morphism of T . c,T . c9
let T be Functor of C,D; ::_thesis: for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds T . f is Morphism of T . c,T . c9
let c, c9 be Object of C; ::_thesis: ( Hom (c,c9) <> {} implies for f being Morphism of c,c9 holds T . f is Morphism of T . c,T . c9 )
assume A1: Hom (c,c9) <> {} ; ::_thesis: for f being Morphism of c,c9 holds T . f is Morphism of T . c,T . c9
let f be Morphism of c,c9; ::_thesis: T . f is Morphism of T . c,T . c9
T . f in Hom ((T . c),(T . c9)) by A1, Th82;
hence T . f is Morphism of T . c,T . c9 by Def4; ::_thesis: verum
end;
theorem Th84: :: CAT_1:84
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
Hom ((T . c),(T . c9)) <> {}
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
Hom ((T . c),(T . c9)) <> {}
let T be Functor of C,D; ::_thesis: for c, c9 being Object of C st Hom (c,c9) <> {} holds
Hom ((T . c),(T . c9)) <> {}
let c, c9 be Object of C; ::_thesis: ( Hom (c,c9) <> {} implies Hom ((T . c),(T . c9)) <> {} )
set f = the Element of Hom (c,c9);
assume Hom (c,c9) <> {} ; ::_thesis: Hom ((T . c),(T . c9)) <> {}
then the Element of Hom (c,c9) in Hom (c,c9) ;
hence Hom ((T . c),(T . c9)) <> {} by Th81; ::_thesis: verum
end;
theorem :: CAT_1:85
for B, C, D being Category
for T being Functor of B,C
for S being Functor of C,D st T is full & S is full holds
S * T is full
proof
let B, C, D be Category; ::_thesis: for T being Functor of B,C
for S being Functor of C,D st T is full & S is full holds
S * T is full
let T be Functor of B,C; ::_thesis: for S being Functor of C,D st T is full & S is full holds
S * T is full
let S be Functor of C,D; ::_thesis: ( T is full & S is full implies S * T is full )
assume that
A1: T is full and
A2: S is full ; ::_thesis: S * T is full
let b, b9 be Object of B; :: according to CAT_1:def_26 ::_thesis: ( Hom (((S * T) . b),((S * T) . b9)) <> {} implies for g being Morphism of (S * T) . b,(S * T) . b9 holds
( Hom (b,b9) <> {} & ex f being Morphism of b,b9 st g = (S * T) . f ) )
assume A3: Hom (((S * T) . b),((S * T) . b9)) <> {} ; ::_thesis: for g being Morphism of (S * T) . b,(S * T) . b9 holds
( Hom (b,b9) <> {} & ex f being Morphism of b,b9 st g = (S * T) . f )
let g be Morphism of (S * T) . b,(S * T) . b9; ::_thesis: ( Hom (b,b9) <> {} & ex f being Morphism of b,b9 st g = (S * T) . f )
A4: ( (S * T) . b = S . (T . b) & (S * T) . b9 = S . (T . b9) ) by Th75;
then consider f being Morphism of T . b,T . b9 such that
A5: g = S . f by A2, A3, Def20;
A6: Hom ((T . b),(T . b9)) <> {} by A2, A3, A4, Def20;
hence Hom (b,b9) <> {} by A1, Def20; ::_thesis: ex f being Morphism of b,b9 st g = (S * T) . f
consider h being Morphism of b,b9 such that
A7: f = T . h by A1, A6, Def20;
take h ; ::_thesis: g = (S * T) . h
thus g = (S * T) . h by A5, A7, FUNCT_2:15; ::_thesis: verum
end;
theorem :: CAT_1:86
for B, C, D being Category
for T being Functor of B,C
for S being Functor of C,D st T is faithful & S is faithful holds
S * T is faithful
proof
let B, C, D be Category; ::_thesis: for T being Functor of B,C
for S being Functor of C,D st T is faithful & S is faithful holds
S * T is faithful
let T be Functor of B,C; ::_thesis: for S being Functor of C,D st T is faithful & S is faithful holds
S * T is faithful
let S be Functor of C,D; ::_thesis: ( T is faithful & S is faithful implies S * T is faithful )
assume that
A1: T is faithful and
A2: S is faithful ; ::_thesis: S * T is faithful
let b, b9 be Object of B; :: according to CAT_1:def_27 ::_thesis: ( Hom (b,b9) <> {} implies for f1, f2 being Morphism of b,b9 st (S * T) . f1 = (S * T) . f2 holds
f1 = f2 )
assume A3: Hom (b,b9) <> {} ; ::_thesis: for f1, f2 being Morphism of b,b9 st (S * T) . f1 = (S * T) . f2 holds
f1 = f2
let f1, f2 be Morphism of b,b9; ::_thesis: ( (S * T) . f1 = (S * T) . f2 implies f1 = f2 )
A4: T . f2 is Morphism of T . b,T . b9 by A3, Th83;
assume A5: (S * T) . f1 = (S * T) . f2 ; ::_thesis: f1 = f2
A6: ( (S * T) . f1 = S . (T . f1) & (S * T) . f2 = S . (T . f2) ) by FUNCT_2:15;
( Hom ((T . b),(T . b9)) <> {} & T . f1 is Morphism of T . b,T . b9 ) by A3, Th83, Th84;
then T . f1 = T . f2 by A2, A5, A6, A4, Def21;
hence f1 = f2 by A1, A3, Def21; ::_thesis: verum
end;
theorem Th87: :: CAT_1:87
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C holds T .: (Hom (c,c9)) c= Hom ((T . c),(T . c9))
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c, c9 being Object of C holds T .: (Hom (c,c9)) c= Hom ((T . c),(T . c9))
let T be Functor of C,D; ::_thesis: for c, c9 being Object of C holds T .: (Hom (c,c9)) c= Hom ((T . c),(T . c9))
let c, c9 be Object of C; ::_thesis: T .: (Hom (c,c9)) c= Hom ((T . c),(T . c9))
let f be set ; :: according to TARSKI:def_3 ::_thesis: ( not f in T .: (Hom (c,c9)) or f in Hom ((T . c),(T . c9)) )
assume f in T .: (Hom (c,c9)) ; ::_thesis: f in Hom ((T . c),(T . c9))
then ex g being Element of the carrier' of C st
( g in Hom (c,c9) & f = T . g ) by FUNCT_2:65;
hence f in Hom ((T . c),(T . c9)) by Th81; ::_thesis: verum
end;
definition
let C, D be Category;
let T be Functor of C,D;
let c, c9 be Object of C;
func hom (T,c,c9) -> Function of (Hom (c,c9)),(Hom ((T . c),(T . c9))) equals :: CAT_1:def 28
T | (Hom (c,c9));
correctness
coherence
T | (Hom (c,c9)) is Function of (Hom (c,c9)),(Hom ((T . c),(T . c9)));
proof
T .: (Hom (c,c9)) c= Hom ((T . c),(T . c9)) by Th87;
hence T | (Hom (c,c9)) is Function of (Hom (c,c9)),(Hom ((T . c),(T . c9))) by FUNCT_2:101; ::_thesis: verum
end;
end;
:: deftheorem defines hom CAT_1:def_28_:_
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C holds hom (T,c,c9) = T | (Hom (c,c9));
theorem Th88: :: CAT_1:88
for C, D being Category
for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds (hom (T,c,c9)) . f = T . f
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds (hom (T,c,c9)) . f = T . f
let T be Functor of C,D; ::_thesis: for c, c9 being Object of C st Hom (c,c9) <> {} holds
for f being Morphism of c,c9 holds (hom (T,c,c9)) . f = T . f
let c, c9 be Object of C; ::_thesis: ( Hom (c,c9) <> {} implies for f being Morphism of c,c9 holds (hom (T,c,c9)) . f = T . f )
assume A1: Hom (c,c9) <> {} ; ::_thesis: for f being Morphism of c,c9 holds (hom (T,c,c9)) . f = T . f
let f be Morphism of c,c9; ::_thesis: (hom (T,c,c9)) . f = T . f
f in Hom (c,c9) by A1, Def4;
hence (hom (T,c,c9)) . f = T . f by FUNCT_1:49; ::_thesis: verum
end;
theorem :: CAT_1:89
for C, D being Category
for T being Functor of C,D holds
( T is full iff for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) )
proof
let C, D be Category; ::_thesis: for T being Functor of C,D holds
( T is full iff for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) )
let T be Functor of C,D; ::_thesis: ( T is full iff for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) )
thus ( T is full implies for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) ) ::_thesis: ( ( for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) ) implies T is full )
proof
assume A1: T is full ; ::_thesis: for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9))
let c, c9 be Object of C; ::_thesis: rng (hom (T,c,c9)) = Hom ((T . c),(T . c9))
now__::_thesis:_(_Hom_((T_._c),(T_._c9))_<>_{}_implies_rng_(hom_(T,c,c9))_=_Hom_((T_._c),(T_._c9))_)
assume A2: Hom ((T . c),(T . c9)) <> {} ; ::_thesis: rng (hom (T,c,c9)) = Hom ((T . c),(T . c9))
for g being set holds
( g in rng (hom (T,c,c9)) iff g in Hom ((T . c),(T . c9)) )
proof
let g be set ; ::_thesis: ( g in rng (hom (T,c,c9)) iff g in Hom ((T . c),(T . c9)) )
thus ( g in rng (hom (T,c,c9)) implies g in Hom ((T . c),(T . c9)) ) ::_thesis: ( g in Hom ((T . c),(T . c9)) implies g in rng (hom (T,c,c9)) )
proof
assume g in rng (hom (T,c,c9)) ; ::_thesis: g in Hom ((T . c),(T . c9))
then consider f being set such that
A3: f in dom (hom (T,c,c9)) and
A4: (hom (T,c,c9)) . f = g by FUNCT_1:def_3;
f in Hom (c,c9) by A2, A3, FUNCT_2:def_1;
hence g in Hom ((T . c),(T . c9)) by A2, A4, FUNCT_2:5; ::_thesis: verum
end;
assume g in Hom ((T . c),(T . c9)) ; ::_thesis: g in rng (hom (T,c,c9))
then g is Morphism of T . c,T . c9 by Def4;
then consider f being Morphism of c,c9 such that
A5: g = T . f by A1, A2, Def20;
Hom (c,c9) <> {} by A1, A2, Def20;
then f in Hom (c,c9) by Def4;
then (hom (T,c,c9)) . f in rng (hom (T,c,c9)) by A2, FUNCT_2:4;
hence g in rng (hom (T,c,c9)) by A5, A1, A2, Def20, Th88; ::_thesis: verum
end;
hence rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) by TARSKI:1; ::_thesis: verum
end;
hence rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) ; ::_thesis: verum
end;
assume A7: for c, c9 being Object of C holds rng (hom (T,c,c9)) = Hom ((T . c),(T . c9)) ; ::_thesis: T is full
let c, c9 be Object of C; :: according to CAT_1:def_26 ::_thesis: ( Hom ((T . c),(T . c9)) <> {} implies for g being Morphism of T . c,T . c9 holds
( Hom (c,c9) <> {} & ex f being Morphism of c,c9 st g = T . f ) )
assume A8: Hom ((T . c),(T . c9)) <> {} ; ::_thesis: for g being Morphism of T . c,T . c9 holds
( Hom (c,c9) <> {} & ex f being Morphism of c,c9 st g = T . f )
let g be Morphism of T . c,T . c9; ::_thesis: ( Hom (c,c9) <> {} & ex f being Morphism of c,c9 st g = T . f )
g in Hom ((T . c),(T . c9)) by A8, Def4;
then g in rng (hom (T,c,c9)) by A7;
then consider f being set such that
A9: f in dom (hom (T,c,c9)) and
A10: (hom (T,c,c9)) . f = g by FUNCT_1:def_3;
thus Hom (c,c9) <> {} by A9; ::_thesis: ex f being Morphism of c,c9 st g = T . f
A11: f in Hom (c,c9) by A8, A9, FUNCT_2:def_1;
then reconsider f = f as Morphism of c,c9 by Def4;
take f ; ::_thesis: g = T . f
thus g = T . f by A10, A11, Th88; ::_thesis: verum
end;
theorem :: CAT_1:90
for C, D being Category
for T being Functor of C,D holds
( T is faithful iff for c, c9 being Object of C holds hom (T,c,c9) is one-to-one )
proof
let C, D be Category; ::_thesis: for T being Functor of C,D holds
( T is faithful iff for c, c9 being Object of C holds hom (T,c,c9) is one-to-one )
let T be Functor of C,D; ::_thesis: ( T is faithful iff for c, c9 being Object of C holds hom (T,c,c9) is one-to-one )
thus ( T is faithful implies for c, c9 being Object of C holds hom (T,c,c9) is one-to-one ) ::_thesis: ( ( for c, c9 being Object of C holds hom (T,c,c9) is one-to-one ) implies T is faithful )
proof
assume A1: T is faithful ; ::_thesis: for c, c9 being Object of C holds hom (T,c,c9) is one-to-one
let c, c9 be Object of C; ::_thesis: hom (T,c,c9) is one-to-one
now__::_thesis:_(_Hom_((T_._c),(T_._c9))_<>_{}_implies_hom_(T,c,c9)_is_one-to-one_)
A2: now__::_thesis:_for_f1,_f2_being_set_st_f1_in_Hom_(c,c9)_&_f2_in_Hom_(c,c9)_&_(hom_(T,c,c9))_._f1_=_(hom_(T,c,c9))_._f2_holds_
f1_=_f2
let f1, f2 be set ; ::_thesis: ( f1 in Hom (c,c9) & f2 in Hom (c,c9) & (hom (T,c,c9)) . f1 = (hom (T,c,c9)) . f2 implies f1 = f2 )
assume that
A3: f1 in Hom (c,c9) and
A4: f2 in Hom (c,c9) ; ::_thesis: ( (hom (T,c,c9)) . f1 = (hom (T,c,c9)) . f2 implies f1 = f2 )
A5: f2 is Morphism of c,c9 by A4, Def4;
then A6: T . f2 = (hom (T,c,c9)) . f2 by A3, Th88;
A7: f1 is Morphism of c,c9 by A3, Def4;
then T . f1 = (hom (T,c,c9)) . f1 by A3, Th88;
hence ( (hom (T,c,c9)) . f1 = (hom (T,c,c9)) . f2 implies f1 = f2 ) by A1, A3, A7, A5, A6, Def21; ::_thesis: verum
end;
assume Hom ((T . c),(T . c9)) <> {} ; ::_thesis: hom (T,c,c9) is one-to-one
hence hom (T,c,c9) is one-to-one by A2, FUNCT_2:19; ::_thesis: verum
end;
hence hom (T,c,c9) is one-to-one ; ::_thesis: verum
end;
assume A8: for c, c9 being Object of C holds hom (T,c,c9) is one-to-one ; ::_thesis: T is faithful
let c, c9 be Object of C; :: according to CAT_1:def_27 ::_thesis: ( Hom (c,c9) <> {} implies for f1, f2 being Morphism of c,c9 st T . f1 = T . f2 holds
f1 = f2 )
assume A9: Hom (c,c9) <> {} ; ::_thesis: for f1, f2 being Morphism of c,c9 st T . f1 = T . f2 holds
f1 = f2
let f1, f2 be Morphism of c,c9; ::_thesis: ( T . f1 = T . f2 implies f1 = f2 )
A10: T . f2 = (hom (T,c,c9)) . f2 by A9, Th88;
A11: ( f2 in Hom (c,c9) & T . f1 = (hom (T,c,c9)) . f1 ) by A9, Def4, Th88;
A12: hom (T,c,c9) is one-to-one by A8;
( Hom ((T . c),(T . c9)) <> {} & f1 in Hom (c,c9) ) by A9, Def4, Th84;
hence ( T . f1 = T . f2 implies f1 = f2 ) by A12, A11, A10, FUNCT_2:19; ::_thesis: verum
end;