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

Theorem curfuncf 17488
Description: Cancellation of curry with uncurry. (Contributed by Mario Carneiro, 13-Jan-2017.)
Hypotheses
Ref Expression
uncfval.g 𝐹 = (⟨“𝐶𝐷𝐸”⟩ uncurryF 𝐺)
uncfval.c (𝜑𝐷 ∈ Cat)
uncfval.d (𝜑𝐸 ∈ Cat)
uncfval.f (𝜑𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
Assertion
Ref Expression
curfuncf (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)

Proof of Theorem curfuncf
Dummy variables 𝑔 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 uncfval.g . . . . . . . . . 10 𝐹 = (⟨“𝐶𝐷𝐸”⟩ uncurryF 𝐺)
2 uncfval.c . . . . . . . . . . 11 (𝜑𝐷 ∈ Cat)
32ad2antrr 724 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐷 ∈ Cat)
4 uncfval.d . . . . . . . . . . 11 (𝜑𝐸 ∈ Cat)
54ad2antrr 724 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐸 ∈ Cat)
6 uncfval.f . . . . . . . . . . 11 (𝜑𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
76ad2antrr 724 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
8 eqid 2821 . . . . . . . . . 10 (Base‘𝐶) = (Base‘𝐶)
9 eqid 2821 . . . . . . . . . 10 (Base‘𝐷) = (Base‘𝐷)
10 simplr 767 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝑥 ∈ (Base‘𝐶))
11 simpr 487 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → 𝑦 ∈ (Base‘𝐷))
121, 3, 5, 7, 8, 9, 10, 11uncf1 17486 . . . . . . . . 9 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷)) → (𝑥(1st𝐹)𝑦) = ((1st ‘((1st𝐺)‘𝑥))‘𝑦))
1312mpteq2dva 5161 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st𝐺)‘𝑥))‘𝑦)))
14 eqid 2821 . . . . . . . . . 10 (Base‘𝐸) = (Base‘𝐸)
15 relfunc 17132 . . . . . . . . . . 11 Rel (𝐷 Func 𝐸)
16 eqid 2821 . . . . . . . . . . . . . 14 (𝐷 FuncCat 𝐸) = (𝐷 FuncCat 𝐸)
1716fucbas 17230 . . . . . . . . . . . . 13 (𝐷 Func 𝐸) = (Base‘(𝐷 FuncCat 𝐸))
18 relfunc 17132 . . . . . . . . . . . . . 14 Rel (𝐶 Func (𝐷 FuncCat 𝐸))
19 1st2ndbr 7741 . . . . . . . . . . . . . 14 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
2018, 6, 19sylancr 589 . . . . . . . . . . . . 13 (𝜑 → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
218, 17, 20funcf1 17136 . . . . . . . . . . . 12 (𝜑 → (1st𝐺):(Base‘𝐶)⟶(𝐷 Func 𝐸))
2221ffvelrnda 6851 . . . . . . . . . . 11 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
23 1st2ndbr 7741 . . . . . . . . . . 11 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
2415, 22, 23sylancr 589 . . . . . . . . . 10 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
259, 14, 24funcf1 17136 . . . . . . . . 9 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
2625feqmptd 6733 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (1st ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷) ↦ ((1st ‘((1st𝐺)‘𝑥))‘𝑦)))
2713, 26eqtr4d 2859 . . . . . . 7 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)) = (1st ‘((1st𝐺)‘𝑥)))
282ad3antrrr 728 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐷 ∈ Cat)
294ad3antrrr 728 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐸 ∈ Cat)
306ad3antrrr 728 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
31 simpllr 774 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑥 ∈ (Base‘𝐶))
32 simplrl 775 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑦 ∈ (Base‘𝐷))
33 eqid 2821 . . . . . . . . . . . . . 14 (Hom ‘𝐶) = (Hom ‘𝐶)
34 eqid 2821 . . . . . . . . . . . . . 14 (Hom ‘𝐷) = (Hom ‘𝐷)
35 simprr 771 . . . . . . . . . . . . . . 15 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑧 ∈ (Base‘𝐷))
3635adantr 483 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑧 ∈ (Base‘𝐷))
37 eqid 2821 . . . . . . . . . . . . . . 15 (Id‘𝐶) = (Id‘𝐶)
38 funcrcl 17133 . . . . . . . . . . . . . . . . . 18 (𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)) → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
396, 38syl 17 . . . . . . . . . . . . . . . . 17 (𝜑 → (𝐶 ∈ Cat ∧ (𝐷 FuncCat 𝐸) ∈ Cat))
4039simpld 497 . . . . . . . . . . . . . . . 16 (𝜑𝐶 ∈ Cat)
4140ad3antrrr 728 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝐶 ∈ Cat)
428, 33, 37, 41, 31catidcl 16953 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘𝐶)‘𝑥) ∈ (𝑥(Hom ‘𝐶)𝑥))
43 simpr 487 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧))
441, 28, 29, 30, 8, 9, 31, 32, 33, 34, 31, 36, 42, 43uncf2 17487 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
45 eqid 2821 . . . . . . . . . . . . . . . . . 18 (Id‘(𝐷 FuncCat 𝐸)) = (Id‘(𝐷 FuncCat 𝐸))
4620ad3antrrr 728 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
478, 37, 45, 46, 31funcid 17140 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘(𝐷 FuncCat 𝐸))‘((1st𝐺)‘𝑥)))
48 eqid 2821 . . . . . . . . . . . . . . . . . 18 (Id‘𝐸) = (Id‘𝐸)
4922ad2antrr 724 . . . . . . . . . . . . . . . . . 18 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
5016, 45, 48, 49fucid 17241 . . . . . . . . . . . . . . . . 17 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((Id‘(𝐷 FuncCat 𝐸))‘((1st𝐺)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥))))
5147, 50eqtrd 2856 . . . . . . . . . . . . . . . 16 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥)) = ((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥))))
5251fveq1d 6672 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧))
5325ad2antrr 724 . . . . . . . . . . . . . . . 16 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
54 fvco3 6760 . . . . . . . . . . . . . . . 16 (((1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸) ∧ 𝑧 ∈ (Base‘𝐷)) → (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5553, 36, 54syl2anc 586 . . . . . . . . . . . . . . 15 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸) ∘ (1st ‘((1st𝐺)‘𝑥)))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5652, 55eqtrd 2856 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
5756oveq1d 7171 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((((𝑥(2nd𝐺)𝑥)‘((Id‘𝐶)‘𝑥))‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)) = (((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
58 eqid 2821 . . . . . . . . . . . . . 14 (Hom ‘𝐸) = (Hom ‘𝐸)
5953, 32ffvelrnd 6852 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑦) ∈ (Base‘𝐸))
60 eqid 2821 . . . . . . . . . . . . . 14 (comp‘𝐸) = (comp‘𝐸)
6153, 36ffvelrnd 6852 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
6224adantr 483 . . . . . . . . . . . . . . . 16 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
63 simprl 769 . . . . . . . . . . . . . . . 16 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → 𝑦 ∈ (Base‘𝐷))
649, 34, 58, 62, 63, 35funcf2 17138 . . . . . . . . . . . . . . 15 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧):(𝑦(Hom ‘𝐷)𝑧)⟶(((1st ‘((1st𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
6564ffvelrnda 6851 . . . . . . . . . . . . . 14 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔) ∈ (((1st ‘((1st𝐺)‘𝑥))‘𝑦)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
6614, 58, 48, 29, 59, 60, 61, 65catlid 16954 . . . . . . . . . . . . 13 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑦), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑥))‘𝑧))((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)) = ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔))
6744, 57, 663eqtrd 2860 . . . . . . . . . . . 12 ((((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) ∧ 𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧)) → (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔) = ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔))
6867mpteq2dva 5161 . . . . . . . . . . 11 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
6964feqmptd 6733 . . . . . . . . . . 11 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧) = (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ ((𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)‘𝑔)))
7068, 69eqtr4d 2859 . . . . . . . . . 10 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ (𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷))) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧))
71703impb 1111 . . . . . . . . 9 (((𝜑𝑥 ∈ (Base‘𝐶)) ∧ 𝑦 ∈ (Base‘𝐷) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)) = (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧))
7271mpoeq3dva 7231 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
739, 24funcfn2 17139 . . . . . . . . 9 ((𝜑𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)))
74 fnov 7282 . . . . . . . . 9 ((2nd ‘((1st𝐺)‘𝑥)) Fn ((Base‘𝐷) × (Base‘𝐷)) ↔ (2nd ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
7573, 74sylib 220 . . . . . . . 8 ((𝜑𝑥 ∈ (Base‘𝐶)) → (2nd ‘((1st𝐺)‘𝑥)) = (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑦(2nd ‘((1st𝐺)‘𝑥))𝑧)))
7672, 75eqtr4d 2859 . . . . . . 7 ((𝜑𝑥 ∈ (Base‘𝐶)) → (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔))) = (2nd ‘((1st𝐺)‘𝑥)))
7727, 76opeq12d 4811 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
78 1st2nd 7738 . . . . . . 7 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸)) → ((1st𝐺)‘𝑥) = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
7915, 22, 78sylancr 589 . . . . . 6 ((𝜑𝑥 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑥) = ⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩)
8077, 79eqtr4d 2859 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶)) → ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩ = ((1st𝐺)‘𝑥))
8180mpteq2dva 5161 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st𝐺)‘𝑥)))
8221feqmptd 6733 . . . 4 (𝜑 → (1st𝐺) = (𝑥 ∈ (Base‘𝐶) ↦ ((1st𝐺)‘𝑥)))
8381, 82eqtr4d 2859 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩) = (1st𝐺))
842ad3antrrr 728 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐷 ∈ Cat)
854ad3antrrr 728 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐸 ∈ Cat)
866ad3antrrr 728 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸)))
87 simprl 769 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑥 ∈ (Base‘𝐶))
8887ad2antrr 724 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑥 ∈ (Base‘𝐶))
89 simpr 487 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑧 ∈ (Base‘𝐷))
90 simprr 771 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → 𝑦 ∈ (Base‘𝐶))
9190ad2antrr 724 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑦 ∈ (Base‘𝐶))
92 simplr 767 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦))
93 eqid 2821 . . . . . . . . . . . . 13 (Id‘𝐷) = (Id‘𝐷)
949, 34, 93, 84, 89catidcl 16953 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((Id‘𝐷)‘𝑧) ∈ (𝑧(Hom ‘𝐷)𝑧))
951, 84, 85, 86, 8, 9, 88, 89, 33, 34, 91, 89, 92, 94uncf2 17487 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((𝑧(2nd ‘((1st𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧))))
9622adantrr 715 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
9796adantr 483 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st𝐺)‘𝑥) ∈ (𝐷 Func 𝐸))
9815, 97, 23sylancr 589 . . . . . . . . . . . . . 14 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
9998adantr 483 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st ‘((1st𝐺)‘𝑥))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑥)))
1009, 93, 48, 99, 89funcid 17140 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑧(2nd ‘((1st𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧)) = ((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧)))
101100oveq2d 7172 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((𝑧(2nd ‘((1st𝐺)‘𝑥))𝑧)‘((Id‘𝐷)‘𝑧))) = ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))))
1029, 14, 98funcf1 17136 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑥)):(Base‘𝐷)⟶(Base‘𝐸))
103102ffvelrnda 6851 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st𝐺)‘𝑥))‘𝑧) ∈ (Base‘𝐸))
10421ffvelrnda 6851 . . . . . . . . . . . . . . . . 17 ((𝜑𝑦 ∈ (Base‘𝐶)) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
105104adantrl 714 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
106105adantr 483 . . . . . . . . . . . . . . 15 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸))
107 1st2ndbr 7741 . . . . . . . . . . . . . . 15 ((Rel (𝐷 Func 𝐸) ∧ ((1st𝐺)‘𝑦) ∈ (𝐷 Func 𝐸)) → (1st ‘((1st𝐺)‘𝑦))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑦)))
10815, 106, 107sylancr 589 . . . . . . . . . . . . . 14 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑦))(𝐷 Func 𝐸)(2nd ‘((1st𝐺)‘𝑦)))
1099, 14, 108funcf1 17136 . . . . . . . . . . . . 13 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (1st ‘((1st𝐺)‘𝑦)):(Base‘𝐷)⟶(Base‘𝐸))
110109ffvelrnda 6851 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((1st ‘((1st𝐺)‘𝑦))‘𝑧) ∈ (Base‘𝐸))
111 eqid 2821 . . . . . . . . . . . . 13 (𝐷 Nat 𝐸) = (𝐷 Nat 𝐸)
11216, 111fuchom 17231 . . . . . . . . . . . . . . . 16 (𝐷 Nat 𝐸) = (Hom ‘(𝐷 FuncCat 𝐸))
11320ad3antrrr 728 . . . . . . . . . . . . . . . 16 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
1148, 33, 112, 113, 88, 91funcf2 17138 . . . . . . . . . . . . . . 15 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑥(2nd𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
115114, 92ffvelrnd 6852 . . . . . . . . . . . . . 14 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
116111, 115nat1st2nd 17221 . . . . . . . . . . . . 13 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st𝐺)‘𝑦)), (2nd ‘((1st𝐺)‘𝑦))⟩))
117111, 116, 9, 58, 89natcl 17223 . . . . . . . . . . . 12 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧) ∈ (((1st ‘((1st𝐺)‘𝑥))‘𝑧)(Hom ‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧)))
11814, 58, 48, 85, 103, 60, 110, 117catrid 16955 . . . . . . . . . . 11 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → ((((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)(⟨((1st ‘((1st𝐺)‘𝑥))‘𝑧), ((1st ‘((1st𝐺)‘𝑥))‘𝑧)⟩(comp‘𝐸)((1st ‘((1st𝐺)‘𝑦))‘𝑧))((Id‘𝐸)‘((1st ‘((1st𝐺)‘𝑥))‘𝑧))) = (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧))
11995, 101, 1183eqtrd 2860 . . . . . . . . . 10 ((((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) ∧ 𝑧 ∈ (Base‘𝐷)) → (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)) = (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧))
120119mpteq2dva 5161 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
12120adantr 483 . . . . . . . . . . . . . 14 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (1st𝐺)(𝐶 Func (𝐷 FuncCat 𝐸))(2nd𝐺))
1228, 33, 112, 121, 87, 90funcf2 17138 . . . . . . . . . . . . 13 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐺)𝑦):(𝑥(Hom ‘𝐶)𝑦)⟶(((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
123122ffvelrnda 6851 . . . . . . . . . . . 12 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (((1st𝐺)‘𝑥)(𝐷 Nat 𝐸)((1st𝐺)‘𝑦)))
124111, 123nat1st2nd 17221 . . . . . . . . . . 11 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) ∈ (⟨(1st ‘((1st𝐺)‘𝑥)), (2nd ‘((1st𝐺)‘𝑥))⟩(𝐷 Nat 𝐸)⟨(1st ‘((1st𝐺)‘𝑦)), (2nd ‘((1st𝐺)‘𝑦))⟩))
125111, 124, 9natfn 17224 . . . . . . . . . 10 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) Fn (Base‘𝐷))
126 dffn5 6724 . . . . . . . . . 10 (((𝑥(2nd𝐺)𝑦)‘𝑔) Fn (Base‘𝐷) ↔ ((𝑥(2nd𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
127125, 126sylib 220 . . . . . . . . 9 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → ((𝑥(2nd𝐺)𝑦)‘𝑔) = (𝑧 ∈ (Base‘𝐷) ↦ (((𝑥(2nd𝐺)𝑦)‘𝑔)‘𝑧)))
128120, 127eqtr4d 2859 . . . . . . . 8 (((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) ∧ 𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦)) → (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))) = ((𝑥(2nd𝐺)𝑦)‘𝑔))
129128mpteq2dva 5161 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd𝐺)𝑦)‘𝑔)))
130122feqmptd 6733 . . . . . . 7 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑥(2nd𝐺)𝑦) = (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ ((𝑥(2nd𝐺)𝑦)‘𝑔)))
131129, 130eqtr4d 2859 . . . . . 6 ((𝜑 ∧ (𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶))) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd𝐺)𝑦))
1321313impb 1111 . . . . 5 ((𝜑𝑥 ∈ (Base‘𝐶) ∧ 𝑦 ∈ (Base‘𝐶)) → (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))) = (𝑥(2nd𝐺)𝑦))
133132mpoeq3dva 7231 . . . 4 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
1348, 20funcfn2 17139 . . . . 5 (𝜑 → (2nd𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)))
135 fnov 7282 . . . . 5 ((2nd𝐺) Fn ((Base‘𝐶) × (Base‘𝐶)) ↔ (2nd𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
136134, 135sylib 220 . . . 4 (𝜑 → (2nd𝐺) = (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑥(2nd𝐺)𝑦)))
137133, 136eqtr4d 2859 . . 3 (𝜑 → (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧))))) = (2nd𝐺))
13883, 137opeq12d 4811 . 2 (𝜑 → ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩ = ⟨(1st𝐺), (2nd𝐺)⟩)
139 eqid 2821 . . 3 (⟨𝐶, 𝐷⟩ curryF 𝐹) = (⟨𝐶, 𝐷⟩ curryF 𝐹)
1401, 2, 4, 6uncfcl 17485 . . 3 (𝜑𝐹 ∈ ((𝐶 ×c 𝐷) Func 𝐸))
141139, 8, 40, 2, 140, 9, 34, 37, 33, 93curfval 17473 . 2 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = ⟨(𝑥 ∈ (Base‘𝐶) ↦ ⟨(𝑦 ∈ (Base‘𝐷) ↦ (𝑥(1st𝐹)𝑦)), (𝑦 ∈ (Base‘𝐷), 𝑧 ∈ (Base‘𝐷) ↦ (𝑔 ∈ (𝑦(Hom ‘𝐷)𝑧) ↦ (((Id‘𝐶)‘𝑥)(⟨𝑥, 𝑦⟩(2nd𝐹)⟨𝑥, 𝑧⟩)𝑔)))⟩), (𝑥 ∈ (Base‘𝐶), 𝑦 ∈ (Base‘𝐶) ↦ (𝑔 ∈ (𝑥(Hom ‘𝐶)𝑦) ↦ (𝑧 ∈ (Base‘𝐷) ↦ (𝑔(⟨𝑥, 𝑧⟩(2nd𝐹)⟨𝑦, 𝑧⟩)((Id‘𝐷)‘𝑧)))))⟩)
142 1st2nd 7738 . . 3 ((Rel (𝐶 Func (𝐷 FuncCat 𝐸)) ∧ 𝐺 ∈ (𝐶 Func (𝐷 FuncCat 𝐸))) → 𝐺 = ⟨(1st𝐺), (2nd𝐺)⟩)
14318, 6, 142sylancr 589 . 2 (𝜑𝐺 = ⟨(1st𝐺), (2nd𝐺)⟩)
144138, 141, 1433eqtr4d 2866 1 (𝜑 → (⟨𝐶, 𝐷⟩ curryF 𝐹) = 𝐺)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 398   = wceq 1537  wcel 2114  cop 4573   class class class wbr 5066  cmpt 5146   × cxp 5553  ccom 5559  Rel wrel 5560   Fn wfn 6350  wf 6351  cfv 6355  (class class class)co 7156  cmpo 7158  1st c1st 7687  2nd c2nd 7688  ⟨“cs3 14204  Basecbs 16483  Hom chom 16576  compcco 16577  Catccat 16935  Idccid 16936   Func cfunc 17124   Nat cnat 17211   FuncCat cfuc 17212   curryF ccurf 17460   uncurryF cuncf 17461
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 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2793  ax-rep 5190  ax-sep 5203  ax-nul 5210  ax-pow 5266  ax-pr 5330  ax-un 7461  ax-cnex 10593  ax-resscn 10594  ax-1cn 10595  ax-icn 10596  ax-addcl 10597  ax-addrcl 10598  ax-mulcl 10599  ax-mulrcl 10600  ax-mulcom 10601  ax-addass 10602  ax-mulass 10603  ax-distr 10604  ax-i2m1 10605  ax-1ne0 10606  ax-1rid 10607  ax-rnegex 10608  ax-rrecex 10609  ax-cnre 10610  ax-pre-lttri 10611  ax-pre-lttrn 10612  ax-pre-ltadd 10613  ax-pre-mulgt0 10614
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1540  df-fal 1550  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2800  df-cleq 2814  df-clel 2893  df-nfc 2963  df-ne 3017  df-nel 3124  df-ral 3143  df-rex 3144  df-reu 3145  df-rmo 3146  df-rab 3147  df-v 3496  df-sbc 3773  df-csb 3884  df-dif 3939  df-un 3941  df-in 3943  df-ss 3952  df-pss 3954  df-nul 4292  df-if 4468  df-pw 4541  df-sn 4568  df-pr 4570  df-tp 4572  df-op 4574  df-uni 4839  df-int 4877  df-iun 4921  df-br 5067  df-opab 5129  df-mpt 5147  df-tr 5173  df-id 5460  df-eprel 5465  df-po 5474  df-so 5475  df-fr 5514  df-we 5516  df-xp 5561  df-rel 5562  df-cnv 5563  df-co 5564  df-dm 5565  df-rn 5566  df-res 5567  df-ima 5568  df-pred 6148  df-ord 6194  df-on 6195  df-lim 6196  df-suc 6197  df-iota 6314  df-fun 6357  df-fn 6358  df-f 6359  df-f1 6360  df-fo 6361  df-f1o 6362  df-fv 6363  df-riota 7114  df-ov 7159  df-oprab 7160  df-mpo 7161  df-om 7581  df-1st 7689  df-2nd 7690  df-wrecs 7947  df-recs 8008  df-rdg 8046  df-1o 8102  df-oadd 8106  df-er 8289  df-map 8408  df-ixp 8462  df-en 8510  df-dom 8511  df-sdom 8512  df-fin 8513  df-card 9368  df-pnf 10677  df-mnf 10678  df-xr 10679  df-ltxr 10680  df-le 10681  df-sub 10872  df-neg 10873  df-nn 11639  df-2 11701  df-3 11702  df-4 11703  df-5 11704  df-6 11705  df-7 11706  df-8 11707  df-9 11708  df-n0 11899  df-z 11983  df-dec 12100  df-uz 12245  df-fz 12894  df-fzo 13035  df-hash 13692  df-word 13863  df-concat 13923  df-s1 13950  df-s2 14210  df-s3 14211  df-struct 16485  df-ndx 16486  df-slot 16487  df-base 16489  df-hom 16589  df-cco 16590  df-cat 16939  df-cid 16940  df-func 17128  df-cofu 17130  df-nat 17213  df-fuc 17214  df-xpc 17422  df-1stf 17423  df-2ndf 17424  df-prf 17425  df-evlf 17463  df-curf 17464  df-uncf 17465
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator