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

Theorem curfuncf 14105
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 706 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  D  e.  Cat )
4 uncfval.d . . . . . . . . . . 11  |-  ( ph  ->  E  e.  Cat )
54ad2antrr 706 . . . . . . . . . 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 706 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  G  e.  ( C  Func  ( D FuncCat  E ) ) )
8 eqid 2358 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
9 eqid 2358 . . . . . . . . . 10  |-  ( Base `  D )  =  (
Base `  D )
10 simplr 731 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  x  e.  ( Base `  C
) )
11 simpr 447 . . . . . . . . . 10  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  y  e.  ( Base `  D
) )
121, 3, 5, 7, 8, 9, 10, 11uncf1 14103 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  (
x ( 1st `  F
) y )  =  ( ( 1st `  (
( 1st `  G
) `  x )
) `  y )
)
1312mpteq2dva 4185 . . . . . . . 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 2358 . . . . . . . . . 10  |-  ( Base `  E )  =  (
Base `  E )
15 relfunc 13829 . . . . . . . . . . 11  |-  Rel  ( D  Func  E )
16 eqid 2358 . . . . . . . . . . . . . 14  |-  ( D FuncCat  E )  =  ( D FuncCat  E )
1716fucbas 13927 . . . . . . . . . . . . 13  |-  ( D 
Func  E )  =  (
Base `  ( D FuncCat  E ) )
18 relfunc 13829 . . . . . . . . . . . . . 14  |-  Rel  ( C  Func  ( D FuncCat  E
) )
19 1st2ndbr 6253 . . . . . . . . . . . . . 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 644 . . . . . . . . . . . . 13  |-  ( ph  ->  ( 1st `  G
) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
218, 17, 20funcf1 13833 . . . . . . . . . . . 12  |-  ( ph  ->  ( 1st `  G
) : ( Base `  C ) --> ( D 
Func  E ) )
2221ffvelrnda 5745 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  e.  ( D  Func  E )
)
23 1st2ndbr 6253 . . . . . . . . . . 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 644 . . . . . . . . . 10  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) ( D  Func  E ) ( 2nd `  (
( 1st `  G
) `  x )
) )
259, 14, 24funcf1 13833 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
2625feqmptd 5655 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
)  |->  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  y )
) )
2713, 26eqtr4d 2393 . . . . . . 7  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( y  e.  ( Base `  D
)  |->  ( x ( 1st `  F ) y ) )  =  ( 1st `  (
( 1st `  G
) `  x )
) )
282ad3antrrr 710 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  D  e.  Cat )
294ad3antrrr 710 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  E  e.  Cat )
306ad3antrrr 710 . . . . . . . . . . . . . 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 735 . . . . . . . . . . . . . 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 simprl 732 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
y  e.  ( Base `  D ) )
3332adantr 451 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  y  e.  ( Base `  D )
)
34 eqid 2358 . . . . . . . . . . . . . 14  |-  (  Hom  `  C )  =  (  Hom  `  C )
35 eqid 2358 . . . . . . . . . . . . . 14  |-  (  Hom  `  D )  =  (  Hom  `  D )
36 simprr 733 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  (
y  e.  ( Base `  D )  /\  z  e.  ( Base `  D
) ) )  -> 
z  e.  ( Base `  D ) )
3736adantr 451 . . . . . . . . . . . . . 14  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  z  e.  ( Base `  D )
)
38 eqid 2358 . . . . . . . . . . . . . . 15  |-  ( Id
`  C )  =  ( Id `  C
)
39 funcrcl 13830 . . . . . . . . . . . . . . . . . 18  |-  ( G  e.  ( C  Func  ( D FuncCat  E ) )  -> 
( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
406, 39syl 15 . . . . . . . . . . . . . . . . 17  |-  ( ph  ->  ( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
4140simpld 445 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  C  e.  Cat )
4241ad3antrrr 710 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  C  e.  Cat )
438, 34, 38, 42, 31catidcl 13677 . . . . . . . . . . . . . 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 ) )
44 simpr 447 . . . . . . . . . . . . . 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 ) )
451, 28, 29, 30, 8, 9, 31, 33, 34, 35, 31, 37, 43, 44uncf2 14104 . . . . . . . . . . . . 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 ) ) )
46 eqid 2358 . . . . . . . . . . . . . . . . . 18  |-  ( Id
`  ( D FuncCat  E
) )  =  ( Id `  ( D FuncCat  E ) )
4720ad3antrrr 710 . . . . . . . . . . . . . . . . . 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 ) )
488, 38, 46, 47, 31funcid 13837 . . . . . . . . . . . . . . . . 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 )
) )
49 eqid 2358 . . . . . . . . . . . . . . . . . 18  |-  ( Id
`  E )  =  ( Id `  E
)
5022ad2antrr 706 . . . . . . . . . . . . . . . . . 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 )
)
5116, 46, 49, 50fucid 13938 . . . . . . . . . . . . . . . . 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 )
) ) )
5248, 51eqtrd 2390 . . . . . . . . . . . . . . . 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 )
) ) )
5352fveq1d 5607 . . . . . . . . . . . . . . 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 ) )
5425ad2antrr 706 . . . . . . . . . . . . . . . 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 ) )
55 fvco3 5676 . . . . . . . . . . . . . . . 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
) ) )
5654, 37, 55syl2anc 642 . . . . . . . . . . . . . . 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 )
) )
5753, 56eqtrd 2390 . . . . . . . . . . . . . 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
) ) )
5857oveq1d 5957 . . . . . . . . . . . . 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 ) ) )
59 eqid 2358 . . . . . . . . . . . . . 14  |-  (  Hom  `  E )  =  (  Hom  `  E )
60 simplrl 736 . . . . . . . . . . . . . . 15  |-  ( ( ( ( ph  /\  x  e.  ( Base `  C ) )  /\  ( y  e.  (
Base `  D )  /\  z  e.  ( Base `  D ) ) )  /\  g  e.  ( y (  Hom  `  D ) z ) )  ->  y  e.  ( Base `  D )
)
6154, 60ffvelrnd 5746 . . . . . . . . . . . . . 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 ) )
62 eqid 2358 . . . . . . . . . . . . . 14  |-  (comp `  E )  =  (comp `  E )
6354, 37ffvelrnd 5746 . . . . . . . . . . . . . 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 ) )
6424adantr 451 . . . . . . . . . . . . . . . 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 )
) )
659, 35, 59, 64, 32, 36funcf2 13835 . . . . . . . . . . . . . . 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 )
) )
6665ffvelrnda 5745 . . . . . . . . . . . . . 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 )
) )
6714, 59, 49, 29, 61, 62, 63, 66catlid 13678 . . . . . . . . . . . . 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
) )
6845, 58, 673eqtrd 2394 . . . . . . . . . . . 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
) )
6968mpteq2dva 4185 . . . . . . . . . . 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
) ) )
7065feqmptd 5655 . . . . . . . . . . 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 ) ) )
7169, 70eqtr4d 2393 . . . . . . . . . 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 ) )
72713impb 1147 . . . . . . . . 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 ) )
7372mpt2eq3dva 5996 . . . . . . . 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 ) ) )
749, 24funcfn2 13836 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 2nd `  ( ( 1st `  G
) `  x )
)  Fn  ( (
Base `  D )  X.  ( Base `  D
) ) )
75 fnov 6036 . . . . . . . . 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 ) ) )
7674, 75sylib 188 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 2nd `  ( ( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
) ,  z  e.  ( Base `  D
)  |->  ( y ( 2nd `  ( ( 1st `  G ) `
 x ) ) z ) ) )
7773, 76eqtr4d 2393 . . . . . . 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 )
) )
7827, 77opeq12d 3883 . . . . . 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 )
) >. )
79 1st2nd 6250 . . . . . . 7  |-  ( ( Rel  ( D  Func  E )  /\  ( ( 1st `  G ) `
 x )  e.  ( D  Func  E
) )  ->  (
( 1st `  G
) `  x )  =  <. ( 1st `  (
( 1st `  G
) `  x )
) ,  ( 2nd `  ( ( 1st `  G
) `  x )
) >. )
8015, 22, 79sylancr 644 . . . . . 6  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  =  <. ( 1st `  ( ( 1st `  G ) `
 x ) ) ,  ( 2nd `  (
( 1st `  G
) `  x )
) >. )
8178, 80eqtr4d 2393 . . . . 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 )
)
8281mpteq2dva 4185 . . . 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 ) ) )
8321feqmptd 5655 . . . 4  |-  ( ph  ->  ( 1st `  G
)  =  ( x  e.  ( Base `  C
)  |->  ( ( 1st `  G ) `  x
) ) )
8482, 83eqtr4d 2393 . . 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 ) )
852ad3antrrr 710 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  D  e.  Cat )
864ad3antrrr 710 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  E  e.  Cat )
876ad3antrrr 710 . . . . . . . . . . . 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 ) ) )
88 simprl 732 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  x  e.  ( Base `  C
) )
8988ad2antrr 706 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  x  e.  ( Base `  C )
)
90 simpr 447 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  z  e.  ( Base `  D )
)
91 simprr 733 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  y  e.  ( Base `  C
) )
9291ad2antrr 706 . . . . . . . . . . . 12  |-  ( ( ( ( ph  /\  ( x  e.  ( Base `  C )  /\  y  e.  ( Base `  C ) ) )  /\  g  e.  ( x (  Hom  `  C
) y ) )  /\  z  e.  (
Base `  D )
)  ->  y  e.  ( Base `  C )
)
93 simplr 731 . . . . . . . . . . . 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 ) )
94 eqid 2358 . . . . . . . . . . . . 13  |-  ( Id
`  D )  =  ( Id `  D
)
959, 35, 94, 85, 90catidcl 13677 . . . . . . . . . . . 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 ) )
961, 85, 86, 87, 8, 9, 89, 90, 34, 35, 92, 90, 93, 95uncf2 14104 . . . . . . . . . . 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
) ) ) )
9722adantrr 697 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  G
) `  x )  e.  ( D  Func  E
) )
9897adantr 451 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( 1st `  G
) `  x )  e.  ( D  Func  E
) )
9915, 98, 23sylancr 644 . . . . . . . . . . . . . 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 )
) )
10099adantr 451 . . . . . . . . . . . . 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 )
) )
1019, 94, 49, 100, 90funcid 13837 . . . . . . . . . . . 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
) ) )
102101oveq2d 5958 . . . . . . . . . . 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 )
) ) )
1039, 14, 99funcf1 13833 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( 1st `  (
( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
104103ffvelrnda 5745 . . . . . . . . . . . 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 ) )
10521ffvelrnda 5745 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  y  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  y )  e.  ( D  Func  E )
)
106105adantrl 696 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  (
( 1st `  G
) `  y )  e.  ( D  Func  E
) )
107106adantr 451 . . . . . . . . . . . . . . 15  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( 1st `  G
) `  y )  e.  ( D  Func  E
) )
108 1st2ndbr 6253 . . . . . . . . . . . . . . 15  |-  ( ( Rel  ( D  Func  E )  /\  ( ( 1st `  G ) `
 y )  e.  ( D  Func  E
) )  ->  ( 1st `  ( ( 1st `  G ) `  y
) ) ( D 
Func  E ) ( 2nd `  ( ( 1st `  G
) `  y )
) )
10915, 107, 108sylancr 644 . . . . . . . . . . . . . 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 )
) )
1109, 14, 109funcf1 13833 . . . . . . . . . . . . 13  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( 1st `  (
( 1st `  G
) `  y )
) : ( Base `  D ) --> ( Base `  E ) )
111110ffvelrnda 5745 . . . . . . . . . . . 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 ) )
112 eqid 2358 . . . . . . . . . . . . 13  |-  ( D Nat 
E )  =  ( D Nat  E )
11316, 112fuchom 13928 . . . . . . . . . . . . . . . 16  |-  ( D Nat 
E )  =  (  Hom  `  ( D FuncCat  E ) )
11420adantr 451 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ( x  e.  ( Base `  C
)  /\  y  e.  ( Base `  C )
) )  ->  ( 1st `  G ) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
115114ad2antrr 706 . . . . . . . . . . . . . . . 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 ) )
1168, 34, 113, 115, 89, 92funcf2 13835 . . . . . . . . . . . . . . 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
) ) )
117116, 93ffvelrnd 5746 . . . . . . . . . . . . . 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 )
) )
118112, 117nat1st2nd 13918 . . . . . . . . . . . . 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 )
) >. ) )
119112, 118, 9, 59, 90natcl 13920 . . . . . . . . . . . 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 )
) )
12014, 59, 49, 86, 104, 62, 111, 119catrid 13679 . . . . . . . . . . 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 )
)
12196, 102, 1203eqtrd 2394 . . . . . . . . . 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
) )
122121mpteq2dva 4185 . . . . . . . . 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
) ) )
1238, 34, 113, 114, 88, 91funcf2 13835 . . . . . . . . . . . . 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
) ) )
124123ffvelrnda 5745 . . . . . . . . . . . 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 )
) )
125112, 124nat1st2nd 13918 . . . . . . . . . . 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 )
) >. ) )
126112, 125, 9natfn 13921 . . . . . . . . . 10  |-  ( ( ( ph  /\  (
x  e.  ( Base `  C )  /\  y  e.  ( Base `  C
) ) )  /\  g  e.  ( x
(  Hom  `  C ) y ) )  -> 
( ( x ( 2nd `  G ) y ) `  g
)  Fn  ( Base `  D ) )
127 dffn5 5648 . . . . . . . . . 10  |-  ( ( ( x ( 2nd `  G ) y ) `
 g )  Fn  ( Base `  D
)  <->  ( ( x ( 2nd `  G
) y ) `  g )  =  ( z  e.  ( Base `  D )  |->  ( ( ( x ( 2nd `  G ) y ) `
 g ) `  z ) ) )
128126, 127sylib 188 . . . . . . . . 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
) ) )
129122, 128eqtr4d 2393 . . . . . . . 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 ) )
130129mpteq2dva 4185 . . . . . . 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 ) ) )
131123feqmptd 5655 . . . . . . 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 ) ) )
132130, 131eqtr4d 2393 . . . . . 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 ) )
1331323impb 1147 . . . . 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 ) )
134133mpt2eq3dva 5996 . . . 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 ) ) )
1358, 20funcfn2 13836 . . . . 5  |-  ( ph  ->  ( 2nd `  G
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
136 fnov 6036 . . . . 5  |-  ( ( 2nd `  G )  Fn  ( ( Base `  C )  X.  ( Base `  C ) )  <-> 
( 2nd `  G
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  G ) y ) ) )
137135, 136sylib 188 . . . 4  |-  ( ph  ->  ( 2nd `  G
)  =  ( x  e.  ( Base `  C
) ,  y  e.  ( Base `  C
)  |->  ( x ( 2nd `  G ) y ) ) )
138134, 137eqtr4d 2393 . . 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 ) )
13984, 138opeq12d 3883 . 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
) >. )
140 eqid 2358 . . 3  |-  ( <. C ,  D >. curryF  F )  =  ( <. C ,  D >. curryF  F )
1411, 2, 4, 6uncfcl 14102 . . 3  |-  ( ph  ->  F  e.  ( ( C  X.c  D )  Func  E
) )
142140, 8, 41, 2, 141, 9, 35, 38, 34, 94curfval 14090 . 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 ) ) ) ) ) >. )
143 1st2nd 6250 . . 3  |-  ( ( Rel  ( C  Func  ( D FuncCat  E ) )  /\  G  e.  ( C  Func  ( D FuncCat  E )
) )  ->  G  =  <. ( 1st `  G
) ,  ( 2nd `  G ) >. )
14418, 6, 143sylancr 644 . 2  |-  ( ph  ->  G  =  <. ( 1st `  G ) ,  ( 2nd `  G
) >. )
145139, 142, 1443eqtr4d 2400 1  |-  ( ph  ->  ( <. C ,  D >. curryF  F
)  =  G )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    = wceq 1642    e. wcel 1710   <.cop 3719   class class class wbr 4102    e. cmpt 4156    X. cxp 4766    o. ccom 4772   Rel wrel 4773    Fn wfn 5329   -->wf 5330   ` cfv 5334  (class class class)co 5942    e. cmpt2 5944   1stc1st 6204   2ndc2nd 6205   <"cs3 11582   Basecbs 13239    Hom chom 13310  compcco 13311   Catccat 13659   Idccid 13660    Func cfunc 13821   Nat cnat 13908   FuncCat cfuc 13909   curryF ccurf 14077   uncurryF cuncf 14078
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1546  ax-5 1557  ax-17 1616  ax-9 1654  ax-8 1675  ax-13 1712  ax-14 1714  ax-6 1729  ax-7 1734  ax-11 1746  ax-12 1930  ax-ext 2339  ax-rep 4210  ax-sep 4220  ax-nul 4228  ax-pow 4267  ax-pr 4293  ax-un 4591  ax-cnex 8880  ax-resscn 8881  ax-1cn 8882  ax-icn 8883  ax-addcl 8884  ax-addrcl 8885  ax-mulcl 8886  ax-mulrcl 8887  ax-mulcom 8888  ax-addass 8889  ax-mulass 8890  ax-distr 8891  ax-i2m1 8892  ax-1ne0 8893  ax-1rid 8894  ax-rnegex 8895  ax-rrecex 8896  ax-cnre 8897  ax-pre-lttri 8898  ax-pre-lttrn 8899  ax-pre-ltadd 8900  ax-pre-mulgt0 8901
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1319  df-ex 1542  df-nf 1545  df-sb 1649  df-eu 2213  df-mo 2214  df-clab 2345  df-cleq 2351  df-clel 2354  df-nfc 2483  df-ne 2523  df-nel 2524  df-ral 2624  df-rex 2625  df-reu 2626  df-rmo 2627  df-rab 2628  df-v 2866  df-sbc 3068  df-csb 3158  df-dif 3231  df-un 3233  df-in 3235  df-ss 3242  df-pss 3244  df-nul 3532  df-if 3642  df-pw 3703  df-sn 3722  df-pr 3723  df-tp 3724  df-op 3725  df-uni 3907  df-int 3942  df-iun 3986  df-br 4103  df-opab 4157  df-mpt 4158  df-tr 4193  df-eprel 4384  df-id 4388  df-po 4393  df-so 4394  df-fr 4431  df-we 4433  df-ord 4474  df-on 4475  df-lim 4476  df-suc 4477  df-om 4736  df-xp 4774  df-rel 4775  df-cnv 4776  df-co 4777  df-dm 4778  df-rn 4779  df-res 4780  df-ima 4781  df-iota 5298  df-fun 5336  df-fn 5337  df-f 5338  df-f1 5339  df-fo 5340  df-f1o 5341  df-fv 5342  df-ov 5945  df-oprab 5946  df-mpt2 5947  df-1st 6206  df-2nd 6207  df-riota 6388  df-recs 6472  df-rdg 6507  df-1o 6563  df-oadd 6567  df-er 6744  df-map 6859  df-ixp 6903  df-en 6949  df-dom 6950  df-sdom 6951  df-fin 6952  df-card 7659  df-pnf 8956  df-mnf 8957  df-xr 8958  df-ltxr 8959  df-le 8960  df-sub 9126  df-neg 9127  df-nn 9834  df-2 9891  df-3 9892  df-4 9893  df-5 9894  df-6 9895  df-7 9896  df-8 9897  df-9 9898  df-10 9899  df-n0 10055  df-z 10114  df-dec 10214  df-uz 10320  df-fz 10872  df-fzo 10960  df-hash 11428  df-word 11499  df-concat 11500  df-s1 11501  df-s2 11588  df-s3 11589  df-struct 13241  df-ndx 13242  df-slot 13243  df-base 13244  df-hom 13323  df-cco 13324  df-cat 13663  df-cid 13664  df-func 13825  df-cofu 13827  df-nat 13910  df-fuc 13911  df-xpc 14039  df-1stf 14040  df-2ndf 14041  df-prf 14042  df-evlf 14080  df-curf 14081  df-uncf 14082
  Copyright terms: Public domain W3C validator