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

Theorem curfpropd 14257
Description: If two categories have the same set of objects, morphisms, and compositions, then they curry the same functor to the same result. (Contributed by Mario Carneiro, 26-Jan-2017.)
Hypotheses
Ref Expression
curfpropd.1  |-  ( ph  ->  (  Homf 
`  A )  =  (  Homf 
`  B ) )
curfpropd.2  |-  ( ph  ->  (compf `  A )  =  (compf `  B ) )
curfpropd.3  |-  ( ph  ->  (  Homf 
`  C )  =  (  Homf 
`  D ) )
curfpropd.4  |-  ( ph  ->  (compf `  C )  =  (compf `  D ) )
curfpropd.a  |-  ( ph  ->  A  e.  Cat )
curfpropd.b  |-  ( ph  ->  B  e.  Cat )
curfpropd.c  |-  ( ph  ->  C  e.  Cat )
curfpropd.d  |-  ( ph  ->  D  e.  Cat )
curfpropd.f  |-  ( ph  ->  F  e.  ( ( A  X.c  C )  Func  E
) )
Assertion
Ref Expression
curfpropd  |-  ( ph  ->  ( <. A ,  C >. curryF  F
)  =  ( <. B ,  D >. curryF  F ) )

Proof of Theorem curfpropd
Dummy variables  x  g  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 curfpropd.1 . . . . 5  |-  ( ph  ->  (  Homf 
`  A )  =  (  Homf 
`  B ) )
21homfeqbas 13849 . . . 4  |-  ( ph  ->  ( Base `  A
)  =  ( Base `  B ) )
3 curfpropd.3 . . . . . . . 8  |-  ( ph  ->  (  Homf 
`  C )  =  (  Homf 
`  D ) )
43homfeqbas 13849 . . . . . . 7  |-  ( ph  ->  ( Base `  C
)  =  ( Base `  D ) )
54adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  A )
)  ->  ( Base `  C )  =  (
Base `  D )
)
65mpteq1d 4231 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  A )
)  ->  ( y  e.  ( Base `  C
)  |->  ( x ( 1st `  F ) y ) )  =  ( y  e.  (
Base `  D )  |->  ( x ( 1st `  F ) y ) ) )
75adantr 452 . . . . . 6  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  y  e.  ( Base `  C
) )  ->  ( Base `  C )  =  ( Base `  D
) )
8 eqid 2387 . . . . . . . 8  |-  ( Base `  C )  =  (
Base `  C )
9 eqid 2387 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
10 eqid 2387 . . . . . . . 8  |-  (  Hom  `  D )  =  (  Hom  `  D )
113ad2antrr 707 . . . . . . . 8  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
(  Homf 
`  C )  =  (  Homf 
`  D ) )
12 simprl 733 . . . . . . . 8  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
y  e.  ( Base `  C ) )
13 simprr 734 . . . . . . . 8  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
z  e.  ( Base `  C ) )
148, 9, 10, 11, 12, 13homfeqval 13850 . . . . . . 7  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
( y (  Hom  `  C ) z )  =  ( y (  Hom  `  D )
z ) )
15 curfpropd.2 . . . . . . . . . . 11  |-  ( ph  ->  (compf `  A )  =  (compf `  B ) )
16 curfpropd.a . . . . . . . . . . 11  |-  ( ph  ->  A  e.  Cat )
17 curfpropd.b . . . . . . . . . . 11  |-  ( ph  ->  B  e.  Cat )
181, 15, 16, 17cidpropd 13863 . . . . . . . . . 10  |-  ( ph  ->  ( Id `  A
)  =  ( Id
`  B ) )
1918ad2antrr 707 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
( Id `  A
)  =  ( Id
`  B ) )
2019fveq1d 5670 . . . . . . . 8  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
( ( Id `  A ) `  x
)  =  ( ( Id `  B ) `
 x ) )
2120oveq1d 6035 . . . . . . 7  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
( ( ( Id
`  A ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g )  =  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) )
2214, 21mpteq12dv 4228 . . . . . 6  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
( g  e.  ( y (  Hom  `  C
) z )  |->  ( ( ( Id `  A ) `  x
) ( <. x ,  y >. ( 2nd `  F ) <.
x ,  z >.
) g ) )  =  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) )
235, 7, 22mpt2eq123dva 6074 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  A )
)  ->  ( y  e.  ( Base `  C
) ,  z  e.  ( Base `  C
)  |->  ( g  e.  ( y (  Hom  `  C ) z ) 
|->  ( ( ( Id
`  A ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) )  =  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) )
246, 23opeq12d 3934 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  A )
)  ->  <. ( y  e.  ( Base `  C
)  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  (
Base `  C ) ,  z  e.  ( Base `  C )  |->  ( g  e.  ( y (  Hom  `  C
) z )  |->  ( ( ( Id `  A ) `  x
) ( <. x ,  y >. ( 2nd `  F ) <.
x ,  z >.
) g ) ) ) >.  =  <. ( y  e.  ( Base `  D )  |->  ( x ( 1st `  F
) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. )
252, 24mpteq12dva 4227 . . 3  |-  ( ph  ->  ( x  e.  (
Base `  A )  |-> 
<. ( y  e.  (
Base `  C )  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  ( Base `  C
) ,  z  e.  ( Base `  C
)  |->  ( g  e.  ( y (  Hom  `  C ) z ) 
|->  ( ( ( Id
`  A ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. )  =  ( x  e.  ( Base `  B )  |->  <. (
y  e.  ( Base `  D )  |->  ( x ( 1st `  F
) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) )
262adantr 452 . . . 4  |-  ( (
ph  /\  x  e.  ( Base `  A )
)  ->  ( Base `  A )  =  (
Base `  B )
)
27 eqid 2387 . . . . . 6  |-  ( Base `  A )  =  (
Base `  A )
28 eqid 2387 . . . . . 6  |-  (  Hom  `  A )  =  (  Hom  `  A )
29 eqid 2387 . . . . . 6  |-  (  Hom  `  B )  =  (  Hom  `  B )
301adantr 452 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  A
)  /\  y  e.  ( Base `  A )
) )  ->  (  Homf  `  A )  =  (  Homf 
`  B ) )
31 simprl 733 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  A
)  /\  y  e.  ( Base `  A )
) )  ->  x  e.  ( Base `  A
) )
32 simprr 734 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  A
)  /\  y  e.  ( Base `  A )
) )  ->  y  e.  ( Base `  A
) )
3327, 28, 29, 30, 31, 32homfeqval 13850 . . . . 5  |-  ( (
ph  /\  ( x  e.  ( Base `  A
)  /\  y  e.  ( Base `  A )
) )  ->  (
x (  Hom  `  A
) y )  =  ( x (  Hom  `  B ) y ) )
344ad2antrr 707 . . . . . 6  |-  ( ( ( ph  /\  (
x  e.  ( Base `  A )  /\  y  e.  ( Base `  A
) ) )  /\  g  e.  ( x
(  Hom  `  A ) y ) )  -> 
( Base `  C )  =  ( Base `  D
) )
35 curfpropd.4 . . . . . . . . . 10  |-  ( ph  ->  (compf `  C )  =  (compf `  D ) )
36 curfpropd.c . . . . . . . . . 10  |-  ( ph  ->  C  e.  Cat )
37 curfpropd.d . . . . . . . . . 10  |-  ( ph  ->  D  e.  Cat )
383, 35, 36, 37cidpropd 13863 . . . . . . . . 9  |-  ( ph  ->  ( Id `  C
)  =  ( Id
`  D ) )
3938ad3antrrr 711 . . . . . . . 8  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  A )  /\  y  e.  ( Base `  A ) ) )  /\  g  e.  ( x (  Hom  `  A
) y ) )  /\  z  e.  (
Base `  C )
)  ->  ( Id `  C )  =  ( Id `  D ) )
4039fveq1d 5670 . . . . . . 7  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  A )  /\  y  e.  ( Base `  A ) ) )  /\  g  e.  ( x (  Hom  `  A
) y ) )  /\  z  e.  (
Base `  C )
)  ->  ( ( Id `  C ) `  z )  =  ( ( Id `  D
) `  z )
)
4140oveq2d 6036 . . . . . 6  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  A )  /\  y  e.  ( Base `  A ) ) )  /\  g  e.  ( x (  Hom  `  A
) y ) )  /\  z  e.  (
Base `  C )
)  ->  ( g
( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  C ) `  z ) )  =  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) )
4234, 41mpteq12dva 4227 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  ( Base `  A )  /\  y  e.  ( Base `  A
) ) )  /\  g  e.  ( x
(  Hom  `  A ) y ) )  -> 
( z  e.  (
Base `  C )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  C ) `  z ) ) )  =  ( z  e.  ( Base `  D
)  |->  ( g (
<. x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) )
4333, 42mpteq12dva 4227 . . . 4  |-  ( (
ph  /\  ( x  e.  ( Base `  A
)  /\  y  e.  ( Base `  A )
) )  ->  (
g  e.  ( x (  Hom  `  A
) y )  |->  ( z  e.  ( Base `  C )  |->  ( g ( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  C ) `  z ) ) ) )  =  ( g  e.  ( x (  Hom  `  B )
y )  |->  ( z  e.  ( Base `  D
)  |->  ( g (
<. x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) )
442, 26, 43mpt2eq123dva 6074 . . 3  |-  ( ph  ->  ( x  e.  (
Base `  A ) ,  y  e.  ( Base `  A )  |->  ( g  e.  ( x (  Hom  `  A
) y )  |->  ( z  e.  ( Base `  C )  |->  ( g ( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  C ) `  z ) ) ) ) )  =  ( x  e.  ( Base `  B ) ,  y  e.  ( Base `  B
)  |->  ( g  e.  ( x (  Hom  `  B ) y ) 
|->  ( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) ) )
4525, 44opeq12d 3934 . 2  |-  ( ph  -> 
<. ( x  e.  (
Base `  A )  |-> 
<. ( y  e.  (
Base `  C )  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  ( Base `  C
) ,  z  e.  ( Base `  C
)  |->  ( g  e.  ( y (  Hom  `  C ) z ) 
|->  ( ( ( Id
`  A ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) ,  ( x  e.  ( Base `  A ) ,  y  e.  ( Base `  A
)  |->  ( g  e.  ( x (  Hom  `  A ) y ) 
|->  ( z  e.  (
Base `  C )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  C ) `  z ) ) ) ) ) >.  =  <. ( x  e.  ( Base `  B )  |->  <. (
y  e.  ( Base `  D )  |->  ( x ( 1st `  F
) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) ,  ( x  e.  ( Base `  B ) ,  y  e.  ( Base `  B
)  |->  ( g  e.  ( x (  Hom  `  B ) y ) 
|->  ( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) ) >. )
46 eqid 2387 . . 3  |-  ( <. A ,  C >. curryF  F )  =  ( <. A ,  C >. curryF  F )
47 curfpropd.f . . 3  |-  ( ph  ->  F  e.  ( ( A  X.c  C )  Func  E
) )
48 eqid 2387 . . 3  |-  ( Id
`  A )  =  ( Id `  A
)
49 eqid 2387 . . 3  |-  ( Id
`  C )  =  ( Id `  C
)
5046, 27, 16, 36, 47, 8, 9, 48, 28, 49curfval 14247 . 2  |-  ( ph  ->  ( <. A ,  C >. curryF  F
)  =  <. (
x  e.  ( Base `  A )  |->  <. (
y  e.  ( Base `  C )  |->  ( x ( 1st `  F
) y ) ) ,  ( y  e.  ( Base `  C
) ,  z  e.  ( Base `  C
)  |->  ( g  e.  ( y (  Hom  `  C ) z ) 
|->  ( ( ( Id
`  A ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) ,  ( x  e.  ( Base `  A ) ,  y  e.  ( Base `  A
)  |->  ( g  e.  ( x (  Hom  `  A ) y ) 
|->  ( z  e.  (
Base `  C )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  C ) `  z ) ) ) ) ) >. )
51 eqid 2387 . . 3  |-  ( <. B ,  D >. curryF  F )  =  ( <. B ,  D >. curryF  F )
52 eqid 2387 . . 3  |-  ( Base `  B )  =  (
Base `  B )
531, 15, 3, 35, 16, 17, 36, 37xpcpropd 14232 . . . . 5  |-  ( ph  ->  ( A  X.c  C )  =  ( B  X.c  D
) )
5453oveq1d 6035 . . . 4  |-  ( ph  ->  ( ( A  X.c  C
)  Func  E )  =  ( ( B  X.c  D )  Func  E
) )
5547, 54eleqtrd 2463 . . 3  |-  ( ph  ->  F  e.  ( ( B  X.c  D )  Func  E
) )
56 eqid 2387 . . 3  |-  ( Base `  D )  =  (
Base `  D )
57 eqid 2387 . . 3  |-  ( Id
`  B )  =  ( Id `  B
)
58 eqid 2387 . . 3  |-  ( Id
`  D )  =  ( Id `  D
)
5951, 52, 17, 37, 55, 56, 10, 57, 29, 58curfval 14247 . 2  |-  ( ph  ->  ( <. B ,  D >. curryF  F
)  =  <. (
x  e.  ( Base `  B )  |->  <. (
y  e.  ( Base `  D )  |->  ( x ( 1st `  F
) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  B ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) ,  ( x  e.  ( Base `  B ) ,  y  e.  ( Base `  B
)  |->  ( g  e.  ( x (  Hom  `  B ) y ) 
|->  ( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) ) >. )
6045, 50, 593eqtr4d 2429 1  |-  ( ph  ->  ( <. A ,  C >. curryF  F
)  =  ( <. B ,  D >. curryF  F ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1649    e. wcel 1717   <.cop 3760    e. cmpt 4207   ` cfv 5394  (class class class)co 6020    e. cmpt2 6022   1stc1st 6286   2ndc2nd 6287   Basecbs 13396    Hom chom 13467   Catccat 13816   Idccid 13817    Homf chomf 13818  compfccomf 13819    Func cfunc 13978    X.c cxpc 14192   curryF ccurf 14234
This theorem is referenced by:  yonpropd  14292  oppcyon  14293
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 1661  ax-8 1682  ax-13 1719  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2368  ax-rep 4261  ax-sep 4271  ax-nul 4279  ax-pow 4318  ax-pr 4344  ax-un 4641  ax-cnex 8979  ax-resscn 8980  ax-1cn 8981  ax-icn 8982  ax-addcl 8983  ax-addrcl 8984  ax-mulcl 8985  ax-mulrcl 8986  ax-mulcom 8987  ax-addass 8988  ax-mulass 8989  ax-distr 8990  ax-i2m1 8991  ax-1ne0 8992  ax-1rid 8993  ax-rnegex 8994  ax-rrecex 8995  ax-cnre 8996  ax-pre-lttri 8997  ax-pre-lttrn 8998  ax-pre-ltadd 8999  ax-pre-mulgt0 9000
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 2242  df-mo 2243  df-clab 2374  df-cleq 2380  df-clel 2383  df-nfc 2512  df-ne 2552  df-nel 2553  df-ral 2654  df-rex 2655  df-reu 2656  df-rab 2658  df-v 2901  df-sbc 3105  df-csb 3195  df-dif 3266  df-un 3268  df-in 3270  df-ss 3277  df-pss 3279  df-nul 3572  df-if 3683  df-pw 3744  df-sn 3763  df-pr 3764  df-tp 3765  df-op 3766  df-uni 3958  df-int 3993  df-iun 4037  df-br 4154  df-opab 4208  df-mpt 4209  df-tr 4244  df-eprel 4435  df-id 4439  df-po 4444  df-so 4445  df-fr 4482  df-we 4484  df-ord 4525  df-on 4526  df-lim 4527  df-suc 4528  df-om 4786  df-xp 4824  df-rel 4825  df-cnv 4826  df-co 4827  df-dm 4828  df-rn 4829  df-res 4830  df-ima 4831  df-iota 5358  df-fun 5396  df-fn 5397  df-f 5398  df-f1 5399  df-fo 5400  df-f1o 5401  df-fv 5402  df-ov 6023  df-oprab 6024  df-mpt2 6025  df-1st 6288  df-2nd 6289  df-riota 6485  df-recs 6569  df-rdg 6604  df-1o 6660  df-oadd 6664  df-er 6841  df-en 7046  df-dom 7047  df-sdom 7048  df-fin 7049  df-pnf 9055  df-mnf 9056  df-xr 9057  df-ltxr 9058  df-le 9059  df-sub 9225  df-neg 9226  df-nn 9933  df-2 9990  df-3 9991  df-4 9992  df-5 9993  df-6 9994  df-7 9995  df-8 9996  df-9 9997  df-10 9998  df-n0 10154  df-z 10215  df-dec 10315  df-uz 10421  df-fz 10976  df-struct 13398  df-ndx 13399  df-slot 13400  df-base 13401  df-hom 13480  df-cco 13481  df-cat 13820  df-cid 13821  df-homf 13822  df-comf 13823  df-xpc 14196  df-curf 14238
  Copyright terms: Public domain W3C validator