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

Theorem curfuncf 14012
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 2283 . . . . . . . . . 10  |-  ( Base `  C )  =  (
Base `  C )
9 eqid 2283 . . . . . . . . . 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 14010 . . . . . . . . 9  |-  ( ( ( ph  /\  x  e.  ( Base `  C
) )  /\  y  e.  ( Base `  D
) )  ->  (
x ( 1st `  F
) y )  =  ( ( 1st `  (
( 1st `  G
) `  x )
) `  y )
)
1312mpteq2dva 4106 . . . . . . . 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 2283 . . . . . . . . . 10  |-  ( Base `  E )  =  (
Base `  E )
15 relfunc 13736 . . . . . . . . . . 11  |-  Rel  ( D  Func  E )
16 eqid 2283 . . . . . . . . . . . . . 14  |-  ( D FuncCat  E )  =  ( D FuncCat  E )
1716fucbas 13834 . . . . . . . . . . . . 13  |-  ( D 
Func  E )  =  (
Base `  ( D FuncCat  E ) )
18 relfunc 13736 . . . . . . . . . . . . . 14  |-  Rel  ( C  Func  ( D FuncCat  E
) )
19 1st2ndbr 6169 . . . . . . . . . . . . . 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 13740 . . . . . . . . . . . 12  |-  ( ph  ->  ( 1st `  G
) : ( Base `  C ) --> ( D 
Func  E ) )
2221ffvelrnda 5665 . . . . . . . . . . 11  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( ( 1st `  G ) `  x )  e.  ( D  Func  E )
)
23 1st2ndbr 6169 . . . . . . . . . . 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 13740 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
) : ( Base `  D ) --> ( Base `  E ) )
2625feqmptd 5575 . . . . . . . 8  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 1st `  ( ( 1st `  G
) `  x )
)  =  ( y  e.  ( Base `  D
)  |->  ( ( 1st `  ( ( 1st `  G
) `  x )
) `  y )
) )
2713, 26eqtr4d 2318 . . . . . . 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 2283 . . . . . . . . . . . . . 14  |-  (  Hom  `  C )  =  (  Hom  `  C )
35 eqid 2283 . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . . 15  |-  ( Id
`  C )  =  ( Id `  C
)
39 funcrcl 13737 . . . . . . . . . . . . . . . . . 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 13584 . . . . . . . . . . . . . 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 14011 . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . . . . . 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 13744 . . . . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . . . . . 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 13845 . . . . . . . . . . . . . . . . 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 2315 . . . . . . . . . . . . . . . 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 5527 . . . . . . . . . . . . . . 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 5596 . . . . . . . . . . . . . . . 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 2315 . . . . . . . . . . . . . 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 5873 . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . 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 5666 . . . . . . . . . . . . . 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 2283 . . . . . . . . . . . . . 14  |-  (comp `  E )  =  (comp `  E )
6354, 37ffvelrnd 5666 . . . . . . . . . . . . . 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 13742 . . . . . . . . . . . . . . 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 5665 . . . . . . . . . . . . . 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 13585 . . . . . . . . . . . . 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 2319 . . . . . . . . . . . 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 4106 . . . . . . . . . . 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 5575 . . . . . . . . . . 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 2318 . . . . . . . . . 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 5912 . . . . . . . 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 13743 . . . . . . . . 9  |-  ( (
ph  /\  x  e.  ( Base `  C )
)  ->  ( 2nd `  ( ( 1st `  G
) `  x )
)  Fn  ( (
Base `  D )  X.  ( Base `  D
) ) )
75 fnov 5952 . . . . . . . . 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 2318 . . . . . . 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 3804 . . . . . 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 6166 . . . . . . 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 2318 . . . . 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 4106 . . . 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 5575 . . . 4  |-  ( ph  ->  ( 1st `  G
)  =  ( x  e.  ( Base `  C
)  |->  ( ( 1st `  G ) `  x
) ) )
8482, 83eqtr4d 2318 . . 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 2283 . . . . . . . . . . . . 13  |-  ( Id
`  D )  =  ( Id `  D
)
959, 35, 94, 85, 90catidcl 13584 . . . . . . . . . . . 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 14011 . . . . . . . . . . 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 13744 . . . . . . . . . . . 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 5874 . . . . . . . . . . 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 13740 . . . . . . . . . . . . 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 5665 . . . . . . . . . . . 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 5665 . . . . . . . . . . . . . . . . 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 6169 . . . . . . . . . . . . . . 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 13740 . . . . . . . . . . . . 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 5665 . . . . . . . . . . . 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 2283 . . . . . . . . . . . . 13  |-  ( D Nat 
E )  =  ( D Nat  E )
11316, 112fuchom 13835 . . . . . . . . . . . . . . . 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 13742 . . . . . . . . . . . . . . 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 5666 . . . . . . . . . . . . . 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 13825 . . . . . . . . . . . . 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 13827 . . . . . . . . . . . 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 13586 . . . . . . . . . . 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 2319 . . . . . . . . . 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 4106 . . . . . . . . 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 13742 . . . . . . . . . . . . 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 5665 . . . . . . . . . . . 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 13825 . . . . . . . . . . 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 13828 . . . . . . . . . 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 5568 . . . . . . . . . 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 2318 . . . . . . . 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 4106 . . . . . . 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 5575 . . . . . . 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 2318 . . . . . 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 5912 . . . 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 13743 . . . . 5  |-  ( ph  ->  ( 2nd `  G
)  Fn  ( (
Base `  C )  X.  ( Base `  C
) ) )
136 fnov 5952 . . . . 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 2318 . . 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 3804 . 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 2283 . . 3  |-  ( <. C ,  D >. curryF  F )  =  ( <. C ,  D >. curryF  F )
1411, 2, 4, 6uncfcl 14009 . . 3  |-  ( ph  ->  F  e.  ( ( C  X.c  D )  Func  E
) )
142140, 8, 41, 2, 141, 9, 35, 38, 34, 94curfval 13997 . 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 6166 . . 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 2325 1  |-  ( ph  ->  ( <. C ,  D >. curryF  F
)  =  G )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    = wceq 1623    e. wcel 1684   <.cop 3643   class class class wbr 4023    e. cmpt 4077    X. cxp 4687    o. ccom 4693   Rel wrel 4694    Fn wfn 5250   -->wf 5251   ` cfv 5255  (class class class)co 5858    e. cmpt2 5860   1stc1st 6120   2ndc2nd 6121   <"cs3 11492   Basecbs 13148    Hom chom 13219  compcco 13220   Catccat 13566   Idccid 13567    Func cfunc 13728   Nat cnat 13815   FuncCat cfuc 13816   curryF ccurf 13984   uncurryF cuncf 13985
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-cnex 8793  ax-resscn 8794  ax-1cn 8795  ax-icn 8796  ax-addcl 8797  ax-addrcl 8798  ax-mulcl 8799  ax-mulrcl 8800  ax-mulcom 8801  ax-addass 8802  ax-mulass 8803  ax-distr 8804  ax-i2m1 8805  ax-1ne0 8806  ax-1rid 8807  ax-rnegex 8808  ax-rrecex 8809  ax-cnre 8810  ax-pre-lttri 8811  ax-pre-lttrn 8812  ax-pre-ltadd 8813  ax-pre-mulgt0 8814
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rmo 2551  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-int 3863  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-1st 6122  df-2nd 6123  df-riota 6304  df-recs 6388  df-rdg 6423  df-1o 6479  df-oadd 6483  df-er 6660  df-map 6774  df-ixp 6818  df-en 6864  df-dom 6865  df-sdom 6866  df-fin 6867  df-card 7572  df-pnf 8869  df-mnf 8870  df-xr 8871  df-ltxr 8872  df-le 8873  df-sub 9039  df-neg 9040  df-nn 9747  df-2 9804  df-3 9805  df-4 9806  df-5 9807  df-6 9808  df-7 9809  df-8 9810  df-9 9811  df-10 9812  df-n0 9966  df-z 10025  df-dec 10125  df-uz 10231  df-fz 10783  df-fzo 10871  df-hash 11338  df-word 11409  df-concat 11410  df-s1 11411  df-s2 11498  df-s3 11499  df-struct 13150  df-ndx 13151  df-slot 13152  df-base 13153  df-hom 13232  df-cco 13233  df-cat 13570  df-cid 13571  df-func 13732  df-cofu 13734  df-nat 13817  df-fuc 13818  df-xpc 13946  df-1stf 13947  df-2ndf 13948  df-prf 13949  df-evlf 13987  df-curf 13988  df-uncf 13989
  Copyright terms: Public domain W3C validator