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

Theorem cofurid 13814
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 2316 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
3 cofulid.g . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
4 funcrcl 13786 . . . . . . . 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 13802 . . . . 5  |-  ( ph  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  C
) ) )
87coeq2d 4883 . . . 4  |-  ( ph  ->  ( ( 1st `  F
)  o.  ( 1st `  I ) )  =  ( ( 1st `  F
)  o.  (  _I  |`  ( Base `  C
) ) ) )
9 eqid 2316 . . . . . 6  |-  ( Base `  D )  =  (
Base `  D )
10 relfunc 13785 . . . . . . 7  |-  Rel  ( C  Func  D )
11 1st2ndbr 6211 . . . . . . 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 13789 . . . . 5  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
14 fcoi1 5453 . . . . 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 2348 . . 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 5565 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  x
)  =  ( (  _I  |`  ( Base `  C ) ) `  x ) )
19 fvresi 5750 . . . . . . . . . 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 2348 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  x
)  =  x )
2217fveq1d 5565 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  y
)  =  ( (  _I  |`  ( Base `  C ) ) `  y ) )
23 fvresi 5750 . . . . . . . . . 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 2348 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  y
)  =  y )
2621, 25oveq12d 5918 . . . . . . 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 2316 . . . . . . . 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 13800 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( x ( 2nd `  I ) y )  =  (  _I  |`  ( x
(  Hom  `  C ) y ) ) )
3226, 31coeq12d 4885 . . . . . 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 2316 . . . . . . . 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 13791 . . . . . . 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 5453 . . . . . . 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 2348 . . . . 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 5954 . . . 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 13792 . . . . 5  |-  ( ph  ->  ( 2nd `  F
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
41 fnov 5994 . . . . 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 2351 . . 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 3841 . 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 13804 . . . 4  |-  ( C  e.  Cat  ->  I  e.  ( C  Func  C
) )
466, 45syl 15 . . 3  |-  ( ph  ->  I  e.  ( C 
Func  C ) )
472, 46, 3cofuval 13805 . 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 6208 . . 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 2358 1  |-  ( ph  ->  ( F  o.func  I )  =  F )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    /\ w3a 934    = wceq 1633    e. wcel 1701   <.cop 3677   class class class wbr 4060    _I cid 4341    X. cxp 4724    |` cres 4728    o. ccom 4730   Rel wrel 4731    Fn wfn 5287   -->wf 5288   ` cfv 5292  (class class class)co 5900    e. cmpt2 5902   1stc1st 6162   2ndc2nd 6163   Basecbs 13195    Hom chom 13266   Catccat 13615    Func cfunc 13777  idfunccidfu 13778    o.func ccofu 13779
This theorem is referenced by:  catccatid  13983
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1537  ax-5 1548  ax-17 1607  ax-9 1645  ax-8 1666  ax-13 1703  ax-14 1705  ax-6 1720  ax-7 1725  ax-11 1732  ax-12 1897  ax-ext 2297  ax-rep 4168  ax-sep 4178  ax-nul 4186  ax-pow 4225  ax-pr 4251  ax-un 4549
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3an 936  df-tru 1310  df-ex 1533  df-nf 1536  df-sb 1640  df-eu 2180  df-mo 2181  df-clab 2303  df-cleq 2309  df-clel 2312  df-nfc 2441  df-ne 2481  df-ral 2582  df-rex 2583  df-reu 2584  df-rmo 2585  df-rab 2586  df-v 2824  df-sbc 3026  df-csb 3116  df-dif 3189  df-un 3191  df-in 3193  df-ss 3200  df-nul 3490  df-if 3600  df-pw 3661  df-sn 3680  df-pr 3681  df-op 3683  df-uni 3865  df-iun 3944  df-br 4061  df-opab 4115  df-mpt 4116  df-id 4346  df-xp 4732  df-rel 4733  df-cnv 4734  df-co 4735  df-dm 4736  df-rn 4737  df-res 4738  df-ima 4739  df-iota 5256  df-fun 5294  df-fn 5295  df-f 5296  df-f1 5297  df-fo 5298  df-f1o 5299  df-fv 5300  df-ov 5903  df-oprab 5904  df-mpt2 5905  df-1st 6164  df-2nd 6165  df-riota 6346  df-map 6817  df-ixp 6861  df-cat 13619  df-cid 13620  df-func 13781  df-idfu 13782  df-cofu 13783
  Copyright terms: Public domain W3C validator