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

Theorem curfuncf 14290
Description: Cancellation of curry with uncurry. (Contributed by Mario Carneiro, 13-Jan-2017.)
Hypotheses
Ref Expression
uncfval.g  |-  F  =  ( <" C D E "> uncurryF  G )
uncfval.c  |-  ( ph  ->  D  e.  Cat )
uncfval.d  |-  ( ph  ->  E  e.  Cat )
uncfval.f  |-  ( ph  ->  G  e.  ( C 
Func  ( D FuncCat  E
) ) )
Assertion
Ref Expression
curfuncf  |-  ( ph  ->  ( <. C ,  D >. curryF  F
)  =  G )

Proof of Theorem curfuncf
Dummy variables  g  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 uncfval.g . . . . . . . . . 10  |-  F  =  ( <" C D E "> uncurryF  G )
2 uncfval.c . . . . . . . . . . 11  |-  ( ph  ->  D  e.  Cat )
32ad2antrr 707 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  D  e.  Cat )
4 uncfval.d . . . . . . . . . . 11  |-  ( ph  ->  E  e.  Cat )
54ad2antrr 707 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  E  e.  Cat )
6 uncfval.f . . . . . . . . . . 11  |-  ( ph  ->  G  e.  ( C 
Func  ( D FuncCat  E
) ) )
76ad2antrr 707 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  G  e.  ( C  Func  ( D FuncCat  E ) ) )
8 eqid 2404 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
9 eqid 2404 . . . . . . . . . 10  |-  ( Base `  D )  =  (
Base `  D )
10 simplr 732 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  x  e.  ( Base `  C
) )
11 simpr 448 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  y  e.  ( Base `  D
) )
121, 3, 5, 7, 8, 9, 10, 11uncf1 14288 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  (
x ( 1st `  F
) y )  =  ( ( 1st `  (
( 1st `  G
) `  x )
) `  y )
)
1312mpteq2dva 4255 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( y  e.  ( Base `  D
)  |->  ( x ( 1st `  F ) y ) )  =  ( y  e.  (
Base `  D )  |->  ( ( 1st `  (
( 1st `  G
) `  x )
) `  y )
) )
14 eqid 2404 . . . . . . . . . 10  |-  ( Base `  E )  =  (
Base `  E )
15 relfunc 14014 . . . . . . . . . . 11  |-  Rel  ( D  Func  E )
16 eqid 2404 . . . . . . . . . . . . . 14  |-  ( D FuncCat  E )  =  ( D FuncCat  E )
1716fucbas 14112 . . . . . . . . . . . . 13  |-  ( D 
Func  E )  =  (
Base `  ( D FuncCat  E ) )
18 relfunc 14014 . . . . . . . . . . . . . 14  |-  Rel  ( C  Func  ( D FuncCat  E
) )
19 1st2ndbr 6355 . . . . . . . . . . . . . 14  |-  ( ( Rel  ( C  Func  ( D FuncCat  E ) )  /\  G  e.  ( C  Func  ( D FuncCat  E )
) )  ->  ( 1st `  G ) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
2018, 6, 19sylancr 645 . . . . . . . . . . . . 13  |-  ( ph  ->  ( 1st `  G
) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
218, 17, 20funcf1 14018 . . . . . . . . . . . 12  |-  ( ph  ->  ( 1st `  G
) : ( Base `  C ) --> ( D 
Func  E ) )
2221ffvelrnda 5829 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  e.  ( D  Func  E )
)
23 1st2ndbr 6355 . . . . . . . . . . 11  |-  ( ( Rel  ( D  Func  E )  /\  ( ( 1st `  G ) `
 x )  e.  ( D  Func  E
) )  ->  ( 1st `  ( ( 1st `  G ) `  x
) ) ( D 
Func  E ) ( 2nd `  ( ( 1st `  G
) `  x )
) )
2415, 22, 23sylancr 645 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  x )
) )
259, 14, 24funcf1 14018 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
2625feqmptd 5738 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
)  |->  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  y )
) )
2713, 26eqtr4d 2439 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( y  e.  ( Base `  D
)  |->  ( x ( 1st `  F ) y ) )  =  ( 1st `  (
( 1st `  G
) `  x )
) )
282ad3antrrr 711 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  D  e.  Cat )
294ad3antrrr 711 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  E  e.  Cat )
306ad3antrrr 711 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  G  e.  ( C  Func  ( D FuncCat  E ) ) )
31 simpllr 736 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  x  e.  ( Base `  C )
)
32 simplrl 737 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  y  e.  ( Base `  D )
)
33 eqid 2404 . . . . . . . . . . . . . 14  |-  (  Hom  `  C )  =  (  Hom  `  C )
34 eqid 2404 . . . . . . . . . . . . . 14  |-  (  Hom  `  D )  =  (  Hom  `  D )
35 simprr 734 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
z  e.  ( Base `  D ) )
3635adantr 452 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  z  e.  ( Base `  D )
)
37 eqid 2404 . . . . . . . . . . . . . . 15  |-  ( Id
`  C )  =  ( Id `  C
)
38 funcrcl 14015 . . . . . . . . . . . . . . . . . 18  |-  ( G  e.  ( C  Func  ( D FuncCat  E ) )  -> 
( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
396, 38syl 16 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
4039simpld 446 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  C  e.  Cat )
4140ad3antrrr 711 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  C  e.  Cat )
428, 33, 37, 41, 31catidcl 13862 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( ( Id `  C ) `  x )  e.  ( x (  Hom  `  C
) x ) )
43 simpr 448 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  g  e.  ( y (  Hom  `  D ) z ) )
441, 28, 29, 30, 8, 9, 31, 32, 33, 34, 31, 36, 42, 43uncf2 14289 . . . . . . . . . . . . 13  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( Id `  C
) `  x )
( <. x ,  y
>. ( 2nd `  F
) <. x ,  z
>. ) g )  =  ( ( ( ( x ( 2nd `  G
) x ) `  ( ( Id `  C ) `  x
) ) `  z
) ( <. (
( 1st `  (
( 1st `  G
) `  x )
) `  y ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) ( ( y ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  g ) ) )
45 eqid 2404 . . . . . . . . . . . . . . . . . 18  |-  ( Id
`  ( D FuncCat  E
) )  =  ( Id `  ( D FuncCat  E ) )
4620ad3antrrr 711 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( 1st `  G ) ( C 
Func  ( D FuncCat  E
) ) ( 2nd `  G ) )
478, 37, 45, 46, 31funcid 14022 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
x ( 2nd `  G
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  ( D FuncCat  E ) ) `  ( ( 1st `  G
) `  x )
) )
48 eqid 2404 . . . . . . . . . . . . . . . . . 18  |-  ( Id
`  E )  =  ( Id `  E
)
4922ad2antrr 707 . . . . . . . . . . . . . . . . . 18  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( ( 1st `  G ) `  x )  e.  ( D  Func  E )
)
5016, 45, 48, 49fucid 14123 . . . . . . . . . . . . . . . . 17  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( ( Id `  ( D FuncCat  E
) ) `  (
( 1st `  G
) `  x )
)  =  ( ( Id `  E )  o.  ( 1st `  (
( 1st `  G
) `  x )
) ) )
5147, 50eqtrd 2436 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
x ( 2nd `  G
) x ) `  ( ( Id `  C ) `  x
) )  =  ( ( Id `  E
)  o.  ( 1st `  ( ( 1st `  G
) `  x )
) ) )
5251fveq1d 5689 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( x ( 2nd `  G ) x ) `
 ( ( Id
`  C ) `  x ) ) `  z )  =  ( ( ( Id `  E )  o.  ( 1st `  ( ( 1st `  G ) `  x
) ) ) `  z ) )
5325ad2antrr 707 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( 1st `  ( ( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
54 fvco3 5759 . . . . . . . . . . . . . . . 16  |-  ( ( ( 1st `  (
( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E )  /\  z  e.  ( Base `  D
) )  ->  (
( ( Id `  E )  o.  ( 1st `  ( ( 1st `  G ) `  x
) ) ) `  z )  =  ( ( Id `  E
) `  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  z
) ) )
5553, 36, 54syl2anc 643 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( Id `  E
)  o.  ( 1st `  ( ( 1st `  G
) `  x )
) ) `  z
)  =  ( ( Id `  E ) `
 ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z )
) )
5652, 55eqtrd 2436 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( x ( 2nd `  G ) x ) `
 ( ( Id
`  C ) `  x ) ) `  z )  =  ( ( Id `  E
) `  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  z
) ) )
5756oveq1d 6055 . . . . . . . . . . . . 13  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( ( x ( 2nd `  G ) x ) `  (
( Id `  C
) `  x )
) `  z )
( <. ( ( 1st `  ( ( 1st `  G
) `  x )
) `  y ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) ( ( y ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  g ) )  =  ( ( ( Id
`  E ) `  ( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) ( <. (
( 1st `  (
( 1st `  G
) `  x )
) `  y ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) ( ( y ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  g ) ) )
58 eqid 2404 . . . . . . . . . . . . . 14  |-  (  Hom  `  E )  =  (  Hom  `  E )
5953, 32ffvelrnd 5830 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  y
)  e.  ( Base `  E ) )
60 eqid 2404 . . . . . . . . . . . . . 14  |-  (comp `  E )  =  (comp `  E )
6153, 36ffvelrnd 5830 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  z
)  e.  ( Base `  E ) )
6224adantr 452 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
( 1st `  (
( 1st `  G
) `  x )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  x )
) )
63 simprl 733 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
y  e.  ( Base `  D ) )
649, 34, 58, 62, 63, 35funcf2 14020 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
( y ( 2nd `  ( ( 1st `  G
) `  x )
) z ) : ( y (  Hom  `  D ) z ) --> ( ( ( 1st `  ( ( 1st `  G
) `  x )
) `  y )
(  Hom  `  E ) ( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) )
6564ffvelrnda 5829 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
y ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  g )  e.  ( ( ( 1st `  (
( 1st `  G
) `  x )
) `  y )
(  Hom  `  E ) ( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) )
6614, 58, 48, 29, 59, 60, 61, 65catlid 13863 . . . . . . . . . . . . 13  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( Id `  E
) `  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  z
) ) ( <.
( ( 1st `  (
( 1st `  G
) `  x )
) `  y ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) ( ( y ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  g ) )  =  ( ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) `  g
) )
6744, 57, 663eqtrd 2440 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  ( (
( Id `  C
) `  x )
( <. x ,  y
>. ( 2nd `  F
) <. x ,  z
>. ) g )  =  ( ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) `  g
) )
6867mpteq2dva 4255 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
( g  e.  ( y (  Hom  `  D
) z )  |->  ( ( ( Id `  C ) `  x
) ( <. x ,  y >. ( 2nd `  F ) <.
x ,  z >.
) g ) )  =  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) `  g
) ) )
6964feqmptd 5738 . . . . . . . . . . 11  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
( y ( 2nd `  ( ( 1st `  G
) `  x )
) z )  =  ( g  e.  ( y (  Hom  `  D
) z )  |->  ( ( y ( 2nd `  ( ( 1st `  G
) `  x )
) z ) `  g ) ) )
7068, 69eqtr4d 2439 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
( g  e.  ( y (  Hom  `  D
) z )  |->  ( ( ( Id `  C ) `  x
) ( <. x ,  y >. ( 2nd `  F ) <.
x ,  z >.
) g ) )  =  ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) )
71703impb 1149 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
)  /\  z  e.  ( Base `  D )
)  ->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) )  =  ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) )
7271mpt2eq3dva 6097 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) )  =  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) ) )
739, 24funcfn2 14021 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 2nd `  ( ( 1st `  G
) `  x )
)  Fn  ( (
Base `  D )  X.  ( Base `  D
) ) )
74 fnov 6137 . . . . . . . . 9  |-  ( ( 2nd `  ( ( 1st `  G ) `
 x ) )  Fn  ( ( Base `  D )  X.  ( Base `  D ) )  <-> 
( 2nd `  (
( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) ) )
7573, 74sylib 189 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 2nd `  ( ( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) ) )
7672, 75eqtr4d 2439 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) )  =  ( 2nd `  ( ( 1st `  G
) `  x )
) )
7727, 76opeq12d 3952 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  <. ( y  e.  ( Base `  D
)  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  (
Base `  D ) ,  z  e.  ( Base `  D )  |->  ( g  e.  ( y (  Hom  `  D
) z )  |->  ( ( ( Id `  C ) `  x
) ( <. x ,  y >. ( 2nd `  F ) <.
x ,  z >.
) g ) ) ) >.  =  <. ( 1st `  ( ( 1st `  G ) `
 x ) ) ,  ( 2nd `  (
( 1st `  G
) `  x )
) >. )
78 1st2nd 6352 . . . . . . 7  |-  ( ( Rel  ( D  Func  E )  /\  ( ( 1st `  G ) `
 x )  e.  ( D  Func  E
) )  ->  (
( 1st `  G
) `  x )  =  <. ( 1st `  (
( 1st `  G
) `  x )
) ,  ( 2nd `  ( ( 1st `  G
) `  x )
) >. )
7915, 22, 78sylancr 645 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  =  <. ( 1st `  ( ( 1st `  G ) `
 x ) ) ,  ( 2nd `  (
( 1st `  G
) `  x )
) >. )
8077, 79eqtr4d 2439 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  <. ( y  e.  ( Base `  D
)  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  (
Base `  D ) ,  z  e.  ( Base `  D )  |->  ( g  e.  ( y (  Hom  `  D
) z )  |->  ( ( ( Id `  C ) `  x
) ( <. x ,  y >. ( 2nd `  F ) <.
x ,  z >.
) g ) ) ) >.  =  (
( 1st `  G
) `  x )
)
8180mpteq2dva 4255 . . . 4  |-  ( ph  ->  ( x  e.  (
Base `  C )  |-> 
<. ( y  e.  (
Base `  D )  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. )  =  ( x  e.  ( Base `  C )  |->  ( ( 1st `  G ) `
 x ) ) )
8221feqmptd 5738 . . . 4  |-  ( ph  ->  ( 1st `  G
)  =  ( x  e.  ( Base `  C
)  |->  ( ( 1st `  G ) `  x
) ) )
8381, 82eqtr4d 2439 . . 3  |-  ( ph  ->  ( x  e.  (
Base `  C )  |-> 
<. ( y  e.  (
Base `  D )  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. )  =  ( 1st `  G ) )
842ad3antrrr 711 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  D  e.  Cat )
854ad3antrrr 711 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  E  e.  Cat )
866ad3antrrr 711 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  G  e.  ( C  Func  ( D FuncCat  E ) ) )
87 simprl 733 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
8887ad2antrr 707 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  x  e.  ( Base `  C )
)
89 simpr 448 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  z  e.  ( Base `  D )
)
90 simprr 734 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
9190ad2antrr 707 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  y  e.  ( Base `  C )
)
92 simplr 732 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  g  e.  ( x (  Hom  `  C ) y ) )
93 eqid 2404 . . . . . . . . . . . . 13  |-  ( Id
`  D )  =  ( Id `  D
)
949, 34, 93, 84, 89catidcl 13862 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( ( Id `  D ) `  z )  e.  ( z (  Hom  `  D
) z ) )
951, 84, 85, 86, 8, 9, 88, 89, 33, 34, 91, 89, 92, 94uncf2 14289 . . . . . . . . . . 11  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( g
( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) )  =  ( ( ( ( x ( 2nd `  G
) y ) `  g ) `  z
) ( <. (
( 1st `  (
( 1st `  G
) `  x )
) `  z ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  y )
) `  z )
) ( ( z ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  ( ( Id `  D ) `  z
) ) ) )
9622adantrr 698 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  G
) `  x )  e.  ( D  Func  E
) )
9796adantr 452 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( 1st `  G
) `  x )  e.  ( D  Func  E
) )
9815, 97, 23sylancr 645 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( 1st `  (
( 1st `  G
) `  x )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  x )
) )
9998adantr 452 . . . . . . . . . . . . 13  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  x )
) )
1009, 93, 48, 99, 89funcid 14022 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( (
z ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  ( ( Id `  D ) `  z
) )  =  ( ( Id `  E
) `  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  z
) ) )
101100oveq2d 6056 . . . . . . . . . . 11  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( (
( ( x ( 2nd `  G ) y ) `  g
) `  z )
( <. ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  y )
) `  z )
) ( ( z ( 2nd `  (
( 1st `  G
) `  x )
) z ) `  ( ( Id `  D ) `  z
) ) )  =  ( ( ( ( x ( 2nd `  G
) y ) `  g ) `  z
) ( <. (
( 1st `  (
( 1st `  G
) `  x )
) `  z ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  y )
) `  z )
) ( ( Id
`  E ) `  ( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) ) )
1029, 14, 98funcf1 14018 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( 1st `  (
( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
103102ffvelrnda 5829 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( ( 1st `  ( ( 1st `  G ) `  x
) ) `  z
)  e.  ( Base `  E ) )
10421ffvelrnda 5829 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  y  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  y )  e.  ( D  Func  E )
)
105104adantrl 697 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  G
) `  y )  e.  ( D  Func  E
) )
106105adantr 452 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( 1st `  G
) `  y )  e.  ( D  Func  E
) )
107 1st2ndbr 6355 . . . . . . . . . . . . . . 15  |-  ( ( Rel  ( D  Func  E )  /\  ( ( 1st `  G ) `
 y )  e.  ( D  Func  E
) )  ->  ( 1st `  ( ( 1st `  G ) `  y
) ) ( D 
Func  E ) ( 2nd `  ( ( 1st `  G
) `  y )
) )
10815, 106, 107sylancr 645 . . . . . . . . . . . . . 14  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( 1st `  (
( 1st `  G
) `  y )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  y )
) )
1099, 14, 108funcf1 14018 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( 1st `  (
( 1st `  G
) `  y )
) : ( Base `  D ) --> ( Base `  E ) )
110109ffvelrnda 5829 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( ( 1st `  ( ( 1st `  G ) `  y
) ) `  z
)  e.  ( Base `  E ) )
111 eqid 2404 . . . . . . . . . . . . 13  |-  ( D Nat 
E )  =  ( D Nat  E )
11216, 111fuchom 14113 . . . . . . . . . . . . . . . 16  |-  ( D Nat 
E )  =  (  Hom  `  ( D FuncCat  E ) )
11320ad3antrrr 711 . . . . . . . . . . . . . . . 16  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( 1st `  G ) ( C 
Func  ( D FuncCat  E
) ) ( 2nd `  G ) )
1148, 33, 112, 113, 88, 91funcf2 14020 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( x
( 2nd `  G
) y ) : ( x (  Hom  `  C ) y ) --> ( ( ( 1st `  G ) `  x
) ( D Nat  E
) ( ( 1st `  G ) `  y
) ) )
115114, 92ffvelrnd 5830 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( (
x ( 2nd `  G
) y ) `  g )  e.  ( ( ( 1st `  G
) `  x )
( D Nat  E ) ( ( 1st `  G
) `  y )
) )
116111, 115nat1st2nd 14103 . . . . . . . . . . . . 13  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( (
x ( 2nd `  G
) y ) `  g )  e.  (
<. ( 1st `  (
( 1st `  G
) `  x )
) ,  ( 2nd `  ( ( 1st `  G
) `  x )
) >. ( D Nat  E
) <. ( 1st `  (
( 1st `  G
) `  y )
) ,  ( 2nd `  ( ( 1st `  G
) `  y )
) >. ) )
117111, 116, 9, 58, 89natcl 14105 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( (
( x ( 2nd `  G ) y ) `
 g ) `  z )  e.  ( ( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
(  Hom  `  E ) ( ( 1st `  (
( 1st `  G
) `  y )
) `  z )
) )
11814, 58, 48, 85, 103, 60, 110, 117catrid 13864 . . . . . . . . . . 11  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( (
( ( x ( 2nd `  G ) y ) `  g
) `  z )
( <. ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) ,  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  z ) >. (comp `  E )
( ( 1st `  (
( 1st `  G
) `  y )
) `  z )
) ( ( Id
`  E ) `  ( ( 1st `  (
( 1st `  G
) `  x )
) `  z )
) )  =  ( ( ( x ( 2nd `  G ) y ) `  g
) `  z )
)
11995, 101, 1183eqtrd 2440 . . . . . . . . . 10  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  ( g
( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) )  =  ( ( ( x ( 2nd `  G
) y ) `  g ) `  z
) )
120119mpteq2dva 4255 . . . . . . . . 9  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) )  =  ( z  e.  ( Base `  D
)  |->  ( ( ( x ( 2nd `  G
) y ) `  g ) `  z
) ) )
12120adantr 452 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
1228, 33, 112, 121, 87, 90funcf2 14020 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  G
) y ) : ( x (  Hom  `  C ) y ) --> ( ( ( 1st `  G ) `  x
) ( D Nat  E
) ( ( 1st `  G ) `  y
) ) )
123122ffvelrnda 5829 . . . . . . . . . . . 12  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( x ( 2nd `  G ) y ) `  g
)  e.  ( ( ( 1st `  G
) `  x )
( D Nat  E ) ( ( 1st `  G
) `  y )
) )
124111, 123nat1st2nd 14103 . . . . . . . . . . 11  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( x ( 2nd `  G ) y ) `  g
)  e.  ( <.
( 1st `  (
( 1st `  G
) `  x )
) ,  ( 2nd `  ( ( 1st `  G
) `  x )
) >. ( D Nat  E
) <. ( 1st `  (
( 1st `  G
) `  y )
) ,  ( 2nd `  ( ( 1st `  G
) `  y )
) >. ) )
125111, 124, 9natfn 14106 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( x ( 2nd `  G ) y ) `  g
)  Fn  ( Base `  D ) )
126 dffn5 5731 . . . . . . . . . 10  |-  ( ( ( x ( 2nd `  G ) y ) `
 g )  Fn  ( Base `  D
)  <->  ( ( x ( 2nd `  G
) y ) `  g )  =  ( z  e.  ( Base `  D )  |->  ( ( ( x ( 2nd `  G ) y ) `
 g ) `  z ) ) )
127125, 126sylib 189 . . . . . . . . 9  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( x ( 2nd `  G ) y ) `  g
)  =  ( z  e.  ( Base `  D
)  |->  ( ( ( x ( 2nd `  G
) y ) `  g ) `  z
) ) )
128120, 127eqtr4d 2439 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) )  =  ( ( x ( 2nd `  G
) y ) `  g ) )
129128mpteq2dva 4255 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
g  e.  ( x (  Hom  `  C
) y )  |->  ( z  e.  ( Base `  D )  |->  ( g ( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) )  =  ( g  e.  ( x (  Hom  `  C )
y )  |->  ( ( x ( 2nd `  G
) y ) `  g ) ) )
130122feqmptd 5738 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
x ( 2nd `  G
) y )  =  ( g  e.  ( x (  Hom  `  C
) y )  |->  ( ( x ( 2nd `  G ) y ) `
 g ) ) )
131129, 130eqtr4d 2439 . . . . . 6  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
g  e.  ( x (  Hom  `  C
) y )  |->  ( z  e.  ( Base `  D )  |->  ( g ( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) )  =  ( x ( 2nd `  G
) y ) )
1321313impb 1149 . . . . 5  |-  ( (
ph  /\  x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) )  ->  ( g  e.  ( x (  Hom  `  C ) y ) 
|->  ( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) )  =  ( x ( 2nd `  G
) y ) )
133132mpt2eq3dva 6097 . . . 4  |-  ( ph  ->  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( g  e.  ( x (  Hom  `  C
) y )  |->  ( z  e.  ( Base `  D )  |->  ( g ( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) )  =  ( x  e.  ( Base `  C ) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  G ) y ) ) )
1348, 20funcfn2 14021 . . . . 5  |-  ( ph  ->  ( 2nd `  G
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
135 fnov 6137 . . . . 5  |-  ( ( 2nd `  G )  Fn  ( ( Base `  C )  X.  ( Base `  C ) )  <-> 
( 2nd `  G
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  G ) y ) ) )
136134, 135sylib 189 . . . 4  |-  ( ph  ->  ( 2nd `  G
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  G ) y ) ) )
137133, 136eqtr4d 2439 . . 3  |-  ( ph  ->  ( x  e.  (
Base `  C ) ,  y  e.  ( Base `  C )  |->  ( g  e.  ( x (  Hom  `  C
) y )  |->  ( z  e.  ( Base `  D )  |->  ( g ( <. x ,  z
>. ( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) )  =  ( 2nd `  G ) )
13883, 137opeq12d 3952 . 2  |-  ( ph  -> 
<. ( x  e.  (
Base `  C )  |-> 
<. ( y  e.  (
Base `  D )  |->  ( x ( 1st `  F ) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) ,  ( x  e.  ( Base `  C ) ,  y  e.  ( Base `  C
)  |->  ( g  e.  ( x (  Hom  `  C ) y ) 
|->  ( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) ) >.  =  <. ( 1st `  G ) ,  ( 2nd `  G
) >. )
139 eqid 2404 . . 3  |-  ( <. C ,  D >. curryF  F )  =  ( <. C ,  D >. curryF  F )
1401, 2, 4, 6uncfcl 14287 . . 3  |-  ( ph  ->  F  e.  ( ( C  X.c  D )  Func  E
) )
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 14275 . 2  |-  ( ph  ->  ( <. C ,  D >. curryF  F
)  =  <. (
x  e.  ( Base `  C )  |->  <. (
y  e.  ( Base `  D )  |->  ( x ( 1st `  F
) y ) ) ,  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( g  e.  ( y (  Hom  `  D ) z ) 
|->  ( ( ( Id
`  C ) `  x ) ( <.
x ,  y >.
( 2nd `  F
) <. x ,  z
>. ) g ) ) ) >. ) ,  ( x  e.  ( Base `  C ) ,  y  e.  ( Base `  C
)  |->  ( g  e.  ( x (  Hom  `  C ) y ) 
|->  ( z  e.  (
Base `  D )  |->  ( g ( <.
x ,  z >.
( 2nd `  F
) <. y ,  z
>. ) ( ( Id
`  D ) `  z ) ) ) ) ) >. )
142 1st2nd 6352 . . 3  |-  ( ( Rel  ( C  Func  ( D FuncCat  E ) )  /\  G  e.  ( C  Func  ( D FuncCat  E )
) )  ->  G  =  <. ( 1st `  G
) ,  ( 2nd `  G ) >. )
14318, 6, 142sylancr 645 . 2  |-  ( ph  ->  G  =  <. ( 1st `  G ) ,  ( 2nd `  G
) >. )
144138, 141, 1433eqtr4d 2446 1  |-  ( ph  ->  ( <. C ,  D >. curryF  F
)  =  G )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1649    e. wcel 1721   <.cop 3777   class class class wbr 4172    e. cmpt 4226    X. cxp 4835    o. ccom 4841   Rel wrel 4842    Fn wfn 5408   -->wf 5409   ` cfv 5413  (class class class)co 6040    e. cmpt2 6042   1stc1st 6306   2ndc2nd 6307   <"cs3 11761   Basecbs 13424    Hom chom 13495  compcco 13496   Catccat 13844   Idccid 13845    Func cfunc 14006   Nat cnat 14093   FuncCat cfuc 14094   curryF ccurf 14262   uncurryF cuncf 14263
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 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660  ax-cnex 9002  ax-resscn 9003  ax-1cn 9004  ax-icn 9005  ax-addcl 9006  ax-addrcl 9007  ax-mulcl 9008  ax-mulrcl 9009  ax-mulcom 9010  ax-addass 9011  ax-mulass 9012  ax-distr 9013  ax-i2m1 9014  ax-1ne0 9015  ax-1rid 9016  ax-rnegex 9017  ax-rrecex 9018  ax-cnre 9019  ax-pre-lttri 9020  ax-pre-lttrn 9021  ax-pre-ltadd 9022  ax-pre-mulgt0 9023
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 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-nel 2570  df-ral 2671  df-rex 2672  df-reu 2673  df-rmo 2674  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-1st 6308  df-2nd 6309  df-riota 6508  df-recs 6592  df-rdg 6627  df-1o 6683  df-oadd 6687  df-er 6864  df-map 6979  df-ixp 7023  df-en 7069  df-dom 7070  df-sdom 7071  df-fin 7072  df-card 7782  df-pnf 9078  df-mnf 9079  df-xr 9080  df-ltxr 9081  df-le 9082  df-sub 9249  df-neg 9250  df-nn 9957  df-2 10014  df-3 10015  df-4 10016  df-5 10017  df-6 10018  df-7 10019  df-8 10020  df-9 10021  df-10 10022  df-n0 10178  df-z 10239  df-dec 10339  df-uz 10445  df-fz 11000  df-fzo 11091  df-hash 11574  df-word 11678  df-concat 11679  df-s1 11680  df-s2 11767  df-s3 11768  df-struct 13426  df-ndx 13427  df-slot 13428  df-base 13429  df-hom 13508  df-cco 13509  df-cat 13848  df-cid 13849  df-func 14010  df-cofu 14012  df-nat 14095  df-fuc 14096  df-xpc 14224  df-1stf 14225  df-2ndf 14226  df-prf 14227  df-evlf 14265  df-curf 14266  df-uncf 14267
  Copyright terms: Public domain W3C validator