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

Theorem uncf1 17480
Description: Value of the uncurry functor on an object. (Contributed by Mario Carneiro, 13-Jan-2017.)
Hypotheses
Ref Expression
uncfval.g 𝐹 = (⟨“𝐶𝐷𝐸”⟩ uncurryF 𝐺)
uncfval.c (𝜑𝐷 ∈ Cat)
uncfval.d (𝜑𝐸 ∈ Cat)
uncfval.f (𝜑𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
uncf1.a 𝐴 = (Base‘𝐶)
uncf1.b 𝐵 = (Base‘𝐷)
uncf1.x (𝜑𝑋𝐴)
uncf1.y (𝜑𝑌𝐵)
Assertion
Ref Expression
uncf1 (𝜑 → (𝑋(1st𝐹)𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))

Proof of Theorem uncf1
StepHypRef Expression
1 uncfval.g . . . . 5 𝐹 = (⟨“𝐶𝐷𝐸”⟩ uncurryF 𝐺)
2 uncfval.c . . . . 5 (𝜑𝐷 ∈ Cat)
3 uncfval.d . . . . 5 (𝜑𝐸 ∈ Cat)
4 uncfval.f . . . . 5 (𝜑𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
51, 2, 3, 4uncfval 17478 . . . 4 (𝜑𝐹 = ((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))
65fveq2d 6668 . . 3 (𝜑 → (1st𝐹) = (1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))))
76oveqd 7167 . 2 (𝜑 → (𝑋(1st𝐹)𝑌) = (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌))
8 df-ov 7153 . . 3 (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩)
9 eqid 2821 . . . . 5 (𝐶 ×c 𝐷) = (𝐶 ×c 𝐷)
10 uncf1.a . . . . 5 𝐴 = (Base‘𝐶)
11 uncf1.b . . . . 5 𝐵 = (Base‘𝐷)
129, 10, 11xpcbas 17422 . . . 4 (𝐴 × 𝐵) = (Base‘(𝐶 ×c 𝐷))
13 eqid 2821 . . . . 5 ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) = ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))
14 eqid 2821 . . . . 5 ((𝐷 FuncCat 𝐸) ×c 𝐷) = ((𝐷 FuncCat 𝐸) ×c 𝐷)
15 funcrcl 17127 . . . . . . . . 9 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
164, 15syl 17 . . . . . . . 8 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
1716simpld 497 . . . . . . 7 (𝜑𝐶 ∈ Cat)
18 eqid 2821 . . . . . . 7 (𝐶 1stF 𝐷) = (𝐶 1stF 𝐷)
199, 17, 2, 181stfcl 17441 . . . . . 6 (𝜑 → (𝐶 1stF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐶))
2019, 4cofucl 17152 . . . . 5 (𝜑 → (𝐺func (𝐶 1stF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func (𝐷 FuncCat 𝐸)))
21 eqid 2821 . . . . . 6 (𝐶 2ndF 𝐷) = (𝐶 2ndF 𝐷)
229, 17, 2, 212ndfcl 17442 . . . . 5 (𝜑 → (𝐶 2ndF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐷))
2313, 14, 20, 22prfcl 17447 . . . 4 (𝜑 → ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func ((𝐷 FuncCat 𝐸) ×c 𝐷)))
24 eqid 2821 . . . . 5 (𝐷 evalF 𝐸) = (𝐷 evalF 𝐸)
25 eqid 2821 . . . . 5 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
2624, 25, 2, 3evlfcl 17466 . . . 4 (𝜑 → (𝐷 evalF 𝐸) ∈ (((𝐷 FuncCat 𝐸) ×c 𝐷) Func 𝐸))
27 uncf1.x . . . . 5 (𝜑𝑋𝐴)
28 uncf1.y . . . . 5 (𝜑𝑌𝐵)
2927, 28opelxpd 5587 . . . 4 (𝜑 → ⟨𝑋, 𝑌⟩ ∈ (𝐴 × 𝐵))
3012, 23, 26, 29cofu1 17148 . . 3 (𝜑 → ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
318, 30syl5eq 2868 . 2 (𝜑 → (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
32 eqid 2821 . . . . . . 7 (Hom ‘(𝐶 ×c 𝐷)) = (Hom ‘(𝐶 ×c 𝐷))
3313, 12, 32, 20, 22, 29prf1 17444 . . . . . 6 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩)
3412, 19, 4, 29cofu1 17148 . . . . . . . 8 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)))
359, 12, 32, 17, 2, 18, 291stf1 17436 . . . . . . . . . 10 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = (1st ‘⟨𝑋, 𝑌⟩))
36 op1stg 7695 . . . . . . . . . . 11 ((𝑋𝐴𝑌𝐵) → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3727, 28, 36syl2anc 586 . . . . . . . . . 10 (𝜑 → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3835, 37eqtrd 2856 . . . . . . . . 9 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑋)
3938fveq2d 6668 . . . . . . . 8 (𝜑 → ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)) = ((1st𝐺)‘𝑋))
4034, 39eqtrd 2856 . . . . . . 7 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘𝑋))
419, 12, 32, 17, 2, 21, 292ndf1 17439 . . . . . . . 8 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = (2nd ‘⟨𝑋, 𝑌⟩))
42 op2ndg 7696 . . . . . . . . 9 ((𝑋𝐴𝑌𝐵) → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4327, 28, 42syl2anc 586 . . . . . . . 8 (𝜑 → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4441, 43eqtrd 2856 . . . . . . 7 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑌)
4540, 44opeq12d 4804 . . . . . 6 (𝜑 → ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩ = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4633, 45eqtrd 2856 . . . . 5 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4746fveq2d 6668 . . . 4 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩))
48 df-ov 7153 . . . 4 (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩)
4947, 48syl6eqr 2874 . . 3 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌))
5025fucbas 17224 . . . . . 6 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
51 relfunc 17126 . . . . . . 7 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
52 1st2ndbr 7735 . . . . . . 7 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5351, 4, 52sylancr 589 . . . . . 6 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5410, 50, 53funcf1 17130 . . . . 5 (𝜑 → (1st𝐺):𝐴⟶(𝐷 Func 𝐸))
5554, 27ffvelrnd 6846 . . . 4 (𝜑 → ((1st𝐺)‘𝑋) ∈ (𝐷 Func 𝐸))
5624, 2, 3, 11, 55, 28evlf1 17464 . . 3 (𝜑 → (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
5749, 56eqtrd 2856 . 2 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
587, 31, 573eqtrd 2860 1 (𝜑 → (𝑋(1st𝐹)𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1533  wcel 2110  cop 4566   class class class wbr 5058   × cxp 5547  Rel wrel 5554  cfv 6349  (class class class)co 7150  1st c1st 7681  2nd c2nd 7682  ⟨“cs3 14198  Basecbs 16477  Hom chom 16570  Catccat 16929   Func cfunc 17118  func ccofu 17120   FuncCat cfuc 17206   ×c cxpc 17412   1stF c1stf 17413   2ndF c2ndf 17414   ⟨,⟩F cprf 17415   evalF cevlf 17453   uncurryF cuncf 17455
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1907  ax-6 1966  ax-7 2011  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2157  ax-12 2173  ax-ext 2793  ax-rep 5182  ax-sep 5195  ax-nul 5202  ax-pow 5258  ax-pr 5321  ax-un 7455  ax-cnex 10587  ax-resscn 10588  ax-1cn 10589  ax-icn 10590  ax-addcl 10591  ax-addrcl 10592  ax-mulcl 10593  ax-mulrcl 10594  ax-mulcom 10595  ax-addass 10596  ax-mulass 10597  ax-distr 10598  ax-i2m1 10599  ax-1ne0 10600  ax-1rid 10601  ax-rnegex 10602  ax-rrecex 10603  ax-cnre 10604  ax-pre-lttri 10605  ax-pre-lttrn 10606  ax-pre-ltadd 10607  ax-pre-mulgt0 10608
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1536  df-fal 1546  df-ex 1777  df-nf 1781  df-sb 2066  df-mo 2618  df-eu 2650  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-nel 3124  df-ral 3143  df-rex 3144  df-reu 3145  df-rmo 3146  df-rab 3147  df-v 3496  df-sbc 3772  df-csb 3883  df-dif 3938  df-un 3940  df-in 3942  df-ss 3951  df-pss 3953  df-nul 4291  df-if 4467  df-pw 4540  df-sn 4561  df-pr 4563  df-tp 4565  df-op 4567  df-uni 4832  df-int 4869  df-iun 4913  df-br 5059  df-opab 5121  df-mpt 5139  df-tr 5165  df-id 5454  df-eprel 5459  df-po 5468  df-so 5469  df-fr 5508  df-we 5510  df-xp 5555  df-rel 5556  df-cnv 5557  df-co 5558  df-dm 5559  df-rn 5560  df-res 5561  df-ima 5562  df-pred 6142  df-ord 6188  df-on 6189  df-lim 6190  df-suc 6191  df-iota 6308  df-fun 6351  df-fn 6352  df-f 6353  df-f1 6354  df-fo 6355  df-f1o 6356  df-fv 6357  df-riota 7108  df-ov 7153  df-oprab 7154  df-mpo 7155  df-om 7575  df-1st 7683  df-2nd 7684  df-wrecs 7941  df-recs 8002  df-rdg 8040  df-1o 8096  df-oadd 8100  df-er 8283  df-map 8402  df-ixp 8456  df-en 8504  df-dom 8505  df-sdom 8506  df-fin 8507  df-card 9362  df-pnf 10671  df-mnf 10672  df-xr 10673  df-ltxr 10674  df-le 10675  df-sub 10866  df-neg 10867  df-nn 11633  df-2 11694  df-3 11695  df-4 11696  df-5 11697  df-6 11698  df-7 11699  df-8 11700  df-9 11701  df-n0 11892  df-z 11976  df-dec 12093  df-uz 12238  df-fz 12887  df-fzo 13028  df-hash 13685  df-word 13856  df-concat 13917  df-s1 13944  df-s2 14204  df-s3 14205  df-struct 16479  df-ndx 16480  df-slot 16481  df-base 16483  df-hom 16583  df-cco 16584  df-cat 16933  df-cid 16934  df-func 17122  df-cofu 17124  df-nat 17207  df-fuc 17208  df-xpc 17416  df-1stf 17417  df-2ndf 17418  df-prf 17419  df-evlf 17457  df-uncf 17459
This theorem is referenced by:  curfuncf  17482  uncfcurf  17483
  Copyright terms: Public domain W3C validator