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

Theorem uncf1 14103
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 14101 . . . 4  |-  ( ph  ->  F  =  ( ( D evalF 
E )  o.func  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) ) ) )
65fveq2d 5609 . . 3  |-  ( ph  ->  ( 1st `  F
)  =  ( 1st `  ( ( D evalF  E )  o.func  ( ( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) ) )
76oveqd 5959 . 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 5945 . . 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 2358 . . . . 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 14045 . . . 4  |-  ( A  X.  B )  =  ( Base `  ( C  X.c  D ) )
13 eqid 2358 . . . . 5  |-  ( ( G  o.func  ( C  1stF  D )
) ⟨,⟩F  ( C  2ndF  D ) )  =  ( ( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
)
14 eqid 2358 . . . . 5  |-  ( ( D FuncCat  E )  X.c  D )  =  ( ( D FuncCat  E )  X.c  D )
15 funcrcl 13830 . . . . . . . . 9  |-  ( G  e.  ( C  Func  ( D FuncCat  E ) )  -> 
( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
164, 15syl 15 . . . . . . . 8  |-  ( ph  ->  ( C  e.  Cat  /\  ( D FuncCat  E )  e.  Cat ) )
1716simpld 445 . . . . . . 7  |-  ( ph  ->  C  e.  Cat )
18 eqid 2358 . . . . . . 7  |-  ( C  1stF  D )  =  ( C  1stF  D )
199, 17, 2, 181stfcl 14064 . . . . . 6  |-  ( ph  ->  ( C  1stF  D )  e.  ( ( C  X.c  D
)  Func  C )
)
2019, 4cofucl 13855 . . . . 5  |-  ( ph  ->  ( G  o.func  ( C  1stF  D ) )  e.  ( ( C  X.c  D ) 
Func  ( D FuncCat  E
) ) )
21 eqid 2358 . . . . . 6  |-  ( C  2ndF  D )  =  ( C  2ndF  D )
229, 17, 2, 212ndfcl 14065 . . . . 5  |-  ( ph  ->  ( C  2ndF  D )  e.  ( ( C  X.c  D
)  Func  D )
)
2313, 14, 20, 22prfcl 14070 . . . 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 2358 . . . . 5  |-  ( D evalF  E
)  =  ( D evalF  E
)
25 eqid 2358 . . . . 5  |-  ( D FuncCat  E )  =  ( D FuncCat  E )
2624, 25, 2, 3evlfcl 14089 . . . 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 4800 . . . . 5  |-  ( ( X  e.  A  /\  Y  e.  B )  -> 
<. X ,  Y >.  e.  ( A  X.  B
) )
3027, 28, 29syl2anc 642 . . . 4  |-  ( ph  -> 
<. X ,  Y >.  e.  ( A  X.  B
) )
3112, 23, 26, 30cofu1 13851 . . 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 2402 . 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 2358 . . . . . . 7  |-  (  Hom  `  ( C  X.c  D ) )  =  (  Hom  `  ( C  X.c  D ) )
3413, 12, 33, 20, 22, 30prf1 14067 . . . . . 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 13851 . . . . . . . 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 14059 . . . . . . . . . 10  |-  ( ph  ->  ( ( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. )  =  ( 1st `  <. X ,  Y >. )
)
37 op1stg 6216 . . . . . . . . . . 11  |-  ( ( X  e.  A  /\  Y  e.  B )  ->  ( 1st `  <. X ,  Y >. )  =  X )
3827, 28, 37syl2anc 642 . . . . . . . . . 10  |-  ( ph  ->  ( 1st `  <. X ,  Y >. )  =  X )
3936, 38eqtrd 2390 . . . . . . . . 9  |-  ( ph  ->  ( ( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. )  =  X )
4039fveq2d 5609 . . . . . . . 8  |-  ( ph  ->  ( ( 1st `  G
) `  ( ( 1st `  ( C  1stF  D ) ) `  <. X ,  Y >. ) )  =  ( ( 1st `  G
) `  X )
)
4135, 40eqtrd 2390 . . . . . . 7  |-  ( ph  ->  ( ( 1st `  ( G  o.func  ( C  1stF  D )
) ) `  <. X ,  Y >. )  =  ( ( 1st `  G ) `  X
) )
429, 12, 33, 17, 2, 21, 302ndf1 14062 . . . . . . . 8  |-  ( ph  ->  ( ( 1st `  ( C  2ndF  D ) ) `  <. X ,  Y >. )  =  ( 2nd `  <. X ,  Y >. )
)
43 op2ndg 6217 . . . . . . . . 9  |-  ( ( X  e.  A  /\  Y  e.  B )  ->  ( 2nd `  <. X ,  Y >. )  =  Y )
4427, 28, 43syl2anc 642 . . . . . . . 8  |-  ( ph  ->  ( 2nd `  <. X ,  Y >. )  =  Y )
4542, 44eqtrd 2390 . . . . . . 7  |-  ( ph  ->  ( ( 1st `  ( C  2ndF  D ) ) `  <. X ,  Y >. )  =  Y )
4641, 45opeq12d 3883 . . . . . 6  |-  ( ph  -> 
<. ( ( 1st `  ( G  o.func  ( C  1stF  D )
) ) `  <. X ,  Y >. ) ,  ( ( 1st `  ( C  2ndF  D )
) `  <. X ,  Y >. ) >.  =  <. ( ( 1st `  G
) `  X ) ,  Y >. )
4734, 46eqtrd 2390 . . . . 5  |-  ( ph  ->  ( ( 1st `  (
( G  o.func  ( C  1stF  D ) ) ⟨,⟩F  ( C  2ndF  D )
) ) `  <. X ,  Y >. )  =  <. ( ( 1st `  G ) `  X
) ,  Y >. )
4847fveq2d 5609 . . . 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 5945 . . . 4  |-  ( ( ( 1st `  G
) `  X )
( 1st `  ( D evalF  E ) ) Y )  =  ( ( 1st `  ( D evalF  E ) ) `  <. ( ( 1st `  G
) `  X ) ,  Y >. )
5048, 49syl6eqr 2408 . . 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 13927 . . . . . 6  |-  ( D 
Func  E )  =  (
Base `  ( D FuncCat  E ) )
52 relfunc 13829 . . . . . . 7  |-  Rel  ( C  Func  ( D FuncCat  E
) )
53 1st2ndbr 6253 . . . . . . 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 644 . . . . . 6  |-  ( ph  ->  ( 1st `  G
) ( C  Func  ( D FuncCat  E ) ) ( 2nd `  G ) )
5510, 51, 54funcf1 13833 . . . . 5  |-  ( ph  ->  ( 1st `  G
) : A --> ( D 
Func  E ) )
5655, 27ffvelrnd 5746 . . . 4  |-  ( ph  ->  ( ( 1st `  G
) `  X )  e.  ( D  Func  E
) )
5724, 2, 3, 11, 56, 28evlf1 14087 . . 3  |-  ( ph  ->  ( ( ( 1st `  G ) `  X
) ( 1st `  ( D evalF  E ) ) Y )  =  ( ( 1st `  ( ( 1st `  G
) `  X )
) `  Y )
)
5850, 57eqtrd 2390 . 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 2394 1  |-  ( ph  ->  ( X ( 1st `  F ) Y )  =  ( ( 1st `  ( ( 1st `  G
) `  X )
) `  Y )
)
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 358    = wceq 1642    e. wcel 1710   <.cop 3719   class class class wbr 4102    X. cxp 4766   Rel wrel 4773   ` cfv 5334  (class class class)co 5942   1stc1st 6204   2ndc2nd 6205   <"cs3 11582   Basecbs 13239    Hom chom 13310   Catccat 13659    Func cfunc 13821    o.func ccofu 13823   FuncCat cfuc 13909    X.c cxpc 14035    1stF c1stf 14036    2ndF c2ndf 14037   ⟨,⟩F cprf 14038   evalF cevlf 14076   uncurryF cuncf 14078
This theorem is referenced by:  curfuncf  14105  uncfcurf  14106
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-uncf 14082
  Copyright terms: Public domain W3C validator