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

Theorem cofurid 14089
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 2437 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
3 cofulid.g . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
4 funcrcl 14061 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
53, 4syl 16 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
65simpld 447 . . . . . 6  |-  ( ph  ->  C  e.  Cat )
71, 2, 6idfu1st 14077 . . . . 5  |-  ( ph  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  C
) ) )
87coeq2d 5036 . . . 4  |-  ( ph  ->  ( ( 1st `  F
)  o.  ( 1st `  I ) )  =  ( ( 1st `  F
)  o.  (  _I  |`  ( Base `  C
) ) ) )
9 eqid 2437 . . . . . 6  |-  ( Base `  D )  =  (
Base `  D )
10 relfunc 14060 . . . . . . 7  |-  Rel  ( C  Func  D )
11 1st2ndbr 6397 . . . . . . 7  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
1210, 3, 11sylancr 646 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
132, 9, 12funcf1 14064 . . . . 5  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
14 fcoi1 5618 . . . . 5  |-  ( ( 1st `  F ) : ( Base `  C
) --> ( Base `  D
)  ->  ( ( 1st `  F )  o.  (  _I  |`  ( Base `  C ) ) )  =  ( 1st `  F ) )
1513, 14syl 16 . . . 4  |-  ( ph  ->  ( ( 1st `  F
)  o.  (  _I  |`  ( Base `  C
) ) )  =  ( 1st `  F
) )
168, 15eqtrd 2469 . . 3  |-  ( ph  ->  ( ( 1st `  F
)  o.  ( 1st `  I ) )  =  ( 1st `  F
) )
1773ad2ant1 979 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  C
) ) )
1817fveq1d 5731 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  x
)  =  ( (  _I  |`  ( Base `  C ) ) `  x ) )
19 fvresi 5925 . . . . . . . . . 10  |-  ( x  e.  ( Base `  C
)  ->  ( (  _I  |`  ( Base `  C
) ) `  x
)  =  x )
20193ad2ant2 980 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( (  _I  |`  ( Base `  C
) ) `  x
)  =  x )
2118, 20eqtrd 2469 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  x
)  =  x )
2217fveq1d 5731 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  y
)  =  ( (  _I  |`  ( Base `  C ) ) `  y ) )
23 fvresi 5925 . . . . . . . . . 10  |-  ( y  e.  ( Base `  C
)  ->  ( (  _I  |`  ( Base `  C
) ) `  y
)  =  y )
24233ad2ant3 981 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( (  _I  |`  ( Base `  C
) ) `  y
)  =  y )
2522, 24eqtrd 2469 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  I ) `  y
)  =  y )
2621, 25oveq12d 6100 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( ( 1st `  I ) `
 x ) ( 2nd `  F ) ( ( 1st `  I
) `  y )
)  =  ( x ( 2nd `  F
) y ) )
2763ad2ant1 979 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  C  e.  Cat )
28 eqid 2437 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
29 simp2 959 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  x  e.  (
Base `  C )
)
30 simp3 960 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  y  e.  (
Base `  C )
)
311, 2, 27, 28, 29, 30idfu2nd 14075 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( x ( 2nd `  I ) y )  =  (  _I  |`  ( x
(  Hom  `  C ) y ) ) )
3226, 31coeq12d 5038 . . . . . 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 2437 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
34123ad2ant1 979 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
352, 28, 33, 34, 29, 30funcf2 14066 . . . . . . 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 5618 . . . . . . 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 16 . . . . . 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 2469 . . . . 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 6139 . . . 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 14067 . . . . 5  |-  ( ph  ->  ( 2nd `  F
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
41 fnov 6179 . . . . 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 190 . . . 4  |-  ( ph  ->  ( 2nd `  F
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
4339, 42eqtr4d 2472 . . 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 3993 . 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 14079 . . . 4  |-  ( C  e.  Cat  ->  I  e.  ( C  Func  C
) )
466, 45syl 16 . . 3  |-  ( ph  ->  I  e.  ( C 
Func  C ) )
472, 46, 3cofuval 14080 . 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 6394 . . 3  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  F  =  <. ( 1st `  F
) ,  ( 2nd `  F ) >. )
4910, 3, 48sylancr 646 . 2  |-  ( ph  ->  F  =  <. ( 1st `  F ) ,  ( 2nd `  F
) >. )
5044, 47, 493eqtr4d 2479 1  |-  ( ph  ->  ( F  o.func  I )  =  F )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   <.cop 3818   class class class wbr 4213    _I cid 4494    X. cxp 4877    |` cres 4881    o. ccom 4883   Rel wrel 4884    Fn wfn 5450   -->wf 5451   ` cfv 5455  (class class class)co 6082    e. cmpt2 6084   1stc1st 6348   2ndc2nd 6349   Basecbs 13470    Hom chom 13541   Catccat 13890    Func cfunc 14052  idfunccidfu 14053    o.func ccofu 14054
This theorem is referenced by:  catccatid  14258
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2418  ax-rep 4321  ax-sep 4331  ax-nul 4339  ax-pow 4378  ax-pr 4404  ax-un 4702
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2286  df-mo 2287  df-clab 2424  df-cleq 2430  df-clel 2433  df-nfc 2562  df-ne 2602  df-ral 2711  df-rex 2712  df-reu 2713  df-rmo 2714  df-rab 2715  df-v 2959  df-sbc 3163  df-csb 3253  df-dif 3324  df-un 3326  df-in 3328  df-ss 3335  df-nul 3630  df-if 3741  df-pw 3802  df-sn 3821  df-pr 3822  df-op 3824  df-uni 4017  df-iun 4096  df-br 4214  df-opab 4268  df-mpt 4269  df-id 4499  df-xp 4885  df-rel 4886  df-cnv 4887  df-co 4888  df-dm 4889  df-rn 4890  df-res 4891  df-ima 4892  df-iota 5419  df-fun 5457  df-fn 5458  df-f 5459  df-f1 5460  df-fo 5461  df-f1o 5462  df-fv 5463  df-ov 6085  df-oprab 6086  df-mpt2 6087  df-1st 6350  df-2nd 6351  df-riota 6550  df-map 7021  df-ixp 7065  df-cat 13894  df-cid 13895  df-func 14056  df-idfu 14057  df-cofu 14058
  Copyright terms: Public domain W3C validator