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

Theorem cofulid 14092
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 2438 . . . . . 6  |-  ( Base `  D )  =  (
Base `  D )
3 cofulid.g . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
4 funcrcl 14065 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
53, 4syl 16 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
65simprd 451 . . . . . 6  |-  ( ph  ->  D  e.  Cat )
71, 2, 6idfu1st 14081 . . . . 5  |-  ( ph  ->  ( 1st `  I
)  =  (  _I  |`  ( Base `  D
) ) )
87coeq1d 5037 . . . 4  |-  ( ph  ->  ( ( 1st `  I
)  o.  ( 1st `  F ) )  =  ( (  _I  |`  ( Base `  D ) )  o.  ( 1st `  F
) ) )
9 eqid 2438 . . . . . 6  |-  ( Base `  C )  =  (
Base `  C )
10 relfunc 14064 . . . . . . 7  |-  Rel  ( C  Func  D )
11 1st2ndbr 6399 . . . . . . 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
) )
139, 2, 12funcf1 14068 . . . . 5  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
14 fcoi2 5621 . . . . 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 2470 . . 3  |-  ( ph  ->  ( ( 1st `  I
)  o.  ( 1st `  F ) )  =  ( 1st `  F
) )
1763ad2ant1 979 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  D  e.  Cat )
18 eqid 2438 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
1913ffvelrnda 5873 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
20193adant3 978 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  F ) `  x
)  e.  ( Base `  D ) )
2113ffvelrnda 5873 . . . . . . . . 9  |-  ( (
ph  /\  y  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  y )  e.  (
Base `  D )
)
22213adant2 977 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( ( 1st `  F ) `  y
)  e.  ( Base `  D ) )
231, 2, 17, 18, 20, 22idfu2nd 14079 . . . . . . 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 5037 . . . . . 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 2438 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
26123ad2ant1 979 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
27 simp2 959 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  x  e.  (
Base `  C )
)
28 simp3 960 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  y  e.  (
Base `  C )
)
299, 25, 18, 26, 27, 28funcf2 14070 . . . . . . 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 5621 . . . . . . 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 2470 . . . . 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 6141 . . . 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 14071 . . . . 5  |-  ( ph  ->  ( 2nd `  F
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
35 fnov 6181 . . . . 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 190 . . . 4  |-  ( ph  ->  ( 2nd `  F
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  F ) y ) ) )
3733, 36eqtr4d 2473 . . 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 3994 . 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 14083 . . . 4  |-  ( D  e.  Cat  ->  I  e.  ( D  Func  D
) )
406, 39syl 16 . . 3  |-  ( ph  ->  I  e.  ( D 
Func  D ) )
419, 3, 40cofuval 14084 . 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 6396 . . 3  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  F  =  <. ( 1st `  F
) ,  ( 2nd `  F ) >. )
4310, 3, 42sylancr 646 . 2  |-  ( ph  ->  F  =  <. ( 1st `  F ) ,  ( 2nd `  F
) >. )
4438, 41, 433eqtr4d 2480 1  |-  ( ph  ->  ( I  o.func  F )  =  F )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726   <.cop 3819   class class class wbr 4215    _I cid 4496    X. cxp 4879    |` cres 4883    o. ccom 4885   Rel wrel 4886    Fn wfn 5452   -->wf 5453   ` cfv 5457  (class class class)co 6084    e. cmpt2 6086   1stc1st 6350   2ndc2nd 6351   Basecbs 13474    Hom chom 13545   Catccat 13894    Func cfunc 14056  idfunccidfu 14057    o.func ccofu 14058
This theorem is referenced by:  catccatid  14262
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 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 2419  ax-rep 4323  ax-sep 4333  ax-nul 4341  ax-pow 4380  ax-pr 4406  ax-un 4704
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 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-op 3825  df-uni 4018  df-iun 4097  df-br 4216  df-opab 4270  df-mpt 4271  df-id 4501  df-xp 4887  df-rel 4888  df-cnv 4889  df-co 4890  df-dm 4891  df-rn 4892  df-res 4893  df-ima 4894  df-iota 5421  df-fun 5459  df-fn 5460  df-f 5461  df-f1 5462  df-fo 5463  df-f1o 5464  df-fv 5465  df-ov 6087  df-oprab 6088  df-mpt2 6089  df-1st 6352  df-2nd 6353  df-riota 6552  df-map 7023  df-ixp 7067  df-cat 13898  df-cid 13899  df-func 14060  df-idfu 14061  df-cofu 14062
  Copyright terms: Public domain W3C validator