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

Theorem curfpropd 14322
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 13914 . . . 4  |-  ( ph  ->  ( Base `  A
)  =  ( Base `  B ) )
3 curfpropd.3 . . . . . . . 8  |-  ( ph  ->  (  Homf 
`  C )  =  (  Homf 
`  D ) )
43homfeqbas 13914 . . . . . . 7  |-  ( ph  ->  ( Base `  C
)  =  ( Base `  D ) )
54adantr 452 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  A )
)  ->  ( Base `  C )  =  (
Base `  D )
)
65mpteq1d 4282 . . . . 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 2435 . . . . . . . 8  |-  ( Base `  C )  =  (
Base `  C )
9 eqid 2435 . . . . . . . 8  |-  (  Hom  `  C )  =  (  Hom  `  C )
10 eqid 2435 . . . . . . . 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 13915 . . . . . . 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 13928 . . . . . . . . . 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 5722 . . . . . . . 8  |-  ( ( ( ph  /\  x  e.  ( Base `  A
) )  /\  (
y  e.  ( Base `  C )  /\  z  e.  ( Base `  C
) ) )  -> 
( ( Id `  A ) `  x
)  =  ( ( Id `  B ) `
 x ) )
2120oveq1d 6088 . . . . . . 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 4279 . . . . . 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 6127 . . . . 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 3984 . . . 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 4278 . . 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 2435 . . . . . 6  |-  ( Base `  A )  =  (
Base `  A )
28 eqid 2435 . . . . . 6  |-  (  Hom  `  A )  =  (  Hom  `  A )
29 eqid 2435 . . . . . 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 13915 . . . . 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 13928 . . . . . . . . 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 5722 . . . . . . 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 6089 . . . . . 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 4278 . . . . 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 4278 . . . 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 6127 . . 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 3984 . 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 2435 . . 3  |-  ( <. A ,  C >. curryF  F )  =  ( <. A ,  C >. curryF  F )
47 curfpropd.f . . 3  |-  ( ph  ->  F  e.  ( ( A  X.c  C )  Func  E
) )
48 eqid 2435 . . 3  |-  ( Id
`  A )  =  ( Id `  A
)
49 eqid 2435 . . 3  |-  ( Id
`  C )  =  ( Id `  C
)
5046, 27, 16, 36, 47, 8, 9, 48, 28, 49curfval 14312 . 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 2435 . . 3  |-  ( <. B ,  D >. curryF  F )  =  ( <. B ,  D >. curryF  F )
52 eqid 2435 . . 3  |-  ( Base `  B )  =  (
Base `  B )
531, 15, 3, 35, 16, 17, 36, 37xpcpropd 14297 . . . . 5  |-  ( ph  ->  ( A  X.c  C )  =  ( B  X.c  D
) )
5453oveq1d 6088 . . . 4  |-  ( ph  ->  ( ( A  X.c  C
)  Func  E )  =  ( ( B  X.c  D )  Func  E
) )
5547, 54eleqtrd 2511 . . 3  |-  ( ph  ->  F  e.  ( ( B  X.c  D )  Func  E
) )
56 eqid 2435 . . 3  |-  ( Base `  D )  =  (
Base `  D )
57 eqid 2435 . . 3  |-  ( Id
`  B )  =  ( Id `  B
)
58 eqid 2435 . . 3  |-  ( Id
`  D )  =  ( Id `  D
)
5951, 52, 17, 37, 55, 56, 10, 57, 29, 58curfval 14312 . 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 2477 1  |-  ( ph  ->  ( <. A ,  C >. curryF  F
)  =  ( <. B ,  D >. curryF  F ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1652    e. wcel 1725   <.cop 3809    e. cmpt 4258   ` cfv 5446  (class class class)co 6073    e. cmpt2 6075   1stc1st 6339   2ndc2nd 6340   Basecbs 13461    Hom chom 13532   Catccat 13881   Idccid 13882    Homf chomf 13883  compfccomf 13884    Func cfunc 14043    X.c cxpc 14257   curryF ccurf 14299
This theorem is referenced by:  yonpropd  14357  oppcyon  14358
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 2416  ax-rep 4312  ax-sep 4322  ax-nul 4330  ax-pow 4369  ax-pr 4395  ax-un 4693  ax-cnex 9038  ax-resscn 9039  ax-1cn 9040  ax-icn 9041  ax-addcl 9042  ax-addrcl 9043  ax-mulcl 9044  ax-mulrcl 9045  ax-mulcom 9046  ax-addass 9047  ax-mulass 9048  ax-distr 9049  ax-i2m1 9050  ax-1ne0 9051  ax-1rid 9052  ax-rnegex 9053  ax-rrecex 9054  ax-cnre 9055  ax-pre-lttri 9056  ax-pre-lttrn 9057  ax-pre-ltadd 9058  ax-pre-mulgt0 9059
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2284  df-mo 2285  df-clab 2422  df-cleq 2428  df-clel 2431  df-nfc 2560  df-ne 2600  df-nel 2601  df-ral 2702  df-rex 2703  df-reu 2704  df-rab 2706  df-v 2950  df-sbc 3154  df-csb 3244  df-dif 3315  df-un 3317  df-in 3319  df-ss 3326  df-pss 3328  df-nul 3621  df-if 3732  df-pw 3793  df-sn 3812  df-pr 3813  df-tp 3814  df-op 3815  df-uni 4008  df-int 4043  df-iun 4087  df-br 4205  df-opab 4259  df-mpt 4260  df-tr 4295  df-eprel 4486  df-id 4490  df-po 4495  df-so 4496  df-fr 4533  df-we 4535  df-ord 4576  df-on 4577  df-lim 4578  df-suc 4579  df-om 4838  df-xp 4876  df-rel 4877  df-cnv 4878  df-co 4879  df-dm 4880  df-rn 4881  df-res 4882  df-ima 4883  df-iota 5410  df-fun 5448  df-fn 5449  df-f 5450  df-f1 5451  df-fo 5452  df-f1o 5453  df-fv 5454  df-ov 6076  df-oprab 6077  df-mpt2 6078  df-1st 6341  df-2nd 6342  df-riota 6541  df-recs 6625  df-rdg 6660  df-1o 6716  df-oadd 6720  df-er 6897  df-en 7102  df-dom 7103  df-sdom 7104  df-fin 7105  df-pnf 9114  df-mnf 9115  df-xr 9116  df-ltxr 9117  df-le 9118  df-sub 9285  df-neg 9286  df-nn 9993  df-2 10050  df-3 10051  df-4 10052  df-5 10053  df-6 10054  df-7 10055  df-8 10056  df-9 10057  df-10 10058  df-n0 10214  df-z 10275  df-dec 10375  df-uz 10481  df-fz 11036  df-struct 13463  df-ndx 13464  df-slot 13465  df-base 13466  df-hom 13545  df-cco 13546  df-cat 13885  df-cid 13886  df-homf 13887  df-comf 13888  df-xpc 14261  df-curf 14303
  Copyright terms: Public domain W3C validator