Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > uncfcl | Structured version Visualization version GIF version |
Description: The uncurry operation takes a functor 𝐹:𝐶⟶(𝐷⟶𝐸) to a functor uncurryF (𝐹):𝐶 × 𝐷⟶𝐸. (Contributed by Mario Carneiro, 13-Jan-2017.) |
Ref | Expression |
---|---|
uncfval.g | ⊢ 𝐹 = (〈“𝐶𝐷𝐸”〉 uncurryF 𝐺) |
uncfval.c | ⊢ (𝜑 → 𝐷 ∈ Cat) |
uncfval.d | ⊢ (𝜑 → 𝐸 ∈ Cat) |
uncfval.f | ⊢ (𝜑 → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) |
Ref | Expression |
---|---|
uncfcl | ⊢ (𝜑 → 𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸)) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | uncfval.g | . . 3 ⊢ 𝐹 = (〈“𝐶𝐷𝐸”〉 uncurryF 𝐺) | |
2 | uncfval.c | . . 3 ⊢ (𝜑 → 𝐷 ∈ Cat) | |
3 | uncfval.d | . . 3 ⊢ (𝜑 → 𝐸 ∈ Cat) | |
4 | uncfval.f | . . 3 ⊢ (𝜑 → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) | |
5 | 1, 2, 3, 4 | uncfval 17593 | . 2 ⊢ (𝜑 → 𝐹 = ((𝐷 evalF 𝐸) ∘func ((𝐺 ∘func (𝐶 1stF 𝐷)) 〈,〉F (𝐶 2ndF 𝐷)))) |
6 | eqid 2738 | . . . 4 ⊢ ((𝐺 ∘func (𝐶 1stF 𝐷)) 〈,〉F (𝐶 2ndF 𝐷)) = ((𝐺 ∘func (𝐶 1stF 𝐷)) 〈,〉F (𝐶 2ndF 𝐷)) | |
7 | eqid 2738 | . . . 4 ⊢ ((𝐷 FuncCat 𝐸) ×c 𝐷) = ((𝐷 FuncCat 𝐸) ×c 𝐷) | |
8 | eqid 2738 | . . . . . 6 ⊢ (𝐶 ×c 𝐷) = (𝐶 ×c 𝐷) | |
9 | funcrcl 17231 | . . . . . . . 8 ⊢ (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat)) | |
10 | 4, 9 | syl 17 | . . . . . . 7 ⊢ (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat)) |
11 | 10 | simpld 498 | . . . . . 6 ⊢ (𝜑 → 𝐶 ∈ Cat) |
12 | eqid 2738 | . . . . . 6 ⊢ (𝐶 1stF 𝐷) = (𝐶 1stF 𝐷) | |
13 | 8, 11, 2, 12 | 1stfcl 17556 | . . . . 5 ⊢ (𝜑 → (𝐶 1stF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐶)) |
14 | 13, 4 | cofucl 17256 | . . . 4 ⊢ (𝜑 → (𝐺 ∘func (𝐶 1stF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func (𝐷 FuncCat 𝐸))) |
15 | eqid 2738 | . . . . 5 ⊢ (𝐶 2ndF 𝐷) = (𝐶 2ndF 𝐷) | |
16 | 8, 11, 2, 15 | 2ndfcl 17557 | . . . 4 ⊢ (𝜑 → (𝐶 2ndF 𝐷) ∈ ((𝐶 ×c 𝐷) Func 𝐷)) |
17 | 6, 7, 14, 16 | prfcl 17562 | . . 3 ⊢ (𝜑 → ((𝐺 ∘func (𝐶 1stF 𝐷)) 〈,〉F (𝐶 2ndF 𝐷)) ∈ ((𝐶 ×c 𝐷) Func ((𝐷 FuncCat 𝐸) ×c 𝐷))) |
18 | eqid 2738 | . . . 4 ⊢ (𝐷 evalF 𝐸) = (𝐷 evalF 𝐸) | |
19 | eqid 2738 | . . . 4 ⊢ (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸) | |
20 | 18, 19, 2, 3 | evlfcl 17581 | . . 3 ⊢ (𝜑 → (𝐷 evalF 𝐸) ∈ (((𝐷 FuncCat 𝐸) ×c 𝐷) Func 𝐸)) |
21 | 17, 20 | cofucl 17256 | . 2 ⊢ (𝜑 → ((𝐷 evalF 𝐸) ∘func ((𝐺 ∘func (𝐶 1stF 𝐷)) 〈,〉F (𝐶 2ndF 𝐷))) ∈ ((𝐶 ×c 𝐷) Func 𝐸)) |
22 | 5, 21 | eqeltrd 2833 | 1 ⊢ (𝜑 → 𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 399 = wceq 1542 ∈ wcel 2113 (class class class)co 7164 〈“cs3 14286 Catccat 17031 Func cfunc 17222 ∘func ccofu 17224 FuncCat cfuc 17310 ×c cxpc 17527 1stF c1stf 17528 2ndF c2ndf 17529 〈,〉F cprf 17530 evalF cevlf 17568 uncurryF cuncf 17570 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1802 ax-4 1816 ax-5 1916 ax-6 1974 ax-7 2019 ax-8 2115 ax-9 2123 ax-10 2144 ax-11 2161 ax-12 2178 ax-ext 2710 ax-rep 5151 ax-sep 5164 ax-nul 5171 ax-pow 5229 ax-pr 5293 ax-un 7473 ax-cnex 10664 ax-resscn 10665 ax-1cn 10666 ax-icn 10667 ax-addcl 10668 ax-addrcl 10669 ax-mulcl 10670 ax-mulrcl 10671 ax-mulcom 10672 ax-addass 10673 ax-mulass 10674 ax-distr 10675 ax-i2m1 10676 ax-1ne0 10677 ax-1rid 10678 ax-rnegex 10679 ax-rrecex 10680 ax-cnre 10681 ax-pre-lttri 10682 ax-pre-lttrn 10683 ax-pre-ltadd 10684 ax-pre-mulgt0 10685 |
This theorem depends on definitions: df-bi 210 df-an 400 df-or 847 df-3or 1089 df-3an 1090 df-tru 1545 df-fal 1555 df-ex 1787 df-nf 1791 df-sb 2074 df-mo 2540 df-eu 2570 df-clab 2717 df-cleq 2730 df-clel 2811 df-nfc 2881 df-ne 2935 df-nel 3039 df-ral 3058 df-rex 3059 df-reu 3060 df-rmo 3061 df-rab 3062 df-v 3399 df-sbc 3680 df-csb 3789 df-dif 3844 df-un 3846 df-in 3848 df-ss 3858 df-pss 3860 df-nul 4210 df-if 4412 df-pw 4487 df-sn 4514 df-pr 4516 df-tp 4518 df-op 4520 df-uni 4794 df-int 4834 df-iun 4880 df-br 5028 df-opab 5090 df-mpt 5108 df-tr 5134 df-id 5425 df-eprel 5430 df-po 5438 df-so 5439 df-fr 5478 df-we 5480 df-xp 5525 df-rel 5526 df-cnv 5527 df-co 5528 df-dm 5529 df-rn 5530 df-res 5531 df-ima 5532 df-pred 6123 df-ord 6169 df-on 6170 df-lim 6171 df-suc 6172 df-iota 6291 df-fun 6335 df-fn 6336 df-f 6337 df-f1 6338 df-fo 6339 df-f1o 6340 df-fv 6341 df-riota 7121 df-ov 7167 df-oprab 7168 df-mpo 7169 df-om 7594 df-1st 7707 df-2nd 7708 df-wrecs 7969 df-recs 8030 df-rdg 8068 df-1o 8124 df-er 8313 df-map 8432 df-ixp 8501 df-en 8549 df-dom 8550 df-sdom 8551 df-fin 8552 df-card 9434 df-pnf 10748 df-mnf 10749 df-xr 10750 df-ltxr 10751 df-le 10752 df-sub 10943 df-neg 10944 df-nn 11710 df-2 11772 df-3 11773 df-4 11774 df-5 11775 df-6 11776 df-7 11777 df-8 11778 df-9 11779 df-n0 11970 df-z 12056 df-dec 12173 df-uz 12318 df-fz 12975 df-fzo 13118 df-hash 13776 df-word 13949 df-concat 14005 df-s1 14032 df-s2 14292 df-s3 14293 df-struct 16581 df-ndx 16582 df-slot 16583 df-base 16585 df-hom 16685 df-cco 16686 df-cat 17035 df-cid 17036 df-func 17226 df-cofu 17228 df-nat 17311 df-fuc 17312 df-xpc 17531 df-1stf 17532 df-2ndf 17533 df-prf 17534 df-evlf 17572 df-uncf 17574 |
This theorem is referenced by: curfuncf 17597 uncfcurf 17598 |
Copyright terms: Public domain | W3C validator |