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

Theorem uncf1 18125
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 18123 . . . 4 (𝜑𝐹 = ((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))
65fveq2d 6846 . . 3 (𝜑 → (1st𝐹) = (1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))))
76oveqd 7374 . 2 (𝜑 → (𝑋(1st𝐹)𝑌) = (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌))
8 df-ov 7360 . . 3 (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩)
9 eqid 2736 . . . . 5 (𝐶 ×c 𝐷) = (𝐶 ×c 𝐷)
10 uncf1.a . . . . 5 𝐴 = (Base‘𝐶)
11 uncf1.b . . . . 5 𝐵 = (Base‘𝐷)
129, 10, 11xpcbas 18066 . . . 4 (𝐴 × 𝐵) = (Base‘(𝐶 ×c 𝐷))
13 eqid 2736 . . . . 5 ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) = ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))
14 eqid 2736 . . . . 5 ((𝐷 FuncCat 𝐸) ×c 𝐷) = ((𝐷 FuncCat 𝐸) ×c 𝐷)
15 funcrcl 17749 . . . . . . . . 9 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
164, 15syl 17 . . . . . . . 8 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
1716simpld 495 . . . . . . 7 (𝜑𝐶 ∈ Cat)
18 eqid 2736 . . . . . . 7 (𝐶 1stF 𝐷) = (𝐶 1stF 𝐷)
199, 17, 2, 181stfcl 18085 . . . . . 6 (𝜑 → (𝐶 1stF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐶))
2019, 4cofucl 17774 . . . . 5 (𝜑 → (𝐺func (𝐶 1stF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func (𝐷 FuncCat 𝐸)))
21 eqid 2736 . . . . . 6 (𝐶 2ndF 𝐷) = (𝐶 2ndF 𝐷)
229, 17, 2, 212ndfcl 18086 . . . . 5 (𝜑 → (𝐶 2ndF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐷))
2313, 14, 20, 22prfcl 18091 . . . 4 (𝜑 → ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func ((𝐷 FuncCat 𝐸) ×c 𝐷)))
24 eqid 2736 . . . . 5 (𝐷 evalF 𝐸) = (𝐷 evalF 𝐸)
25 eqid 2736 . . . . 5 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
2624, 25, 2, 3evlfcl 18111 . . . 4 (𝜑 → (𝐷 evalF 𝐸) ∈ (((𝐷 FuncCat 𝐸) ×c 𝐷) Func 𝐸))
27 uncf1.x . . . . 5 (𝜑𝑋𝐴)
28 uncf1.y . . . . 5 (𝜑𝑌𝐵)
2927, 28opelxpd 5671 . . . 4 (𝜑 → ⟨𝑋, 𝑌⟩ ∈ (𝐴 × 𝐵))
3012, 23, 26, 29cofu1 17770 . . 3 (𝜑 → ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
318, 30eqtrid 2788 . 2 (𝜑 → (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
32 eqid 2736 . . . . . . 7 (Hom ‘(𝐶 ×c 𝐷)) = (Hom ‘(𝐶 ×c 𝐷))
3313, 12, 32, 20, 22, 29prf1 18088 . . . . . 6 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩)
3412, 19, 4, 29cofu1 17770 . . . . . . . 8 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)))
359, 12, 32, 17, 2, 18, 291stf1 18080 . . . . . . . . . 10 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = (1st ‘⟨𝑋, 𝑌⟩))
36 op1stg 7933 . . . . . . . . . . 11 ((𝑋𝐴𝑌𝐵) → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3727, 28, 36syl2anc 584 . . . . . . . . . 10 (𝜑 → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3835, 37eqtrd 2776 . . . . . . . . 9 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑋)
3938fveq2d 6846 . . . . . . . 8 (𝜑 → ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)) = ((1st𝐺)‘𝑋))
4034, 39eqtrd 2776 . . . . . . 7 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘𝑋))
419, 12, 32, 17, 2, 21, 292ndf1 18083 . . . . . . . 8 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = (2nd ‘⟨𝑋, 𝑌⟩))
42 op2ndg 7934 . . . . . . . . 9 ((𝑋𝐴𝑌𝐵) → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4327, 28, 42syl2anc 584 . . . . . . . 8 (𝜑 → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4441, 43eqtrd 2776 . . . . . . 7 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑌)
4540, 44opeq12d 4838 . . . . . 6 (𝜑 → ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩ = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4633, 45eqtrd 2776 . . . . 5 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4746fveq2d 6846 . . . 4 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩))
48 df-ov 7360 . . . 4 (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩)
4947, 48eqtr4di 2794 . . 3 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌))
5025fucbas 17848 . . . . . 6 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
51 relfunc 17748 . . . . . . 7 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
52 1st2ndbr 7974 . . . . . . 7 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5351, 4, 52sylancr 587 . . . . . 6 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5410, 50, 53funcf1 17752 . . . . 5 (𝜑 → (1st𝐺):𝐴⟶(𝐷 Func 𝐸))
5554, 27ffvelcdmd 7036 . . . 4 (𝜑 → ((1st𝐺)‘𝑋) ∈ (𝐷 Func 𝐸))
5624, 2, 3, 11, 55, 28evlf1 18109 . . 3 (𝜑 → (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
5749, 56eqtrd 2776 . 2 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
587, 31, 573eqtrd 2780 1 (𝜑 → (𝑋(1st𝐹)𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396   = wceq 1541  wcel 2106  cop 4592   class class class wbr 5105   × cxp 5631  Rel wrel 5638  cfv 6496  (class class class)co 7357  1st c1st 7919  2nd c2nd 7920  ⟨“cs3 14731  Basecbs 17083  Hom chom 17144  Catccat 17544   Func cfunc 17740  func ccofu 17742   FuncCat cfuc 17829   ×c cxpc 18056   1stF c1stf 18057   2ndF c2ndf 18058   ⟨,⟩F cprf 18059   evalF cevlf 18098   uncurryF cuncf 18100
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2707  ax-rep 5242  ax-sep 5256  ax-nul 5263  ax-pow 5320  ax-pr 5384  ax-un 7672  ax-cnex 11107  ax-resscn 11108  ax-1cn 11109  ax-icn 11110  ax-addcl 11111  ax-addrcl 11112  ax-mulcl 11113  ax-mulrcl 11114  ax-mulcom 11115  ax-addass 11116  ax-mulass 11117  ax-distr 11118  ax-i2m1 11119  ax-1ne0 11120  ax-1rid 11121  ax-rnegex 11122  ax-rrecex 11123  ax-cnre 11124  ax-pre-lttri 11125  ax-pre-lttrn 11126  ax-pre-ltadd 11127  ax-pre-mulgt0 11128
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2889  df-ne 2944  df-nel 3050  df-ral 3065  df-rex 3074  df-rmo 3353  df-reu 3354  df-rab 3408  df-v 3447  df-sbc 3740  df-csb 3856  df-dif 3913  df-un 3915  df-in 3917  df-ss 3927  df-pss 3929  df-nul 4283  df-if 4487  df-pw 4562  df-sn 4587  df-pr 4589  df-tp 4591  df-op 4593  df-uni 4866  df-int 4908  df-iun 4956  df-br 5106  df-opab 5168  df-mpt 5189  df-tr 5223  df-id 5531  df-eprel 5537  df-po 5545  df-so 5546  df-fr 5588  df-we 5590  df-xp 5639  df-rel 5640  df-cnv 5641  df-co 5642  df-dm 5643  df-rn 5644  df-res 5645  df-ima 5646  df-pred 6253  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6498  df-fn 6499  df-f 6500  df-f1 6501  df-fo 6502  df-f1o 6503  df-fv 6504  df-riota 7313  df-ov 7360  df-oprab 7361  df-mpo 7362  df-om 7803  df-1st 7921  df-2nd 7922  df-frecs 8212  df-wrecs 8243  df-recs 8317  df-rdg 8356  df-1o 8412  df-er 8648  df-map 8767  df-ixp 8836  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-card 9875  df-pnf 11191  df-mnf 11192  df-xr 11193  df-ltxr 11194  df-le 11195  df-sub 11387  df-neg 11388  df-nn 12154  df-2 12216  df-3 12217  df-4 12218  df-5 12219  df-6 12220  df-7 12221  df-8 12222  df-9 12223  df-n0 12414  df-z 12500  df-dec 12619  df-uz 12764  df-fz 13425  df-fzo 13568  df-hash 14231  df-word 14403  df-concat 14459  df-s1 14484  df-s2 14737  df-s3 14738  df-struct 17019  df-slot 17054  df-ndx 17066  df-base 17084  df-hom 17157  df-cco 17158  df-cat 17548  df-cid 17549  df-func 17744  df-cofu 17746  df-nat 17830  df-fuc 17831  df-xpc 18060  df-1stf 18061  df-2ndf 18062  df-prf 18063  df-evlf 18102  df-uncf 18104
This theorem is referenced by:  curfuncf  18127  uncfcurf  18128
  Copyright terms: Public domain W3C validator