MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cofulid Unicode version

Theorem cofulid 14075
Description: The identity functor is a left identity for composition. (Contributed by Mario Carneiro, 3-Jan-2017.)
Hypotheses
Ref Expression
cofulid.g  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
cofulid.1  |-  I  =  (idfunc `  D )
Assertion
Ref Expression
cofulid  |-  ( ph  ->  ( I  o.func  F )  =  F )

Proof of Theorem cofulid
Dummy variables  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 cofulid.1 . . . . . 6  |-  I  =  (idfunc `  D )
2 eqid 2435 . . . . . 6  |-  ( Base `  D )  =  (
Base `  D )
3 cofulid.g . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
4 funcrcl 14048 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
53, 4syl 16 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
65simprd 450 . . . . . 6  |-  ( ph  ->  D  e.  Cat )
71, 2, 6idfu1st 14064 . . . . 5  |-  ( ph  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  D
) ) )
87coeq1d 5025 . . . 4  |-  ( ph  ->  ( ( 1st `  I
)  o.  ( 1st `  F ) )  =  ( (  _I  |`  ( Base `  D ) )  o.  ( 1st `  F
) ) )
9 eqid 2435 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
10 relfunc 14047 . . . . . . 7  |-  Rel  ( C  Func  D )
11 1st2ndbr 6387 . . . . . . 7  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
1210, 3, 11sylancr 645 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
139, 2, 12funcf1 14051 . . . . 5  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
14 fcoi2 5609 . . . . 5  |-  ( ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
)  ->  ( (  _I  |`  ( Base `  D
) )  o.  ( 1st `  F ) )  =  ( 1st `  F
) )
1513, 14syl 16 . . . 4  |-  ( ph  ->  ( (  _I  |`  ( Base `  D ) )  o.  ( 1st `  F
) )  =  ( 1st `  F ) )
168, 15eqtrd 2467 . . 3  |-  ( ph  ->  ( ( 1st `  I
)  o.  ( 1st `  F ) )  =  ( 1st `  F
) )
1763ad2ant1 978 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  D  e.  Cat )
18 eqid 2435 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
1913ffvelrnda 5861 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
20193adant3 977 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  F ) `  x
)  e.  ( Base `  D ) )
2113ffvelrnda 5861 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  y )  e.  (
Base `  D )
)
22213adant2 976 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  F ) `  y
)  e.  ( Base `  D ) )
231, 2, 17, 18, 20, 22idfu2nd 14062 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( 1st `  F ) `
 x ) ( 2nd `  I ) ( ( 1st `  F
) `  y )
)  =  (  _I  |`  ( ( ( 1st `  F ) `  x
) (  Hom  `  D
) ( ( 1st `  F ) `  y
) ) ) )
2423coeq1d 5025 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  I
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  =  ( (  _I  |`  ( ( ( 1st `  F ) `  x
) (  Hom  `  D
) ( ( 1st `  F ) `  y
) ) )  o.  ( x ( 2nd `  F ) y ) ) )
25 eqid 2435 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
26123ad2ant1 978 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
27 simp2 958 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  x  e.  (
Base `  C )
)
28 simp3 959 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  y  e.  (
Base `  C )
)
299, 25, 18, 26, 27, 28funcf2 14053 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( x ( 2nd `  F ) y ) : ( x (  Hom  `  C
) y ) --> ( ( ( 1st `  F
) `  x )
(  Hom  `  D ) ( ( 1st `  F
) `  y )
) )
30 fcoi2 5609 . . . . . . 7  |-  ( ( x ( 2nd `  F
) y ) : ( x (  Hom  `  C ) y ) --> ( ( ( 1st `  F ) `  x
) (  Hom  `  D
) ( ( 1st `  F ) `  y
) )  ->  (
(  _I  |`  (
( ( 1st `  F
) `  x )
(  Hom  `  D ) ( ( 1st `  F
) `  y )
) )  o.  (
x ( 2nd `  F
) y ) )  =  ( x ( 2nd `  F ) y ) )
3129, 30syl 16 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( (  _I  |`  ( ( ( 1st `  F ) `  x
) (  Hom  `  D
) ( ( 1st `  F ) `  y
) ) )  o.  ( x ( 2nd `  F ) y ) )  =  ( x ( 2nd `  F
) y ) )
3224, 31eqtrd 2467 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  I
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) )  =  ( x ( 2nd `  F ) y ) )
3332mpt2eq3dva 6129 . . . 4  |-  ( ph  ->  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  I
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
349, 12funcfn2 14054 . . . . 5  |-  ( ph  ->  ( 2nd `  F
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
35 fnov 6169 . . . . 5  |-  ( ( 2nd `  F )  Fn  ( ( Base `  C )  X.  ( Base `  C ) )  <-> 
( 2nd `  F
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
3634, 35sylib 189 . . . 4  |-  ( ph  ->  ( 2nd `  F
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
3733, 36eqtr4d 2470 . . 3  |-  ( ph  ->  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  I
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) )  =  ( 2nd `  F ) )
3816, 37opeq12d 3984 . 2  |-  ( ph  -> 
<. ( ( 1st `  I
)  o.  ( 1st `  F ) ) ,  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  F ) `  x
) ( 2nd `  I
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) >.  =  <. ( 1st `  F ) ,  ( 2nd `  F
) >. )
391idfucl 14066 . . . 4  |-  ( D  e.  Cat  ->  I  e.  ( D  Func  D
) )
406, 39syl 16 . . 3  |-  ( ph  ->  I  e.  ( D 
Func  D ) )
419, 3, 40cofuval 14067 . 2  |-  ( ph  ->  ( I  o.func  F )  =  <. ( ( 1st `  I )  o.  ( 1st `  F ) ) ,  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  F
) `  x )
( 2nd `  I
) ( ( 1st `  F ) `  y
) )  o.  (
x ( 2nd `  F
) y ) ) ) >. )
42 1st2nd 6384 . . 3  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  F  =  <. ( 1st `  F
) ,  ( 2nd `  F ) >. )
4310, 3, 42sylancr 645 . 2  |-  ( ph  ->  F  =  <. ( 1st `  F ) ,  ( 2nd `  F
) >. )
4438, 41, 433eqtr4d 2477 1  |-  ( ph  ->  ( I  o.func  F )  =  F )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    /\ w3a 936    = wceq 1652    e. wcel 1725   <.cop 3809   class class class wbr 4204    _I cid 4485    X. cxp 4867    |` cres 4871    o. ccom 4873   Rel wrel 4874    Fn wfn 5440   -->wf 5441   ` cfv 5445  (class class class)co 6072    e. cmpt2 6074   1stc1st 6338   2ndc2nd 6339   Basecbs 13457    Hom chom 13528   Catccat 13877    Func cfunc 14039  idfunccidfu 14040    o.func ccofu 14041
This theorem is referenced by:  catccatid  14245
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2416  ax-rep 4312  ax-sep 4322  ax-nul 4330  ax-pow 4369  ax-pr 4395  ax-un 4692
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2284  df-mo 2285  df-clab 2422  df-cleq 2428  df-clel 2431  df-nfc 2560  df-ne 2600  df-ral 2702  df-rex 2703  df-reu 2704  df-rmo 2705  df-rab 2706  df-v 2950  df-sbc 3154  df-csb 3244  df-dif 3315  df-un 3317  df-in 3319  df-ss 3326  df-nul 3621  df-if 3732  df-pw 3793  df-sn 3812  df-pr 3813  df-op 3815  df-uni 4008  df-iun 4087  df-br 4205  df-opab 4259  df-mpt 4260  df-id 4490  df-xp 4875  df-rel 4876  df-cnv 4877  df-co 4878  df-dm 4879  df-rn 4880  df-res 4881  df-ima 4882  df-iota 5409  df-fun 5447  df-fn 5448  df-f 5449  df-f1 5450  df-fo 5451  df-f1o 5452  df-fv 5453  df-ov 6075  df-oprab 6076  df-mpt2 6077  df-1st 6340  df-2nd 6341  df-riota 6540  df-map 7011  df-ixp 7055  df-cat 13881  df-cid 13882  df-func 14043  df-idfu 14044  df-cofu 14045
  Copyright terms: Public domain W3C validator