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

Theorem fucass 14124
Description: Associativity of natural transformation composition. (Contributed by Mario Carneiro, 6-Jan-2017.)
Hypotheses
Ref Expression
fucass.q  |-  Q  =  ( C FuncCat  D )
fucass.n  |-  N  =  ( C Nat  D )
fucass.x  |-  .xb  =  (comp `  Q )
fucass.r  |-  ( ph  ->  R  e.  ( F N G ) )
fucass.s  |-  ( ph  ->  S  e.  ( G N H ) )
fucass.t  |-  ( ph  ->  T  e.  ( H N K ) )
Assertion
Ref Expression
fucass  |-  ( ph  ->  ( ( T (
<. G ,  H >.  .xb 
K ) S ) ( <. F ,  G >. 
.xb  K ) R )  =  ( T ( <. F ,  H >. 
.xb  K ) ( S ( <. F ,  G >.  .xb  H ) R ) ) )

Proof of Theorem fucass
Dummy variable  x is distinct from all other variables.
StepHypRef Expression
1 eqid 2408 . . . . 5  |-  ( Base `  D )  =  (
Base `  D )
2 eqid 2408 . . . . 5  |-  (  Hom  `  D )  =  (  Hom  `  D )
3 eqid 2408 . . . . 5  |-  (comp `  D )  =  (comp `  D )
4 fucass.r . . . . . . . . . 10  |-  ( ph  ->  R  e.  ( F N G ) )
5 fucass.n . . . . . . . . . . 11  |-  N  =  ( C Nat  D )
65natrcl 14106 . . . . . . . . . 10  |-  ( R  e.  ( F N G )  ->  ( F  e.  ( C  Func  D )  /\  G  e.  ( C  Func  D
) ) )
74, 6syl 16 . . . . . . . . 9  |-  ( ph  ->  ( F  e.  ( C  Func  D )  /\  G  e.  ( C  Func  D ) ) )
87simpld 446 . . . . . . . 8  |-  ( ph  ->  F  e.  ( C 
Func  D ) )
9 funcrcl 14019 . . . . . . . 8  |-  ( F  e.  ( C  Func  D )  ->  ( C  e.  Cat  /\  D  e. 
Cat ) )
108, 9syl 16 . . . . . . 7  |-  ( ph  ->  ( C  e.  Cat  /\  D  e.  Cat )
)
1110simprd 450 . . . . . 6  |-  ( ph  ->  D  e.  Cat )
1211adantr 452 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  D  e.  Cat )
13 eqid 2408 . . . . . . 7  |-  ( Base `  C )  =  (
Base `  C )
14 relfunc 14018 . . . . . . . 8  |-  Rel  ( C  Func  D )
15 1st2ndbr 6359 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  F  e.  ( C  Func  D
) )  ->  ( 1st `  F ) ( C  Func  D )
( 2nd `  F
) )
1614, 8, 15sylancr 645 . . . . . . 7  |-  ( ph  ->  ( 1st `  F
) ( C  Func  D ) ( 2nd `  F
) )
1713, 1, 16funcf1 14022 . . . . . 6  |-  ( ph  ->  ( 1st `  F
) : ( Base `  C ) --> ( Base `  D ) )
1817ffvelrnda 5833 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  F ) `  x )  e.  (
Base `  D )
)
197simprd 450 . . . . . . . 8  |-  ( ph  ->  G  e.  ( C 
Func  D ) )
20 1st2ndbr 6359 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  G  e.  ( C  Func  D
) )  ->  ( 1st `  G ) ( C  Func  D )
( 2nd `  G
) )
2114, 19, 20sylancr 645 . . . . . . 7  |-  ( ph  ->  ( 1st `  G
) ( C  Func  D ) ( 2nd `  G
) )
2213, 1, 21funcf1 14022 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) : ( Base `  C ) --> ( Base `  D ) )
2322ffvelrnda 5833 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  e.  (
Base `  D )
)
24 fucass.t . . . . . . . . . 10  |-  ( ph  ->  T  e.  ( H N K ) )
255natrcl 14106 . . . . . . . . . 10  |-  ( T  e.  ( H N K )  ->  ( H  e.  ( C  Func  D )  /\  K  e.  ( C  Func  D
) ) )
2624, 25syl 16 . . . . . . . . 9  |-  ( ph  ->  ( H  e.  ( C  Func  D )  /\  K  e.  ( C  Func  D ) ) )
2726simpld 446 . . . . . . . 8  |-  ( ph  ->  H  e.  ( C 
Func  D ) )
28 1st2ndbr 6359 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  H  e.  ( C  Func  D
) )  ->  ( 1st `  H ) ( C  Func  D )
( 2nd `  H
) )
2914, 27, 28sylancr 645 . . . . . . 7  |-  ( ph  ->  ( 1st `  H
) ( C  Func  D ) ( 2nd `  H
) )
3013, 1, 29funcf1 14022 . . . . . 6  |-  ( ph  ->  ( 1st `  H
) : ( Base `  C ) --> ( Base `  D ) )
3130ffvelrnda 5833 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  H ) `  x )  e.  (
Base `  D )
)
325, 4nat1st2nd 14107 . . . . . . 7  |-  ( ph  ->  R  e.  ( <.
( 1st `  F
) ,  ( 2nd `  F ) >. N <. ( 1st `  G ) ,  ( 2nd `  G
) >. ) )
3332adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  R  e.  ( <. ( 1st `  F
) ,  ( 2nd `  F ) >. N <. ( 1st `  G ) ,  ( 2nd `  G
) >. ) )
34 simpr 448 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  x  e.  ( Base `  C )
)
355, 33, 13, 2, 34natcl 14109 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( R `  x )  e.  ( ( ( 1st `  F
) `  x )
(  Hom  `  D ) ( ( 1st `  G
) `  x )
) )
36 fucass.s . . . . . . . 8  |-  ( ph  ->  S  e.  ( G N H ) )
375, 36nat1st2nd 14107 . . . . . . 7  |-  ( ph  ->  S  e.  ( <.
( 1st `  G
) ,  ( 2nd `  G ) >. N <. ( 1st `  H ) ,  ( 2nd `  H
) >. ) )
3837adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  S  e.  ( <. ( 1st `  G
) ,  ( 2nd `  G ) >. N <. ( 1st `  H ) ,  ( 2nd `  H
) >. ) )
395, 38, 13, 2, 34natcl 14109 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( S `  x )  e.  ( ( ( 1st `  G
) `  x )
(  Hom  `  D ) ( ( 1st `  H
) `  x )
) )
4026simprd 450 . . . . . . . 8  |-  ( ph  ->  K  e.  ( C 
Func  D ) )
41 1st2ndbr 6359 . . . . . . . 8  |-  ( ( Rel  ( C  Func  D )  /\  K  e.  ( C  Func  D
) )  ->  ( 1st `  K ) ( C  Func  D )
( 2nd `  K
) )
4214, 40, 41sylancr 645 . . . . . . 7  |-  ( ph  ->  ( 1st `  K
) ( C  Func  D ) ( 2nd `  K
) )
4313, 1, 42funcf1 14022 . . . . . 6  |-  ( ph  ->  ( 1st `  K
) : ( Base `  C ) --> ( Base `  D ) )
4443ffvelrnda 5833 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  K ) `  x )  e.  (
Base `  D )
)
455, 24nat1st2nd 14107 . . . . . . 7  |-  ( ph  ->  T  e.  ( <.
( 1st `  H
) ,  ( 2nd `  H ) >. N <. ( 1st `  K ) ,  ( 2nd `  K
) >. ) )
4645adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  T  e.  ( <. ( 1st `  H
) ,  ( 2nd `  H ) >. N <. ( 1st `  K ) ,  ( 2nd `  K
) >. ) )
475, 46, 13, 2, 34natcl 14109 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( T `  x )  e.  ( ( ( 1st `  H
) `  x )
(  Hom  `  D ) ( ( 1st `  K
) `  x )
) )
481, 2, 3, 12, 18, 23, 31, 35, 39, 44, 47catass 13870 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( T `  x
) ( <. (
( 1st `  G
) `  x ) ,  ( ( 1st `  H ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( S `
 x ) ) ( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  G ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( R `  x ) )  =  ( ( T `  x ) ( <.
( ( 1st `  F
) `  x ) ,  ( ( 1st `  H ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( ( S `  x ) ( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  G ) `
 x ) >.
(comp `  D )
( ( 1st `  H
) `  x )
) ( R `  x ) ) ) )
49 fucass.q . . . . . 6  |-  Q  =  ( C FuncCat  D )
50 fucass.x . . . . . 6  |-  .xb  =  (comp `  Q )
5136adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  S  e.  ( G N H ) )
5224adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  T  e.  ( H N K ) )
5349, 5, 13, 3, 50, 51, 52, 34fuccoval 14119 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( T ( <. G ,  H >.  .xb  K ) S ) `  x )  =  ( ( T `
 x ) (
<. ( ( 1st `  G
) `  x ) ,  ( ( 1st `  H ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( S `
 x ) ) )
5453oveq1d 6059 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( T ( <. G ,  H >.  .xb 
K ) S ) `
 x ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  G ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( R `
 x ) )  =  ( ( ( T `  x ) ( <. ( ( 1st `  G ) `  x
) ,  ( ( 1st `  H ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( S `  x ) ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  G ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( R `
 x ) ) )
554adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  R  e.  ( F N G ) )
5649, 5, 13, 3, 50, 55, 51, 34fuccoval 14119 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( S ( <. F ,  G >.  .xb  H ) R ) `  x )  =  ( ( S `
 x ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  G ) `  x
) >. (comp `  D
) ( ( 1st `  H ) `  x
) ) ( R `
 x ) ) )
5756oveq2d 6060 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( T `  x )
( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  H ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( ( S ( <. F ,  G >. 
.xb  H ) R ) `  x ) )  =  ( ( T `  x ) ( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  H ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( ( S `
 x ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  G ) `  x
) >. (comp `  D
) ( ( 1st `  H ) `  x
) ) ( R `
 x ) ) ) )
5848, 54, 573eqtr4d 2450 . . 3  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( (
( T ( <. G ,  H >.  .xb 
K ) S ) `
 x ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  G ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( R `
 x ) )  =  ( ( T `
 x ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  H ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( ( S ( <. F ,  G >.  .xb  H ) R ) `  x ) ) )
5958mpteq2dva 4259 . 2  |-  ( ph  ->  ( x  e.  (
Base `  C )  |->  ( ( ( T ( <. G ,  H >. 
.xb  K ) S ) `  x ) ( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  G ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( R `  x ) ) )  =  ( x  e.  ( Base `  C
)  |->  ( ( T `
 x ) (
<. ( ( 1st `  F
) `  x ) ,  ( ( 1st `  H ) `  x
) >. (comp `  D
) ( ( 1st `  K ) `  x
) ) ( ( S ( <. F ,  G >.  .xb  H ) R ) `  x ) ) ) )
6049, 5, 50, 36, 24fuccocl 14120 . . 3  |-  ( ph  ->  ( T ( <. G ,  H >.  .xb 
K ) S )  e.  ( G N K ) )
6149, 5, 13, 3, 50, 4, 60fucco 14118 . 2  |-  ( ph  ->  ( ( T (
<. G ,  H >.  .xb 
K ) S ) ( <. F ,  G >. 
.xb  K ) R )  =  ( x  e.  ( Base `  C
)  |->  ( ( ( T ( <. G ,  H >.  .xb  K ) S ) `  x ) ( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  G ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( R `  x ) ) ) )
6249, 5, 50, 4, 36fuccocl 14120 . . 3  |-  ( ph  ->  ( S ( <. F ,  G >.  .xb 
H ) R )  e.  ( F N H ) )
6349, 5, 13, 3, 50, 62, 24fucco 14118 . 2  |-  ( ph  ->  ( T ( <. F ,  H >.  .xb 
K ) ( S ( <. F ,  G >. 
.xb  H ) R ) )  =  ( x  e.  ( Base `  C )  |->  ( ( T `  x ) ( <. ( ( 1st `  F ) `  x
) ,  ( ( 1st `  H ) `
 x ) >.
(comp `  D )
( ( 1st `  K
) `  x )
) ( ( S ( <. F ,  G >. 
.xb  H ) R ) `  x ) ) ) )
6459, 61, 633eqtr4d 2450 1  |-  ( ph  ->  ( ( T (
<. G ,  H >.  .xb 
K ) S ) ( <. F ,  G >. 
.xb  K ) R )  =  ( T ( <. F ,  H >. 
.xb  K ) ( S ( <. F ,  G >.  .xb  H ) R ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1649    e. wcel 1721   <.cop 3781   class class class wbr 4176    e. cmpt 4230   Rel wrel 4846   ` cfv 5417  (class class class)co 6044   1stc1st 6310   2ndc2nd 6311   Basecbs 13428    Hom chom 13499  compcco 13500   Catccat 13848    Func cfunc 14010   Nat cnat 14097   FuncCat cfuc 14098
This theorem is referenced by:  fuccatid  14125
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2389  ax-rep 4284  ax-sep 4294  ax-nul 4302  ax-pow 4341  ax-pr 4367  ax-un 4664  ax-cnex 9006  ax-resscn 9007  ax-1cn 9008  ax-icn 9009  ax-addcl 9010  ax-addrcl 9011  ax-mulcl 9012  ax-mulrcl 9013  ax-mulcom 9014  ax-addass 9015  ax-mulass 9016  ax-distr 9017  ax-i2m1 9018  ax-1ne0 9019  ax-1rid 9020  ax-rnegex 9021  ax-rrecex 9022  ax-cnre 9023  ax-pre-lttri 9024  ax-pre-lttrn 9025  ax-pre-ltadd 9026  ax-pre-mulgt0 9027
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2262  df-mo 2263  df-clab 2395  df-cleq 2401  df-clel 2404  df-nfc 2533  df-ne 2573  df-nel 2574  df-ral 2675  df-rex 2676  df-reu 2677  df-rab 2679  df-v 2922  df-sbc 3126  df-csb 3216  df-dif 3287  df-un 3289  df-in 3291  df-ss 3298  df-pss 3300  df-nul 3593  df-if 3704  df-pw 3765  df-sn 3784  df-pr 3785  df-tp 3786  df-op 3787  df-uni 3980  df-int 4015  df-iun 4059  df-br 4177  df-opab 4231  df-mpt 4232  df-tr 4267  df-eprel 4458  df-id 4462  df-po 4467  df-so 4468  df-fr 4505  df-we 4507  df-ord 4548  df-on 4549  df-lim 4550  df-suc 4551  df-om 4809  df-xp 4847  df-rel 4848  df-cnv 4849  df-co 4850  df-dm 4851  df-rn 4852  df-res 4853  df-ima 4854  df-iota 5381  df-fun 5419  df-fn 5420  df-f 5421  df-f1 5422  df-fo 5423  df-f1o 5424  df-fv 5425  df-ov 6047  df-oprab 6048  df-mpt2 6049  df-1st 6312  df-2nd 6313  df-riota 6512  df-recs 6596  df-rdg 6631  df-1o 6687  df-oadd 6691  df-er 6868  df-map 6983  df-ixp 7027  df-en 7073  df-dom 7074  df-sdom 7075  df-fin 7076  df-pnf 9082  df-mnf 9083  df-xr 9084  df-ltxr 9085  df-le 9086  df-sub 9253  df-neg 9254  df-nn 9961  df-2 10018  df-3 10019  df-4 10020  df-5 10021  df-6 10022  df-7 10023  df-8 10024  df-9 10025  df-10 10026  df-n0 10182  df-z 10243  df-dec 10343  df-uz 10449  df-fz 11004  df-struct 13430  df-ndx 13431  df-slot 13432  df-base 13433  df-hom 13512  df-cco 13513  df-cat 13852  df-func 14014  df-nat 14099  df-fuc 14100
  Copyright terms: Public domain W3C validator