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

Theorem uncf1 14292
Description: Value of the uncurry functor on an object. (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
) ) )
uncf1.a  |-  A  =  ( Base `  C
)
uncf1.b  |-  B  =  ( Base `  D
)
uncf1.x  |-  ( ph  ->  X  e.  A )
uncf1.y  |-  ( ph  ->  Y  e.  B )
Assertion
Ref Expression
uncf1  |-  ( ph  ->  ( X ( 1st `  F ) Y )  =  ( ( 1st `  ( ( 1st `  G
) `  X )
) `  Y )
)

Proof of Theorem uncf1
StepHypRef Expression
1 uncfval.g . . . . 5  |-  F  =  ( <" C D E "> uncurryF  G )
2 uncfval.c . . . . 5  |-  ( ph  ->  D  e.  Cat )
3 uncfval.d . . . . 5  |-  ( ph  ->  E  e.  Cat )
4 uncfval.f . . . . 5  |-  ( ph  ->  G  e.  ( C 
Func  ( D FuncCat  E
) ) )
51, 2, 3, 4uncfval 14290 . . . 4  |-  ( ph  ->  F  =  ( ( D evalF 
E )  o.func  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) ) ) )
65fveq2d 5695 . . 3  |-  ( ph  ->  ( 1st `  F
)  =  ( 1st `  ( ( D evalF  E )  o.func  ( ( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) ) )
76oveqd 6061 . 2  |-  ( ph  ->  ( X ( 1st `  F ) Y )  =  ( X ( 1st `  ( ( D evalF 
E )  o.func  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) ) ) ) Y ) )
8 df-ov 6047 . . 3  |-  ( X ( 1st `  (
( D evalF  E )  o.func  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) ) ) ) Y )  =  ( ( 1st `  (
( D evalF  E )  o.func  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) ) ) ) `  <. X ,  Y >. )
9 eqid 2408 . . . . 5  |-  ( C  X.c  D )  =  ( C  X.c  D )
10 uncf1.a . . . . 5  |-  A  =  ( Base `  C
)
11 uncf1.b . . . . 5  |-  B  =  ( Base `  D
)
129, 10, 11xpcbas 14234 . . . 4  |-  ( A  X.  B )  =  ( Base `  ( C  X.c  D ) )
13 eqid 2408 . . . . 5  |-  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) )  =  ( ( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
)
14 eqid 2408 . . . . 5  |-  ( ( D FuncCat  E )  X.c  D )  =  ( ( D FuncCat  E )  X.c  D )
15 funcrcl 14019 . . . . . . . . 9  |-  ( G  e.  ( C  Func  ( D FuncCat  E ) )  -> 
( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
164, 15syl 16 . . . . . . . 8  |-  ( ph  ->  ( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
1716simpld 446 . . . . . . 7  |-  ( ph  ->  C  e.  Cat )
18 eqid 2408 . . . . . . 7  |-  ( C  1stF  D )  =  ( C  1stF  D )
199, 17, 2, 181stfcl 14253 . . . . . 6  |-  ( ph  ->  ( C  1stF  D )  e.  ( ( C  X.c  D
)  Func  C )
)
2019, 4cofucl 14044 . . . . 5  |-  ( ph  ->  ( G  o.func  ( C  1stF  D ) )  e.  ( ( C  X.c  D ) 
Func  ( D FuncCat  E
) ) )
21 eqid 2408 . . . . . 6  |-  ( C  2ndF  D )  =  ( C  2ndF  D )
229, 17, 2, 212ndfcl 14254 . . . . 5  |-  ( ph  ->  ( C  2ndF  D )  e.  ( ( C  X.c  D
)  Func  D )
)
2313, 14, 20, 22prfcl 14259 . . . 4  |-  ( ph  ->  ( ( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
)  e.  ( ( C  X.c  D )  Func  (
( D FuncCat  E )  X.c  D ) ) )
24 eqid 2408 . . . . 5  |-  ( D evalF  E
)  =  ( D evalF  E
)
25 eqid 2408 . . . . 5  |-  ( D FuncCat  E )  =  ( D FuncCat  E )
2624, 25, 2, 3evlfcl 14278 . . . 4  |-  ( ph  ->  ( D evalF  E )  e.  ( ( ( D FuncCat  E
)  X.c  D )  Func  E
) )
27 uncf1.x . . . . 5  |-  ( ph  ->  X  e.  A )
28 uncf1.y . . . . 5  |-  ( ph  ->  Y  e.  B )
29 opelxpi 4873 . . . . 5  |-  ( ( X  e.  A  /\  Y  e.  B )  -> 
<. X ,  Y >.  e.  ( A  X.  B
) )
3027, 28, 29syl2anc 643 . . . 4  |-  ( ph  -> 
<. X ,  Y >.  e.  ( A  X.  B
) )
3112, 23, 26, 30cofu1 14040 . . 3  |-  ( ph  ->  ( ( 1st `  (
( D evalF  E )  o.func  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) ) ) ) `  <. X ,  Y >. )  =  ( ( 1st `  ( D evalF  E ) ) `  (
( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )
) )
328, 31syl5eq 2452 . 2  |-  ( ph  ->  ( X ( 1st `  ( ( D evalF  E )  o.func  ( ( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) ) Y )  =  ( ( 1st `  ( D evalF  E
) ) `  (
( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )
) )
33 eqid 2408 . . . . . . 7  |-  (  Hom  `  ( C  X.c  D ) )  =  (  Hom  `  ( C  X.c  D ) )
3413, 12, 33, 20, 22, 30prf1 14256 . . . . . 6  |-  ( ph  ->  ( ( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )  =  <. ( ( 1st `  ( G  o.func  ( C  1stF  D ) ) ) `  <. X ,  Y >. ) ,  ( ( 1st `  ( C  2ndF  D )
) `  <. X ,  Y >. ) >. )
3512, 19, 4, 30cofu1 14040 . . . . . . . 8  |-  ( ph  ->  ( ( 1st `  ( G  o.func  ( C  1stF  D )
) ) `  <. X ,  Y >. )  =  ( ( 1st `  G ) `  (
( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. ) ) )
369, 12, 33, 17, 2, 18, 301stf1 14248 . . . . . . . . . 10  |-  ( ph  ->  ( ( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. )  =  ( 1st `  <. X ,  Y >. )
)
37 op1stg 6322 . . . . . . . . . . 11  |-  ( ( X  e.  A  /\  Y  e.  B )  ->  ( 1st `  <. X ,  Y >. )  =  X )
3827, 28, 37syl2anc 643 . . . . . . . . . 10  |-  ( ph  ->  ( 1st `  <. X ,  Y >. )  =  X )
3936, 38eqtrd 2440 . . . . . . . . 9  |-  ( ph  ->  ( ( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. )  =  X )
4039fveq2d 5695 . . . . . . . 8  |-  ( ph  ->  ( ( 1st `  G
) `  ( ( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. ) )  =  ( ( 1st `  G
) `  X )
)
4135, 40eqtrd 2440 . . . . . . 7  |-  ( ph  ->  ( ( 1st `  ( G  o.func  ( C  1stF  D )
) ) `  <. X ,  Y >. )  =  ( ( 1st `  G ) `  X
) )
429, 12, 33, 17, 2, 21, 302ndf1 14251 . . . . . . . 8  |-  ( ph  ->  ( ( 1st `  ( C  2ndF  D ) ) `  <. X ,  Y >. )  =  ( 2nd `  <. X ,  Y >. )
)
43 op2ndg 6323 . . . . . . . . 9  |-  ( ( X  e.  A  /\  Y  e.  B )  ->  ( 2nd `  <. X ,  Y >. )  =  Y )
4427, 28, 43syl2anc 643 . . . . . . . 8  |-  ( ph  ->  ( 2nd `  <. X ,  Y >. )  =  Y )
4542, 44eqtrd 2440 . . . . . . 7  |-  ( ph  ->  ( ( 1st `  ( C  2ndF  D ) ) `  <. X ,  Y >. )  =  Y )
4641, 45opeq12d 3956 . . . . . 6  |-  ( ph  -> 
<. ( ( 1st `  ( G  o.func  ( C  1stF  D )
) ) `  <. X ,  Y >. ) ,  ( ( 1st `  ( C  2ndF  D )
) `  <. X ,  Y >. ) >.  =  <. ( ( 1st `  G
) `  X ) ,  Y >. )
4734, 46eqtrd 2440 . . . . 5  |-  ( ph  ->  ( ( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )  =  <. ( ( 1st `  G ) `  X
) ,  Y >. )
4847fveq2d 5695 . . . 4  |-  ( ph  ->  ( ( 1st `  ( D evalF  E ) ) `  (
( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )
)  =  ( ( 1st `  ( D evalF  E
) ) `  <. ( ( 1st `  G
) `  X ) ,  Y >. ) )
49 df-ov 6047 . . . 4  |-  ( ( ( 1st `  G
) `  X )
( 1st `  ( D evalF  E ) ) Y )  =  ( ( 1st `  ( D evalF  E ) ) `  <. ( ( 1st `  G
) `  X ) ,  Y >. )
5048, 49syl6eqr 2458 . . 3  |-  ( ph  ->  ( ( 1st `  ( D evalF  E ) ) `  (
( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )
)  =  ( ( ( 1st `  G
) `  X )
( 1st `  ( D evalF  E ) ) Y ) )
5125fucbas 14116 . . . . . 6  |-  ( D 
Func  E )  =  (
Base `  ( D FuncCat  E ) )
52 relfunc 14018 . . . . . . 7  |-  Rel  ( C  Func  ( D FuncCat  E
) )
53 1st2ndbr 6359 . . . . . . 7  |-  ( ( Rel  ( C  Func  ( D FuncCat  E ) )  /\  G  e.  ( C  Func  ( D FuncCat  E )
) )  ->  ( 1st `  G ) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
5452, 4, 53sylancr 645 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
5510, 51, 54funcf1 14022 . . . . 5  |-  ( ph  ->  ( 1st `  G
) : A --> ( D 
Func  E ) )
5655, 27ffvelrnd 5834 . . . 4  |-  ( ph  ->  ( ( 1st `  G
) `  X )  e.  ( D  Func  E
) )
5724, 2, 3, 11, 56, 28evlf1 14276 . . 3  |-  ( ph  ->  ( ( ( 1st `  G ) `  X
) ( 1st `  ( D evalF  E ) ) Y )  =  ( ( 1st `  ( ( 1st `  G
) `  X )
) `  Y )
)
5850, 57eqtrd 2440 . 2  |-  ( ph  ->  ( ( 1st `  ( D evalF  E ) ) `  (
( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )
)  =  ( ( 1st `  ( ( 1st `  G ) `
 X ) ) `
 Y ) )
597, 32, 583eqtrd 2444 1  |-  ( ph  ->  ( X ( 1st `  F ) Y )  =  ( ( 1st `  ( ( 1st `  G
) `  X )
) `  Y )
)
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 359    = wceq 1649    e. wcel 1721   <.cop 3781   class class class wbr 4176    X. cxp 4839   Rel wrel 4846   ` cfv 5417  (class class class)co 6044   1stc1st 6310   2ndc2nd 6311   <"cs3 11765   Basecbs 13428    Hom chom 13499   Catccat 13848    Func cfunc 14010    o.func ccofu 14012   FuncCat cfuc 14098    X.c cxpc 14224    1stF c1stf 14225    2ndF c2ndf 14226   ⟨,⟩F cprf 14227   evalF cevlf 14265   uncurryF cuncf 14267
This theorem is referenced by:  curfuncf  14294  uncfcurf  14295
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2389  ax-rep 4284  ax-sep 4294  ax-nul 4302  ax-pow 4341  ax-pr 4367  ax-un 4664  ax-cnex 9006  ax-resscn 9007  ax-1cn 9008  ax-icn 9009  ax-addcl 9010  ax-addrcl 9011  ax-mulcl 9012  ax-mulrcl 9013  ax-mulcom 9014  ax-addass 9015  ax-mulass 9016  ax-distr 9017  ax-i2m1 9018  ax-1ne0 9019  ax-1rid 9020  ax-rnegex 9021  ax-rrecex 9022  ax-cnre 9023  ax-pre-lttri 9024  ax-pre-lttrn 9025  ax-pre-ltadd 9026  ax-pre-mulgt0 9027
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2262  df-mo 2263  df-clab 2395  df-cleq 2401  df-clel 2404  df-nfc 2533  df-ne 2573  df-nel 2574  df-ral 2675  df-rex 2676  df-reu 2677  df-rmo 2678  df-rab 2679  df-v 2922  df-sbc 3126  df-csb 3216  df-dif 3287  df-un 3289  df-in 3291  df-ss 3298  df-pss 3300  df-nul 3593  df-if 3704  df-pw 3765  df-sn 3784  df-pr 3785  df-tp 3786  df-op 3787  df-uni 3980  df-int 4015  df-iun 4059  df-br 4177  df-opab 4231  df-mpt 4232  df-tr 4267  df-eprel 4458  df-id 4462  df-po 4467  df-so 4468  df-fr 4505  df-we 4507  df-ord 4548  df-on 4549  df-lim 4550  df-suc 4551  df-om 4809  df-xp 4847  df-rel 4848  df-cnv 4849  df-co 4850  df-dm 4851  df-rn 4852  df-res 4853  df-ima 4854  df-iota 5381  df-fun 5419  df-fn 5420  df-f 5421  df-f1 5422  df-fo 5423  df-f1o 5424  df-fv 5425  df-ov 6047  df-oprab 6048  df-mpt2 6049  df-1st 6312  df-2nd 6313  df-riota 6512  df-recs 6596  df-rdg 6631  df-1o 6687  df-oadd 6691  df-er 6868  df-map 6983  df-ixp 7027  df-en 7073  df-dom 7074  df-sdom 7075  df-fin 7076  df-card 7786  df-pnf 9082  df-mnf 9083  df-xr 9084  df-ltxr 9085  df-le 9086  df-sub 9253  df-neg 9254  df-nn 9961  df-2 10018  df-3 10019  df-4 10020  df-5 10021  df-6 10022  df-7 10023  df-8 10024  df-9 10025  df-10 10026  df-n0 10182  df-z 10243  df-dec 10343  df-uz 10449  df-fz 11004  df-fzo 11095  df-hash 11578  df-word 11682  df-concat 11683  df-s1 11684  df-s2 11771  df-s3 11772  df-struct 13430  df-ndx 13431  df-slot 13432  df-base 13433  df-hom 13512  df-cco 13513  df-cat 13852  df-cid 13853  df-func 14014  df-cofu 14016  df-nat 14099  df-fuc 14100  df-xpc 14228  df-1stf 14229  df-2ndf 14230  df-prf 14231  df-evlf 14269  df-uncf 14271
  Copyright terms: Public domain W3C validator