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

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

Proof of Theorem cofurid
Dummy variables  x  y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 cofurid.1 . . . . . 6  |-  I  =  (idfunc `  C )
2 eqid 2283 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
3 cofulid.g . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
4 funcrcl 13737 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
53, 4syl 15 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
65simpld 445 . . . . . 6  |-  ( ph  ->  C  e.  Cat )
71, 2, 6idfu1st 13753 . . . . 5  |-  ( ph  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  C
) ) )
87coeq2d 4846 . . . 4  |-  ( ph  ->  ( ( 1st `  F
)  o.  ( 1st `  I ) )  =  ( ( 1st `  F
)  o.  (  _I  |`  ( Base `  C
) ) ) )
9 eqid 2283 . . . . . 6  |-  ( Base `  D )  =  (
Base `  D )
10 relfunc 13736 . . . . . . 7  |-  Rel  ( C  Func  D )
11 1st2ndbr 6169 . . . . . . 7  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
1210, 3, 11sylancr 644 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
132, 9, 12funcf1 13740 . . . . 5  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
14 fcoi1 5415 . . . . 5  |-  ( ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
)  ->  ( ( 1st `  F )  o.  (  _I  |`  ( Base `  C ) ) )  =  ( 1st `  F ) )
1513, 14syl 15 . . . 4  |-  ( ph  ->  ( ( 1st `  F
)  o.  (  _I  |`  ( Base `  C
) ) )  =  ( 1st `  F
) )
168, 15eqtrd 2315 . . 3  |-  ( ph  ->  ( ( 1st `  F
)  o.  ( 1st `  I ) )  =  ( 1st `  F
) )
1773ad2ant1 976 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  C
) ) )
1817fveq1d 5527 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  x
)  =  ( (  _I  |`  ( Base `  C ) ) `  x ) )
19 fvresi 5711 . . . . . . . . . 10  |-  ( x  e.  ( Base `  C
)  ->  ( (  _I  |`  ( Base `  C
) ) `  x
)  =  x )
20193ad2ant2 977 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( (  _I  |`  ( Base `  C
) ) `  x
)  =  x )
2118, 20eqtrd 2315 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  x
)  =  x )
2217fveq1d 5527 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  y
)  =  ( (  _I  |`  ( Base `  C ) ) `  y ) )
23 fvresi 5711 . . . . . . . . . 10  |-  ( y  e.  ( Base `  C
)  ->  ( (  _I  |`  ( Base `  C
) ) `  y
)  =  y )
24233ad2ant3 978 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( (  _I  |`  ( Base `  C
) ) `  y
)  =  y )
2522, 24eqtrd 2315 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  y
)  =  y )
2621, 25oveq12d 5876 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( 1st `  I ) `
 x ) ( 2nd `  F ) ( ( 1st `  I
) `  y )
)  =  ( x ( 2nd `  F
) y ) )
2763ad2ant1 976 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  C  e.  Cat )
28 eqid 2283 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
29 simp2 956 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  x  e.  (
Base `  C )
)
30 simp3 957 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  y  e.  (
Base `  C )
)
311, 2, 27, 28, 29, 30idfu2nd 13751 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( x ( 2nd `  I ) y )  =  (  _I  |`  ( x
(  Hom  `  C ) y ) ) )
3226, 31coeq12d 4848 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( ( 1st `  I
) `  x )
( 2nd `  F
) ( ( 1st `  I ) `  y
) )  o.  (
x ( 2nd `  I
) y ) )  =  ( ( x ( 2nd `  F
) y )  o.  (  _I  |`  (
x (  Hom  `  C
) y ) ) ) )
33 eqid 2283 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
34123ad2ant1 976 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
352, 28, 33, 34, 29, 30funcf2 13742 . . . . . . 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 )
) )
36 fcoi1 5415 . . . . . . 7  |-  ( ( x ( 2nd `  F
) y ) : ( x (  Hom  `  C ) y ) --> ( ( ( 1st `  F ) `  x
) (  Hom  `  D
) ( ( 1st `  F ) `  y
) )  ->  (
( x ( 2nd `  F ) y )  o.  (  _I  |`  (
x (  Hom  `  C
) y ) ) )  =  ( x ( 2nd `  F
) y ) )
3735, 36syl 15 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( x ( 2nd `  F
) y )  o.  (  _I  |`  (
x (  Hom  `  C
) y ) ) )  =  ( x ( 2nd `  F
) y ) )
3832, 37eqtrd 2315 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( ( 1st `  I
) `  x )
( 2nd `  F
) ( ( 1st `  I ) `  y
) )  o.  (
x ( 2nd `  I
) y ) )  =  ( x ( 2nd `  F ) y ) )
3938mpt2eq3dva 5912 . . . 4  |-  ( ph  ->  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  I ) `  x
) ( 2nd `  F
) ( ( 1st `  I ) `  y
) )  o.  (
x ( 2nd `  I
) y ) ) )  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
402, 12funcfn2 13743 . . . . 5  |-  ( ph  ->  ( 2nd `  F
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
41 fnov 5952 . . . . 5  |-  ( ( 2nd `  F )  Fn  ( ( Base `  C )  X.  ( Base `  C ) )  <-> 
( 2nd `  F
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
4240, 41sylib 188 . . . 4  |-  ( ph  ->  ( 2nd `  F
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
4339, 42eqtr4d 2318 . . 3  |-  ( ph  ->  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  I ) `  x
) ( 2nd `  F
) ( ( 1st `  I ) `  y
) )  o.  (
x ( 2nd `  I
) y ) ) )  =  ( 2nd `  F ) )
4416, 43opeq12d 3804 . 2  |-  ( ph  -> 
<. ( ( 1st `  F
)  o.  ( 1st `  I ) ) ,  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( ( ( ( 1st `  I ) `  x
) ( 2nd `  F
) ( ( 1st `  I ) `  y
) )  o.  (
x ( 2nd `  I
) y ) ) ) >.  =  <. ( 1st `  F ) ,  ( 2nd `  F
) >. )
451idfucl 13755 . . . 4  |-  ( C  e.  Cat  ->  I  e.  ( C  Func  C
) )
466, 45syl 15 . . 3  |-  ( ph  ->  I  e.  ( C 
Func  C ) )
472, 46, 3cofuval 13756 . 2  |-  ( ph  ->  ( F  o.func  I )  =  <. ( ( 1st `  F )  o.  ( 1st `  I ) ) ,  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( ( ( ( 1st `  I
) `  x )
( 2nd `  F
) ( ( 1st `  I ) `  y
) )  o.  (
x ( 2nd `  I
) y ) ) ) >. )
48 1st2nd 6166 . . 3  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  F  =  <. ( 1st `  F
) ,  ( 2nd `  F ) >. )
4910, 3, 48sylancr 644 . 2  |-  ( ph  ->  F  =  <. ( 1st `  F ) ,  ( 2nd `  F
) >. )
5044, 47, 493eqtr4d 2325 1  |-  ( ph  ->  ( F  o.func  I )  =  F )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    /\ w3a 934    = wceq 1623    e. wcel 1684   <.cop 3643   class class class wbr 4023    _I cid 4304    X. cxp 4687    |` cres 4691    o. ccom 4693   Rel wrel 4694    Fn wfn 5250   -->wf 5251   ` cfv 5255  (class class class)co 5858    e. cmpt2 5860   1stc1st 6120   2ndc2nd 6121   Basecbs 13148    Hom chom 13219   Catccat 13566    Func cfunc 13728  idfunccidfu 13729    o.func ccofu 13730
This theorem is referenced by:  catccatid  13934
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-ral 2548  df-rex 2549  df-reu 2550  df-rmo 2551  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-op 3649  df-uni 3828  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-id 4309  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-1st 6122  df-2nd 6123  df-riota 6304  df-map 6774  df-ixp 6818  df-cat 13570  df-cid 13571  df-func 13732  df-idfu 13733  df-cofu 13734
  Copyright terms: Public domain W3C validator