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

Theorem uncf1 18144
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 18142 . . . 4 (𝜑𝐹 = ((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))
65fveq2d 6832 . . 3 (𝜑 → (1st𝐹) = (1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))))
76oveqd 7369 . 2 (𝜑 → (𝑋(1st𝐹)𝑌) = (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌))
8 df-ov 7355 . . 3 (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩)
9 eqid 2733 . . . . 5 (𝐶 ×c 𝐷) = (𝐶 ×c 𝐷)
10 uncf1.a . . . . 5 𝐴 = (Base‘𝐶)
11 uncf1.b . . . . 5 𝐵 = (Base‘𝐷)
129, 10, 11xpcbas 18086 . . . 4 (𝐴 × 𝐵) = (Base‘(𝐶 ×c 𝐷))
13 eqid 2733 . . . . 5 ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) = ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))
14 eqid 2733 . . . . 5 ((𝐷 FuncCat 𝐸) ×c 𝐷) = ((𝐷 FuncCat 𝐸) ×c 𝐷)
15 funcrcl 17772 . . . . . . . . 9 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
164, 15syl 17 . . . . . . . 8 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
1716simpld 494 . . . . . . 7 (𝜑𝐶 ∈ Cat)
18 eqid 2733 . . . . . . 7 (𝐶 1stF 𝐷) = (𝐶 1stF 𝐷)
199, 17, 2, 181stfcl 18105 . . . . . 6 (𝜑 → (𝐶 1stF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐶))
2019, 4cofucl 17797 . . . . 5 (𝜑 → (𝐺func (𝐶 1stF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func (𝐷 FuncCat 𝐸)))
21 eqid 2733 . . . . . 6 (𝐶 2ndF 𝐷) = (𝐶 2ndF 𝐷)
229, 17, 2, 212ndfcl 18106 . . . . 5 (𝜑 → (𝐶 2ndF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐷))
2313, 14, 20, 22prfcl 18111 . . . 4 (𝜑 → ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func ((𝐷 FuncCat 𝐸) ×c 𝐷)))
24 eqid 2733 . . . . 5 (𝐷 evalF 𝐸) = (𝐷 evalF 𝐸)
25 eqid 2733 . . . . 5 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
2624, 25, 2, 3evlfcl 18130 . . . 4 (𝜑 → (𝐷 evalF 𝐸) ∈ (((𝐷 FuncCat 𝐸) ×c 𝐷) Func 𝐸))
27 uncf1.x . . . . 5 (𝜑𝑋𝐴)
28 uncf1.y . . . . 5 (𝜑𝑌𝐵)
2927, 28opelxpd 5658 . . . 4 (𝜑 → ⟨𝑋, 𝑌⟩ ∈ (𝐴 × 𝐵))
3012, 23, 26, 29cofu1 17793 . . 3 (𝜑 → ((1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))‘⟨𝑋, 𝑌⟩) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
318, 30eqtrid 2780 . 2 (𝜑 → (𝑋(1st ‘((𝐷 evalF 𝐸) ∘func ((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷))))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)))
32 eqid 2733 . . . . . . 7 (Hom ‘(𝐶 ×c 𝐷)) = (Hom ‘(𝐶 ×c 𝐷))
3313, 12, 32, 20, 22, 29prf1 18108 . . . . . 6 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩)
3412, 19, 4, 29cofu1 17793 . . . . . . . 8 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)))
359, 12, 32, 17, 2, 18, 291stf1 18100 . . . . . . . . . 10 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = (1st ‘⟨𝑋, 𝑌⟩))
36 op1stg 7939 . . . . . . . . . . 11 ((𝑋𝐴𝑌𝐵) → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3727, 28, 36syl2anc 584 . . . . . . . . . 10 (𝜑 → (1st ‘⟨𝑋, 𝑌⟩) = 𝑋)
3835, 37eqtrd 2768 . . . . . . . . 9 (𝜑 → ((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑋)
3938fveq2d 6832 . . . . . . . 8 (𝜑 → ((1st𝐺)‘((1st ‘(𝐶 1stF 𝐷))‘⟨𝑋, 𝑌⟩)) = ((1st𝐺)‘𝑋))
4034, 39eqtrd 2768 . . . . . . 7 (𝜑 → ((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩) = ((1st𝐺)‘𝑋))
419, 12, 32, 17, 2, 21, 292ndf1 18103 . . . . . . . 8 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = (2nd ‘⟨𝑋, 𝑌⟩))
42 op2ndg 7940 . . . . . . . . 9 ((𝑋𝐴𝑌𝐵) → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4327, 28, 42syl2anc 584 . . . . . . . 8 (𝜑 → (2nd ‘⟨𝑋, 𝑌⟩) = 𝑌)
4441, 43eqtrd 2768 . . . . . . 7 (𝜑 → ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩) = 𝑌)
4540, 44opeq12d 4832 . . . . . 6 (𝜑 → ⟨((1st ‘(𝐺func (𝐶 1stF 𝐷)))‘⟨𝑋, 𝑌⟩), ((1st ‘(𝐶 2ndF 𝐷))‘⟨𝑋, 𝑌⟩)⟩ = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4633, 45eqtrd 2768 . . . . 5 (𝜑 → ((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩) = ⟨((1st𝐺)‘𝑋), 𝑌⟩)
4746fveq2d 6832 . . . 4 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩))
48 df-ov 7355 . . . 4 (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘(𝐷 evalF 𝐸))‘⟨((1st𝐺)‘𝑋), 𝑌⟩)
4947, 48eqtr4di 2786 . . 3 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌))
5025fucbas 17872 . . . . . 6 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
51 relfunc 17771 . . . . . . 7 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
52 1st2ndbr 7980 . . . . . . 7 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5351, 4, 52sylancr 587 . . . . . 6 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
5410, 50, 53funcf1 17775 . . . . 5 (𝜑 → (1st𝐺):𝐴⟶(𝐷 Func 𝐸))
5554, 27ffvelcdmd 7024 . . . 4 (𝜑 → ((1st𝐺)‘𝑋) ∈ (𝐷 Func 𝐸))
5624, 2, 3, 11, 55, 28evlf1 18128 . . 3 (𝜑 → (((1st𝐺)‘𝑋)(1st ‘(𝐷 evalF 𝐸))𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
5749, 56eqtrd 2768 . 2 (𝜑 → ((1st ‘(𝐷 evalF 𝐸))‘((1st ‘((𝐺func (𝐶 1stF 𝐷)) ⟨,⟩F (𝐶 2ndF 𝐷)))‘⟨𝑋, 𝑌⟩)) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
587, 31, 573eqtrd 2772 1 (𝜑 → (𝑋(1st𝐹)𝑌) = ((1st ‘((1st𝐺)‘𝑋))‘𝑌))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395   = wceq 1541  wcel 2113  cop 4581   class class class wbr 5093   × cxp 5617  Rel wrel 5624  cfv 6486  (class class class)co 7352  1st c1st 7925  2nd c2nd 7926  ⟨“cs3 14751  Basecbs 17122  Hom chom 17174  Catccat 17572   Func cfunc 17763  func ccofu 17765   FuncCat cfuc 17854   ×c cxpc 18076   1stF c1stf 18077   2ndF c2ndf 18078   ⟨,⟩F cprf 18079   evalF cevlf 18117   uncurryF cuncf 18119
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2182  ax-ext 2705  ax-rep 5219  ax-sep 5236  ax-nul 5246  ax-pow 5305  ax-pr 5372  ax-un 7674  ax-cnex 11069  ax-resscn 11070  ax-1cn 11071  ax-icn 11072  ax-addcl 11073  ax-addrcl 11074  ax-mulcl 11075  ax-mulrcl 11076  ax-mulcom 11077  ax-addass 11078  ax-mulass 11079  ax-distr 11080  ax-i2m1 11081  ax-1ne0 11082  ax-1rid 11083  ax-rnegex 11084  ax-rrecex 11085  ax-cnre 11086  ax-pre-lttri 11087  ax-pre-lttrn 11088  ax-pre-ltadd 11089  ax-pre-mulgt0 11090
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2537  df-eu 2566  df-clab 2712  df-cleq 2725  df-clel 2808  df-nfc 2882  df-ne 2930  df-nel 3034  df-ral 3049  df-rex 3058  df-rmo 3347  df-reu 3348  df-rab 3397  df-v 3439  df-sbc 3738  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-pss 3918  df-nul 4283  df-if 4475  df-pw 4551  df-sn 4576  df-pr 4578  df-tp 4580  df-op 4582  df-uni 4859  df-int 4898  df-iun 4943  df-br 5094  df-opab 5156  df-mpt 5175  df-tr 5201  df-id 5514  df-eprel 5519  df-po 5527  df-so 5528  df-fr 5572  df-we 5574  df-xp 5625  df-rel 5626  df-cnv 5627  df-co 5628  df-dm 5629  df-rn 5630  df-res 5631  df-ima 5632  df-pred 6253  df-ord 6314  df-on 6315  df-lim 6316  df-suc 6317  df-iota 6442  df-fun 6488  df-fn 6489  df-f 6490  df-f1 6491  df-fo 6492  df-f1o 6493  df-fv 6494  df-riota 7309  df-ov 7355  df-oprab 7356  df-mpo 7357  df-om 7803  df-1st 7927  df-2nd 7928  df-frecs 8217  df-wrecs 8248  df-recs 8297  df-rdg 8335  df-1o 8391  df-er 8628  df-map 8758  df-ixp 8828  df-en 8876  df-dom 8877  df-sdom 8878  df-fin 8879  df-card 9839  df-pnf 11155  df-mnf 11156  df-xr 11157  df-ltxr 11158  df-le 11159  df-sub 11353  df-neg 11354  df-nn 12133  df-2 12195  df-3 12196  df-4 12197  df-5 12198  df-6 12199  df-7 12200  df-8 12201  df-9 12202  df-n0 12389  df-z 12476  df-dec 12595  df-uz 12739  df-fz 13410  df-fzo 13557  df-hash 14240  df-word 14423  df-concat 14480  df-s1 14506  df-s2 14757  df-s3 14758  df-struct 17060  df-slot 17095  df-ndx 17107  df-base 17123  df-hom 17187  df-cco 17188  df-cat 17576  df-cid 17577  df-func 17767  df-cofu 17769  df-nat 17855  df-fuc 17856  df-xpc 18080  df-1stf 18081  df-2ndf 18082  df-prf 18083  df-evlf 18121  df-uncf 18123
This theorem is referenced by:  curfuncf  18146  uncfcurf  18147
  Copyright terms: Public domain W3C validator