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

Theorem uncf1 18330
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 18328 . . . 4 (𝜑𝐹 = ((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))
65fveq2d 6886 . . 3 (𝜑 → (1st𝐹) = (1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))))
76oveqd 7434 . 2 (𝜑 → (𝑋(1st𝐹)𝑌) = (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌))
8 df-ov 7420 . . 3 (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩)
9 eqid 2762 . . . . 5 (𝐶 ×c 𝐷) = (𝐶 ×c 𝐷)
10 uncf1.a . . . . 5 𝐴 = (Base‘𝐶)
11 uncf1.b . . . . 5 𝐵 = (Base‘𝐷)
129, 10, 11xpcbas 18272 . . . 4 (𝐴 × 𝐵) = (Base‘(𝐶 ×c 𝐷))
13 eqid 2762 . . . . 5 ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) = ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))
14 eqid 2762 . . . . 5 ((𝐷 FuncCat 𝐸) ×c 𝐷) = ((𝐷 FuncCat 𝐸) ×c 𝐷)
15 funcrcl 17958 . . . . . . . . 9 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
164, 15syl 18 . . . . . . . 8 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
1716simpld 500 . . . . . . 7 (𝜑𝐶 ∈ Cat)
18 eqid 2762 . . . . . . 7 (𝐶 1stF 𝐷) = (𝐶 1stF 𝐷)
199, 17, 2, 181stfcl 18291 . . . . . 6 (𝜑 → (𝐶 1stF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐶))
2019, 4cofucl 17983 . . . . 5 (𝜑 → (𝐺func (𝐶 1stF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func (𝐷 FuncCat 𝐸)))
21 eqid 2762 . . . . . 6 (𝐶 2ndF 𝐷) = (𝐶 2ndF 𝐷)
229, 17, 2, 212ndfcl 18292 . . . . 5 (𝜑 → (𝐶 2ndF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐷))
2313, 14, 20, 22prfcl 18297 . . . 4 (𝜑 → ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func ((𝐷 FuncCat 𝐸) ×c 𝐷)))
24 eqid 2762 . . . . 5 (𝐷 evalF 𝐸) = (𝐷 evalF 𝐸)
25 eqid 2762 . . . . 5 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
2624, 25, 2, 3evlfcl 18316 . . . 4 (𝜑 → (𝐷 evalF 𝐸) ∈ (((𝐷 FuncCat 𝐸) ×c 𝐷) Func 𝐸))
27 uncf1.x . . . . 5 (𝜑𝑋𝐴)
28 uncf1.y . . . . 5 (𝜑𝑌𝐵)
2927, 28opelxpd 5698 . . . 4 (𝜑 → ⟨𝑋, 𝑌⟩ ∈ (𝐴 × 𝐵))
3012, 23, 26, 29cofu1 17979 . . 3 (𝜑 → ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
318, 30eqtrid 2809 . 2 (𝜑 → (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
32 eqid 2762 . . . . . . 7 (Hom ‘(𝐶 ×c 𝐷)) = (Hom ‘(𝐶 ×c 𝐷))
3313, 12, 32, 20, 22, 29prf1 18294 . . . . . 6 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩)
3412, 19, 4, 29cofu1 17979 . . . . . . . 8 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)))
359, 12, 32, 17, 2, 18, 291stf1 18286 . . . . . . . . . 10 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = (1st ‘⟨𝑋, 𝑌⟩))
36 op1stg 8002 . . . . . . . . . . 11 ((𝑋𝐴𝑌𝐵) → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3727, 28, 36syl2anc 596 . . . . . . . . . 10 (𝜑 → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3835, 37eqtrd 2797 . . . . . . . . 9 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑋)
3938fveq2d 6886 . . . . . . . 8 (𝜑 → ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)) = ((1st𝐺)‘𝑋))
4034, 39eqtrd 2797 . . . . . . 7 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘𝑋))
419, 12, 32, 17, 2, 21, 292ndf1 18289 . . . . . . . 8 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = (2nd ‘⟨𝑋, 𝑌⟩))
42 op2ndg 8003 . . . . . . . . 9 ((𝑋𝐴𝑌𝐵) → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4327, 28, 42syl2anc 596 . . . . . . . 8 (𝜑 → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4441, 43eqtrd 2797 . . . . . . 7 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑌)
4540, 44opeq12d 4844 . . . . . 6 (𝜑 → ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩ = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4633, 45eqtrd 2797 . . . . 5 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4746fveq2d 6886 . . . 4 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩))
48 df-ov 7420 . . . 4 (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩)
4947, 48eqtr4di 2815 . . 3 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌))
5025fucbas 18058 . . . . . 6 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
51 relfunc 17957 . . . . . . 7 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
52 1st2ndbr 8043 . . . . . . 7 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5351, 4, 52sylancr 599 . . . . . 6 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5410, 50, 53funcf1 17961 . . . . 5 (𝜑 → (1st𝐺):𝐴⟶(𝐷 Func 𝐸))
5554, 27ffvelcdmd 7082 . . . 4 (𝜑 → ((1st𝐺)‘𝑋) ∈ (𝐷 Func 𝐸))
5624, 2, 3, 11, 55, 28evlf1 18314 . . 3 (𝜑 → (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
5749, 56eqtrd 2797 . 2 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
587, 31, 573eqtrd 2801 1 (𝜑 → (𝑋(1st𝐹)𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401   = wceq 1570  wcel 2145  cop 4593   class class class wbr 5107   × cxp 5657  Rel wrel 5664  cfv 6537  (class class class)co 7417  1st c1st 7988  2nd c2nd 7989  ⟨“cs3 14917  Basecbs 17307  Hom chom 17359  Catccat 17758   Func cfunc 17949  func ccofu 17951   FuncCat cfuc 18040   ×c cxpc 18262   1stF c1stf 18263   2ndF c2ndf 18264   ⟨,⟩F cprf 18265   evalF cevlf 18303   uncurryF cuncf 18305
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7740  ax-cnex 11184  ax-resscn 11185  ax-1cn 11186  ax-icn 11187  ax-addcl 11188  ax-addrcl 11189  ax-mulcl 11190  ax-mulrcl 11191  ax-mulcom 11192  ax-addass 11193  ax-mulass 11194  ax-distr 11195  ax-i2m1 11196  ax-1ne0 11197  ax-1rid 11198  ax-rnegex 11199  ax-rrecex 11200  ax-cnre 11201  ax-pre-lttri 11202  ax-pre-lttrn 11203  ax-pre-ltadd 11204  ax-pre-mulgt0 11205
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4594  df-uni 4871  df-int 4911  df-iun 4956  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7374  df-ov 7420  df-oprab 7421  df-mpo 7422  df-om 7867  df-1st 7990  df-2nd 7991  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-er 8700  df-map 8832  df-ixp 8909  df-en 8957  df-dom 8958  df-sdom 8959  df-fin 8960  df-card 9948  df-pnf 11273  df-mnf 11274  df-xr 11275  df-ltxr 11276  df-le 11277  df-sub 11471  df-neg 11472  df-nn 12262  df-2 12331  df-3 12332  df-4 12333  df-5 12334  df-6 12335  df-7 12336  df-8 12337  df-9 12338  df-n0 12533  df-z 12620  df-dec 12741  df-uz 12892  df-fz 13566  df-fzo 13714  df-hash 14399  df-word 14583  df-concat 14640  df-s1 14667  df-s2 14923  df-s3 14924  df-struct 17245  df-slot 17280  df-ndx 17292  df-base 17308  df-hom 17372  df-cco 17373  df-cat 17762  df-cid 17763  df-func 17953  df-cofu 17955  df-nat 18041  df-fuc 18042  df-xpc 18266  df-1stf 18267  df-2ndf 18268  df-prf 18269  df-evlf 18307  df-uncf 18309
This theorem is used by:  curfuncf  18332  uncfcurf  18333
  Copyright terms: Public domain W3C validator