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

Theorem curfuncf 14340
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 708 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  D  e.  Cat )
4 uncfval.d . . . . . . . . . . 11  |-  ( ph  ->  E  e.  Cat )
54ad2antrr 708 . . . . . . . . . 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 708 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  G  e.  ( C  Func  ( D FuncCat  E ) ) )
8 eqid 2438 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
9 eqid 2438 . . . . . . . . . 10  |-  ( Base `  D )  =  (
Base `  D )
10 simplr 733 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  x  e.  ( Base `  C
) )
11 simpr 449 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  y  e.  ( Base `  D
) )
121, 3, 5, 7, 8, 9, 10, 11uncf1 14338 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  (
x ( 1st `  F
) y )  =  ( ( 1st `  (
( 1st `  G
) `  x )
) `  y )
)
1312mpteq2dva 4298 . . . . . . . 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 2438 . . . . . . . . . 10  |-  ( Base `  E )  =  (
Base `  E )
15 relfunc 14064 . . . . . . . . . . 11  |-  Rel  ( D  Func  E )
16 eqid 2438 . . . . . . . . . . . . . 14  |-  ( D FuncCat  E )  =  ( D FuncCat  E )
1716fucbas 14162 . . . . . . . . . . . . 13  |-  ( D 
Func  E )  =  (
Base `  ( D FuncCat  E ) )
18 relfunc 14064 . . . . . . . . . . . . . 14  |-  Rel  ( C  Func  ( D FuncCat  E
) )
19 1st2ndbr 6399 . . . . . . . . . . . . . 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 646 . . . . . . . . . . . . 13  |-  ( ph  ->  ( 1st `  G
) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
218, 17, 20funcf1 14068 . . . . . . . . . . . 12  |-  ( ph  ->  ( 1st `  G
) : ( Base `  C ) --> ( D 
Func  E ) )
2221ffvelrnda 5873 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  e.  ( D  Func  E )
)
23 1st2ndbr 6399 . . . . . . . . . . 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 646 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  x )
) )
259, 14, 24funcf1 14068 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
2625feqmptd 5782 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
)  |->  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  y )
) )
2713, 26eqtr4d 2473 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( y  e.  ( Base `  D
)  |->  ( x ( 1st `  F ) y ) )  =  ( 1st `  (
( 1st `  G
) `  x )
) )
282ad3antrrr 712 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  D  e.  Cat )
294ad3antrrr 712 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  E  e.  Cat )
306ad3antrrr 712 . . . . . . . . . . . . . 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 737 . . . . . . . . . . . . . 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 738 . . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . 14  |-  (  Hom  `  C )  =  (  Hom  `  C )
34 eqid 2438 . . . . . . . . . . . . . 14  |-  (  Hom  `  D )  =  (  Hom  `  D )
35 simprr 735 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
z  e.  ( Base `  D ) )
3635adantr 453 . . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . . 15  |-  ( Id
`  C )  =  ( Id `  C
)
38 funcrcl 14065 . . . . . . . . . . . . . . . . . 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 447 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  C  e.  Cat )
4140ad3antrrr 712 . . . . . . . . . . . . . . 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 13912 . . . . . . . . . . . . . 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 449 . . . . . . . . . . . . . 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 14339 . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . . . . . 18  |-  ( Id
`  ( D FuncCat  E
) )  =  ( Id `  ( D FuncCat  E ) )
4620ad3antrrr 712 . . . . . . . . . . . . . . . . . 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 14072 . . . . . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . . . . . 18  |-  ( Id
`  E )  =  ( Id `  E
)
4922ad2antrr 708 . . . . . . . . . . . . . . . . . 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 14173 . . . . . . . . . . . . . . . . 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 2470 . . . . . . . . . . . . . . . 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 5733 . . . . . . . . . . . . . . 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 708 . . . . . . . . . . . . . . . 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 5803 . . . . . . . . . . . . . . . 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 644 . . . . . . . . . . . . . . 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 2470 . . . . . . . . . . . . . 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 6099 . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . 14  |-  (  Hom  `  E )  =  (  Hom  `  E )
5953, 32ffvelrnd 5874 . . . . . . . . . . . . . 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 2438 . . . . . . . . . . . . . 14  |-  (comp `  E )  =  (comp `  E )
6153, 36ffvelrnd 5874 . . . . . . . . . . . . . 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 453 . . . . . . . . . . . . . . . 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 734 . . . . . . . . . . . . . . . 16  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
y  e.  ( Base `  D ) )
649, 34, 58, 62, 63, 35funcf2 14070 . . . . . . . . . . . . . . 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 5873 . . . . . . . . . . . . . 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 13913 . . . . . . . . . . . . 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 2474 . . . . . . . . . . . 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 4298 . . . . . . . . . . 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 5782 . . . . . . . . . . 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 2473 . . . . . . . . . 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 1150 . . . . . . . . 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 6141 . . . . . . . 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 14071 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 2nd `  ( ( 1st `  G
) `  x )
)  Fn  ( (
Base `  D )  X.  ( Base `  D
) ) )
74 fnov 6181 . . . . . . . . 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 190 . . . . . . . 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 2473 . . . . . . 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 3994 . . . . . 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 6396 . . . . . . 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 646 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  =  <. ( 1st `  ( ( 1st `  G ) `
 x ) ) ,  ( 2nd `  (
( 1st `  G
) `  x )
) >. )
8077, 79eqtr4d 2473 . . . . 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 4298 . . . 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 5782 . . . 4  |-  ( ph  ->  ( 1st `  G
)  =  ( x  e.  ( Base `  C
)  |->  ( ( 1st `  G ) `  x
) ) )
8381, 82eqtr4d 2473 . . 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 712 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  D  e.  Cat )
854ad3antrrr 712 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  E  e.  Cat )
866ad3antrrr 712 . . . . . . . . . . . 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 734 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
8887ad2antrr 708 . . . . . . . . . . . 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 449 . . . . . . . . . . . 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 735 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
9190ad2antrr 708 . . . . . . . . . . . 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 733 . . . . . . . . . . . 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 2438 . . . . . . . . . . . . 13  |-  ( Id
`  D )  =  ( Id `  D
)
949, 34, 93, 84, 89catidcl 13912 . . . . . . . . . . . 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 14339 . . . . . . . . . . 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 699 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  G
) `  x )  e.  ( D  Func  E
) )
9796adantr 453 . . . . . . . . . . . . . . 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 646 . . . . . . . . . . . . . 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 453 . . . . . . . . . . . . 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 14072 . . . . . . . . . . . 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 6100 . . . . . . . . . . 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 14068 . . . . . . . . . . . . 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 5873 . . . . . . . . . . . 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 5873 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  y  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  y )  e.  ( D  Func  E )
)
105104adantrl 698 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  G
) `  y )  e.  ( D  Func  E
) )
106105adantr 453 . . . . . . . . . . . . . . 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 6399 . . . . . . . . . . . . . . 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 646 . . . . . . . . . . . . . 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 14068 . . . . . . . . . . . . 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 5873 . . . . . . . . . . . 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 2438 . . . . . . . . . . . . 13  |-  ( D Nat 
E )  =  ( D Nat  E )
11216, 111fuchom 14163 . . . . . . . . . . . . . . . 16  |-  ( D Nat 
E )  =  (  Hom  `  ( D FuncCat  E ) )
11320ad3antrrr 712 . . . . . . . . . . . . . . . 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 14070 . . . . . . . . . . . . . . 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 5874 . . . . . . . . . . . . . 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 14153 . . . . . . . . . . . . 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 14155 . . . . . . . . . . . 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 13914 . . . . . . . . . . 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 2474 . . . . . . . . . 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 4298 . . . . . . . . 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 453 . . . . . . . . . . . . . 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 14070 . . . . . . . . . . . . 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 5873 . . . . . . . . . . . 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 14153 . . . . . . . . . . 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 14156 . . . . . . . . . 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 5775 . . . . . . . . . 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 190 . . . . . . . . 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 2473 . . . . . . . 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 4298 . . . . . . 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 5782 . . . . . . 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 2473 . . . . . 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 1150 . . . . 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 6141 . . . 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 14071 . . . . 5  |-  ( ph  ->  ( 2nd `  G
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
135 fnov 6181 . . . . 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 190 . . . 4  |-  ( ph  ->  ( 2nd `  G
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  G ) y ) ) )
137133, 136eqtr4d 2473 . . 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 3994 . 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 2438 . . 3  |-  ( <. C ,  D >. curryF  F )  =  ( <. C ,  D >. curryF  F )
1401, 2, 4, 6uncfcl 14337 . . 3  |-  ( ph  ->  F  e.  ( ( C  X.c  D )  Func  E
) )
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 14325 . 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 6396 . . 3  |-  ( ( Rel  ( C  Func  ( D FuncCat  E ) )  /\  G  e.  ( C  Func  ( D FuncCat  E )
) )  ->  G  =  <. ( 1st `  G
) ,  ( 2nd `  G ) >. )
14318, 6, 142sylancr 646 . 2  |-  ( ph  ->  G  =  <. ( 1st `  G ) ,  ( 2nd `  G
) >. )
144138, 141, 1433eqtr4d 2480 1  |-  ( ph  ->  ( <. C ,  D >. curryF  F
)  =  G )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 360    = wceq 1653    e. wcel 1726   <.cop 3819   class class class wbr 4215    e. cmpt 4269    X. cxp 4879    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   <"cs3 11811   Basecbs 13474    Hom chom 13545  compcco 13546   Catccat 13894   Idccid 13895    Func cfunc 14056   Nat cnat 14143   FuncCat cfuc 14144   curryF ccurf 14312   uncurryF cuncf 14313
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  ax-cnex 9051  ax-resscn 9052  ax-1cn 9053  ax-icn 9054  ax-addcl 9055  ax-addrcl 9056  ax-mulcl 9057  ax-mulrcl 9058  ax-mulcom 9059  ax-addass 9060  ax-mulass 9061  ax-distr 9062  ax-i2m1 9063  ax-1ne0 9064  ax-1rid 9065  ax-rnegex 9066  ax-rrecex 9067  ax-cnre 9068  ax-pre-lttri 9069  ax-pre-lttrn 9070  ax-pre-ltadd 9071  ax-pre-mulgt0 9072
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  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-nel 2604  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-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-int 4053  df-iun 4097  df-br 4216  df-opab 4270  df-mpt 4271  df-tr 4306  df-eprel 4497  df-id 4501  df-po 4506  df-so 4507  df-fr 4544  df-we 4546  df-ord 4587  df-on 4588  df-lim 4589  df-suc 4590  df-om 4849  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-recs 6636  df-rdg 6671  df-1o 6727  df-oadd 6731  df-er 6908  df-map 7023  df-ixp 7067  df-en 7113  df-dom 7114  df-sdom 7115  df-fin 7116  df-card 7831  df-pnf 9127  df-mnf 9128  df-xr 9129  df-ltxr 9130  df-le 9131  df-sub 9298  df-neg 9299  df-nn 10006  df-2 10063  df-3 10064  df-4 10065  df-5 10066  df-6 10067  df-7 10068  df-8 10069  df-9 10070  df-10 10071  df-n0 10227  df-z 10288  df-dec 10388  df-uz 10494  df-fz 11049  df-fzo 11141  df-hash 11624  df-word 11728  df-concat 11729  df-s1 11730  df-s2 11817  df-s3 11818  df-struct 13476  df-ndx 13477  df-slot 13478  df-base 13479  df-hom 13558  df-cco 13559  df-cat 13898  df-cid 13899  df-func 14060  df-cofu 14062  df-nat 14145  df-fuc 14146  df-xpc 14274  df-1stf 14275  df-2ndf 14276  df-prf 14277  df-evlf 14315  df-curf 14316  df-uncf 14317
  Copyright terms: Public domain W3C validator