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

Theorem cofulid 14087
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 2436 . . . . . 6  |-  ( Base `  D )  =  (
Base `  D )
3 cofulid.g . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
4 funcrcl 14060 . . . . . . . 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 14076 . . . . 5  |-  ( ph  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  D
) ) )
87coeq1d 5034 . . . 4  |-  ( ph  ->  ( ( 1st `  I
)  o.  ( 1st `  F ) )  =  ( (  _I  |`  ( Base `  D ) )  o.  ( 1st `  F
) ) )
9 eqid 2436 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
10 relfunc 14059 . . . . . . 7  |-  Rel  ( C  Func  D )
11 1st2ndbr 6396 . . . . . . 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 14063 . . . . 5  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
14 fcoi2 5618 . . . . 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 2468 . . 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 2436 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
1913ffvelrnda 5870 . . . . . . . . 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 5870 . . . . . . . . 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 14074 . . . . . . 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 5034 . . . . . 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 2436 . . . . . . . 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 14065 . . . . . . 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 5618 . . . . . . 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 2468 . . . . 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 6138 . . . 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 14066 . . . . 5  |-  ( ph  ->  ( 2nd `  F
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
35 fnov 6178 . . . . 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 2471 . . 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 3992 . 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 14078 . . . 4  |-  ( D  e.  Cat  ->  I  e.  ( D  Func  D
) )
406, 39syl 16 . . 3  |-  ( ph  ->  I  e.  ( D 
Func  D ) )
419, 3, 40cofuval 14079 . 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 6393 . . 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 2478 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 3817   class class class wbr 4212    _I cid 4493    X. cxp 4876    |` cres 4880    o. ccom 4882   Rel wrel 4883    Fn wfn 5449   -->wf 5450   ` cfv 5454  (class class class)co 6081    e. cmpt2 6083   1stc1st 6347   2ndc2nd 6348   Basecbs 13469    Hom chom 13540   Catccat 13889    Func cfunc 14051  idfunccidfu 14052    o.func ccofu 14053
This theorem is referenced by:  catccatid  14257
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 2417  ax-rep 4320  ax-sep 4330  ax-nul 4338  ax-pow 4377  ax-pr 4403  ax-un 4701
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 2285  df-mo 2286  df-clab 2423  df-cleq 2429  df-clel 2432  df-nfc 2561  df-ne 2601  df-ral 2710  df-rex 2711  df-reu 2712  df-rmo 2713  df-rab 2714  df-v 2958  df-sbc 3162  df-csb 3252  df-dif 3323  df-un 3325  df-in 3327  df-ss 3334  df-nul 3629  df-if 3740  df-pw 3801  df-sn 3820  df-pr 3821  df-op 3823  df-uni 4016  df-iun 4095  df-br 4213  df-opab 4267  df-mpt 4268  df-id 4498  df-xp 4884  df-rel 4885  df-cnv 4886  df-co 4887  df-dm 4888  df-rn 4889  df-res 4890  df-ima 4891  df-iota 5418  df-fun 5456  df-fn 5457  df-f 5458  df-f1 5459  df-fo 5460  df-f1o 5461  df-fv 5462  df-ov 6084  df-oprab 6085  df-mpt2 6086  df-1st 6349  df-2nd 6350  df-riota 6549  df-map 7020  df-ixp 7064  df-cat 13893  df-cid 13894  df-func 14055  df-idfu 14056  df-cofu 14057
  Copyright terms: Public domain W3C validator