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

Theorem uncf1 18197
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 18195 . . . 4 (𝜑𝐹 = ((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))
65fveq2d 6886 . . 3 (𝜑 → (1st𝐹) = (1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))))
76oveqd 7419 . 2 (𝜑 → (𝑋(1st𝐹)𝑌) = (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌))
8 df-ov 7405 . . 3 (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩)
9 eqid 2724 . . . . 5 (𝐶 ×c 𝐷) = (𝐶 ×c 𝐷)
10 uncf1.a . . . . 5 𝐴 = (Base‘𝐶)
11 uncf1.b . . . . 5 𝐵 = (Base‘𝐷)
129, 10, 11xpcbas 18138 . . . 4 (𝐴 × 𝐵) = (Base‘(𝐶 ×c 𝐷))
13 eqid 2724 . . . . 5 ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) = ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))
14 eqid 2724 . . . . 5 ((𝐷 FuncCat 𝐸) ×c 𝐷) = ((𝐷 FuncCat 𝐸) ×c 𝐷)
15 funcrcl 17818 . . . . . . . . 9 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
164, 15syl 17 . . . . . . . 8 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
1716simpld 494 . . . . . . 7 (𝜑𝐶 ∈ Cat)
18 eqid 2724 . . . . . . 7 (𝐶 1stF 𝐷) = (𝐶 1stF 𝐷)
199, 17, 2, 181stfcl 18157 . . . . . 6 (𝜑 → (𝐶 1stF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐶))
2019, 4cofucl 17843 . . . . 5 (𝜑 → (𝐺func (𝐶 1stF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func (𝐷 FuncCat 𝐸)))
21 eqid 2724 . . . . . 6 (𝐶 2ndF 𝐷) = (𝐶 2ndF 𝐷)
229, 17, 2, 212ndfcl 18158 . . . . 5 (𝜑 → (𝐶 2ndF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐷))
2313, 14, 20, 22prfcl 18163 . . . 4 (𝜑 → ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func ((𝐷 FuncCat 𝐸) ×c 𝐷)))
24 eqid 2724 . . . . 5 (𝐷 evalF 𝐸) = (𝐷 evalF 𝐸)
25 eqid 2724 . . . . 5 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
2624, 25, 2, 3evlfcl 18183 . . . 4 (𝜑 → (𝐷 evalF 𝐸) ∈ (((𝐷 FuncCat 𝐸) ×c 𝐷) Func 𝐸))
27 uncf1.x . . . . 5 (𝜑𝑋𝐴)
28 uncf1.y . . . . 5 (𝜑𝑌𝐵)
2927, 28opelxpd 5706 . . . 4 (𝜑 → ⟨𝑋, 𝑌⟩ ∈ (𝐴 × 𝐵))
3012, 23, 26, 29cofu1 17839 . . 3 (𝜑 → ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
318, 30eqtrid 2776 . 2 (𝜑 → (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
32 eqid 2724 . . . . . . 7 (Hom ‘(𝐶 ×c 𝐷)) = (Hom ‘(𝐶 ×c 𝐷))
3313, 12, 32, 20, 22, 29prf1 18160 . . . . . 6 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩)
3412, 19, 4, 29cofu1 17839 . . . . . . . 8 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)))
359, 12, 32, 17, 2, 18, 291stf1 18152 . . . . . . . . . 10 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = (1st ‘⟨𝑋, 𝑌⟩))
36 op1stg 7981 . . . . . . . . . . 11 ((𝑋𝐴𝑌𝐵) → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3727, 28, 36syl2anc 583 . . . . . . . . . 10 (𝜑 → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3835, 37eqtrd 2764 . . . . . . . . 9 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑋)
3938fveq2d 6886 . . . . . . . 8 (𝜑 → ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)) = ((1st𝐺)‘𝑋))
4034, 39eqtrd 2764 . . . . . . 7 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘𝑋))
419, 12, 32, 17, 2, 21, 292ndf1 18155 . . . . . . . 8 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = (2nd ‘⟨𝑋, 𝑌⟩))
42 op2ndg 7982 . . . . . . . . 9 ((𝑋𝐴𝑌𝐵) → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4327, 28, 42syl2anc 583 . . . . . . . 8 (𝜑 → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4441, 43eqtrd 2764 . . . . . . 7 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑌)
4540, 44opeq12d 4874 . . . . . 6 (𝜑 → ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩ = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4633, 45eqtrd 2764 . . . . 5 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4746fveq2d 6886 . . . 4 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩))
48 df-ov 7405 . . . 4 (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩)
4947, 48eqtr4di 2782 . . 3 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌))
5025fucbas 17920 . . . . . 6 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
51 relfunc 17817 . . . . . . 7 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
52 1st2ndbr 8022 . . . . . . 7 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5351, 4, 52sylancr 586 . . . . . 6 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5410, 50, 53funcf1 17821 . . . . 5 (𝜑 → (1st𝐺):𝐴⟶(𝐷 Func 𝐸))
5554, 27ffvelcdmd 7078 . . . 4 (𝜑 → ((1st𝐺)‘𝑋) ∈ (𝐷 Func 𝐸))
5624, 2, 3, 11, 55, 28evlf1 18181 . . 3 (𝜑 → (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
5749, 56eqtrd 2764 . 2 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
587, 31, 573eqtrd 2768 1 (𝜑 → (𝑋(1st𝐹)𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1533  wcel 2098  cop 4627   class class class wbr 5139   × cxp 5665  Rel wrel 5672  cfv 6534  (class class class)co 7402  1st c1st 7967  2nd c2nd 7968  ⟨“cs3 14795  Basecbs 17149  Hom chom 17213  Catccat 17613   Func cfunc 17809  func ccofu 17811   FuncCat cfuc 17901   ×c cxpc 18128   1stF c1stf 18129   2ndF c2ndf 18130   ⟨,⟩F cprf 18131   evalF cevlf 18170   uncurryF cuncf 18172
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2163  ax-ext 2695  ax-rep 5276  ax-sep 5290  ax-nul 5297  ax-pow 5354  ax-pr 5418  ax-un 7719  ax-cnex 11163  ax-resscn 11164  ax-1cn 11165  ax-icn 11166  ax-addcl 11167  ax-addrcl 11168  ax-mulcl 11169  ax-mulrcl 11170  ax-mulcom 11171  ax-addass 11172  ax-mulass 11173  ax-distr 11174  ax-i2m1 11175  ax-1ne0 11176  ax-1rid 11177  ax-rnegex 11178  ax-rrecex 11179  ax-cnre 11180  ax-pre-lttri 11181  ax-pre-lttrn 11182  ax-pre-ltadd 11183  ax-pre-mulgt0 11184
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 845  df-3or 1085  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2526  df-eu 2555  df-clab 2702  df-cleq 2716  df-clel 2802  df-nfc 2877  df-ne 2933  df-nel 3039  df-ral 3054  df-rex 3063  df-rmo 3368  df-reu 3369  df-rab 3425  df-v 3468  df-sbc 3771  df-csb 3887  df-dif 3944  df-un 3946  df-in 3948  df-ss 3958  df-pss 3960  df-nul 4316  df-if 4522  df-pw 4597  df-sn 4622  df-pr 4624  df-tp 4626  df-op 4628  df-uni 4901  df-int 4942  df-iun 4990  df-br 5140  df-opab 5202  df-mpt 5223  df-tr 5257  df-id 5565  df-eprel 5571  df-po 5579  df-so 5580  df-fr 5622  df-we 5624  df-xp 5673  df-rel 5674  df-cnv 5675  df-co 5676  df-dm 5677  df-rn 5678  df-res 5679  df-ima 5680  df-pred 6291  df-ord 6358  df-on 6359  df-lim 6360  df-suc 6361  df-iota 6486  df-fun 6536  df-fn 6537  df-f 6538  df-f1 6539  df-fo 6540  df-f1o 6541  df-fv 6542  df-riota 7358  df-ov 7405  df-oprab 7406  df-mpo 7407  df-om 7850  df-1st 7969  df-2nd 7970  df-frecs 8262  df-wrecs 8293  df-recs 8367  df-rdg 8406  df-1o 8462  df-er 8700  df-map 8819  df-ixp 8889  df-en 8937  df-dom 8938  df-sdom 8939  df-fin 8940  df-card 9931  df-pnf 11249  df-mnf 11250  df-xr 11251  df-ltxr 11252  df-le 11253  df-sub 11445  df-neg 11446  df-nn 12212  df-2 12274  df-3 12275  df-4 12276  df-5 12277  df-6 12278  df-7 12279  df-8 12280  df-9 12281  df-n0 12472  df-z 12558  df-dec 12677  df-uz 12822  df-fz 13486  df-fzo 13629  df-hash 14292  df-word 14467  df-concat 14523  df-s1 14548  df-s2 14801  df-s3 14802  df-struct 17085  df-slot 17120  df-ndx 17132  df-base 17150  df-hom 17226  df-cco 17227  df-cat 17617  df-cid 17618  df-func 17813  df-cofu 17815  df-nat 17902  df-fuc 17903  df-xpc 18132  df-1stf 18133  df-2ndf 18134  df-prf 18135  df-evlf 18174  df-uncf 18176
This theorem is referenced by:  curfuncf  18199  uncfcurf  18200
  Copyright terms: Public domain W3C validator